------Activity 活动------
活动 Activity 是一种包含用户界面的组件,即一个界面就是一个活动
创建活动的过程:
>> 创建一个类,继承自Activity类,并且重写onCreate等方法 >> 创建一个Android布局文件(XML)格式 >> 在新建的活动类中获取布局实例或者相应的组件
>> 根据具体情况编写事件监听器
>> 在AndroidManifest.xml中注册活动类
注册格式:
<activity android:name=".FirstActivity" android:label="This is FirstActivity" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
.FirstActivity 代表新建的活动的完整类名,包括包名 action标签指定活动的加载方式,这里表示程序一开运行时加载的活动 category标签待查
隐藏标题栏的方法:
requestWindowFeature(Window.FEATURE_NO_TITLE),这代码必须在setContentView()方法之前执行
在活动中使用Toast:
一个很好的提醒类,调用方法:Toast.makeText(Context类, 要显示的文本, 显示的时间);
销毁活动:
按下Back键或者直接执行finish()方法
使用Intent进行活动与活动之间的交互:
>> 显式Intent
先创建一个Intent实例,再调用startActivity(Intent实例)方法
Intent intent = new Intent(FirstActivity.this(当前活动), SecondActivity.class(目标活动));
startActivity(intent);
>> 隐式Intent
在注册类时同时附加<intent-filter>过滤信息action和category,只有活动能完全匹配action和actegory这些信息的时候,活动才会响应。
Intent intent = new Intent("com.example.activitytest.ACTION_START"(一些过滤信息字符串));
intent.addCategory("com.example.activitytest.MY_CATEGORY"(如果为默认的可以不写));
startActivity(intent);
使用隐式的intent可以用于启动其他程序的活动:
>> 比如在其他程序中调用浏览器,代码如下:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.baidu.com")); //将字符串解析成URI对象
startActivity(intent); Intent.ACTION_VIEW是Andriod系统提供的的动作
>> <intent-filter>标签还可以配置<data>标签,用于更精确的指定活动响应哪些类型数据。
1. android:scheme 用于指定数据的协议部分,如http、tel等。
2. android:host 用于指定数据的主机名部分,如www.baidu.com 部分。
3. android:port 用于指定数据的端口部分,一般紧随在主机名之后。
4. android:path 用于指定主机名和端口之后的部分,如一段网址中跟在域名之后的内容。
5. android:mimeType 用于指定可以处理的数据类型,允许使用通配符的方式进行指定。