环境:安卓平台
人员:包福来、韦泽华
分工:
包福来:界面设计与数据库设计
韦泽华:程序设计与数据存储
问题:
第一次开发安卓程序,碰到很多问题,最难的是数据库的使用与数据的解析(采用的xml文件储存文件,后面才发现安卓自带有一个小型数据库,可以快速开发的)
分工上的问题:开始时候不知道怎么样分工
分工后,这个软件的模型做出第一个之后,开发软件到一半,发现逻辑不对,又重新设计软件模型。、
这是一些visio设计图
代码太多了,就不全部贴上来了
下面是代码的文件
部分代码:
package com.books.acountbook;
import java.io.InputStream;
import java.util.Calendar;
import com.books.util.dataEntity.UserExpense;
import com.books.util.dataHanding.xmlLoad;
import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.TimePickerDialog;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TextView;
import android.widget.TimePicker;
import android.view.View.OnClickListener;
public class ActModel extends Activity {
private int year, month , day, hour, minute;
private TextView dateView, timeView;
private Button btOK;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_layout);
final Calendar c = Calendar.getInstance();
year = c.get(Calendar.YEAR);
month = c.get(Calendar.MONTH);
day = c.get(Calendar.DAY_OF_MONTH);
hour = c.get(Calendar.HOUR_OF_DAY);
minute = c.get(Calendar.MINUTE);
dateView = (TextView)findViewById(R.id.dateView);
dateView.setText(year+"-"+(month+1)+"-"+day);
dateView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
DatePickerDialog dpd=new DatePickerDialog(ActModel.this,Datelistener,year,month,day);
dpd.show();
}
});
timeView = (TextView)findViewById(R.id.timeView);
timeView.setText(hour+":"+minute);
timeView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
TimePickerDialog tpd = new TimePickerDialog( ActModel.this, Timelistener, hour, minute, true);
tpd.show();
}
});
btOK = (Button)findViewById(R.id.ok);
btOK.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
UserExpense ue = new UserExpense();
}
});
InputStream ip= xmlLoad.readFromFile(this, "", "");
}
private DatePickerDialog.OnDateSetListener Datelistener =new DatePickerDialog.OnDateSetListener()
{
/**params:view:该事件关联的组件
* params:myyear:当前选择的年
* params:monthOfYear:当前选择的月
* params:dayOfMonth:当前选择的日
*/
@Override
public void onDateSet(DatePicker view, int myyear, int monthOfYear,int dayOfMonth) {
//修改year、month、day的变量值,以便以后单击按钮时,DatePickerDialog上显示上一次修改后的值
year=myyear;
month=monthOfYear;
day=dayOfMonth;
//更新日期
updateDate();
}
//当DatePickerDialog关闭时,更新日期显示
private void updateDate()
{
//在dateView上显示日期
dateView.setText(year+"-"+(month+1)+"-"+day);
}
};
private TimePickerDialog.OnTimeSetListener Timelistener = new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int myminute) {
// TODO Auto-generated method stub
hour = hourOfDay;
minute = myminute;
updateTime();
}
private void updateTime(){
timeView.setText(hour+":"+minute);
}
};
}
下面是程序的ui: