网站分类导航代码,做旅游网站的目的和意义,假冒网站能通过备案登记吗,网页设计师英文69[toc]
1.启停活动页面
1.Activity启动和结束
从当前页面跳到新页面
startActivity(new Intent(this, ActFinishActivity.class));从当前页面返回上一个页面#xff0c;相当于关闭当前页面
finish();2.Activity生命周期
官方描述生命周期
onCreate#xff1a;创建活…69[toc]
1.启停活动页面
1.Activity启动和结束
从当前页面跳到新页面
startActivity(new Intent(this, ActFinishActivity.class));从当前页面返回上一个页面相当于关闭当前页面
finish();2.Activity生命周期
官方描述生命周期
onCreate创建活动。把页面布局加载进内存进入了初始状态。onStart开始活动。把活动页面显示在屏幕上进入了就绪状态。onResume恢复活动。活动页面进入了活跃状态能够与用户正常交互例如允许响应用户的点击动作、允许输入文字等。onPause暂停活动。页面进入暂停状态无法与用户正常交互。onStop停止活动。页面将不再屏幕上显示。onDestory销毁活动。回收活动占用的系统资源把页面从内存中清楚。onNewIntent重用已有的活动实例。
3. Activity启动模式
默认启动模式 standard栈顶复用模式 singleTop栈内复用模式 singleTask全局唯一模式 singleInstance
动态设置启动模式
Intent.FLAG_ACTIVITY_NEW_TASK开辟一个新的任务栈Intent.FLAG_ACTIVITY_SINGLE_TOP当栈顶为待跳转的活动实例之时则重用栈顶的实例Intent.FLAG_ACTIVITY_CLEAR_TOP当栈中存在待跳转的活动实例时则重新创建一个新的实例并清除原实例上方的所有实例Intent.FLAG_ACTIVITY_NO_HISTORY栈中不保存新启动的活动实例Intent.FLAG_ACTIVITY_CLEAR_TASK跳转到新页面时栈中的原有实例被清空 Intent intent new Intent(this, LoginSucessActivity.class);intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);startActivity(intent);2.在活动之间传递信息
1.显示Intent和隐式Intent
Intent是各组件之间信息沟通的桥梁它用于Android各组件之间的通信主要完成下列工作
表明本次通信请求从哪里来到哪里去要怎么走发起方携带本次通信需要的数据内容接收方从收到的意图中解析数据发起方想判断接收方的处理结果意图就要负责让接收方传回应答的数据内容
元素名称设置方法说明与用途ComponentsetConponent组件它指定意图的来源与目标ActionsetAction动作它指定意图的动作行为DatasetData即Uri它指定动作要操控的数据路径CategoryaddCategory类别它指定意图的操作类别typesetType数据类型它指定消息的数据类型ExtrasputExtras扩展信息它指定装载的包裹信息FlagssetFlages标志位它指定活动的启动标志
显示Intent
1.在Intent构造函数中指定
Intent intent new Intent(this, ActFinishActivity.class);2.调用意图对象的setClass方法指定
Intent intent new Intent();
intent.setClass(this, ActFinishActivity.class);3.调用意图对象setComponent方法 Intent intent new Intent();
intent.setComponent(new ComponentName(this, ActFinishActivity.class));隐式Intent
没有明确指定要跳转的目标活动只给出一个动作字符串让系统自动匹配属于模糊匹配。
Intent类系统动作常量名系统动作的常量值说明ACTION_MAINandroid.intent.action.MAINApp启动时的入口ACTION_VIEWandroid.intent.action.VIEW向用户显示数据ACTION_SENDandroid.intent.action.SEND分享内容ACTION_CALLandroid.intent.action.CALL直接拨号ACTION_DIALandroid.intent.action.DIAL准备拨号ACTION_SENDTOandroid.intent.action.SENDTO发送短信ACTION_ANSWERandroid.intent.action.ANSWER接听电话
2.向下一个Activity发送数据
Bundle
在代码中发送消息包裹调用意图对象的putExtras方法即可存入消息包裹在代码中接收消息包裹调用意图对象的getExtras方法即可取出消息包裹
Intent intent new Intent(this, ActReceiveActivity.class);
Bundle bundle new Bundle();
bundle.putString(request_time,new Date().toString());
bundle.putString(request_content,tv_send.getText().toString());
intent.putExtras(bundle);
startActivity(intent);3.向上一个Activity返回数据
处理下一个页面的应答数据详细步骤如下
上一个页面打包好请求数据调用startActivityForResult方法执行跳转方法下一个页面接收并解析请求数据进行相应处理下一个页面在返回上一个页面时打包应答数据并调用setResult方法返回数据包裹上一个页面重写方法onActivityResult解析获得下一页面的返回数据
3.为活动补充附加信息
1.利用资源文件配置字符串
resourcesstring nameweather_str晴天/string
/resources// 从strings.xml中获取名叫weather_str的文本内容
tv_resource.setText(getString(R.string.weather_str));2.利用元数据传递配置信息
在Java代码中获取元数据信息的步骤分为三步
调用getPackageManager方法获得当前应用的包管理器调用包管理器的getActivityInfo方法获得当前活动的信息对象活动信息对象的metaData是Bundle包裹类型调用包裹对象的getString即可获得指定名称的参数值 // 通过getPackageManager()获取包管理器PackageManager packageManager getPackageManager();try {// 使用getActivityInfo方法获取当前活动的信息同时请求元数据ActivityInfo activityInfo packageManager.getActivityInfo(getComponentName(), PackageManager.GET_META_DATA);String weather activityInfo.metaData.getString(weather);tv_meta.setText(weather);} catch (PackageManager.NameNotFoundException e) {throw new RuntimeException(e);}3.给应用页面注册快捷方式
元数据不仅能传递简单的字符串参数还能传送更复杂的资源数据比如支付宝的快捷式菜单。 元数据的meta-data标签除了前面说到的name属性和value属性还拥有resource属性该属性可指定一个XML文件表示元数据想要的复杂信息保存于XML数据之中。 利用元数据配置快捷菜单的步骤如下
在res/values/strings.xml添加各个菜单项名称的字符串配置创建res/xml/shortcuts.xml在该文件中填入各组菜单项的快捷方式定义每个菜单对应哪个活动页面给activity节点注册元数据的快捷菜单配置 activityandroid:name.ActStartActivityandroid:exportedtrueintent-filteraction android:nameandroid.intent.action.MAIN /category android:nameandroid.intent.category.LAUNCHER //intent-filtermeta-data android:nameandroid.app.shortcutsandroid:resourcexml/shortcuts //activity?xml version1.0 encodingutf-8?
shortcuts xmlns:androidhttp://schemas.android.com/apk/res/androidshortcut android:shortcutIdfirstandroid:enabledtrueandroid:icondrawable/ic_launcher_foregroundandroid:shortcutShortLabelstring/first_shortandroid:shortcutLongLabelstring/first_longintent android:actionandroid.intent.action.VIEWandroid:targetPackagecom.zzzjian.demo2android:targetClasscom.zzzjian.demo2.ActStartActivity/categories android:nameandroid.shortcut.conversation//shortcutshortcut android:shortcutIdsecondandroid:enabledtrueandroid:icondrawable/ic_launcher_foregroundandroid:shortcutShortLabelstring/second_shortandroid:shortcutLongLabelstring/second_longintent android:actionandroid.intent.action.VIEWandroid:targetPackagecom.zzzjian.demo2android:targetClasscom.zzzjian.demo2.JumpFirstActivity/categories android:nameandroid.shortcut.conversation//shortcutshortcut android:shortcutIdthirdandroid:enabledtrueandroid:icondrawable/ic_launcher_foregroundandroid:shortcutShortLabelstring/third_shortandroid:shortcutLongLabelstring/third_longintent android:actionandroid.intent.action.VIEWandroid:targetPackagecom.zzzjian.demo2android:targetClasscom.zzzjian.demo2.LoginInputActivity/categories android:nameandroid.shortcut.conversation//shortcut/shortcuts