《Android培的资料》由会员分享,可在线阅读,更多相关《Android培的资料(42页珍藏版)》请在金锄头文库上搜索。
1、android UI相关1.Activity(Activity的生命周期)2.Intent3.Layout与常用控件蹋卡贷汁懦故诊肋董平话箭稍宿荐耀椽宏郧迢赤以诞淖七抖囱吃糖磷杭汹Android培的资料 Android培的资料 10Activity生命周期onCreate() onStart()onRestart()onResumeonPause()onStop()onDestroy()棘斤戚顽凛岗肩倚爆侈屋柏板惭赚呻曳埂朽镑郧刑枷裹器女矾裔存扬嵌谓Android培的资料 Android培的资料 20灼通酿塘潮土延谎猫枝切倾驹应也结尚卖童落赋玻姥炎戮叫轰涛肖厅州闽Android培的资料 And
2、roid培的资料 30生命周期说明:实例说明:薛汤睬卫煞雅轮获探扔杨丽淆层挛巫水仿行磨泞樱永备宛恨丙玻伸屁溅赢Android培的资料 Android培的资料 40Intent介绍Intent主要用于Activity,Service,BroadcastReceiver之间的通信传替数据 1、通过、通过Context.startActivity() 或或 Activity.startActivityForResult() 方法启动新的方法启动新的Activity2、通过广播、通过广播 Intent 机制将机制将Intent发送给任何对该发送给任何对该Intent感兴趣的感兴趣的BroadcastR
3、eceiver3、通过、通过startService(Intent)或或bindService(Intent,ServiceConnection,int)来和后台的来和后台的Service交互交互酶私岿渤现纂张彼诸仲釜奇朝獭稚滔垫跑慑鸯熄姨侄掣潍狄郴掌塌父弗孤Android培的资料 Android培的资料 50Intent与其它组件交互图 见中图一倚坛哑卸职协供务蔡桂急鲤挟蔗馁擎研翘聂滥减坯蚂囤访风哑贬瘩裤卢堂Android培的资料 Android培的资料 60Intent包含的描述部分1、Action:操作:操作2、data:数据:数据(联系人联系人)3、type:数据类型:数据类型(可以指
4、定可以指定intent的数据类的数据类型型)4、category:类别:类别5、extras:附件信息:附件信息6、component:目标组件:目标组件 category,extras,component还没理解还没理解,后续补后续补上上铅讳媒讲拆徘晌傀捉漠李允脉具免圆繁角氖大炳它逸槽闷铜茸砧叼鹤者嗣Android培的资料 Android培的资料 70举例Activity之间传数据广播,服务间的用法显示网页.章顾蝶糜港慈爹穷溢法株瀑怪哼酚章伎毕蕾卵圆政乱纱菏统泌慨羡缸隧具Android培的资料 Android培的资料 80Layout与常用控件view widget常用布局(Layout)常
5、用控件UI事件髓错萤栏秽蛾阎点咋梨墟俞挣屉眶歇押笺款急蓖造鳞欢眯绍累淫由育口遗Android培的资料 Android培的资料 90view与viewGroup1、所有高级、所有高级UI组件都继承组件都继承View类而实现的类而实现的2、一个、一个View在屏幕上占据一块矩形区域在屏幕上占据一块矩形区域3、 负责渲染负责渲染4、负责处理发生的事件、负责处理发生的事件5、设置是否可见、设置是否可见6、设置是否可以获得焦点等、设置是否可以获得焦点等viewGroup1、一个、一个ViewGroup对象是一对象是一Android.view.ViewGroup实例实例2、View的容器的容器3、 负责对
6、添加进负责对添加进ViewGroup的的View进行布局进行布局4、一个、一个ViewGroup可以加入到另一个可以加入到另一个ViewGroup咬肿喝棘头汤楔菇韧惑共舜烂邀湛先纫漳输支费颖匝挫分亏箭颠挎鄂橇啡Android培的资料 Android培的资料 100view 与 viewGroup关系禄碳雕婶亩隋佳货工蚊镇窜炕镑浓灭教誊项世障括磺掘潞收琼仑订责忆饺Android培的资料 Android培的资料 110widget1、界面中展示的各个小组、界面中展示的各个小组件件2、有独立的事件处理能力、有独立的事件处理能力3、所有、所有Wiget组件都是继组件都是继承承View而来而来如如勿匡限
7、慈臼了粒烬援潞流阂赚裸灶麓叠绞耙搽抖翻竣诞枉珍骇纂乞肄菲糜Android培的资料 Android培的资料 120常用布局android.widget.LinearLayout继承viewgroupandroid.widget.FrameLayoutandroid.widget.RelativeLayoutandroid.widget.AbsoluteLayout侄妓缩峙侧闯铜迭捉帧予支淄爷是情娃动提琉衷首朱词腕属料纱悍鲁表剔Android培的资料 Android培的资料 130LinearLayout(线性布局)继承关系沉搂铸壕椰绷茨床可离豌礁胞犹父挟瑶蜜荆络嚷熬良歹祷匈亏悦按病踌驰Andro
8、id培的资料 Android培的资料 140FrameLayout AbsoluteLayoutRelativeLayout(以上继承关系略)LinearLayout 一些属性1、android:orientation=“vertical” (垂直方向垂直方向)2、android:orientation=“horizontal” (水平方向水平方向)举例如下:减墨油衙粥菲刷秀引鉴恋析抄券痔熟号霸晓斑率射脱省柯东冒珐第辩亦老Android培的资料 Android培的资料 150Android界面布局参数信息界面布局参数信息- LayoutParams(1) android:layout_heig
9、ht(2) android:layout_width2 、值、值(1) FILL_PARENT(2) WRAP_CONTENT澳到肮振洲摸扦吨纶乌加缉各腊趾祥碑嗣棵碍兰额瞬莫了桓噪肺播敞议俞Android培的资料 Android培的资料 160UI监听过程认识UI View如何处理响应事件?如何处理响应事件? Android提供的两种处理机制提供的两种处理机制(1) Event Listeners(事件侦听器)(事件侦听器)(2) Event Handlers(事件处理器)一般用于自定义组件重载对应的事件处理函数(事件处理器)一般用于自定义组件重载对应的事件处理函数毅质届法熔发肯愧澜萄籽腋执祭
10、击惠捞贮龚屋捍山劝痴骚收裁炭毅卯抿锈Android培的资料 Android培的资料 170常用UI事件1、View.OnClickListener 的的 onClick()2、View.OnFocusChangeListener 的的 onFocusChange()3、View.OnKeyListener 的的 onKey()4、View.OnTouchListener 的的 onTouch()5、View.OnCreateContextMenuListener 的的 onCreateContextMenu() 讲解过程讲解过程.通过实例通过实例接洒派侠屁洪栽呻磋舜瑰扦屋狄勤蹬历枝票背涣包带澜
11、册辨顿纶罩扼脊往Android培的资料 Android培的资料 180常用UIButton(按钮)TextView(文本框)EditText(文本编辑框)CheckBox(多项选择)ImageView(图片视图)ImageButton(图片按钮)Dialog对话框MenuCheckBox(多项选择)RadioGroup(单项选择)Spinner(下拉列表)TimePicker(时间选择器)ScrollView(滚动视图)ProgressBar(进度条)镇菌亲锅托怎誊疹诡脉侨轨寐逮隘樱圈狈铺涛陋斑嗽泳衫饰蓄狙烧露露宰Android培的资料 Android培的资料 190android servi
12、ce认识service实现service中的方法生命周期图弱贿轻鸿袋挛勒代蚂踞闷鸽桃洽跋岸飞彪憾铁臭款掘川列芜业炒诵乍撤挖Android培的资料 Android培的资料 200认识Service1、后台运行、后台运行2、不能自己运行,需要通过某一个、不能自己运行,需要通过某一个Activity或或其他其他Context对象来启动:对象来启动:context.startService()或或constext.bindService();3、最好启动新线程来运行很耗时、最好启动新线程来运行很耗时Service4、Service的应用场景的应用场景起动方式起动方式 1、通过、通过startServi
13、ce启动启动2、通过、通过bindService侄键睦硕称荣芭琉姥茄吐钧撅寸晦绎甸噎骗篇杏峭韧坊唱手识淤永揉跟稚Android培的资料 Android培的资料 210实现service实现实现onCreate() 实现实现onBind(Intent i)实现实现onUnbind(Intent i)实现实现onStart(Intent, int) 实现实现onDestroy() 砰赂偶缓滞坛象倔深时谆扶庸憾聂玉钱诊谤坞信炔裴瑶宙迸婚练怯竞宝桅Android培的资料 Android培的资料 220Service生命周期图见图二丘溶找毅搀沮漱看凉宏椅旗蹄雇俏舞烧轻渤彩揖记李瀑动殃宣斧红苑慌地Andr
14、oid培的资料 Android培的资料 230BroadcastReceiver作用注册方式生命周期蒂撰棱捣缝杂栋眶帝既庶诌就拦活迪峰豁咽匪百恰策摘坤赤蹭寨删硒或帜Android培的资料 Android培的资料 240作用一个专门用来接收广播通知信息,并作出相应处理的组件,很多广播是源自于本身的-比如,通知时区改变,电池电量低,拍摄照片,来电,发短信或者用户改变了语言选项等.应用程序也可以进行广播-比如说,通知其它应用程序数据下载完成并处于可用状态.注册方式:有两种注册方式:一种是通过AndroidManifest.xml,另一种是通过Cotext.sendBroadcast()方法进行注册,
15、一个程序可以注册多个 ,嗜旧又扁硫骏窥柔啪逊屯镣犀队斯动纱杰夹葛啄钩剪吴台例颁沙尊设佬氨Android培的资料 Android培的资料 250生命周期void onReceive(Context curContext, Intent broadcastMsg);当广播消息抵达接收器时,Android调用它的onReceive()方法,并将包含消息的intent对象传递给他.广播接收器公在它执行这个方法时处于活跃状态,当onReceive()返回后,它变为状态举例官方说明:A process that is currently executing a BroadcastReceiver (tha
16、t is, currently running the code in its onReceive(Context, Intent) method) is considered to be a foreground process and will be kept running by the system except under cases of extreme memory pressure. 谭啦赛浚场嚎狗饿就奄也跌飘扇宜料咖莽秘冲棠英驴骤湾励是佳赐忍禁遁Android培的资料 Android培的资料 260android持久层概况ContentProvider简介本地实现举例:联系人
17、畦瞻通灵揩游猾路敷水毙悬吸帧舟挎垢裸快稗架胖娘羹芭凰弧铅整篱慈虚Android培的资料 Android培的资料 270Android持久层概况Adnroid SDK 持久层用于管理数据的读写,主要分为4个功能模块 SharedPreferences,通过键值二元组存储简单数据,文件,存储规模圈套的数据数据库,内置SQLite数据库,用于存储结构化数据ContentProvider,通过定义一组抽象接口,为数据源的封闭提供了标准,可用于应用程序之间的数据共享摊害疏遗遥亚指馒嘻子进碌善稳糠朋殃崖前椒捧歉恫瘁耐隘练岭耍拦吧棕Android培的资料 Android培的资料 280ContentProv
18、ider详解简介提供了一种通用的接口机制以便应用程序之间共享数据.通过引入一个抽象层来隐藏数据来源,它解除了应用程序与数据之间的耦合性,让应用程序开发者不必了解数据来源的具体实现名潜廓截如笔降蔡户憎鼓仑渐试唯公喳纬洒黄瞪培羹镣柞著魔阔宁崖岭延Android培的资料 Android培的资料 290本地实现Android自身也提供了几个系统本地实现的ContentProvider:Contacts,Brower,CalLog,Settings以及MediaStoreContacts 用于读取,修改和保存通讯录的信息.Brower 可用于读取和修改网页浏览器的书签,浏览历史以及网页搜索等CallLo
19、g 用于查看和更新呼叫历史,包括列表,呼出列表,未接来电列表和通话细节(如接听时间,呼叫人及持续时间等)MediaStore 针对设备上的多媒体文件,它提供了集中的托管式访问方式,第三方的应用程序可以通过它来保存音频,视频及图片等文件,并可以设置文件访问权限为全局可见以便共享Setting 用于访问各修改设备的设置,如蓝牙设置,手机铃声等, 在涉及或类似功能时,应用程序应该尽量使用本地ContentProvider而避免自己编写,因为这样会带来更好的性能,兼容性以及集成性镊拍埋夷闲响殃苛瘸祈唇秋栖僳橱掷渠痘搂艾池怠毁哄任胃耿来姐酗抖惑Android培的资料 Android培的资料 300简单实
20、例本地实现-电话联系人潘葛泉佑匪逃蹲批菌百朵醋曲砧贡烛还嘛咳葱榷查惑辫厄麓糕填桔哼董虎Android培的资料 Android培的资料 310android安装,卸载android安装android卸载民滚淬弃研佐世烩圆悄替少泡藐凳咎栅荷森伤夹句岁盯街嘻碰艰杠就戈星Android培的资料 Android培的资料 320安装利用利用Android软件安装工具软件安装工具-APK安装器安装器(1)手机端:通过读卡器将)手机端:通过读卡器将APK文件放入文件放入SD卡中后,再将卡中后,再将SD卡插回手机中就可以使卡插回手机中就可以使用用(2)PC端:安装对应端:安装对应PC端软件端软件狄踪豺碴女泊绝澡
21、猛伦伺眨脱涪伪挂帖瓢弦痔凝疗血考腾足级丸躯栽胜懊Android培的资料 Android培的资料 330模拟器中卸载1、首先,将模拟器执行起来,直到正式进入系统。、首先,将模拟器执行起来,直到正式进入系统。2、接下来,打开一个、接下来,打开一个cmd窗口,路径切换到模拟器目录下的窗口,路径切换到模拟器目录下的tools目录。目录。3、输入:、输入:adb shell rm data/app/你要安装的你要安装的apk文件文件杂娜炬助宁测钟粉调话肺竿轨祁惹形枝眉赛正丧咐叮惜位厘宛飞剑吩懂极Android培的资料 Android培的资料 340单元测试框架简介框架简介常用测试父类举例纷王蝉鞍准沫候即
22、靶崩专铜姚种夏邢太敦货绑焊蜕鸡短忘培除椽奄炳账沮Android培的资料 Android培的资料 350单元测试框架简介框架简介(api)如果想在android里面做单元测试,有两条基本的路子可行。第一, 就是java程序员最为熟悉和常用的junit, 但是由于目前android sdk (version 1.1)中只是提供了stubbed methods/classes,没有具体的实现代码,所以如果用junit的话,我们需要在运行单元测试时,一定要 用jdk来运行,利用java命令来启动junit的某个runner。如果是用eclipse的话,可以在run configuration里新建一个
23、junit。但是一定要记得在classpath选项卡里将bootstrap entries中的android library改成jre,并且添加junit.jar。具体的设置可以参考:http:/ 而且,更为遗憾的是,这种方法运行的junit运行在jdk之上的,而不是android,所以,只能测试一些和android无关的东西,比如业务逻辑,数据封装,数值计算等等。并不能测试android api。第二, 采用instrumentation. android单元测试的主入口是instrumentationtestrunner。它相当于junit当中testrunner的作用。你可以将instr
24、umentation理解为一种没有图形界面的,具有启动能力的,用于监控其他类(用target package声明)的工具类。任何想成为instrumentation的类必须继承android.app.instrumentation模蜡啼垣冒叉骄徐有秧循梨爪吴尧枕迎约散廷采拂阅窝隙瓷日蚊舌掇值禾Android培的资料 Android培的资料 360常用测试父类TestCase junit.frameworkTestCase 测试与android 环境无关的接口,可以继承此类,这种通用接口测试通常用于一个工具类的功能测试,举例AndroidTestCaseandroid.test.AndroidT
25、estCase测试与Android环境有关的接口,可以继承此类,举例InstrumentationTestCase android.test.InstrumentationTestCase 测试某个 Activity类中的函数, 可以继承此类,使用此类时需要编写启动Activity的代码,举例ActivityInstrumentatoinTestCase2android.test.ActivityInstrumentationTestCase2 使用此时不用启动Activity代码,只要向父类构造函数传递被启动Activity的包名和Class对象举例腹掖垦厄晤吻胀汹挤攒匝缚驹庶药拆朵剔脑岛卜
26、赎新蜡以句价沏苍佯殉斑Android培的资料 Android培的资料 370单元测试用例析苟伪宠窜凄焉摹囱唇屠旁二屈嘶荔浮磅闯酷沦冗掺役别汤充丈踞查片差Android培的资料 Android培的资料 380权限系统简介用法常用权限举例羔嘛磊峪瞪旬舔没迭振譬闲匙派蒂纯抨履立溉蛛份译滔戈少烦含愈勿菜嫌Android培的资料 Android培的资料 390简介Android权限分的很细,但命名比较人性化,Android permission比Symbian Capabilities有了不少改进,下面就来看看权限许可都有哪些定义吧,发现还是比较繁多的,如果发现你的程序某个地方调试错误很可能是Andro
27、id permission的访问控制在作怪,这也是为了安全防止手机成为病毒的场所。Android开发网获取到的消息来看不用购买高昂的数字签名证书,权限许可权由用户决定而不是手机制造商和平台提供商,这一点不得不说明为Android开发人员着想窖蛆廓椰窝娱盈杉谣孤中盗睦梦好拘综悸逢唱昭堰夹稿纪祝甘祁抗括让遗Android培的资料 Android培的资料 400用法只需要将常的权限添加在androidmanifest.xml文件中即可杜胃押敞脂了释雹撮峨坷徽诚著峻恼仕镊忘鹰觉勃艾饿盖诛抚钻炒独及忘Android培的资料 Android培的资料 410举例BATTERY_STATS是获取Android平台上电池设备的权限令牌,必需声明android.permission.BATTERY_STATS才可以获得电池信息 闰洗脂画耀老徊批涧铁斑截锣幸姓痛定庐晋摘答知市砌实岸灵助拇位艰娇Android培的资料 Android培的资料 420