Android系统课程设计
三、详细设计和功能实现
3.1 界面的设计 3.1.1 欢迎界面的设计
欢迎界面,采用简洁明了的布局,添加了一个button点击事件,点击即可跳转到主界面即省份选择菜单。如图3.1所示
图3.1 欢迎界面
5
3.1.2 菜单界面设计
菜单界面菜单界面采用列向布局和子菜单。这样直观明了,简洁清晰。(当为省份时标题栏显示中国),省份,城市。如图3.2所示
3.2 a b
注:a为省份菜单,b为市级菜单
3.2 各模块详细设计 3.2.1 欢迎模块设计
1.新建一个WelcomeActivity类,并让它继承Activity类。任何活动都应该重写onCreate()方法。
public class WelcomeActivity extends Activity{ } }
2.新建一个布局文件,命名为welcome_layout,根元素选择为LinearLayout。创
6
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
建成功后,再LinearLayout下添加背景添加语句:
android:background=\添加一个按钮,用于点击事件的触发: android:id=\ android:layout_width=\ android:layout_height=\ android:text=\点击查询天气\在WelcomeActivity里,关联布局文件和实例化button.然后添加onClick,构造出一个intent,传入WelcomeActivity上下文,传入ChooseAreaActivity.class为目标活动。即在WelcomeActivity这个活动的基础上打开ChooseAreaActivity这个活动。然后通过startActivity()方法来执行这个intent。 setContentView(R.layout.welcome_layout); Button button1=(Button)findViewById(R.id.button1); button1.setOnClickListener(new OnClickListener(){ public void onClick(View v){ Intent intent=new 3.2.2 主工程设计 3.2.2.1 第一阶段 Intent(WelcomeActivity.this,ChooseAreaActivity.class); startActivity(intent); 1.新建工程命名为coolweather。为了让项目有更好的结构。需要在com.coolweather.app包下再新建一个包,如图3.3所示。 图3.3 新建包构架 其中activity包用于存放所有活动代码,db包用于存放所有数据库相关的代码,7 Android系统课程设计 model包用于存放所有模型相关的代码,receiver包用于存放所有广播相关的代码,service包用于存放所有服务相关的代码,util包用于存放所有工具相关的代码。 2.创建数据库和表,这样从服务器获取的数据才能够存储到本地。表的设计这里建立三张表,Province,City,County,分别用于存放省,市,县的各种数据信息,三张表的建表语句如下(以county表为例) County: create table County( id integer primary key autoincrement, county_name text, county_code text, city_id integer) 其中id是自增长主键,county_name表示县名,county_code表示县级代号,city_id是county表关联city表的外键。 接下来将建表语句写入到代码中。在db包下新建CoolWeatherOpenHelper类,用于province,city,county的建表。核心代码如下所示。 public void onCreate(SQLiteDatabase db) { 3.为每张表创建一个对应的实体类。在model下分别新建Province类,city类,county类。实体类非常简单,基本就是对应字段的get和set方法。类的创建如图3.4所示。 } //创建表 db.execSQL(CREATE_PROVINCE); db.execSQL(CREATE_CITY); db.execSQL(CREATE_COUNTY); 图3.4 实体类 4.创建一个CoolWeatherDB类,这个类将会把一些常用的数据库操作封装起来,8 1234567
android:id=\
android:layout_width=\ android:layout_height=\ android:text=\点击查询天气\
在WelcomeActivity里,关联布局文件和实例化button.然后添加onClick,构造出一个intent,传入WelcomeActivity上下文,传入ChooseAreaActivity.class为目标活动。即在WelcomeActivity这个活动的基础上打开ChooseAreaActivity这个活动。然后通过startActivity()方法来执行这个intent。
setContentView(R.layout.welcome_layout);
Button button1=(Button)findViewById(R.id.button1); button1.setOnClickListener(new OnClickListener(){
public void onClick(View v){
Intent intent=new
3.2.2 主工程设计 3.2.2.1 第一阶段
Intent(WelcomeActivity.this,ChooseAreaActivity.class);
startActivity(intent);
1.新建工程命名为coolweather。为了让项目有更好的结构。需要在com.coolweather.app包下再新建一个包,如图3.3所示。
图3.3 新建包构架
其中activity包用于存放所有活动代码,db包用于存放所有数据库相关的代码,
7
model包用于存放所有模型相关的代码,receiver包用于存放所有广播相关的代码,service包用于存放所有服务相关的代码,util包用于存放所有工具相关的代码。
2.创建数据库和表,这样从服务器获取的数据才能够存储到本地。表的设计这里建立三张表,Province,City,County,分别用于存放省,市,县的各种数据信息,三张表的建表语句如下(以county表为例)
County:
create table County(
id integer primary key autoincrement, county_name text, county_code text, city_id integer)
其中id是自增长主键,county_name表示县名,county_code表示县级代号,city_id是county表关联city表的外键。
接下来将建表语句写入到代码中。在db包下新建CoolWeatherOpenHelper类,用于province,city,county的建表。核心代码如下所示。
public void onCreate(SQLiteDatabase db) {
3.为每张表创建一个对应的实体类。在model下分别新建Province类,city类,county类。实体类非常简单,基本就是对应字段的get和set方法。类的创建如图3.4所示。
} //创建表
db.execSQL(CREATE_PROVINCE); db.execSQL(CREATE_CITY); db.execSQL(CREATE_COUNTY);
图3.4 实体类
4.创建一个CoolWeatherDB类,这个类将会把一些常用的数据库操作封装起来,
8