Android中的Acitivity
来源:互联网 发布:大数据龙头股票 编辑:程序博客网 时间:2024/05/16 05:09
目录
- 目录
- 在清单文件中声明 Activity
- 使用Intent过滤器来标识程序入口
- Activity的几个常用属性
- 启动Activity
- 结束Activity
本文整理自
https://developer.android.com/guide/components/activities.html#Lifecycle
如有错误,欢迎指正。
在清单文件中声明 Activity
您必须在清单文件中声明您的 Activity,这样系统才能访问它。 要声明您的 Activity,请打开您的清单文件,并将 元素添加为 元素的子项。例如:
<manifest ... > <application ... > <activity android:name=".ExampleActivity" /> ... </application ... > ...</manifest >
使用Intent过滤器来标识程序入口
<activity android:name=".ExampleActivity" android:icon="@drawable/app_icon"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter></activity>
<action> 元素指定这是应用的“主”入口点。 元素指定此 Activity 应列入系统的应用启动器内(以便用户启动该 Activity)。
注意:如果<intent-filter>内没有东西,就不要留 <intent-filter>,要不然启动不了程序。
Activity的几个常用属性
Activity的几个常用属性
启动Activity
有两种方式用来启动Activity
1.使用 startActivity()方法启动,这种方法启动的Activity“不可以”获得该Activity执行完后的结果。
2. 使用startActivityForResult()方法启动,这种方法启动的Ativity“可以”获得该Activity执行完后的结果,但需要实现 onActivityResult() 回调方法。
示例
1.startActivity()方法
//param1:当前Acitivity的Context//param2:待启动Activity的classIntent intent = new Intent(this, SignInActivity.class);//SignlnActivity是即将启动的Activity对象startActivity(intent);
不过,当你想给新启动的Activity传送数据的时候,例如发送电子邮件、短信或状态更新,要个新的Activity传送新的数据。 在这种情况下你可以用Intent来帮你传送,这也是Intent的主要用途。
例如,如果您想允许用户发送电子邮件,可以创建以下 Intent:
Intent intent = new Intent(Intent.ACTION_SEND);intent.putExtra(Intent.EXTRA_EMAIL, recipientArray);startActivity(intent);
2.startActivityForResult()方法
说明:例如,您可能希望用户选取其中一位联系人,以便您的 Activity 对该联系人中的信息执行某项操作。 您可以通过以下代码创建此类 Intent 并处理结果,pickContact()方法用来启动新的Activity.
private void pickContact() { // Create an intent to "pick" a contact, as defined by the content provider URI Intent intent = new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI);//Contact.CONTENT_URI表示的是启动通讯录的Activity. startActivityForResult(intent, PICK_CONTACT_REQUEST);//PICK_CONTACT_REQUEST:这个常量由自己定义,用来在onActivityResult中判断返回的是不是属于自己的信息。}@Osverrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) { // If the request went well (OK) and the request was PICK_CONTACT_REQUEST //当resultCode等于Activity.RESULT_OK 表明信息返回成功 if (resultCode == Activity.RESULT_OK && requestCode == PICK_CONTACT_REQUEST) { // Perform a query to the contact's content provider for the contact's name //查询返回的具体信息 Cursor cursor = getContentResolver().query(data.getData(), new String[] {Contacts.DISPLAY_NAME}, null, null, null); if (cursor.moveToFirst()) { // True if the cursor is not empty int columnIndex = cursor.getColumnIndex(Contacts.DISPLAY_NAME); String name = cursor.getString(columnIndex);//得到具体信息 // Do something with the selected contact's name... } }}
结束Activity
您可以通过调用 Activity 的 finish() 方法来结束该 Activity。您还可以通过调用 finishActivity() 结束您之前启动的另一个 Activity。
- Android中的Acitivity
- Android学习记录:Acitivity
- Android开发,Acitivity生命周期
- Android Acitivity启动模式
- Android到底那个Acitivity启动
- Android到底那个Acitivity启动
- Android到底哪个Acitivity启动
- Android 随时销毁一个Acitivity
- Android网页中启动Acitivity
- 【Android学习笔记】Acitivity(1)Acitivity生命周期
- Android 统计图表引擎AChartEngine(四) - 源码示例 嵌入Acitivity中的折线图
- android Acitivity启动时全透明设置 一个应用调用另一个应用中的某些功能
- Android到底那个Acitivity启动(二)
- Android Acitivity之间如何传递数据
- android线程与主Acitivity通信
- android 旋转屏幕Acitivity会销毁重建
- Android活动Acitivity启动模式之standard
- Android活动Acitivity启动模式之singleTop
- Android与LinuxC目录创建以及文件读写操作
- 工作语录
- JSP里的basePath
- Java-查看JVM从哪个JAR包中加载指定类
- JS中的队列(queue)和栈(stack)
- Android中的Acitivity
- bzoj1179 tarjan缩点+spfa
- Codevs1043 [方格取数]
- 后缀表达式求值
- python3基础学习(一)
- Android-数据存储方式(IO-SharedPreferences)
- idl编译生成头文件和失败问题记录
- java 分行读取
- Kibana(二):服务器端解码解读