`
xpchou
  • 浏览: 15453 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

android基础05

阅读更多
1.显示意图三种创建方式:
构造函数,代码少
new Intent(this, NewActivity.class);
类名形式,灵活,可扩展性强
intent.setClassName(this, "cn.itcast.activity.NewActivity");
包名类名形式,可启动其他程序中的Activity
intent.setClassName("cn.itcast.downloader", "cn.itcast.downloader.MainActivity");

2.隐式意图创建Activity
1.显式意图是指在创建意图时指定了组件,而隐式意图则不指定组件,通过动作、类型、数据匹配对应的组件
2.在清单文件中定义<activity>时需要定义<intent-filter>才能被隐式意图启动
3.<intent-filter>中至少配置一个<action>和一个<category>,否则无法被启动
4.Intent对象中设置的action、category、data在<intent-filter>必须全部包含才能启动
5.<intent-filter>中的<action>、<category>、<data>都可以配置多个,Intent对象中不用全部匹配,每样匹配一个即可启动
6.如果一个意图可以匹配多个Activity,Android系统会提示选择

3.通过intent传递数据
1.intent.putExtra(String name,String value); 获取数据:value = getIntent().getString(name)
2.Bundle bundle = new Bundle(); Bundle bundle = intent.getExtras();
  bundle.putString(name,content); content = bundle.getString(name);
  intent.putExtras(bundle);

4.创建Activity获取返回数据
1.使用startActivityForResult(Intent intent, int requestCode) 方法打开Activity
2.重写onActivityResult(int requestCode, int resultCode, Intent data) 方法
3.新Activity中调用setResult(int resultCode, Intent data) 设置返回数据之后,关闭Activity就会调用onActivityResult方法

5.请求码的作用   
请求码的值是根据业务需要由自已设定,用于标识请求来源。例如:一个Activity有两个按钮,点击这两个按钮都会打
开同一个Activity,不管是那个按钮打开新Activity,当这个新Activity关闭后,系统都会调用前面Activity的
onActivityResult(int requestCode, int resultCode, Intent data)方法。这时就需要在打开新的activity时设置不同的请求码,
以便能知道是从哪个按钮请求过来的。

6.结果码的作用
在一个Activity中,可能会使用startActivityForResult()方法打开多个不同的Activity处理不同的业务,当这些新Activity关闭后,
系统都会调用前面Activity的onActivityResult(int requestCode, int resultCode, Intent data)方法。为了知道返回的数据来自
于哪个新Activity,可以在新开启的activity里调用setResult方法设置结果码。

7.Acitivity三种状态
运行:activity在最前端运行
暂停:activity可见,但前端还有其他acti vity,被覆盖一部分,或者前端activity透明
停止:activity不可见,完全被覆盖

8.生命周期相关方法
onCreate:创建时调用,或者程序在暂停、停止状态下被杀死之后重新打开时也会调用
onStart:onCreate之后或者从停止状态恢复时调用
onResume:onStart之后或者从暂停状态恢复时调用,从停止状态恢复时由于调用onStart,也会调用onResume
onPause:进入暂停、停止状态,或者销毁时会调用
onStop:进入停止状态,或者销毁时会调用
onDestroy:销毁时调用
onRestart:从停止状态恢复时调用

9.当屏幕的方向发生了改变, Activity会被摧毁并且被重新创建,如果你想在Activity被摧毁前缓存一些数据,并且在Activity被重新创
建后恢复缓存的数据。可以重写Activity的 onSaveInstanceState() 和 onRestoreInstanceState()方法

10.横竖屏幕切换
默认情况下,当“屏幕方向”或“键盘显示隐藏” 变化时都会销毁当前Activity,创建新的Activity。如果不希望重新创建Activity实例,
可以按如下配置Activity:<activity android:name=".MainActivity" android:configChanges="keyboardHidden|orientation">
上面的android:configChanges属性指定了要捕获“屏幕方向”和“键盘显示隐藏”变化,当捕获到这些变化后会调用Activity的onConfigurationChanged()方法。
如果只希望创建一个实例,可以配置android:configChanges="orientation"

11.Bundle类用作携带数据,它类似于Map,用于存放key-value名值对形式的值。相对于Map,它提供了各种常用类型的putXxx()/getXxx()方法,
如:putString()/getString()和putInt()/getInt(),putXxx()用于往Bundle对象放入数据,getXxx()方法用于从Bundle对象里获取数据。
Bundle的内部实际上是使用了HashMap<String, Object>类型的变量来存放putXxx()方法放入的值.

12.内存管理
Android系统在运行多个进程时,如果系统资源不足,会强制结束一些进程。优先选择哪个进程来结束是有优先级的
1.空:进程中所有Activity都已销毁
2.后台:进程中有一个停止状态的Activity
3.可见:进程中有一个暂停状态的Activity
4.前台:进程中正在运行一个Activity

13.启动模式
在AndroidManifest.xml中的<activity>标签中可以配置android:launchMode属性,用来控制Actvity的启动模式
在Android系统中我们创建的Acitivity是以栈的形式呈现的
1.standard:每次调用startActivity()启动时都会创建一个新的Activity放在栈顶
2.singleTop:如果启动的Activity时,指定Activity不在栈顶就创建,如在栈顶,则不再创建
3.singleTask:如果启动的Activity不存在就创建,如果存在直接跳转到指定的Activity所在位置
4.singleInstance:如果启动的Activity不存在就创建,如果存在就将指定的Activity移动到栈顶,会重新开启一个新的 任务栈
分享到:
评论

相关推荐

    Android基础-05

    Android基础-05

    android基础知识05:四大组件之service 02:远程调用实例程序

    博文android基础知识05:四大组件之service 02:远程调用中关于远程调用service的实例程序

    Android开发相关的学习资料

    Android资源_01-Android开发环境搭建_实验01-Android开发环境搭建.pdf、实验02-Android应用开发HelloWorld.pdf; 02-Android Studio项目结构...04-Android基础功能程序设计_实验10-Android基础功能程序设计.pdf......

    android基础知识05:四大组件之service 01实例程序2

    android service的实例程序,用于博文http://blog.csdn.net/xianming01/article/details/7341877

    千锋Android游戏开发基础视频教程(10集)

     千锋Android游戏开发基础视频教程(10集)【】千锋Android游戏开发基础视频教程-大纲【】千锋Android游戏开发基础视频教程01~02【】千锋Android游戏开发基础视频教程03~04【】千锋Android游戏开发基础视频教程05~...

    Android代码-Android_Learning_Notes

    5、Android05--Android服务通信 6、Android06--Android广播接收器 7、Android07--Android日志系统 8、Android08--Android权限系统 用户界面 9、Android09--Fragment初探 10、Android09--Android程序界面 11、...

    大话企业级Android开发

    05大话企业级Android开发_MVC讲解及简单短信和拨号器实现 06大话企业级Android开发_日志输出、单元测试及调试 07大话企业级Android开发_UI(上) 08大话企业级Android开发_UI(中) 09大话企业级Android开发_UI(下) 10...

    android基础知识05:四大组件之service 01实例程序

    根据博客内容,写的一个android 服务实例程序

    企业级Android开发

    04大话企业级Android开发_Android项目的目录结构、执行流程及其他基础分析 05大话企业级Android开发_MVC讲解及简单短信和拨号器实现 06大话企业级Android开发_日志输出、单元测试及调试 07大话企业级Android开发_UI...

    零基础入门Android(安卓)逆向-rar

    05.Android smali 与 java 代码介绍4 7 A9 G6 c k; B 06.Android smali 与 java 代码介绍5 ; [. D3 O0 ~9 _0 ]3 W 07.常用Android快速定位关键点方法介绍 " v+ h0 Z5 x& }1 o4 c/ L 08.从0开始打造自己的破解代码库 ...

    新版Android开发教程

    新版Android开发教程+笔记05--模拟器、应用1、2 新版Android开发教程+笔记06--应用3、4 布局 新版Android开发教程+笔记07--基础UI编程1 新版Android开发教程+笔记08--基础UI编程2 新版Android开发教程+笔记09--基础...

    黑马程序员_2小时教你写一个android程序[第05天]课件源码

    黑马程序员_2小时教你写一个android程序[第05天]课件源码

    Android经典资料大全 part05

    Android经典资料(Google and Android开发入门与实践、Google and android 揭秘、Google android SDK开发范例大全、深入浅出Android、...开发、Android基础教程等,还有几本英文书籍) 共8个压缩文件,请下全后解压

    企业级安卓开发_入门+进阶 大话企业级Android开发

    04大话企业级Android开发_Android项目的目录结构、执行流程及其他基础分析 05大话企业级Android开发_MVC讲解及简单短信和拨号器实现 06大话企业级Android开发_日志输出、单元测试及调试 07大话企业级Android开发_UI...

    android课件

    清华老师上课的android课件。ch_01android概述ch_02android开发基础ch_03资源的访问ch_04android用户界面ch_05Ativity和Intent。其他自己看。

    黑马安卓52期android 教程

    05、android项目实战_智慧北京(6天) 06、android项目实战_谷歌应用市场(6天) 07、android进阶高阶案例-QQ5.0特效专辑(2天) 08、android游戏开发_植物大战僵尸(3天) 09、android案例与项目_百度地图(1天_...

    Android实现红绿灯检测APP(可实时运行)

    考虑到原始YOLOv5的模型计算量比较大,鄙人在YOLOv5s基础上,开发了一个非常轻量级的的红绿灯检测模型yolov5s05_320。从效果来看,Android红绿灯检测模型的检测效果还是可以的,高精度版本YOLOv5s平均精度平均值mAP_...

    android黄金资料

    第04部分 Android项目的目录结构、执行流程及其他基础分析 第05部分 MVC设计模式讲解及电话拨号器和短信发送器应用 第06部分 日志输出、单元测试及调试 第07部分 UI(上) 第08部分 UI(中) 第09部分 UI(下)...

    Android应用程序开发原码例子

    Google于2007年11月05日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。它采用软件堆层(Software Stack,又名软件叠层)的架构,主要分为三部分。底层以Linux...

Global site tag (gtag.js) - Google Analytics