基于android系统的天气预报工具App开题报告
2022-09-20 10:09:13
1. 研究目的与意义
一、选题背景与意义
android一词的本义指机器人,同时也是google于2007年11月5日宣布的基于linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。
android的这个使用软件是一个可让任何人利用的平台,不需要付款即可利用,因此有专门的人进行测试,android将会成为最为主流的手机操作系统。现在,已经搭载android系统得手机厂商包括爱立信、三星、htc、索尼等,国内厂商如华为、联想、中兴等也都开始发布并搭载android系统得手机。
2. 课题关键问题和重难点
二、课题关键问题及难点
本课题研究一个android平台上的天气同步小工具,该工具可以为用户提供最新的天气预报信息,以便最及时地了解到最新的天气状况。
基于android平台开发的手机天气预报,可以让我们大家可以方便、实时的了解到自己想要了解的天气情况,气象的覆盖面也能更加的扩大。可以及时获取天气信息,降低并减少因天气原因造成的物力、财力的损失
3. 国内外研究现状(文献综述)
三、文献综述(或调研报告)
现在是一个资讯爆炸的年代,人们对于都希望能够随时随地获取各种有用的信息。随着科技的发展,手机作为一种非常重要的通讯工具,其功能越来越强大,相对电 视、互联网络等方式,手机凭借它可以随时随地获取和处理信息的优势,逐渐成为人们获取信息的一种重要手段。但是不是所有手机都能满足这种复杂的功能要就,而智能手机由于其强大的功能无疑是所有手机中最好的选择。现今主流的智能移动操作系统有:阿里os、windows phone、ios、黑莓、android等等。而其中,由于android系统有良好的开放性和平台的便携性等特点,采用android操作系统的手机越来越受到人们的青睐,也在智能手机领域中所扮演的角色也越来越重要。
近年无论是国内还是国外,移动互联网发展迅猛,有大批的智能移动平台诞生,尤其android平台对手机软件行业和移动手机平台将发挥极大地推动作用,而在未来的几年或者一段时间内,android将越发的凸显自己的重要性。
4. 研究方案
四、方案(设计方案、研制方案、研究方案)论证 本系统以Android为主,开发工具:Eclipse4.4.2,Android SDK2.2,ADT Bundle。开发语言:java。操作系统:Window 7。数据库管理:SQLite。系统运用的相关技术:存储:getSharePreferences,getPreferences;数据传递:Activity;保存:SharePreferences(对象),Files(对象);布局:LinearLayout(线性),RelativeLayout(相对),FrameLayout(框架);数据库编程:SQLite。经过几年的发展,Android开发变得越来越成熟,而Android主要以JAVA进行开发,JAVA功能强大,完全面向对象,简单易开发。Sqlite数据库是一款轻型数据库,所占有的资源非常低,不仅可以和JAVA等很多语言结合在一起,而且支持windows/linux等主流的操作系统。使用户界面和后台服务方便的调用它来实现数据库操作所以在开发技术不存在缺陷。在天气预报软件的分析中要遵循系统分析的原则,来解决过程中会有困难,更需要做好分析工作,只要做到这些就可以确认分析工作按照预想中顺利进行,系统分析的原则有: 1.物理设计与逻辑设计分开的原则 2.面向用户的原则 3.结构化分析的原则 设计功能:实时天气信息查看:可以查看任何指定城市的天气情况,温度、风力等。 未来三天预报:可以了解未来三天的天气情况,包括天气和温度等等; 更换城市:可以随时随地选择自己想要查询的城市。 系统功能结构图: 本系统流程比较清晰,首先每次天气数据更新一次系统会向指定的地址发出数据请求,这一过程是通过HTTP来实现的,如果远端成功返回天气数据,系统则通过JSON格式来解析数据,并最终把解析到的数据显示在手机界面上,这样就完成了一次天气数据更新过程,这一过程的流程图如图所示: 解决课题关键问题及难点初步想法: 关键问题解决方法: (1)利用android的UI组件,实现界面设计的要求,达到更好的交互操作。 (2)资源对象没关闭造成的内存泄漏;构造Adapter时,没有使用缓存的convertView;Bitmap对象不在使用时调用recycle()释放内存;试着使用关于application的context来替代和activity相关的context;注册没取消造成的内存泄漏;集合中对象没清理造成的内存泄漏。 (3)android会根据屏幕本身的尺寸与密度特性,自动载入对应的资源,并把它们从逻辑像素(DIP,用于定义界面布局)转换成屏幕上的物理像素。系统在得到图片时候,会先到设备对应的dpi的文件夹下去去找资源文件,找到后应该不会做缩放直接返回图片;如果没有在对应的dpi文件夹中找到,回去其他文件夹中查找,找到后会做相应的缩放;在高dpi找到的图片会缩放,在低dpi的会拉伸。还有就是 源码中可以看出 loadDrawable的过程实在C层做的。通过系统资源id加载会比java层直接加载图片更便捷。 难点: (1)Sqlite数据库是一款轻型数据库,所占有的资源非常低,不仅可以和JAVA等很多语言结合在一起,而且支持windows/linux等主流的操作系统。 (2)学习Eclipse4.4.2,Android SDK2.2等开发工具使用和java语言 (3)通过查找文献检索和网上资料,借鉴功能设计,界面框架的设计、数据库存储的设计技术 (4)调试自己的软件能否正常显示新闻,各项功能能否正常运行,修改软件Bug。 |
5. 工作计划
五、工作计划
第1-2周:熟悉软硬件环境,进行系统的需求分析;
第3-4周:系统概要设计;