Activity配置==》
android应用程序要求所有的应用程序组件都需要进行显示配置后,才可正常使用。包括:Activity、Service、BroadCastReceiver、ContentProvider.
Activity配置值需要在AndroidMainfest.xml文件中配置如:<Application .../>中添加<Activity.../>子元素即可。
EG:
1 2 3 4 | <activity android:name= "com.example.mylauncheractivity.PreferenceActivityTest" //建议使用完全限定名称,即:包名+类名 android:icon= "@drawable/eighteen" android:label= "显示标题" /> |
注意:配置Activity通常还需要指定一个或多个<intent-filter.../>元素,该元素用于指定该Activity可响应的Intent。
1 2 3 4 5 6 7 8 9 10 | 入口Activity配置方式==》 <activity android:name= "com.example.mylauncheractivity.OtherActivity" android:label= "@string/app_name" > <intent-filter> <action android:name= "android.intent.action.MAIN" /> <category android:name= "android.intent.category.LAUNCHER" /> </intent-filter> </activity> |
启动、关闭Activity
启动Activity的方式:
1.无返回结果的方式==》startActivity(Intent intent)
2.带返回结果的方式==》startActivityForResult(Intent intent,int requestCode):以请求码的方式启动Activity,而且程序后等到新启动Activity的结果(通过重写onActivityResult(......)方法来获取)。
Intent启动的组件,即可是Activity,也可是Service.
EG:
关闭Activity的方式:
1.finish():结束当前Activity;
2.finish(int requestCode):结束以startActivityForResult(Intent intent,int requestCode)请求方式启动且是指定的请求码的Activity.
使用Bundle在Acitivity之间交换数据
Activity之间进行数据交换时,采用将数据包装到Intent即可。
Intent提供多个重载的方法来“携带”/获取数据:
putExtras(Bundle bundle) | 向Intent中放入需要携带的参数 |
putXxx(String key,XXx,data) | 向Bundle放入int、long等各种类型的数据 |
putSerializable(String key,Serializable data) | 向Bundle放入一个可序列化的对象 |
getXxx(String key) | 从Bundle中获取int、long等各种类型的数据 |
getSerializable(String key,Serializable data) | 从Bundle中获取一个可序列化的对象 |
EG:
注:Person类实现了java.io.Serializable接口。
启动其他Activity并返回结果
startActivityForResult(Intent intent,int requestCode),需要重写当前Activity的onActivityResult(int requestCode,int resultCode,Intent intent).
requestCode,代表请求码,resultCode代表Activity返回的结果码(请求码、结果码都是开发者根据具体业务进行自定义)。
EG:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本