1.Android中关于SQLiteDatabase的一些注意。
2.Android新建项目时各版本SDK的区别?
Target SDK:你的应用最高支持android api版本。
Compile With:哪个版本的android SDK(1.5~4.2)编译你的工程,也就是最适合的,最原生支持你的应用的android版本。
Theme :这个随意,主题选择
3.R.id是相对布局里的控件什么的索引,R.layout是相对layout目录下布局的索引。
4.Application下的label和Activity下的label区别:
application里设置了此标签,其他activity没有设置的情况下,应用程序名在桌面上的名字和所有activity的title是这个设置的标签。
application里设置了此标签,主activity中也设置了此标签,则应用程序名和主activity的title都是主activity中设置的标签,其他非主activity的title如果没有自己设置此标签,还是使用application中设置的标签,如果其他非主activity也设置了此标签,则其title就是自己设置的这个标签。
如果application和activity的label都没有设置的话,则采用activity的name为应用程序的名字和title。
5.public void onItemClick (AdapterView<?> parent, View view, int position, long id )参数介绍:
举个例子你会理解的更快:X, Y两个listview,X里有1,2,3,4这4个item,Y里有a,b,c,d这4个item。
如果你点了b这个item。如下:
public void onItemClick (AdapterView<?> parent, View view, int position, long id )
// parent 相当于listview Y适配器的一个指针,可以通过它来获得Y里装着的一切东西,再通俗点就是说告诉你,你点的是Y,不是X。
// view 是你点b item的view的句柄,就是你可以用这个view,来获得b里的控件的id后操作控件。
// position 是b在Y适配器里的位置(生成listview时,适配器一个一个的做item,然后把他们按顺序排好队,在放到listview里,意思就是这个b是第position号做好的)。
// id 是b在listview Y里的第几行的位置(很明显是第2行),大部分时候position和id的值是一样的。
6.Android中id的区别:
@+id 新增一个资源id;@id和@android:id,引用现有的资源id。
如import android.R,则工程从adnroid系统资源类里查找;如不使用import android.R,则工程从/res文件夹下去解析。
7.LayoutInflater的获取和使用:
LayoutInflater作用是将layout的xml布局文件实例化为View类对象。获取LayoutInflater的方法有如下三种:
- LayoutInflater inflater=(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- View layout = inflater.inflate(R.layout.main, null);
- LayoutInflater inflater = LayoutInflater.from(context); (该方法实质就是第一种方法,可参考源代码)
- View layout = inflater.inflate(R.layout.main, null); view plaincop
-
- LayoutInflater inflater = getLayoutInflater();(在Activity中可以使用,实际上是View子类下window的一个函数)
- View layout = inflater.inflate(R.layout.main, null);
8.Context、Application和Activity的关系:
Context为抽象类,直接继承自Object,如下图:
Application为Context的子类,代表了一个应用程序,Application.onCreate()是一个应用程序的入口。
Activity为Context的子类,和Application无继承关系。
9.getContext()、getApplicationContext()、Activity.this和getApplication()都是什么:
getContext()一般都是this.getContext(),返回Activity的Context;getApplicationContext()返回的是Application的Context;Activity.this返回的是Activity的上下文,即Activity的Context,也可以理解为一个Activity;getApplication()返回一个Application,且Application可以认为是单例的。
Activity的Context随着Activity的销毁而销毁,Application的Context随着Application的销毁而销毁。因此,要注意生命周期问题。
http://niufc.iteye.com/blog/1594643