您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 手机/mobile开发 > android毕业论文PPT
南京晓庄学院毕业论文答辩————Android平台3G手机天气预报系统学院:专业:报告人:学号:指导老师:java天气预报系统Android基于javaAndroid的天气预报系统Androidjava天气预报系统报告结构一、我为什么要选择java与AndroidJava具有简单,面向对象,稳定,与平台无关等特点。Java这门语言既易学又好用,并且应用在许多方面。在以后的学习工作中有很大的作用。Android的优点我已在论文里有所阐述,最大的优势就在于它是一个开放的平台,并且现在在全球手机应用平台中用户量第一,具有广阔的市场发展前景。二、研究这个课题的意义和目的Android平台3G手机天气预报系统的开发可以进一步扩大天气信息的覆盖面,以便提前预防,把气象灾害造成的损失降到最低,使得广大公众能够在第一时间方便且快捷地获取最新的天气预报信息。同时也可以强化天气公共服务的职能,改善公共服务手段、完善公共服务体系、增加公共服务产品、提高公共服务质量,更好地发挥了气象事业对经济社会发展的现实性作用。这款手机天气预报系统给人们生活带来方便快捷的全天候信息,在人们日常生活中必不可少的生活信息。本系统界面明了,操作简单,适合所有年龄阶段的运用。对于提高人们生活水平质量有一定的促进。三、全文的基本框架1.对android市场进行研究调查,了解产品的可行性。2.学习android软件开发,并对关键技术进行研究学习。3.对产品进行设计,主要针对功能设计。4.设计界面,对主界面进行规划与实现。5.功能进行整合与完善。6.对产品进行实现与测试。四、功能介绍1.用户界面详细页面DetailForecastActivityDetailForecastActivity主要用来显示详细的天气信息,包括当天和未来四天的天气信息。为了能够以列表的形势显示多行数据,并制定每行数据的布局,使用了ListActivity。ListActivity可以不通过setContentView()设置布局,也不必重载onCreate()方法,而直接将显示列表加载到ListActivity,增加了使用的便利性。在此工程中,仍然使用setContentView()设置布局,这样做的好处是可以在界面中设置更为复杂的显示元素。核心代码如下://继承ListActivitypublicclassDetailForecastActivityextendsListActivity{//获取游标,访问数据库//QueryforanymatchingforecastdataandcreateadapterUriforecastUri=Uri.withAppendedPath(mData,WeatherWidgets.FORECAST_END);CursorforecastCursor=managedQuery(forecastUri,DetailDateWidget.detailProjection,null,null,null);listAdapter=newForecastAdapter(this,forecastCursor);}2.网路数据从Google提供的WebService中获取的天气数据,数据的获取地址是:=%s&hl=zh-cn。核心代码如下:privatestaticfinalStringWEBDATA_URI==%s&hl=zh-cn;HttpGetrequest=newHttpGet(String.format(WEBDATA_URI,postcode));try{HttpResponseresponse=client.execute(request);StatusLinestatus=response.getStatusLine();System.out.println(status);HttpEntityentity=response.getEntity();responseReader=newInputStreamReader(entity.getContent(),GBK);3.页面设置ConfigureActivity继承Activity并且实现了View.OnClickListener接口,AppWidget第一次启动之前会先运行ConfigureActivity,会出现设置页面用户进行设置,点击保存按钮就会将设置好的参数会存储到SQLite中。4.数据交互以往数据查询将解析好的数据存储到SQLite数据库中。其过程是:使用ContentResolver对象,通过URI间接调用ContentProvider,使用ContentResolver对象与ContentProvider进行交互,而ContentResolver则通过URI确定需要访问的ContentProvider的数据集。ContentProvide文件系统数据库网络ContentResolverURI5.系统管理(1)天气数据管理读取天气数据实例通过WebServiceHelper.getWidgetEntity()方法操作数据库取出所需要的数据,这一部分与上一节的“将解析好的数据存储到SQLite数据库中”的关键点相同,为节约篇幅,此处不赘述。调用轻量级XML解析器XmlPullParser对从网络上获取的字节流数据进行解析,并且将解析结果保存在WidgetEntity对象中。(2)时间管理AppWidget一启动就会启动DataTimeService这个后台服务,此服务设置了每隔20秒刷新一次时间,“显示页面”通过这个后台服务获取系统时间从而显示。核心代码如下:AlarmManageralarmManager=(AlarmManager)getSystemService(Context.ALARM_SERVICE);alarmManager.set(AlarmManager.RTC_WAKEUP,now+updateMilis,pendingIntent);至此,后台服务介绍完毕,最后还需要在AndroidManifest.xml文件中注册后台服务。serviceandroid:name=ForecastService/serviceserviceandroid:name=ForecastTimeService/service(3).页面现实布局管理根据需求分析可以知道,应用程序应包含三个主要的用户界面,这里需要进一步分析每个用户界面中应该包括哪些显示内容。在“设置页面”中,需要对要显示天气预报的城市及更新频率进行设置。在“显示页面”中,显示当前的天气状况,包括城市名称、温度、湿度、风向、雨雪情况和获取数据时间等信息。在“详细页面”动态显示当前天气情况,还要显示未来四天的天气情况。根据对用户界面显示内容的分析,绘制出用户界面的草图。5.AppWidget启动WeatherWidget在设计上采用了AppWidget框架结构,AppWidget就是HomeScreen上显示的小部件,通过在HomeScreen空白处长按,在弹出的对话框中选择Widget部件来进行创建。此外,长按部件后并拖动到垃圾箱里进行删除。创建AppWidget需要以下四个步骤:定义Widget布局文件,此文件是res/layout/weather.xml,采用AbsoluteLayout方式进行布局需要注意的是在这个文件中所使用的组件必须是RemoteViews所支持的。定义Widget的基本属性文件,此文件是/res/xml/weatherwidget.xml。代码如下:?xmlversion=1.0encoding=utf-8?appwidget-providerxmlns:android=:initialLayout=@layout/weatherwidgetandroid:configure=com.jsr.controller.ConfigureActivityandroid:minWidth=292dipandroid:minHeight=144dipandroid:updatePeriodMillis=0总结经过数个月的努力,Android平台3G手机天气预报软件终于完成了。由于对JAVA浓厚的兴趣引发了我对Android的好奇心,慢慢的摸索这前行到最终的完成。在这个过程中,我学会了很多知识,比如Android环境的搭建、Intent、Activity、Service、ContentProvider、SQLite等,但我学会的最重要的一点是,利用现有的资源去解决问题,在图书馆、在网络上寻找答案。虽然,这个软件目前运行良好,在整个工程的构思方面存在不足,用户操作界面还不够灵活,这些问题还需要今后逐一解决。与此同时,这个软件还可以进一步扩展,例如“微博连接”、“应用天地”等,是功能更加强大,带给用户更好的用户体验与信息的交流。谢谢老师!结束!
本文标题:android毕业论文PPT
链接地址:https://www.777doc.com/doc-6261645 .html