毕业论文-基于android系统的手机天气预报软件内容摘要:

广东 XX 大学 2020 届 毕业论文 基于 Android 手机天气预报系统 X 同学 11 第 五 章 掌上手上天气预报系统 程序设计 用户界面设计 根据需求分析可以知道,应用程序应包含三个主要的用户界面,这里需要进一步分析每个用户界面中应该包括哪些显示内容。 在“设置页面”中,需要对要显示天气预报的城市及更新频率进行设置。 在“显示页面”中,显示当前的天气状况,包括城市名称、温度、湿度、风向、雨雪情况和获取数据时间等信息。 在“详细页面”动态显示当前天气情况,还要显示未来四天的天气情况。 根 据对用户界面显示内容的分析,绘制出用户界面的草图,如图 41所示。 图 41 基于 Android 平台的智能手机访问 服务器 的主要技术是数据交互方法。 基于 Android 操作系统的天气实况预报系统设计的核心是通过调用通信协议 SOAP( Simple Object AccessProtocol)的接口,从 Web Service 提供商中提取天气预报的数据信息 ,为客户端服务。 其基本功能是当用户运行天气预报系统程序时,在手机屏幕上显示出中国的城市名称,用户单击任意一个城市名,可获得该城市的天气实况预报信息。 用户也可以输入城市名称,点击查询获得天气预报信息。 WeatherForecast 工程目录结构及其源代码文件如图 42所示 广东 XX 大学 2020 届 毕业论文 基于 Android 手机天气预报系统 X 同学 12 图 42 5. 2 主要代码介绍 类 该类功能是 根据 url 判断图片是否存在于 Cache,如果存在那么通知回调函数 ,如果不存在则开启新线程下载图片,完成之后通知回调函数 . public class AsyncImageLoader { public AsyncImageLoader() { } public Bitmap loadImage(final String strUrl,final ImageCallback imageCallback) { Bitmap bitmap = null。 StringBuffer sb = new StringBuffer(strUrl)。 (0)。 final String imageUrl = ()。 //分离出图片的真实地址 //根据图片真实地址查找图片是否在缓存,如果在缓存中直接返回该图片 //不能直接使用 strUrl,否则会导致相同的图片被存在缓存当中 if ((imageUrl)) { SoftReferenceBitmap sr = (imageUrl)。 广东 XX 大学 2020 届 毕业论文 基于 Android 手机天气预报系统 X 同学 13 bitmap = ()。 if (bitmap != null) { (info, already + strUrl)。 return bitmap。 } } else { (info, not exit。 + strUrl)。 } 2: FileUtils 类 该类功能是对 外部存储设备 进行 设置。 public class FileUtils { private String SDPATH。 public String getSDPATH() { return SDPATH。 } //得到外部存储设备目录 public FileUtils(){ SDPATH = ()+/。 } /** * 在 SD 卡上创建文件 * @throws IOException */ public File createSDFile(String fileName) throws IOException{ File file = new File(SDPATH+fileName)。 ()。 return file。 } /** * 在 SD 卡上创建目录 * */ public File createSDDir(String strDir){ File file = new File(SDPATH+strDir)。 ()。 return file。 } /** * 判断 SD 卡上的文件是否存在 */ public boolean isFileExists(String fileName){ File file = new File(SDPATH+fileName)。 return ()。 } 3: HttpDownloader 类 该类功能是 创建一个 URL 对象和连接 HTTP,调用 者使用 URI(通用资源标识符)对不同的数据集的数据进行操作。 URI 用来地位任何远程或本地的可用资源 public class HttpDownloader { private URL url。 private String line。 private BufferedReader buffer。 private StringBuffer sb = new StringBuffer()。 public String download(String urlStr){ try{ 广东 XX 大学 2020 届 毕业论文 基于 Android 手机天气预报系统 X 同学 14 //创建一个 URL 对象 url = new URL(urlStr)。 //打开一个 HTTP 连接 HttpURLConnection urlConn = (HttpURLConnection)()。 //使用 IO 流读取数据 ,读取字节流 将字节流转化成字符流 再用 BufferedReader读取 buffer = new BufferedReader(new InputStreamReader(()))。 while((line = ()) != null){ (line)。 //使用 append()方法附加数据,最后使用 toString()方法转化成字符串 } }catch(Exception e){ ()。 }finally{ try { ()。 } catch (IOException e) { // TODO Autogenerated catch block ()。 } } return ()。 } 4: CurrentWeatherCondition 类是对当前天气 类。 package。 public class CurrentWeatherCondition { private String currentHumidity。 private String currentCondition。 private String currentWind。 public String currentImage。 public String currentTemperature。 public void setCurrentHumidity(String s) { currentHumidity = s。 } public void setCurrentCondition(String s) { currentCondition = s。 } public void setCurrentImagePath(String s) { currentImage = s。 } public void setCurrentTemperature(String s) { currentTemperature = s。 } public void setCurrentWind(String s) { 广东 XX 大学 2020 届 毕业论文 基于 Android 手机天气预报系统 X 同学 15 currentWind = s。 } public String getCurrentImagePath() { String ret = new String( + currentImage)。 return ret。 } public String getCurrentWeather() { String ret = new String(实时天气: ++ +温度: + +176。 C + + + + )。 return ret。 } } 5. 3 获取城市列表数据 Android 没有提供 Web Service 的组件库,但可以通过修改在 PC 或 J2ME 上使用的开源 Web Service Java 库作为 AndroidWeb Servic 库使用。 kSOAP2( SOAP Web Service 客户端包,可用于资源受限制的 Java 环境如 Applets 或 J2ME 应用程序。 在GoogleCode 上有一个项目 ksoap2android( Android 平台上实现轻量级的 SOAP 库,即使用 ksoap2android 的 API 来调用远端 Web Service 的服务。 因此需要在 的 onCreate()中进行数据获取的初始化工作。 通过定义一个方法 public ListStringgetAllCitiesNAMEs()可获得中国城市名称列表。 也就是说,采用它提供的获得全球各个国家城市的方法 GetCitiesByCountry,通过 上的 WebService 可提供天气预报服务。 譬如,通过 中的 public class Constant{},设置 SOAP Action 要调用的方法名、命名空间以及 Web Service URL 值,其源代码为: import。 public class ConstData { static final String[] mCities={ 北京 , 上海 , 广州 , 阳江 , 湛江 , 珠海 , 中山 , 佛山 , 广东 XX 大学 2020 届 毕业论文 基于 Android 手机天气预报系统 X 同学 16 东莞 , 汕头 ,// 汕尾 ,// 惠州 ,// 大连 ,// 哈尔滨 ,// 海口 ,// 长春 ,// 长沙 ,// 成都 ,// 福州 ,// 昆明 ,// 南京 ,// 南宁 ,// 青岛 ,// 深圳 ,// 沈阳 ,// 太原 ,// 乌鲁木齐 ,// 西安 ,// 西宁 ,// 厦门 ,// 徐州 ,// 银川 ,// 郑州 ,// 香港 }。 static final String[] pCities={ beijing,shanghai,guangzhou,jiangmen,nanchang,jiujiang,wuhan,ganzhou, tianjin,chongqing,tangshan,shijiazhuang,dalian,haerbin,haikou,chuangchun, changsha,chengdu,fuzhou,kunming,nanjing,nanning,qingdao,shenzhen,shenyang, taiyuan,wulumuqi,xian,xining,xiamen,xuzhou,yinchuan,zhengzhou,hongkong }。 //图片缓存 public static HashMapString,SoftReferenceBitmap imageCache。 } 5. 4 解析数据列表。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。