[键入公司名称] |
实训课程设计 |
天气预报程序 |
xx |
2011/12/29 |
1项目任务概述
1.1项目背景
随着3G时代的到来,移动互联网成为Internet下一个热点,android可以很好的使用Internet,获取网站上的数据,android天气预报系统就利用这一方式为用户提供服务。
天气预报的主要功能是为用户提供今日以及未来两天的天气预报。
1.2 项目任务
本项目实现在 Android移动设备天气预报功能,系统根据用户输入的地址,在Internet上请求获得该地址的天气情况,并发回数据,在系统调用该数据后,将天气实况显示给用户。
2需求分析
用户可以使用该系统实现日记的编写,修改和删除,日记内容阅读以及以文本文档形式将日记导入SDcard中。
2.1总体用例图
图1
2.2 天气预报用例图
2.3天气预报业务流程
图2
用户通过点击桌面图标,进入系统。再通过在文本框中输入的地址,来进入当天天气预报界面。再点击箭头按钮,页面跳转到未来两天天气预报的界面。
2.4 查看未来两天天气预报用例图
2.5 查看未来两天天气预报流程图
图2
2.6 查看地理信息用例图
2.7查看地理信息流程图
图3
3 系统设计
3.1 天气预报系统UI——登录界面
图4
3.2天气预报UI——登录界面说明
在此界面中,正如大家所见。含有两个TextView组件,一个ImageView组件,一个AutoCompleteTextView,其字符大小分别是默认的大小。其中AutoCompleteTextView能够给用户提供选项列表,用户只要单击列表中的一项,此页面就回自动跳转到下一页面。
3.3 天气预报UI——今日天气预报界面
图5 图6
3.4天气预报UI——今日天气预报界面说明
此界面中分别含有六个TextView组件,五个ImageView组件,一个ImageButton组件,一个Menu,在此布局文件中有五个相对布局。其中的天气图片,文字信息全部来源于WebXml/。利用Menu,用户可以查看正在搜寻的地址的地理信息。此外,该Activity加入了一个ScollView,使用户更方便地查看天气情况。同时,此页面加入了得ImageButton可以查看未来两日的天气情况。
3.5 天气预报UI——未来两天天气预报界面
图7
3.6 天气预报UI——未来两天天气预报界面说明
正如大家直观所见,此界面由九个TextView组件和六个ImageView组件组成。
3.7 天气预报UI——地理信息界面
图8 图9
3.8 天气预报UI——地理信息界面说明
如图8,图9所示,该功能用到了一个menu和一个Dialog组件。单击menu按钮,出现“地理信息”菜单,单击菜单,显示对话框。
4系统实现代码解析
4.1系统配置文件——l
l是系统中的配置文件,我们需要将系统中用到的Android组件全都在这个文件中注册,其中ActivityTest是启动屏幕显示的Activtiy。
代码清单l
<?天气预报代码大全xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="schemas.android/apk/res/android"
package="com.ambow.android"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".ActivityTest"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".ActivityTest1" android:label="@string/app_name"></activity>
<activity android:name="ActivityTest2" android:label="@string/app_name"></activity>
</application>
</manifest>
4.2 src代码解析
4.2.1首先,我们将要介绍的是系统的启动界面,亦即登录界面的代码。
代码清单2 ActivtityTest.java
package com.ambow.android;
import java.util.HashMap;
import android.app.Activity;
t.Intent;
t.res.Resources;
aphics.Canvas;
aphics.Paint;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
public class ActivityTest extends Activity {
private AutoCompleteTextView m_AutoCompleteTextView;
private Button button;
private String str;
private Resources res;
private String[] autoString;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
Create(savedInstanceState);
setContentView(R.layout.main);
res = getResources();
autoString = new String[] { String(R.string.beijing),
String(R.string.shanghai),
String(R.string.tianjin),
String(R.string.chongqing),
String(R.string.haerbin),
String(R.string.changchun),
String(R.string.shenyang),
String(R.string.huhehaote),
String(R.string.shijiazhuang),
String(R.string.wulumuqi),
String(R.string.xining), String(R.string.xian),
String(R.string.yinchuan),
String(R.string.zhengzhou),
String(R.string.jinan), String(R.string.taiyuan),
String(R.string.hefei), String(R.string.wuhan),
String(R.string.nanjing),
String(R.string.chengdu),
String(R.string.guiyang),
String(R.string.kunming),
String(R.string.nanning), String(R.string.lasa),
String(R.string.hangzhou),
String(R.string.nanchang),
String(R.string.guangzhou),
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论