好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

基于Android的老年人辅助APP研发.docx

10页
  • 卖家[上传人]:ji****81
  • 文档编号:324805134
  • 上传时间:2022-07-15
  • 文档格式:DOCX
  • 文档大小:26.46KB
  • / 10 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    •     基于Android的老年人辅助APP研发    叶旺旺++汤琼++葛灿飞Summary:随着智能机的普及,各种各样App的触角伸向了人民生活的方方面面,为老年人居家生活提供智能辅助的应用也越来越受到大众的关注该文在分析了智能机和Android为使用者带来便利的基础上,针对老年人群体智能养老的需求,该文详细介绍基于Android平台为老年人生活提供辅助功能的App设计和开发该App的应用将为老年人的居家生活提供有力的支持Key:Android;智能机;智能辅助:TP393 :A :1009-3044(2016)11-0068-04Abstract: With the popularity of smart phone, the tentacles of various Apps have extended to every aspect of people's lives, and the applications provided the elder people with intelligent assisted living are increasingly concerned by the general public. Based on the analysis of the convenience and benefits from Android and smart machine, the design and development of the App for the elder people is introduced in the paper, which will provide strong support for the elderly living at home.Key words: Android; Smartphone; intelligent assistant1 背景进入老年阶段,人们往往会随着年龄越大记忆力越来越衰退,近期愈演愈烈的老年性痴呆症引起人们的普遍关注。

      据人民日报刊载,中国老年痴呆患者已超 6 百万人很多人认为,人老了犯糊涂是正常现象,实际上这是一种病,学名老年性痴呆,也称阿尔茨海默病该病在我国发病率约为 5%,多发于 65 岁以上人群,患病人数约为 600 万人,并以每年三四十万人的数量增长老年性痴呆是一种渐进性的大脑功能衰退性疾病,其多表现为丢三落四、健忘、迷路等等近年来,随着智能和移动互联网的迅速普及,其应用涵盖了生活的方方面面这不仅因为使用起来方便,更源于移动应用可以帮人们做很多事情[1]因此,在智能上实现协助老年群体安居生活的辅佐应用软件,提供类似护工时刻在身边提示老人生活细节的功能,具有一定研究价值和实用价值2 Android介绍2.1 Android简介Android是由Google公司和开放联盟领导及开发的基于Linux的自由及开放源代码的操作系统,主要用于移动设备,如智能和平板电脑目前Android尚未有统一的中文命名,但我们习惯称之为“安卓”Android的一个最大优势在于其开放性,开放的平台允许任何移动终端厂商加盟,显著的开放性也使其拥有更多的开发者随着用户和应用的日益丰富,一个崭新的平台也将很快走向成熟2.2 Android四大核心组件Android拥有4大核心组件,分别如下。

      组件一:活动(Activity)对于Android 来说,Activity是所有程序的根本,所有程序的事物处理流程都运行在Activity 之中;应用程序中,一个Activity显示一些控件也可以监听并处理用户的事件做出响应组件二:服务(Service)Service与Activity的级别差不多,但不能自己运行,他是一个在后台运行的组件,用来执行长期操作或执行远程过程,并且可以和其他组件进行交互组件三:广播接收器(Broadcast)Broadcast是一个专注于接收广播通知信息、并做出对应处理的组件它们可以启动一个activity来响应它们收到的信息,或者用NotificationManager来通知用户组件四:内容提供者(Content Provider)Content Provider的主要功能在于将一些特定的应用程序数据供给其他应用程序使用这些组件之间的通讯要是由Intent协助完成的Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用[3]3 系统设计与实现3.1 MVC本项目的应用开发框架为MVC(Model View Controller)。

      MVC是一种软件设计典范,用一种把业务逻辑、数据、界面显示分离的方法组织代码MVC主要分三块,模型(model)-视图(view)-控制器(controller)[2]模型是应用程序中用于处理应用程序数据逻辑的部分通常模型对象负责在数据库中存取数据在本项目中主要职责是为视图提供数据和信息以及把用户输入的数据传送给控制器视图是应用程序中处理数据显示的部分通常视图是依据模型数据创建的在本项目中视图主要为Activity类和定义界面的XML文件组成,他们共同负责将模型中的数据以一种用户能理解的形式显示在界面上控制器是应用程序中处理用户交互的部分通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据在本项目中,控制器负责大量的业务逻辑处理,主要是对视图传达的操作进行处理并返回,根据视图中传送来的参数,封装好对应的模型,在处理后将结果封装入模型后再交给视图进行显示,以此来满足用户交互的需求 综上所述,本项目的系统框架图如图1所示3.2 SQLite数据库本项目的数据库为SQLiteSQLite是一款非常流行的轻型数据库,是遵守ACID(事务的四个基本要素)的关系型数据库管理系统,支持 SQL 语言,并且只需使用很少的内存就有很好的性能;并因为它是开源的,所以受到了越来越多的开发者的喜爱。

      4 系统功能设计通过调研和分析,系统的功能如图2所示进行设计账户管理:WEB端,用户可以在该页面上进行账户的注册和登录;端混合+GPS定位:该功能是一个service,运行于后台每隔一段时间会向后台服务器上传用户的定位信息;日程设置:上,用户可以设置日程安排由一个运行于后台的service负责管理,到了用户设置的时间后,将自动点亮用户并发声告知用户;语音播报:对日程设置的文本内容和求助语音的内容进行语音合成后调用系统的扬声器进行播报;一键求助:按下后将用户的定位信息发送到指定的家属上5 核心功能的实现5.1 登录功能为了配合登录功能,作者专门写了JSP的服务端服务端使用MVC框架,域名为http://lncdz.iok.la/myant/运行在tomcat7.0的服务容器中,端的登录都将通过这个域名进行操作家属也可以登录该网站获取当前端用户的一些基本信息,包括用户的最近一次定位位置,日程设置信息等服务端主要是使用Servlet来提供服务,用户在端输入用户名和密码后,端通过HttpURLConnection类的openConnection()建立与服务器的连接,并将用户名和密码传输至服务器。

      服务器接收到请求后,根据GET还是POST的的方法调用Servlet的doGet()或者doPost()方法我们继承javax.servlet.http.HttpServlet类并覆盖这2个方法,实现自定义对数据的处理和结果的返回即可实现登录,又不仅限于登录的功能5.2 首页设计首页使用Android的DrawerLayout和Fragment来实现侧边滑动的功能菜单栏向左滑动可以调出,选择相应的菜单可以前往不同的功能模块具体实现如下:在activity_main.xml文件中,使用FrameLayout定义了首页的容器,即容纳内容显示的区域,并用ListView定义了侧边栏滑动出来的宽度和背景色等样式程序运行时,手指从左侧屏幕边缘,持续滑动到屏幕中心之后的位置即可呼出侧边的功能菜单栏5.3 定位功能目前Android 定位 SDK可以实现混合定位、GPS 定位和网络定位(基站+ WiFi)混合定位方式,定位 SDK 会自动根据用户的实际情况进行智能判断使用网络定位或 GPS 定位,以达到最佳的定位效果1)在HelpMain_Fragment类上实现定位接口AMapLocationListener接口,该类继承至Fragment。

      AMapLocationListener是高德地图SDK包中提供的类这样该类就可以操作定位的功能了2)初始化定位对象LocationManagerProxy,该对象使用LocationManagerProxy的getInstance()方法获取,其需要一个Activity对象作为参数而由于我们的是Fragment,不用通过this来给LocationManagerProxy传入一个Activity对象不过Fragment提供了this. getActivity()来获取一个Activity对象所以这里可以通过调用this. getActivity()来传入一个Activity对象3)注册定位使用之前初始化的对象LocationManagerProxy的requestLocationData(LocationProviderProxy.AMapNetwork, -1, 15, this)方法来定位该方法的四个参数分别是定位类型,LocationProviderProxy.AMapNetwork表示使用高德定位的混合定位模式即GPS+网络定位,定位频率,移动距离,回调监听鉴于应用的实际使用情况,使用-1表示定位一次即可,15表示移动距离15米即调用定位一次。

      定位的结果接受对象为this即实现了AMapLocationListener的HelpMain_Fragment4)onLocationChanged()为定位回调方法无论定位是否成功,该方法都将会被调用该方法内,定位成功后,我们将地址信息保存起来,并组装成指定格式的短信文本信息通过SmsDeliveredBroadcastReciver类将短信文本广播给的短信服务“SMS_DELIVERED_ACTION”这是Android系统提供的一种系统服务,他将代我们将短信通过移动运营商发送的指定的上并返回接受结果具体代码如下:5.4 语音提醒讯飞语音是国内较为成熟的语音合成平台,目前其免费对开发者提供语音合成,语音+等免费服务鉴于实际情况,作者最终决定使用讯飞语音提供的SDK来开发语音提醒功能1)创建VoiceTTS类,并在其中实例化语音合成对象SpeechSynthesizer ,该对象为语音合成的核心对象此过程中使用SpeechSynthesizer类的createSynthesizer()方法,该方法需要(context,myInitListener)2个参数,第一个是Activity本身,第二个为初始化监听接口的一个实现对象InitListener。

      SpeechSynthesizer对象可以使用setParameter方法,通过设置 (SpeechConstant.VOICE_NAME, "xiaoyan") (SpeechConstant.PITCH, "50") (SpeechConstant.VOLUME, "50")这几组参数来分别设置发音人,音调和音量 2)为语音合成对象设置开发者应用ID。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.