目录

  • 1 第一周 android简介
    • 1.1 第一课 Android基础入门1
    • 1.2 第二课 Android基础入门2
    • 1.3 第三课 Android UI开发介绍
  • 2 第二周 android布局
    • 2.1 第一课 Android 布局文件介绍1
    • 2.2 第二课 Android 布局文件介绍2
    • 2.3 第三课 Android 布局文件介绍3
  • 3 第三周 Android UI组件开发
    • 3.1 第一课 Button和ImageButton
    • 3.2 第二课 TextView和EditText
    • 3.3 第三课 RadioButton和CheckBox
  • 4 第四周 Android UI组件开发
    • 4.1 第一课 Spinner和ListView
    • 4.2 第二课 应用案例-手机信息页面
    • 4.3 第三课 Android生命周期
  • 5 第五周 Android组件通信
    • 5.1 第一课 Intent的介绍
    • 5.2 第二课 Intent实现各种系统功能
    • 5.3 第三课 应用案例-手机注册页面
  • 6 第六周 数据存储
    • 6.1 第一课 应用案例-新建联系人
    • 6.2 第二课 数据存储-简单文件存储
    • 6.3 第三课 SharedPreferences存储
  • 7 第七周 数据存储
    • 7.1 第一课 xml文件存储
    • 7.2 第二课 应用案例-植物百科
    • 7.3 第三课  ListView 组件高级使用
  • 8 第八周 SQLite数据库
    • 8.1 第一课 应用案例-应用列表
    • 8.2 第二课 使用SQLite数据库存储(创建数据库和表)
    • 8.3 第三课 使用SQLite数据库存储(对表数据操作)
  • 9 第九周 项目实战-商品购物车处理
    • 9.1 第一课 使用SQLite数据库存储(对表数据查询)
    • 9.2 第二课 商品购物车处理(布局)
    • 9.3 第三课 商品购物车处理(数据处理)
  • 10 第十周 内容提供者及广播
    • 10.1 第一课 内容提供者的使用
    • 10.2 第二课 广播概念以及如何使用
    • 10.3 第三课 自定义广播
  • 11 第十一周 广播和服务
    • 11.1 第一课 应用案例-电池电量
    • 11.2 第二课 应用案例-通话记录
    • 11.3 第三课 服务简介
  • 12 第十二周 服务应用
    • 12.1 第一课 应用案例—音乐播放器
    • 12.2 第二课 应用案例—地震监测
    • 12.3 第三课 获得手机SIM卡信息
  • 13 第十三周 网络编程
    • 13.1 第一课 网络编程入门
    • 13.2 第二课 使用HttpClient访问网络
    • 13.3 第三课 webview组件
  • 14 第十四周 网络编程应用案例
    • 14.1 第一课 消息机制简介
    • 14.2 第二课 应用案例-应用升级
    • 14.3 第三课 应用案例-应用升级
第一课 Intent的介绍

一、Intent简介




Intent(意图)是一个对象,它是一个被动的数据结构保存一个将要执行操作的抽象描述,或在广播的情况下,通常是某事已经发生并正在执行,开发人员通常使用该对象激活Activity、Service和BroadcastReceiver。Intent用于相同或者不同应用程序组件间的后期运行时绑定。

对于不同的组件,Android系统提供了不同的Intent发送机制进行激活。

•Intent对象可以传递给Context.startActivity()或Activity.startActivityForResult()方法来启动Activity或者让已经存在的Activity去做其他任务。(Intent对象也可以作为Activity.setResult()方法的参数,将信息返回给调用startActivityForResult()方法的Activity)

•Intent对象可以传递给Context.startService()方法来初始化Service或者发送新指令到正在运行的Service。类似的,Intent对象可以传递Context.bindService()方法来建立调用组件和目标Service之间的链接。它可以有选择的初始化没有运行的服务。

•Intent对象可以传递给Context.sendBroadcast()、Context.sendOrderedBroadcast()或Context.sendStickyBroadcast()等广播方法,使其被发送给所有感兴趣的BroadcastReceiver。

二、创建并配置Activity

1.创建Activity

创建Activity,大致可以分为以下两个步骤。

(1)创建一个Activity一般是继承android.app包中的Activity类,不过在不同的应用场景下,也可以继承Activity的子类。

importandroid.app.Activity;

publicclass DetailActivityextends Activity {

}


(2)重写需要的回调方法。通常情况下,都需要重写onCreate()方法,并且在该方法中调用setContentView()方法设置要显示的视图。

@Override

publicvoid onCreate(BundlesavedInstanceState){

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_detail);

}


2.配置Activity

创建Activity后,还需要在AndroidManifest.xml文件中配置该Activity,如果没有配置该Activity,而在程序中又启动了该Activity,那么将抛出如下图所示的异常信息。


具体的配置方法是在<application></application>标记中添加<activity></activity>标记实现。<activity>标记的基本格式如下:

<activity

    android:icon="@drawable/图标文件名"

    android:name="实现类"

    android:label="说明性文字"

    android:theme="要应用的主题"

>

</activity>


三、启动Activity

1.显示启动

显示启动Activity大致可以分为以下两个步骤。

(1)需要创建Intent对象,可以使用下面的语法格式。


(2)应用startActivity()方法来启动Activity。startActivity()方法的语法格式如下:


2. 显式启动第二个Acitivty步骤


(1)定义第二个界面的布局文件;


(2)定义第二个界面控制的Activity类;


(3)AndroidManifest文件中配置第二个Avtivity类;


(4)MainAcctivity中定义Intent对象,调用startActivity()方法开启第二个Acitivity。

四、隐式Intent

隐式Intent,隐式的就是没有指定Intent的组件名字,没有制定明确的组件来处理该Intent,使用这种方式时,需要让Intent与应用中的IntentFilter描述表相匹配。需要Android根据Intent中的ActiondataCategory等来解析匹配。由系统接受调用并决定如何处理,即Intent的发送者在构造Intent对象时,并不知道也不关心接收者是谁,有利于降低发送者和接收者之间的耦合。

隐式启动:需要在自己的应用程序中,展示一个网页,就可以调用系统的浏览器来打开这个网页就行了,而不必自己再编写一个浏览器。这时,可以使用下面的语句实现。

Intentintent= new Intent();  // 创建Intent对象

intent.setAction(Intent.ACTION_VIEW);  // 为Intent设置动作

intent.setData(Uri.parse("http://www.mingribook.com"));// 为Intent设置数据

startActivity(intent);  // 将Intent传递给Activity


标准Activity action说明

                                                                                   

 

   

 
 

   

 
 

ACTION_MAIN

 
 

作为初始的Activity启动,没有数据输入输出

 
 

ACTION_VIEW

 
 

将数据显示给用户

 
 

ACTION_ATTACH_DATA

 
 

用于指示一些数据应该附属于其他地方

 
 

ACTION_EDIT

 
 

将数据显示给用户用于编辑

 
 

ACTION_PICK

 
 

从数据中选择一项,并返回该项

 
 

ACTION_CHOOSER

 
 

显示Activity选择器,允许用户在继续前按需选择

 
 

ACTION_GET_CONTENT

 
 

允许用户选择特定类型的数据并将其返回

 
 

ACTION_DIAL

 
 

使用提供的数字拨打电话

 
 

ACTION_CALL

 
 

使用提供的数据给某人拨打电话

 
 

ACTION_SEND

 
 

向某人发送消息,接收者未指定

 
 

ACTION_SENDTO

 
 

向某人发送消息,接收者已指定

 
 

ACTION_ANSWER

 
 

接听电话

 
 

ACTION_INSERT

 
 

在给定容器中插入空白项

 
 

ACTION_DELETE

 
 

从容器中删除给定数据

 
 

ACTION_RUN

 
 

无条件运行数据

 
 

ACTION_SYNC

 
 

执行数据同步

 
 

ACTION_PICK_ACTIVITY

 
 

挑选给定IntentActivity,返回选择的类

 
 

ACTION_SEARCH

 
 

执行查询

 
 

ACTION_WEB_SEARCH

 
 

执行联机查询

 
 

ACTION_FACTORY_TEST

 
 

工厂测试的主入口点