android开发技巧总汇android开发培训-教师必备4764.docx
《android开发技巧总汇android开发培训-教师必备4764.docx》由会员分享,可在线阅读,更多相关《android开发技巧总汇android开发培训-教师必备4764.docx(131页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 目录 11. 入门门实例剖剖析122.在测试试时,如何实实现一个个提示883.可以使使用AllerttDiaalogg.Buuildder 才产生生一个提提示框.94.mennu 的的用法.101. 简单单的代码码102. meenu实实现的两两种方法法105.Acttiviity 的切换(含Bundlle传值值)1441. 代码码142. 详解解:156.AnddroiidUUILLayoout1191. AbbsolluteeLayyoutt197. Taab以及及 HoostTTab操操作2008. Liist (图图片/按钮/标题/文本)26LIST例例一277LIST例例二366L
2、IST例例三4009. 调用用浏览器器载入某某网址44310.监控控应用程程序包的的安装&删除433方法一:443方法二:44611. 使使用Tooastt输出一一个字符符串52212. 把把一个字字符串写写进文件件5213. 把把文件内内容读出出到一个个字符串串5414. 调调用Anndrooid insstalllerr 安装装和卸载载程序55515. 结结束某个个进程55516. 设设置默认认来电铃铃声56617. 开开机自启启动57718. 线线程与子子线程558handllerMMesssagee实例58819. SServvicee601. 什么么是Seerviice6602. 如
3、何何使用SServvicee603. Seerviice的的生命周周期666附) 常用用界面截截图:67提示1677提示2688菜单681. 入门门实例剖剖析1开卷语俗话说,“熟读唐唐诗三百百首,不不会作诗诗也会吟吟”。最近近收集了了很多AAndrroidd的示例例代码,从从这些代代码的阅阅读和实实验中学学习到很很多知识识,从而而产生写写这个系系列的打打算,目目标就是是一步步步跟着实实例进行行动手实实作,真真正从“做”中体会会和学习习Anddroiid开发发。 本文目标标是Anndrooid自自带的一一个范例例程序:记事本本,预备知识搭建开发环环境,尝尝试编写写”Helllo Worrld”,
4、了解解Anddroiid的基基本概念念,熟悉悉Anddroiid的AAPI(官方文文档中都都有,不不赘述)。程序截图先来简单了了解下程程序运行行的效果果 1 22 3 44程序入口点点类似于wiin322程序里里的WiinMaain函函数,AAndrroidd自然也也有它的的程序入入口点。它它通过在在AnddroiidMaaniffestt.xmml文件件中配置置来指明明,可以以看到名名为NootessLisst的aactiivitty节点点下有这这样一个个inttentt-fiilteer,其其acttionn为anndrooid.inttentt.acctioon.MMAINN,Categ
5、goryy指定为为 anndrooid.inttentt.caateggoryy.LAAUNCCHERR,这就就指明了了这个aactiivitty是作作为入口口acttiviity,系系统查找找到它后后,就会会创建这这个acctivvityy实例来来运行,若若未发现现就不启启动(你你可以把把MAIIN改名名字试试试)。NotessLisst详解解就从入口点点所在的的acttiviity(见图11)开始始,可以以看到这这个acctivvityy最重要要的功能能就是显显示日志志列表。这这个程序序的日志志都存放放在Sqqlitte数据据库中,因因此需要要读取出出所有的的日志记记录并显显示。先来看两个
6、个重要的的私有数数据,第第一个PPROJJECTTIONN字段指指明了“日志列列表“所关注注的数据据库中的的字段(即即只需要要ID和和Tittle就就可以了了)。privaatestatiicfinall Sttrinng PRROJEECTIION =new SStriing Nootess._IID, / 0 Nootess.TIITLEE, / 11 ;第二个字段段COLLUMNN_INNDEXX_TIITLEE指明ttitlle字段段在数据据表中的的索引。privaatestatiicfinallint CCOLUUMN_INDDEX_TITTLE =1;然后就进入入第一个个调用的的函
7、数oonCrreatte。 Inttentt inntennt = geetInntennt(); if (inntennt.ggetDDataa() =null) inntennt.ssetDDataa(Nootess.COONTEENT_URII); 因为为NottesLListt这个aactiivitty是系系统调用用的,此此时的iinteent是是不带数数据和操操作类型型的,系系统只是是在其中中指明了了目标组组件是NNoteelisst,所所以这里里把”conntennt:/ ccom.goooglee.prroviiderr.NootePPad/nottes”保存到到inttentt
8、里面,这这个URRI地址址指明了了数据库库中的数数据表名名(参见见以后的的NottePaadPrroviiderr类),也也就是保保存日志志的数据据表nootess。 Currsorr cuursoor = maanaggedQQuerry(ggetIInteent().ggetDDataa(), PRROJEECTIION, nuull, nuull, Nootess.DEEFAUULT_SORRT_OORDEER); 然后后调用mmanaageddQueery函函数查询询出所有有的日志志信息,这这里第一一个参数数就是上上面设置置的” coonteent:/ comm.goooglle.pp
9、rovvideer.NNoteePadd/nootess”这个UURI,即即nottes数数据表。PPROJJECTTIONN 字段段指明了了结果中中所需要要的字段段,Nootess.DEEFAUULT_SORRT_OORDEER 指指明了结结果的排排序规则则。实际际上maanaggedQQuerry并没没有直接接去查询询数据库库,而是是通过CConttentt Prroviiderr来完成成实际的的数据库库操作,这这样就实实现了逻逻辑层和和数据库库层的分分离。SimplleCuursoorAddaptter adaapteer =new SSimppleCCurssorAAdappterr(
10、thhis, R.layyoutt.nootesslisst_iitemm, ccurssor, nnew Strringg NNotees.TTITLLE , nnewint anddroiid.RR.idd.teext11 ); settLisstAddaptter(adaapteer); 查询询出日志志列表后后,构造造一个CCurssorAAdappterr,并将将其作为为Lisst VVieww的数据据源,从从而在界界面上显显示出日日志列表表。可以以看到,第第二个参参数是RR.laayouut.nnoteesliist_iteem,打打开对应应的nootesslisst_iitemm.
11、xmml文件件, 就是是用来显显示一条条日志记记录的TTexttVieew,最最后两个个字段指指明了实实际的字字段映射射关系,通通过这个个TexxtViiew来来显示一一条日志志记录的的tittle字字段。处理“选择择日志”事件既然有了“日志列列表”,就自自然要考考虑如何何处理某某一条日日志的单单击事件件,这通通过重载载onLListtIteemCllickk方法来来完成, Oveerriide pprottecttedvoid onLListtIteemCllickk(LiistVVieww l, Viiew v, intt poosittionn, llongg idd) Urii urr
12、i = CoonteentUUriss.wiithAAppeendeedIdd(geetInntennt().geetDaata(), id); Strringg acctioon = geetInntennt().geetAcctioon(); if (Inntennt.AACTIION_PICCK.eequaals(acttionn) | IInteent.ACTTIONN_GEET_CCONTTENTT.eqqualls(aactiion) / Thhe ccalller is waiitinng ffor us to retturnn a notte sseleecteed bby /
13、 thhe uuserr. Thee haave cliickeed oon oone, soo reeturrn iit nnow. seetReesullt(RRESUULT_OK, neew IInteent().ssetDDataa(urri); eelsee / Laauncch aactiivitty tto vvieww/eddit thee cuurreentlly sseleecteed iitemm sttarttActtiviity(neww Inntennt(IInteent.ACTTIONN_EDDIT, urri); 首先先通过”conntennt:/ ccom.g
14、oooglee.prroviiderr.NootePPad/nottes”和日志志的idd 号拼拼接得到到选中日日志的真真正URRI,然然后创建建一个新新的Inntennt,其其操作类类型为IInteent.ACTTIONN_EDDIT,数数据域指指出待编编辑的日日志URRI(这这里只分分析ellse块块)。Intennt深度度剖析那么,上面面这句sstarrtAcctivvityy(neew IInteent(Inttentt.ACCTIOON_EEDITT, uuri)执行行后会发发生什么么事情呢呢?这时时候Anndrooid系系统就跳跳出来接接管了,它它会根据据inttentt中的信信息
15、找到到对应的的acttiviity,在在这里找找到的是是NotteEdditoor这个个acttiviity,然然后创建建这个aactiivitty的实实例并运运行。那么,Anndrooid又又是如何何找到NNoteeEdiitorr这个对对应的aactiivitty的呢呢?这就就是inntennt发挥挥作用的的时刻了了。new IInteent(Inttentt.ACCTIOON_EEDITT, uuri)这里的Inntennt.AACTIION_EDIIT=” anndrooid.inttentt.acctioon.EEDITT”,另外外通过设设置断点点,我们们看下这这里的uuri值值:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- android 开发 技巧 总汇 培训 教师 必备 4764
限制150内