Android学习笔记—第二章Android四大组件-创新互联

第二章 Android四大组件

创新互联公司是一家专注于网站建设、做网站与策划设计,库伦网站建设哪家好?创新互联公司做网站,专注于网站建设十载,网设计领域的专业建站公司;建站业务涵盖:库伦等地区。库伦做网站价格咨询:13518219792
  1. Activity(活动窗口):

    Android程序中最基本的模块,为用户操作而展示的可视化用户界面。一个Android应用程序可以只有一个Activity,也可以包含多个Activity,数量及每个Activity的作用取决于应用程序及其设计。

    (1)Activity的生命周期

    创建→运行  onCreate  onStart  onResume

    运行→销毁  onPause   onStop   onDestory

    运行→停止(不可见  不可操作)  onPause  onStop

    停止→恢复  onRestart  onStart  onResume

    运行→暂停(可见  不可操作) onPause

    暂停→恢复 onResume

    备注:当Activity处于暂停或停止状态的时候,如果有更高优先级的应用需要内存时,该Activity所在应用可能被销毁。

    (2)应用举例:数据持久化

    存:onPause  onStop  onDestory

    取:onCreate  onStart  onResume

    (3)创建一个Activity

    在eclipse项目中,“新建”→“other”→“Android”→“Android Activity”

    (4)启动Activity

    Intent intent = new Intent(Activity1.this,Activity2.class);

    startActivity(intent);

    (5)关闭Activity

    finish();

  2. Service(服务):没有界面,运行在后台

    (1)Service的创建:

    a. 创建一个类继承Service

    b. 重写onbind()方法

    c. 清单文件中注册  android:name="包名.类名"

    (2)启动服务

    Intent serviceIntent = new Intent(this,MyService.class);

    startService(serviceIntent);

    备注:第一次启动,会触发Service的onCreate和onStartCommand方法;如果服务已经存在,则多次点击启动服务,只会调用onStartCommand方法。

    (3)停止服务

    stopService(serviceIntent);

    (4)绑定服务

    bindService(serviceIntent,xxx,xxx);

    a. serviceIntent:表示一个Intent对象;

    b. 第二个参数:表示一个ServiceConnection对象,例如:

    ServiceConnection conn =new ServiceConnection;

    c. 第三个参数:Context.BIND_AUTO_CREATE 表示如果服务不存在,会自动创建一个服务。

     (5)解绑服务

    unbindService(conn);

    (5)通过绑定调用Service中的方法

    a. 创建一个类MyBinder继承Binder

    b. 在该类中添加所需要调用的Service中的方法

    c. 在onBinder()方法中,返回一个MyBinder类型的对象

    d. 在Activity的onServiceConnected()方法中,得到IBinder类型对象

    e. 将IBinder类型对象强转为MyBinder类型

  3. BroadcastReceiver(广播接收器)

    (1)广播:单项、群发,作为Android内部信息传输的机制。

    (2)广播接收器的创建:

    a. 创建一个类MyReceiver继承BroadcastReceiver;

    b. 重写onReceive()方法;

    c. 清单文件中注册

    android:name="包名.类名"

    (3)应用自己发送广播

    //创建Intent对象

    Intent intent = new Intent();

    //设置过滤条件

    intent.setAction("xxx");

    //发送广播

    sendBroadcast(intent);

    (4)接收广播

    a. 在清单文件中注册广播

      

    只要条件匹配,就能接收广播

    b. 在代码中注册广播

    //创建IntentFilter对象

    IntentFilter filter = new IntentFilter();

    //添加过滤条件

    filter.addAction("xxx");

    //创建MyReceiver对象

    MyReceiver receiver = new MyReceiver();

    //注册广播

    registerReceiver(filter,receiver);

    //注销广播

    unregisterReceiver(receiver);

  4. ContentProvider(数据共享)

    一个用来提供数据共享的组件,主要将一些特定的应用程序数据提供给其他应用程序使用,这些应用程序数据可以存储于文件系统或者SQLite数据库中。在Android程序中,共享数据的实现需要继承自ContentProvider基类,该基类为其他应用程序使用和存储数据实现了一套标准方法。然而,应用程序并不直接调用这些方法,而是使用一个ContentResolver对象,并通过调用它的方法作为替代。ContentResolver对象提供了query、insert及update等方法,可以对共享数据执行各种操作。

    (1)ContentResolver(内容解析者)示例:读取系统联系人

    //创建ContentResolver对象

    ContentResolver resolver = getContentResolver();

    //使用query方法获取联系人信息

    Cusor cusor = resolver.query(Phones.CONTENT_URI, null, null, null, null);

    //遍历联系人信息

    while(cursor.moveToNext()){

    //根据字段名获取该字段的索引位置

    int nameIndex = cursor.getColumnIndex(Phones.NAME);

    int numberIndex = cursor.getColumnIndex(Phones.NUMBER);

    //根据索引获取联系人信息

    String name = cursor.getString(nameIndex);

    String number = cursor.getString(numberIndex);

    }

    //关闭cursor对象

    cursor.close();

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前标题:Android学习笔记—第二章Android四大组件-创新互联
文章地址:http://pwwzsj.com/article/dhpsie.html