Android学习笔记

1.Android中关于SQLiteDatabase的一些注意。
   Android提供了一个名为SQLiteDatabase的类,该类封装了一些操作数据库的API,使用该类可以完成对数据进行添加(Create)、查询(Retrieve)、更新(Update)和删除(Delete)操作(这些操作简称为CRUD)。 对SQLiteDatabase的学习,我们应该重点掌握execSQL()和rawQuery()方法。execSQL()方法可以执行insert、delete、update和CREATE TABLE之类有更改行为的SQL语句;rawQuery()方法用于执行select语句。

2.Android新建项目时各版本SDK的区别?
   MiniMum Required SDK:最低支持的android api版本,低于这个版本的android手机不能安装你的应用。
   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区别:
     activity和application里都可以设置android:label标签,activity的优先级高于application,也就是说两者都设置这个标签的话,activity的值覆盖application。   

    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的方法有如下三种:

iew plaincopy

  1. LayoutInflater inflater=(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);  
  2. View layout = inflater.inflate(R.layout.main, null);  

ew plainco

  1. LayoutInflater inflater = LayoutInflater.from(context); (该方法实质就是第一种方法,可参考源代码)  
  2. View layout = inflater.inflate(R.layout.main, null);   view plaincop

  1. LayoutInflater inflater = getLayoutInflater();(在Activity中可以使用,实际上是View子类下window的一个函数)  
  2. View layout = inflater.inflate(R.layout.main, null);  
    inflate只会把Layout形成一个以view类实现成的对象,有需要时再用setContentView(view)显示出来即可

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



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值