IDE环境:AndroidStudio
源码及论文下载:http://www.byamd.xyz/tag/android/
APP演示:
5G网络就快到来了,4G网络已经基本上覆盖了,便捷的网络环境为安卓手机添加更多的精彩丰富的内容提供了良好的平台和基础。目前安卓开发正对我们的生活造成巨大的影响,我们的生活已经离不开如微信、QQ、微博等应用。 这些应用极大的便利了我们的生活,为我们的工作生活带来了很多的乐趣,丰富和充实了我们的生活。该系统是正是利用Android开源平台开发的一款娱乐APP,叫做知心App,利用当今主流的编程语言Java进行代码的编写,利用Google最新开发的Android Studio为开发工具,通过了解安卓平台的系统架构和应用程序开发流程,最终成功开发出了该款应用。该款应用主要包括了人脸识别登录、网易新闻、欧酷天气、图灵机器人、作者个人信息、应用更新等模块。此款应用采用了ButterKnife依赖注入技术、Gson数据解析框架、OkHttp网络处理框架、科大讯飞语音识别技术、图灵机器人技术、一登刷脸登录技术、Bmob登录注册技术、蒲公英应用发布以及自动更新等技术。此款应用严格按照软件开发标准流程进行设计与开发,代码结构清晰,用户体验较好。
**关键词:**Android;Android Studio;人脸识别;语音识别;图灵机器人
5G network is coming soon, 4G network has basicallycovered, convenient network environment for Android phones to add morewonderful rich content provides a good platform and foundation. At present,Android development is having a huge impact on our lives, our lives have beeninseparable from applications such as wechat, QQ, microblogging. Theseapplications greatly facilitate our lives, bring a lot of fun to our work life,enrich and enrich our lives. This system is just an entertainment app developedby using Android open source platform, called bosom app. it is successfullydeveloped by using Java, the mainstream programming language, and Androidstudio, which is newly developed by Google, as a development tool, throughunderstanding the system architecture and application development process ofAndroid platform. This application mainly includes face recognition login,Netease news, cool weather, turing robot, author’s personal information,application updates and other modules. This application uses button knifedependency injection technology, gson data analysis framework, ok http networkprocessing framework, hkust xunfei speech recognition technology, turing robottechnology, a brush face registration technology, bmob registration technology,dandelion application release and automatic update technology. This applicationis designed and developed in strict accordance with the standard process ofsoftware development, with clear code structure and good user experience.
Key Words: Android; Android Studio;Face Recognition; Speech Recognition; Turing Robot;
目前市场上主流的手机操作系统有两种,那就是Android和IOS。Android系统是谷歌开发的并且最重要的是开放源代码,而IOS则是苹果公司研发的,不开放源代码。就当今用户使用手机情况来看,安卓手机占据大约60%的手机市场,而苹果手机大约占30%的市场。全世界的企业大部分还是中小企业,经济能力有限,因此大部分厂商还是喜欢用开源免费的。因此,我的这个应用就是基于Android平台开发的。想必大家都用过智能手机,也用过普通的手机软件,早在五年之前安卓市场非常火爆,但是当时的软件还是非常的普通,完全不具备现在的人工智能与大数据技术。现在的应用都在慢慢的被大数据与人工智能技术所熏陶,比如说微博、微信等应用,各种个性化推荐信息、智能提示非常方便用户使用。
目前处于人工智能和大数据飞速发展的时代,为了让用户体会到大数据与人工智能的魅力,感受新时代的气息,我在应用中添加了人脸识别和图灵机器人以及语音识别等功能模块。目前提供人脸识别服务的平台比较多,想百度AI平台,阿里云平台,腾讯云平台,Face++,一登等。但是从个人选择上来讲,一登接入比其他的平台简单,并且是免费的。智能聊天机器人采用图灵公司开发的新一代的机器人。语音识别功能采用的是科大讯飞的语音识别技术,相对来说科大讯飞的语音技术在国内应该是顶尖的。这些是具有人工智能功能的应用是传统的应用所无法替代的,因此为了适应时代发展的潮流,我在普通应用的基础之上有了自己的创新。利用最新的Android开发技术结合人工智能技术开发具有良好用户体验以及更加智能的安卓应用。
人工智能技术简称AI,它的研究主要是便于机器模拟人的思维,能够像人一样思考,最终利用机器人更好地为人类服务。
大数据技术,它的研究主要是为了处理当今社会生活中产生的大批量的数据。目前主流的大数据平台有Hadoop和Spark。Hadoop平台主要是支持大批量数据的离线处理,而Spark平台主要是基于内存的高速实时数据流处理。两者在性能上有较大的差距,Spark的处理速度大约是Hadoop的10倍。当然两者分别具有各自的特色,适用于不同的应用场景。
目前正处在人工智能和大数据的时代,为了让用户感受到人工智能的存在,我在应用中添加了人脸识别和图灵机器人以及语音识别等功能模块。这些是传统的应用所不具备的功能,因此我在其基础之上有了自己的创新,让应用更加智能话。具有良好的用户体验是衡量一个安卓应用品质的很重要的标准。只有拥有良好的用户体验的应用才能长期生存下去。新的时代需要不断创新,要把最新的技术运用到Android应用之上,让App具有新意,更加符合人们的使用需求。因此,我设计了这款App帮助用户更好的体验智能化的生活。
目前正是人工智能和大数据技术火热的时候,为了在让传统的安卓应用具有新时代的特点,我在本次开发中加入了一些人工智能的元素,希望能给用户带来全新的用户体验。
本课题的主要开发流程包括需求分析、概念设计、详细设计、编码测试、应用上线。需求分析阶段主要采用市场调研和问卷调查两种方式。概念设计阶段主要是总体结构设计,采用MVP三层架构技术。其中详细设计阶段主要设计应用的各个功能模块,如引导页模块、登录注册模块、网易新闻模块、图灵机器人模块、开发者个人信息模块、应用更新等模块。编码实现阶段采用Java语言开发,运用AndroidStudio开发工具进行开发。后期的编码测试采用真机测试,记录日志信息,修复Bug。应用开发完成后,进行应用打包,最后发布到蒲公英应用发布平台。
在此应用中主要用到了ButterKnife依赖注入框架、Gson数据解析框架、OkHttp网络处理框架。
1.ButterKnife概念
Annotate fields with @BindView and a view ID for ButterKnife to find and automatically cast the corresponding view in your layout.
2.项目配置
在AndroidStudio Module中的build.gradle中添加以下依赖:
3.示例代码
1.Gson概念
Gson(又称Google Gson)是Google公司发布的一个开放源代码的Java库,主要用途为序列化Java对象为JSON字符串,或反序列化JSON字符串成Java对象。
2.项目配置
在AndroidStudioModule中的build.gradle中添加以下依赖:
1.OkHttp概念
AnHTTP & HTTP/2 client for Android and Java applications.
2.项目配置
在AndroidStudio Module中的build.gradle中添加以下依赖:
3.示例代码
在此应用中主要用科大讯飞语音识别技术、图灵机器人技术、一登刷脸登录技术、Bmob登录注册技术、蒲公英应用发布以及更新、GitHub项目管理等技术。
语音识别的概念
语音识别包括听写、语法识别功能。语音识别技术就是把人说的话转换成相应的文本数据。语法识别是基于语法规则,将与语法一致的自然语言音频转换为文本输出的技术。
科大讯飞开发者文档:http://doc.xfyun.cn/msc_android/index.html
图灵机器人的概念
图灵机器人是图灵公司开发一款机器人,具备与人交流的能力,可以和人进行简单的对话。主要应用领域是聊天机器人、客服机器人和服务机器人。
图灵机器人开发者文档:https://www.kancloud.cn/turing/web_api/522992
示例代码
随着大数据、人工智能的迅速发展,我们的生活变得越来越便利。传统的应用只能通过账号密码来登录,用户体验不是太好。而如今的App变得越来越智能化了,比如支付宝、淘宝、微信等。支付宝现在正运用最先进的大数据与人工智能技术开启了刷脸登录与刷脸支付的时代。为了让App具有新时代的特点,不得不运用大数据与人工智能的技术,这也是未来发展的趋势。经过市场的调查,发现当前大部分的应用还是不具备新时代的特点,因此我觉得我这个项目是符合市场需求的。
此软件要求能够运行在Android 5.0以上的系统终端上,相对来说使用群体还是占据很大一部分,但是用户对软件也有一定的要求:
本项目应当具有以下功能:
本软件基于开源的Android系统开发,采用Android Studio免费软件进行开发,运用第三方平台提供的免费服务实现特定功能,开发成本相对较低。
Windows版本 | Windows 10 家庭版64位 |
---|---|
Android Studio版本 | 3.1.1 |
Android编译SDK版本 | 26 |
Android测试版本 | 华为荣耀青春版(Android7.0) |
Gradle版本 | 4.4 |
Maven版本 | 3.5.3 |
Git版本 | 2.16.2 |
本软件基于开源的Android系统开发,使用主流的编程语言Java进行编码,因此该软件在技术上可行。
该软件采用主流的Android软件应用开发风格,并使用Google 全新的设计语言Material Design,界面友好,简单易懂,为用户带来全新的视觉体验。
系统结构图
MVP架构图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1MuLDFB4-1612539913130)(E:%5C%E8%AE%BA%E6%96%87%5Cimages%5Cwps23-1612492233981.jpg)]
该软件的功能模块图如下:
登录模块处理逻辑如下:
注册模块处理逻辑如下:
网易新闻模块处理逻辑如下:
图灵机器人模块的处理逻辑如下:
欧酷天气模块处理逻辑如下:
引导页、欢迎页模块处理逻辑如下:
开发者详情模块处理逻辑如下:
应用更新模块的处理逻辑如下:
该项目主要包含引导页模块、登录注册模块、网易新闻模块、图灵机器人模块、开发者个人信息模块、应用更新等模块。各个模块的设计与实现如下:
登录模块流程图如下:
登录模块主要代码如下:
注册模块流程图如下:
注册模块代码如下:
图灵机器人流程图如下:
图灵机器人实现代码如下:
语音识别函数
语音合成函数
语音处理适配器类
语音处理适配器类(续)
网易新闻模块流程图如下:
网易新闻模块主要代码实现:
该系统为安卓项目,测试采用华为荣耀8真机,安卓系统版本为7.0。主要包括账号登录、刷脸登录、注册、语音对话、获取新闻信息、获取城市信息、获取天气详细信息、开发者个人信息展示、应用更新等功能的测试。
账号登录测试
刷脸登录测试
图灵机器人对话测试
网易新闻测试效果图
欧酷天气城市列表测试效果图
这个项目大概花了一个多月的时间才弄完的,查阅各种资料,虽然中途出现了各种问题,但是最终收获还是很多的。刚开始做这个项目的时候,搭建各种环境花费了一番功夫,好在之前自学了一段时间的安卓,最后顺利把环境搭建好了。这个项目主要包含了账号密码登录、刷脸登录、账号密码注册、网易新闻、图灵机器人、欧酷天气、开发者详情、应用更新等模块。其中涉及到的技术主要有ButterKnife注解、Gson数据解析、OkHttp网络处理、Bmob后端云数据库、一登人脸识别、图灵机器人、科大讯飞语音识别、蒲公英应用发布与自动更新。在上学期学的安卓知识终于派上用场了,这次的项目总体来说还是不错的,加入了新时代的元素,比如说人工智能和大数据。人工智能和大数据是目前最火的技术,代表了未来发展的趋势,因此我在项目里加入了这些元素。项目开发一个很重要的问题就是规范,开发必须要按照标准的流程来,制定相应的代码规范,这样才能有效地减少开发人员的代码修改。在这次开发中,我引进了项目源代码管理仓库GitHub,将开发过程记录到其中了。GitHub是一个团队开发利器,可以方便的进行代码管理和并行开发,有效减少了代码之间的复制。在开发这个项目的时候遇到了一些比较莫名其妙的问题,有一些是依赖包的版本问题,还有一些是android系统版本的问题。我到现在也还没有把安卓手机兼容性问题解决掉,这个问题有点棘手,市场上的手机种类太多了。在刚开发安卓项目的时候,只知道去百度找资料,那时候还不会,不知道去谷歌搜索。后来学会了技术,就可以去谷歌查找更加专业的资料了,身为一个程序员只会百度的话那也太低级了。在遇到问题的时候,先去查看运行输出的错误日志,然后根据错误信息分析错误原因在哪里,最后才百度或者谷歌看看别人如何解决的。在这次项目开发中,发现自己还有许多不足之处,希望在日后不断学习,能够有所改善。本次项目依然存在许多不足之处,比如说程序安全性和健壮性不够,操作界面不够美观,功能不够完善,代码结构不够清晰。希望在以后的工作中能够做得更好。
项目管理工具目前主流的是SVN和GitHub,个人推荐还是GitHub比较好用。
遇到问题,首先分析错误日志,然后分析错误的可能原因,最后看书或者去网上搜索找到解决方案。
推荐几个学习网站:StackOverFlow,掘金,简书,慕课,网易云课堂。
希望在以后的学习中能够学会更多的技术,比如目前流行的大数据与人工智能技术。利用大数据技术与人工智能技术让移动应用更加智能化,更加便利我们的生活。本系统还存在许多不足之处,比如说功能方面还可以更加完善,性能上还有待提高,由于时间关系,来不及全部完成。
由于Android系统版本较多,不同的手机获取资源对应的包不同,以及不同手机尺寸的不同,所以会出现部分手机闪退现象。希望在以后学习更多的知识后能够解决这个问题。
[1]李刚. 疯狂 Android 讲义[M]. 北京:电子工业出版社,2013:25-42.
[2]杨丰盛. Android 技术内幕[M]. 北京: 机械工业出版社,2011:77-89.
[3]杨云君. Android 的设计与实现[M]. 北京:机械工业出版社,2013:45-49.
[4]柯元旦. Android 内核剖析[M]. 北京:电子工业出版社,2011:59-70.
[5]丰生强. Android 软件安全与逆向分析[M]. 北京:人民邮电出版社,2013:78-90.
[6]余成锋,李代平,毛永华. Android3.0 内存管理机制分析[M]. 计算机应用与软件,2013:55-80.
[7]佐冰冰. Android 平台下 Launcher 启动器的设计与实现[D]. 哈尔滨工业大学,2012:108-150.
[8]杜吉志,徐明昆. Android 系统内存管理研究及优化[J]. 软件,2012,24(5):69-80.
[9]马越. Android 的架构与应用[D]. 北京:中国地质大学,2008:330-357.
[10]姚昱旻,刘卫国. Android 的架构与应用开发研究[J]. 计算机系统应用,2008,77(11):99-111.
[11]高巍. Android 操作系统软件自动化测试方案的设计与实施[D]. 北京:北京邮电大学,2012:440-479.
[12]孙剑. Android 系统上应用程序按需加载机制的设计与实现[M]. 北京大学,2011:99-110.
[13]卢娜. 基于 Android 平台的手机桌面资讯系统的设计与实现[M]. 西安电子科技大学,2011:290-300.
[14]高焕堂. Google Android 应用框架原理与程序设计 36 计[M].Misoo,2010:8-13.
[15]钟茂生,王明文. 软件设计模式及其使用[J].计算机应用,2002,22(8):32-33.
[16] Gartner November Report[EB/OL].http://www.gartner.com/newsroom/id/2482816, 2013
[17] B. John. A binary analysis ofresultatives[C]. In Proceedings of Texas Linguistics Society Conference (TLSC),Stanford, California, USA, 1997, 43-58