安卓开发工作心得体会.doc_第1页
安卓开发工作心得体会.doc_第2页
安卓开发工作心得体会.doc_第3页
免费预览已结束,剩余20页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、安卓开发工作心得体会安卓心得体会【篇1:android学习心得】android学习心得这学期,我们新开了一门课程android的研发。在老师们的介绍下,我们了解android的开发环境以及控件的功能。刚开始接触android觉 得 既 陌生 又 亲 切,陌 生 在 于 没 有 学 过 具 体 的 开 发 软 件,亲 切 在于它在界面开发上和web也可以形成了相通的架构,更加方便。一、android简介android一词的本义指“机器人“,同时也是google于20_7年11月5日宣布的基于linu_平台的开手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终

2、端打造的真正开放和完整的移动软件。目前,最新版本为android 2.4 gingerbread和android 3.0 honeyb。android是基于linu_开放性内核的操作系统,是google公司在20_7年11月5日公布的手机操作系统。android 早期由原名为android的公司开发,谷歌在20_5年收购android.inc后,继续对android系统开发运营,它采用了软件堆层(software stack,又名软件叠层)的架构,主要分为三部分。底层linu_内核只提供基本功能,其他的应用软件则由各公司自行开发,部分程序以编写。2021年初数据显示,仅正式上市两年的操作系统a

3、ndroid已经超越称霸十年的塞班系统,使之跃居全球最受欢迎的智能手机平台。现在,android系统不但应用于智能手机,也在平板电脑市场急速扩张,在智能mp4方面也有较大发展。采用android系统主要厂商包括台湾的htc,(2.android应用程序组成3.api参考文档的使用包(package)的索引interfacesclaesenumse_ceptions 类(cla)的索引扩展和实现内容按包名的继承关系(可用于反找包)overview(概览)_ml attributes(_ml的属性)constants(常量)constructors(构造函数)methods(方法)通过将近快一学期

4、的学习,在这次android这门课程的学习过程中,我了解到:(一)android基础知识: 1.、环境的配置:(1)配置程序开发环境;(2)安装并汉化eclipse(jdk);(3)android sdk的安装;(4) ad t 的安装及配置;(5)android 模拟器的配置。2.、【篇2:安卓实训心得】项目总结 时间过的好快,为期三个月的实训生活即将结束了,每一次的实训我们都受益匪浅,我们学到的不仅仅是课内还有课外,实训让我们的课内知识得到了巩固,专业知识、编程水平都有很大的提高,我们非常感谢这次实训。刚开始二周的高强度的课程安排让我们受益匪浅;接下来的项目实训又让我们可以巩固了课程。这让

5、我觉得实习生活充实而有意义。 乐淘购物项目和android优化大师,我更好的学习了ui的设计,如何使界面漂亮,美观,巩固了listview,gridview,的使用,学会了动画进入界面的,和会移动的画廊等等。在这两个项目中,除了让我明白工作中需要能力,素质,知识之外,更重要的是学会了如何去完成一个任务,懂得了享受工作。当遇到问题,冷静,想办法一点一点的排除障碍,到最后获取成功,一种自信心由然而生,这就是工作的乐趣。有时候也需要虚心请教,从别人的身上真得能学习到不自己没有的东西,每一次的挫折只能使我更接近成功。音乐播放器项目,我们是七个人组成小组完成的,由组长带领我们,分配任务,每个人,都发挥自

6、己的长处,更好地去完成任务。对于团队开发来说,团结一致使我深有体会。团队的合作注重沟通和信任,不能不屑于做小事,永远都要保持亲和诚信,把专业理论运用到具体实践中,不仅加深我对理论的掌握和 运用,还让我拥有了一次又一次难忘的开发经历,这是也是实训最大的收获。 这次实训对于我以后学习、找工作也真是受益菲浅,在这3个月中让我初步从理性回到感性的重新认识,也让我初步的认识这个社会,对于以后做人所应把握的方向也有所启发!相信这些宝贵的经验会成为我今后成功的重要的基石。在此,我非常感谢指导老师和同学对我的帮助。篇2:android实训心得 android实训心得刚开始接触android感觉到它很有意思,在

7、界面开发上和web也可以形成了相通的架构, 更加方便,视觉上也是非常的酷,在前期我通过的大量的android sdk开发范例大全中的例子以及android提供的apidemos进行学习,尽管例子之间的连接比较零散,不过通过这些例子的学习我可以学习到了很多和以前上相通的思想。 我在为期半个月的实习中学到了很多在课堂上根本就学不到的知识,收益非浅现在我对这半个月的实习做一个工作小结。通过半个月的android实习,基本掌握了android应用程序开发的一般流程。对常用控件基本掌握其用法,对其事件的监听方法也基本掌握。学习android不仅是对前沿开发技术的了解,也是对编程知识的一次提升。 通过学习

8、android的控件、布局、activity、service等一系列基础知识,对整个android的开发有了大致的了解。例如 要的布局(或者控件) ,在学习界面中,我发现android为我们提供了很好的类似反射机制,通过layout文件夹下的配置文件,可以快速的形成界面,在配置文件可以设置属性或者样式都是很快捷方便。对比较特殊的界面也可以通过处理嵌入到指定的界面,同样你可以通过代码直接创建view进行添加,不过这种方式比较复杂。对一些点击、选中、按键等处理的事件,界面之间的跳转intent管理,通过bundle对数据在界面之间进行传输。在手机交互式通信服务中,学习了android手机之间进行短

9、信发送、广播、对广播的监听、服务等,在service类中没有conte_t,可以通过handler来每秒反复运行,自动送出系统广播信息,同时在这里我们也知道可以设计一个常用的变量类,设计一个当前的currentactivity这个变量进行控制,进行处理。 在android编程过程中巩固熟悉了的编程。由于android应用程序的开发离不开 的支持,所以基础的知识是必须的。android系统是基于linu_的手机操作系统平台,要深入系统的学习android,不仅仅是有和android应用开发,必须要具备linu_, cc+高级编程才能深入的涉及android framework和android内核

10、开发。成为android开发的高素质人才。所以,在后续对android的学习中可能会看一些较底层的书籍。 由于这次实习时间较短,对于android应用程序的高级编程讲的很少,是这次实习中的不足。要想开发一些好的应用程序,还需要更多的知识支持。在做实习最后的项目时,遇到了很多平时没有遇到或者没有特别关注的问题,如常见的activity忘记注册,对sd卡存取需要权限,在写sql语句时细微的错误就可能导致程序运行错误。这些问题只有自己在实际开发中才能体会到并且解决,并且在解决后可以长时间的记住。通过android的实习,我们在大四毕业前,我们又掌握了一项新的前沿的开发技能,也有了更多的发展方向,这在

11、以后的找工作的过程中无疑为我们增加了砝码,也可以成为我们的一项兴趣爱好,可以根据我们自己的需要设计一些小的程序。总之,在这次实习中,我获得了很多东西,提高了自己的编程技巧和编程方法,并且认识了android应用程序的开发,以及加深了对的认识。 最后,通过实习,我收获了很多东西,特别是编程方面的,这对即将毕业的我们来说,这次实习是一次较为珍贵的充电, 本文由成都android培训 华育国际提供 通信与电子信息专业实训报告 项目名称:基于android的游戏开发 班 级 10通信1班姓 名学 号指导教师成 绩 实训时间:年月日 目录一、实训目的及其意义 .3 1.1、目的及意义.3 1.2、研究现

12、状3二、实训主要任务、重点及难点 4 2.1、任务 42.2、重点内容及实现途径.4三、实训具体内容及完成的主要工作 5 3.1、认识基础开发.6 3.2、了解数据存储.6 3.3、总体实训过程.7四、实际遇到的困难,解决问题的方法和措施 .8(一)、所遇问题 8(二)、解决方法与措施 .9五、心得体会 9一、实训目的及其意义1.1、目的及意义 了解现阶段互联网发展主流,了解移动互联网,认识移动互联网的发展与展望,认识android,了解基于android的应用软件开发方法及其商业流程。把理论与实际结合,通过对理论知识的理解,领悟从而运用到生活实际巩固所学的知识,提高对实际生活的认识,积累经验

13、。使学生在此期间能够初次体会到实际生产中的种种技能与经验,完成一项项目锻炼独立思考及团队合作能力。使学生们进一步加深对所学知识的理解,理论联系实际,巩固所学有关计算机基础理论知识和基本技能,学习有关计算机最新技术方面的应用,增强学生对计算机在社会生活,社会生产中应用的感性认识,深入了解计算机在各个领域中的应用状况。生产实习是学校教学的重要补充部分,是区别于普通学校教育的一个显著特征,是教育教学体系中的一个不可缺少的重要组成部分和不可替代的重要环节。它是与今后的职业生活最直接联系的,学生在生产实习过程中将完成学习到就业的过渡,因此生产实习是培养技能型人才,实现培养目标的主要途径。它不仅是校内教学

14、的延续,而且是校内教学的总结。生产实习一方面巩固了书本上学到的理论知识,另一方面,可获得在书本上不易了解和不易学到的生产现场的实际知识,使我们在实践中得到提高实训环节对于提高学生的综合能力和全面素质具有重要意义。 1.2、研究现状android 是google开发的基于linu_平台的开手机操作系统。它包括操作系统、用户界面和应用程序 移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。google与开放手机联盟合作开发了 android,这个联盟由包括中国移动、摩托罗拉、高通、宏达电和 t-mobile 在内的 30 多家技术和无线应用的领军企业组成。google通过

15、与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。android主要使用于移动设备,如智能手机和平板电脑,由google公司和开放手机联盟领导及开发。尚未有统一中文名称,地区较多人使用“安卓”或“安致”。android操作系统最初由andy rubin开发,主要支持手机。20_5年8月由google收购注资。20_7年11月,google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良android系统。随后google以apache开许可证的授权方式,发布了androi

16、d的代码。第一部android智能手机发布于2021年10月。android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2021年第一季度,android在全球的市场份额首次超过塞班系统,跃居全球第一。 20_年11月数据显示,android占据全球智能手机操作系统市场76的份额,中国市场占有率为90。目前基于android的移动终端上的软件应用开发很火热,android平台的开发已越来越强大。 android是一种以linu_为基础的开放码操作系统,主要使用于便携设备。android操作系统最初由andy rubin创办,最初只支持手机。 20_5年由google收购注资,并

17、拉拢多家制造商组成开放手机联盟(open handset alliance)开发改良,逐渐扩展到到平板电脑及其他领域上。二、实训主要任务、重点及难点 2.1、任务认识移动互联网,了解移动互联网的开发,认识及了解android,在给定时间内完成基于android平台的游戏项目的开发,实现预想游戏效果,熟悉项目开发的商业流程,给出游戏全套文档及代码。2.2、重点内容及实现途径2.2.1、重点内容:熟悉游戏开发代码,了解项目流程,对android游戏开发有基本了解。 2.2.2、实现途径:所需运行硬件环境:安卓系统2.2以上 3.5寸以上移动设备软件开发环境的配置:(1) 配置程序开发环境(2) 安

18、装并汉化eclipse(jdk)(3) android sdk的安装 (4) adt的安装及配置(5) android模拟器的配置(6) office20_3以上版本的软件(绘图visio) 然后运用eclipse完成项目代码的编写,运行与调试; 最终在实体终端上进行测试,最终完成项目三、实训具体内容及完成的主要工作 实训前期,有老师给我们讲解了现阶段移动互联网的发展,了解移动互联网的发展主流,说明了现阶段移动互联的发展重要性。老师着重给我们讲解了android的发展,以及现阶段移动互联中android所扮演的角色。接下来我们将针对基于android的游戏开发进行学习,由于时间的原因,我们主要

19、了解了一下游戏开发的基本项目流程,具体的操作将在实训过程中一一讲解验证。接下来老师为我们讲解了实训的具体内容,对于一个游戏开发项目,首先我们需要进行 游戏开发的前期准备,主要是游戏开发环境的配置,以及团队开发过程中的任务分配,之后紧张的游戏项目开发拉开了帷幕。在第一天我们主要学习了eclipse软件的使用,包括游戏工程的创建等等。并且针对eclipse中的 android项目结构进行了讲解:android项目结构:src/ 原代码存放目录 gen/ 自动生成目录 gen 目录中存放所有由android开发工具自动生成的文件。目录中最重要的就是r.文件。 这个文件由android开发工具自动产生

20、的。res/ 资(resource)目录 在这个目录中我们可以存放应用使用到的各种资,如_ml界面文件,图片或数据。aets资目录android除了提供/res目录存放资文件外,在/aets目录也可以存放资文件。androidmanifest._ml 项目清单文件 。篇4:安卓实训报告实习报告书专 业计算机科学与技术系 别 报告题目 安卓 报告人 班 级指导教师 带队教师 实习时间 实习地点教务处监制 篇5:android实习心得 android实习心得刚开始接触android感觉到它很有意思,在界面开发上和web也可以形成了相通的架构,更加方便,视觉上也是非常的酷,在前期我通过的大量的and

21、roid sdk开发范例大全中的例子以及android提供的apidemos进行学习,尽管例子之间的连接比较零散,不过通过这些例子的学习我可以学习到了很多和以前上相通的思想。 我在为期半个月的实习中学到了很多在课堂上根本就学不到的知识,收益非浅现在我对这半个月的实习做一个工作小结。1通过半个月的android实习,基本掌握了android应用程序开发的一般流程。对常用控件基本掌握其用法,对其事件的监听方法也基本掌握。学习android不仅是对前沿开发技术的了解,也是对编程知识的一次提升。 2通过学习android的控件、布局、activity、service等一系列基础知识,对整个androi

22、d的开发有了大致的了解。例如: 要的布局(或者控件) , 在学习界面中,我发现android为我们提供了很好的类似反射机制,通过layout文件夹下的配置文件,可以快速的形成界面,在配置文件可以设置属性或者样式都是很快捷方便。对比较特殊的界面也可以通过处理嵌入到指定的界面,同样你可以通过代码直接创建view进行添加,不过这种方式比较复杂。对一些点击、选中、按键等处理的事件,界面之间的跳转intent管理,通过bundle对数据在界面之间进行传输。4在手机交互式通信服务中,学习了android手机之间进行短信发送、广播、对广播的监听、服务等,在service类中没有conte_t,可以通过han

23、dler来每秒反复运行,自动送出系统广播信息,同时在这里我们也知道可以设计一个常用的变量类,设计一个当前的currentactivity这个变量进行控制,进行处理。 在android编程过程中巩固熟悉了的编程。由于android应用程序的开发离不开 的支持,所以基础的知识是必须的。android系统是基于linu_的手机操作系统平台,要深入系统的学习android,不仅仅是有和android应用开发,必须要具备linu_,c/c+高级编程才能深入的涉及android framework和android内核开发。成为android开发的高素质人才。所以,在后续对android的学习中可能会看一些

24、较底层的书籍。 由于这次实习时间较短,对于android应用程序的高级编程讲的很少,是这次实习中的不足。要想开发一些好的应用程序,还需要更多的知识支持。在做实习最后的项目时,遇到了很多平时没有遇到或者没有特别关注的问题,如常见的activity忘记注册,对sd卡存取需要权限,在写sql语句时细微的错误就可能导致程序运行错误。这些问题只有自己在实际开发中才能体会到并且解决,并且在解决后可以长时间的记住。通过android的实习,我们在大四毕业前,我们又掌握了一项新的前沿的开发技能,也 有了更多的发展方向,这在以后的找工作的过程中无疑为我们增加了砝码,也可以成为我们的一项兴趣爱好,可以根据我们自己

25、的需要设计一些小的程序。总之,在这次实习中,我获得了很多东西,提高了自己的编程技巧和编程方法,并且认识了android应用程序的开发,以及加深了对的认识。【篇3:android实习心得】android实习心得刚开始接触android感觉到它很有意思,在界面开发上和web也可以形成了相通的架构,更加方便,视觉上也是非常的酷,在前期我通过的大量的android sdk开发范例大全中的例子以及android提供的apidemos进行学习,尽管例子之间的连接比较零散,不过通过这些例子的学习我可以学习到了很多和以前上相通的思想。我在为期半个月的实习中学到了很多在课堂上根本就学不到的知识,收益非浅现在我对

26、这半个月的实习做一个工作小结。1通过半个月的android实习,基本掌握了android应用程序开发的一般流程。对常用控件基本掌握其用法,对其事件的监听方法也基本掌握。学习android不仅是对前沿开发技术的了解,也是对编程知识的一次提升。 2通过学习android的控件、布局、activity、service等一系列基础知识,对整个android的开发有了大致的了解。例如: 要的布局(或者控件) ,在学习界面中,我发现android为我们提供了很好的类似反射机制,通过layout文件夹下的配置文件,可以快速的形成界面,在配置文件可以设置属性或者样式都是很快捷方便。对比较特殊的界面也可以通过处

27、理嵌入到指定的界面,同样你可以通过代码直接创建view进行添加,不过这种方式比较复杂。对一些点击、选中、按键等处理的事件,界面之间的跳转intent管理,通过bundle对数据在界面之间进行传输。4在手机交互式通信服务中,学习了android手机之间进行短信发送、广播、对广播的监听、服务等,在service类中没有conte_t,可以通过handler来每秒反复运行,自动送出系统广播信息,同时在这里我们也知道可以设计一个常用的变量类,设计一个当前的currentactivity这个变量进行控制,进行处理。在android编程过程中巩固熟悉了的编程。由于android应用程序的开发离不开的支持,

28、所以基础的知识是必须的。android系统是基于linu_的手机操作系统平台,要深入系统的学习android,不仅仅是有和android应用开发,必须要具备linu_,c/c+高级编程才能深入的涉及android framework和android内核开发。成为android开发的高素质人才。所以,在后续对android的学习中可能会看一些较底层的书籍。由于这次实习时间较短,对于android应用程序的高级编程讲的很少,是这次实习中的不足。要想开发一些好的应用程序,还需要更多的知识支持。在做实习最后的项目时,遇到了很多平时没有遇到或者没有特别关注的问题,如常见的activity忘记注册,对sd

29、卡存取需要权限,在写sql语句时细微的错误就可能导致程序运行错误。这些问题只有自己在实际开发中才能体会到并且解决,并且在解决后可以长时间的记住。通过android的实习,我们在大四毕业前,我们又掌握了一项新的前沿的开发技能,也有了更多的发展方向,这在以后的找工作的过程中无疑为我们增加了砝码,也可以成为我们的一项兴趣爱好,可以根据我们自己的需要设计一些小的程序。总之,在这次实习中,我获得了很多东西,提高了自己的编程技巧和编程方法,并且认识了android应用程序的开发,以及加深了对的认识。最后,通过实习,我收获了很多东西,特别是编程方面的,这对即将毕业的我们来说,这次实习是一次较为珍贵的充电,上

30、海瑭锦安卓开发心得对于软件开发工程师来说学习C语言是一个必经得学习之路,因为他是编程语言中得基础,如果没有C语言得编写能力,那么就谈不上是软件开发工程师,所以学好C语言是成为软件开发工程师得基础,那么我们如何了解C语言呢?首先我们要知道C语言是汇编语言中最基础得编写语言,它集成了所有汇编语言得大部分优点,能实现低级语言得众多功能。C语言把高级语言与低级语言相结合创造出自己得汇编语言风格,塑造出自己得汇编语言工作单元,C语言得结构特点是编写代码和相关数据可以分隔化除了程序和相关得必要信息保持彼此独立得关系,这种关系可以是我们编写得程序层次化更加清晰,更加便于使用、维护和调试,它会以给用户方便得调

31、用功能,可以多元化、多种循环、控制编写语句得控制导向,从而使我们得编写程序更加结构化、实用化。这些都可以让C语言实现决策目得得要求,C语言得应用指针特性使得其应用范围增加,应用面变大,增加了程序得安全性。不容易被恶意程序所利用,C语言得对其处理标准化、针对于编写函数得标记、多线程得支持、从新定义新得程序安全定义有了更多得广泛得选择。它得编写灵活和紧凑编写序列使得书写程序更加自由化,它可以直接访问我们常用得物理地址,简洁得使用操作使得用户在对硬件上得要求更加简洁,它可以移植86得公共代码在相关得编写程序上,这一特性使得其在不同环境中运行。它得表达能力使得其在各种系统和相关运行环境下可以自由得发挥

32、它得编写和使用得能力。如何学习安卓开发?安卓开发学习已经成为IT行业的新潮流。时下,Android也以其创造力、前瞻性、延续性和实现能力成为行业首领,可是怎么学好Android呢?今天,欧柏泰克的老师告诉你如何学好Android。熟悉基础知识Android应用的开发语言用的是语言,并且在Android中也用到了核心类库的大量的类,因此,在学习Android开发之前,可以先把基本语法和 SE的基础类库好好学习一下。Android应用程序开发是以语言为基础的,所以没有扎实的基础知识,只是机械的照抄别人的代码,是没有任何意义的。 建议在Android课程前期的学习阶段中,需要用心的学好。熟悉一门编程

33、语言现在大学里面和计算机相关的专业甚至理工类专业一般都会开设C语言课程,只是很多同学在大学期间并没有好好学习,如果对它掌握的不太好或者很久没用了,建议先从将其好好复习一下,将其基本的语法再好好回顾一下,最好能搭建一个环境来运行、调试它。如果没有学过,不妨也提前学习一下。大部分的高校所开设的C语言使用的教材都是用它作为教材,因此无论是购买还是借阅,都容易找到;熟悉数据结构和算法基础知识如果后续有志于游戏方面的开发,最好具备一定的数据结构和算法基础知识。虽然现代的高级编程语言中,其类库中已经帮我们实现了大部分的数据结构,一般情况下,我们直接使用即可。但如果能对其原理有所了解,当需要在这些数据结构和

34、算法中间的时候,可以更加的清楚到底应该选择哪个数据结构或者算法。另外,在图形图像处理上面,线性代数的作用也非常重要,如果能掌握一点这方面的基础知识,无疑也会在后续的学习中如虎添翼。 大家学习android开发建议首选android开发文档,该文档在你下载的sdk中,路径:/sdk/docs/inde_. 目前NFC应用的大的框架上的理解:我使用的API LEVEL是19,支持的API有三个:android.nfc,android.nfc.cardemulator,android.nfc.tech NFC在手机上的应用大体分为两类:读卡器和卡android.nfc.cardemulator接口是

35、为NFC作为卡应用提供的接口,在较低版本的API上是没有的android.nfc.tech,android.nfc接口是为NFC作为读卡器应用提供的接口 首先说作为卡,nfc有两种实现方式,一个是使用NFC芯片作为卡,另一个是使用SIM作为卡Figure 1.NFC card emulation with a secure element.至于从读卡器发送的指令到底是传递到NFC芯片还是SIM由NFC Controler控制,图中Secure Element是指SIM,Host-指NFC芯片 android提供HostApduService用于NFC芯片,OffHostApduService用

36、于SIM芯片,传递方向在res/_ml文件中通过AID来控制 ps:Host-Based Card Emulator 简称为HCE 代码实现:AndroidManifest._ml 中 配置service,因为作为卡实现的话,NFC功能是作为service存在的android:permiion="android.permiion.BIND_NFC_SERVICE"> android:resource="_ml/apduservice"/> res/_ml/apduservice._ml 中配置service响应的AID android:req

37、uireDeviceUnlock="false"> android:category="other"> 配置文件完成后编写service的处理方法:NFCService需要继承HostApduService,如果需要与Activity通信,建议采用广播方式也可以自己实现观察者模式,只是这样就需要持有Activity的引用,感觉不太好 NFCService. public cla NFCService e_tends HostApduService private Intent intent = new Intent(".e_le.m

38、unication.RECEIVER"); Override public void onCreate /启动AcivityIntent i = new Intent;i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);/需要启动的Activity不是当前Activity的时候需要用FLAG_ACTIVITY_NEW_TASKi.setAction(".apdu.nfc");getlication.startActivity(i);Toast.makeTe_t(getlicationConte_t, "Service启动&

39、quot;, Toast.LENGTH_LONG).show; Override public byte procemandApdu(byte mandApdu, Bundle e_tras) /当注册的AID被选中后,后续指令被分发到这个处理函数中byte sw = new byte(byte)0_90,(byte)00;byte response = new byte5;if (mandApdu0=(byte)00 &&mandApdu1=(byte)0_A4&& mandApdu2=(byte)04&& mandApdu4=(byte)07

40、&& mandApdu5=(byte)0_F0)return sw;else/apdu处理逻辑switch(mandApdu1)case (byte)0_A8:break;case (byte)0_AE:break;default:return sw;intent.putE_tra("mand", mandApdu);intent.putE_tra("response", response);sendBroadcast(intent); /利用广播与Activity通信return response; /SW值需要包含在response中

41、 Override public void onDeactivated(int reason) if (reason=HostApduService.DEACTIVATION_DESELECTED)Toast.makeTe_t(getlicationConte_t, "已选择其它应用", Toast.LENGTH_LONG).show;elseToast.makeTe_t(getlicationConte_t, "连接断开", Toast.LENGTH_LONG).show; Override public void onDestroy Toast.ma

42、keTe_t(getlicationConte_t, "Service关闭", Toast.LENGTH_LONG).show; super.onDestroy; 框架搭建好剩余的事情就很简单了,apdu的处理逻辑在procemandApdu方法中实现即可 以上是Host-方式的实现,SIM方式,API介绍中说该方式没有提供可供操作的API,也就是说Android不会监听SIM卡与读卡器之间的通信所以NFCOffService 只需要实现onBind接口,这样绑定该Service的Activity可以对NFCOffService进行有限操作 public cla NFCOf

43、fService e_tends OffHostApduService Override public IBinder onBind(Intent intent) / TODO Auto-generated method stubreturn null; 上面没有提到的就是,如果你需要使用NFC,需要在Manifest中申请NFC权限: 现在来说说NFC芯片作为读卡器的应用场景以及实现android.nfc.tech,android.nfc接口是为NFC作为读卡器应用提供的接口 接口定义了三种Action Tags:ACTION_NDEF_DISCOVERED,ACTION_TECH_DISC

44、OVERED,ACTION_TAG_DISCOVERED。当你在Manifest文件中将Activity的action-filter设置为这三个Tag中的一种或几种时,NFC响应事件会按照如图流程处理我的理解是ACTION_NDEF_DISCOVERED 是用于两台NFC手机之间传输文件的ACTION_TECH_DISCOVERED,ACTION_TAG_DISCOVERED才是用于NFC与卡进行通讯的 所以开发第一步是在Manifest中配置你的Action:android:resource="_ml/nfc_tech_filter" /> TECH_DISCOVE

45、RED还需要配置meta-data,meta-data的作用相当于补充说明或者一些配置信息 nfc_tech_filter._ml android.nfc.tech.IsoDepandroid.nfc.tech.NfcAandroid.nfc.tech.NfcBandroid.nfc.tech.NfcFandroid.nfc.tech.NfcVandroid.nfc.tech.Ndefandroid.nfc.tech.NdefFormatableandroid.nfc.tech.MifareClaicandroid.nfc.tech.MifareUltralight当然API中说明你可以将多个

46、tech写在一个tech-list中,我做了尝试,这样做会引出一个问题,在程序未启动的情况下当手机刷卡时不会自动打开程序 如果想要自动打开需要按照上面这种写法,tech的个数可以根据你想要支持的卡类型进行调整 配置完成后,可以开始编写自己的Activity的代码了在onCreate方法中,需要获取NfcAdapter的引用,从名字可以看出这是一个适配器NfcAdapter nfcAdapter; PendingIntent pendingIntent; Override protected void onCreate(Bundle savedInstanceState) super.onCre

47、ate(savedInstanceState);setContentView(R.layout.pos_main);dc = (Button)findViewById(R.id.button4DC);ecc = (Button)findViewById(R.id.button4ECC);qpboc = (Button)findViewById(R.id.button4QPBOC);logdow=(Te_tView)findViewById(R.id.munication4Financy);nfcAdapter=NfcAdapter.getDefaultAdapter(this);pending

48、Intent = PendingIntent.getActivity(this, 0, new Intent(this, getCla).addFlags(Intent.FLAG_ACTIVITY_SINGLE_), 0);onNetent(getIntent); 这里使用PendingIntent,该Intent与普通的Intent不同的是它是有一个延迟启动的功能,它启动时会回调onNetent函数,这样能够实现NFC与Activity的交互pendingIntent = PendingIntent.getActivity(this, 0, new Intent(this, getCla).addFlags(Intent.FLAG_ACTIVITY_SINGLE_), 0);的含义是将Intent传递给this Activity 在onPause与onResume中需要添加代码public void onPause super.onPause;nfcAdapter.disableForegroundDispatch(this); public void onResume super.onResume;nfcAdapter.enableForegroundDi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论