版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、0,1,android UI相关,1.Activity(Activity的生命周期) 2.Intent 3.Layout与常用控件,0,2,Activity生命周期,onCreate() onStart() onRestart() onResume onPause() onStop() onDestroy(),0,3,0,4,生命周期说明: 实例说明:,0,5,Intent介绍,Intent主要用于Activity,Service,BroadcastReceiver之间的通信传替数据 1、通过Context.startActivity() 或 Activity.startActivityFor
2、Result() 方法启动新的Activity 2、通过广播 Intent 机制将Intent发送给任何对该Intent感兴趣的BroadcastReceiver 3、通过startService(Intent)或bindService(Intent,ServiceConnection,int)来和后台的Service交互,0,6,Intent与其它组件交互图,见中图一,0,7,Intent包含的描述部分,1、Action:操作 2、data:数据(联系人) 3、type:数据类型(可以指定intent的数据类型) 4、category:类别 5、extras:附件信息 6、component
3、:目标组件 category,extras,component还没理解,后续补上,0,8,举例,Activity之间传数据 广播, 服务间的用法 显示网页 .,0,9,Layout与常用控件,view widget 常用布局(Layout) 常用控件 UI事件,0,10,view与viewGroup,1、所有高级UI组件都继承View类而实现的 2、一个View在屏幕上占据一块矩形区域 3、 负责渲染 4、负责处理发生的事件 5、设置是否可见 6、设置是否可以获得焦点等 viewGroup 1、一个ViewGroup对象是一Android.view.ViewGroup实例 2、View的容器
4、3、 负责对添加进ViewGroup的View进行布局 4、一个ViewGroup可以加入到另一个ViewGroup,0,11,view 与 viewGroup关系,0,12,widget,1、界面中展示的各个小组件 2、有独立的事件处理能力 3、所有Wiget组件都是继承View而来 如,0,13,常用布局,android.widget.LinearLayout继承viewgroup android.widget.FrameLayout android.widget.RelativeLayout android.widget.AbsoluteLayout,0,14,LinearLayout(
5、线性布局)继承关系,0,15,FrameLayout AbsoluteLayout RelativeLayout (以上继承关系略) LinearLayout 一些属性 1、android:orientation=“vertical” (垂直方向) 2、android:orientation=“horizontal” (水平方向) 举例如下:,0,16,Android界面布局参数信息- LayoutParams(1) android:layout_height(2) android:layout_width2 、值(1) FILL_PARENT(2) WRAP_CONTENT,0,17,UI监
6、听过程,认识UI View如何处理响应事件? Android提供的两种处理机制 (1) Event Listeners(事件侦听器) (2) Event Handlers(事件处理器)一般用于自定义组件重载对应的事件处理函数,0,18,常用UI事件,1、View.OnClickListener 的 onClick() 2、View.OnFocusChangeListener 的 onFocusChange() 3、View.OnKeyListener 的 onKey() 4、View.OnTouchListener 的 onTouch() 5、View.OnCreateContextMenuL
7、istener 的 onCreateContextMenu() 讲解过程.通过实例,0,19,常用UI,Button(按钮) TextView(文本框) EditText(文本编辑框) CheckBox(多项选择) ImageView(图片视图) ImageButton(图片按钮) Dialog对话框 Menu CheckBox(多项选择) RadioGroup(单项选择) Spinner(下拉列表) TimePicker(时间选择器) ScrollView(滚动视图) ProgressBar(进度条),0,20,android service,认识service 实现service中的方法
8、生命周期图,0,21,认识Service,1、后台运行 2、不能自己运行,需要通过某一个Activity或其他Context对象来启动: context.startService()或constext.bindService(); 3、最好启动新线程来运行很耗时Service 4、Service的应用场景 起动方式 1、通过startService启动 2、通过bindService,0,22,实现service,实现onCreate() 实现onBind(Intent i) 实现onUnbind(Intent i) 实现onStart(Intent, int) 实现onDestroy(),0
9、,23,Service生命周期图,见图二,0,24,BroadcastReceiver,作用 注册方式 生命周期,0,25,作用 一个专门用来接收广播通知信息,并作出相应处理的组件,很多广播是源自于本身的-比如,通知时区改变,电池电量低,拍摄照片,来电,发短信或者用户改变了语言选项等.应用程序也可以进行广播-比如说,通知其它应用程序数据下载完成并处于可用状态. 注册方式: 有两种注册方式:一种是通过AndroidManifest.xml,另一种是通过Cotext.sendBroadcast()方法进行注册,一个程序可以注册多个 ,0,26,生命周期,void onReceive(Context
10、 curContext, Intent broadcastMsg); 当广播消息抵达接收器时,Android调用它的onReceive()方法,并将包含消息的intent对象传递给他.广播接收器公在它执行这个方法时处于活跃状态,当onReceive()返回后,它变为状态 举例 官方说明: A process that is currently executing a BroadcastReceiver (that is, currently running the code in its onReceive(Context, Intent) method) is considered to b
11、e a foreground process and will be kept running by the system except under cases of extreme memory pressure.,0,27,android持久层,概况 ContentProvider简介 本地实现 举例:联系人,0,28,Android持久层概况,Adnroid SDK 持久层用于管理数据的读写,主要分为4个功能模块 SharedPreferences,通过键值二元组存储简单数据, 文件,存储规模圈套的数据 数据库,内置SQLite数据库,用于存储结构化数据 ContentProvider,
12、通过定义一组抽象接口,为数据源的封闭提供了标准,可用于应用程序之间的数据共享,0,29,ContentProvider详解,简介 提供了一种通用的接口机制以便应用程序之间共享数据.通过引入一个抽象层来隐藏数据来源,它解除了应用程序与数据之间的耦合性,让应用程序开发者不必了解数据来源的具体实现,0,30,本地实现,Android自身也提供了几个系统本地实现的ContentProvider:Contacts,Brower,CalLog,Settings以及MediaStore Contacts 用于读取,修改和保存通讯录的信息. Brower 可用于读取和修改网页浏览器的书签,浏览历史以及网页搜索
13、等 CallLog 用于查看和更新呼叫历史,包括列表,呼出列表,未接来电列表和通话细节(如接听时间,呼叫人及持续时间等) MediaStore 针对设备上的多媒体文件,它提供了集中的托管式访问方式,第三方的应用程序可以通过它来保存音频,视频及图片等文件,并可以设置文件访问权限为全局可见以便共享 Setting 用于访问各修改设备的设置,如蓝牙设置,手机铃声等, 在涉及或类似功能时,应用程序应该尽量使用本地ContentProvider而避免自己编写,因为这样会带来更好的性能,兼容性以及集成性,0,31,简单实例,本地实现-电话联系人,0,32,android安装,卸载,android安装 an
14、droid卸载,0,33,安装,利用Android软件安装工具-APK安装器 (1)手机端:通过读卡器将APK文件放入SD卡中后,再将SD卡插回手机中就可以使用 (2)PC端:安装对应PC端软件,0,34,模拟器中卸载,1、首先,将模拟器执行起来,直到正式进入系统。 2、接下来,打开一个cmd窗口,路径切换到模拟器目录下的tools目录。 3、输入:adb shell rm data/app/你要安装的apk文件,0,35,单元测试,框架简介 常用测试父类 举例,0,36,单元测试,框架简介(api) 如果想在android里面做单元测试,有两条基本的路子可行。 第一, 就是java程序员最为
15、熟悉和常用的junit, 但是由于目前android sdk (version 1.1)中只是提供了stubbed methods/classes,没有具体的实现代码,所以如果用junit的话,我们需要在运行单元测试时,一定要 用jdk来运行,利用java命令来启动junit的某个runner。如果是用eclipse的话,可以在run configuration里新建一个junit。但是一定要记得在classpath选项卡里将bootstrap entries中的android library改成jre,并且添加junit.jar。具体的设置可以参考: 而且,更为遗憾的是,这种方法运行的jun
16、it运行在jdk之上的,而不是android,所以,只能测试一些和android无关的东西,比如业务逻辑,数据封装,数值计算等等。并不能测试android api。 第二, 采用instrumentation. android单元测试的主入口是instrumentationtestrunner。它相当于junit当中testrunner的作用。你可以将instrumentation理解为一种没有图形界面的,具有启动能力的,用于监控其他类(用target package声明)的工具类。任何想成为instrumentation的类必须继承android.app.instrumentation,0,
17、37,常用测试父类,TestCase junit.frameworkTestCase 测试与android 环境无关的接口,可以继承此类,这种通用接口测试通常用于一个工具类的功能测试,举例 AndroidTestCase android.test.AndroidTestCase 测试与Android环境有关的接口,可以继承此类,举例 InstrumentationTestCase android.test.InstrumentationTestCase 测试某个 Activity类中的函数, 可以继承此类,使用此类时需要编写启动Activity的代码,举例 ActivityInstrumentatoinTestCase2 android.test.ActivityInstrumentationTestCase2 使用此时不用启动Activity代码,只要向父类构造函数传递被启动Activity的包名和Class对象举例,0,38,单元测试用例,0,39,权限系统,简介 用法 常用权限举例,0,40,简介,Android权限分的很细,但命名比较人性化,Android permission比Symbian Capabilities有了不少改进,下面就来看看权限许可都有哪些定义吧,发现还是比较繁多的,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 线上绿色农业进入障碍解决合同
- 2026年工地职业病危害因素检测与防护
- 2026年养老院用火用电用气安全知识培训课件
- 公关活动赞助商权益保障协议书
- 2026年情感智力培养在中小学教育中的实践路径
- 音乐培训机构教学质量评估合同
- 2026年集体用餐配送单位食品安全年度培训计划
- 线上金色降落伞数据标注服务协议2026
- 2026年泥鳅人工繁殖与高产养殖技术规范
- 2026年课堂互动技巧与游戏设计
- 2025年《中华人民共和国公司法》知识竞赛试卷及答案
- 2026年一级注册建筑师《建筑材料与构造》模拟考试题库有答案详解
- 2026年宁都技师学院招聘编外教师44人笔试参考题库及答案解析
- 2026年安徽省合肥市高三二模英语试题(含答案和音频)
- 2026年录音摄像员通关试题库附答案详解(能力提升)
- 2025年河北省地级市联考遴选笔试真题解析附答案
- 2026科技日报社招聘应届高校毕业生7人考试备考试题及答案解析
- 广西能汇投资集团有限公司招聘笔试题库2026
- 监理安全管理制度和预案(3篇)
- 2026校招:华泰证券笔试题及答案
- 2026年1月浙江省高考(首考)化学试题(含标准答案)
评论
0/150
提交评论