package xy.fiance;
import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.app.TimePickerDialog;
import android.app.DatePickerDialog.OnDateSetListener;
import android.app.TimePickerDialog.OnTimeSetListener;
import android.content.ContentValues;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.text.format.DateFormat;
import android.text.format.Time;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.TimePicker;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.DatePicker.OnDateChangedListener;
import android.widget.TimePicker.OnTimeChangedListener;
public class IncomeActivity extends Activity implements OnClickListener, OnTimeSetListener, OnItemSelectedListener, OnDateSetListener{
String currenTime=null;
private TextView dataView=null;
private TextView timeView=null;
private Button data_select=null;
private Button time_select=null;
private Spinner optionsSpinner=null;
private EditText amount_edit=null;
private EditText note_eidt=null;
private Button submit=null;
private Button cancle=null;
int year=0;
int month=0;
int day=0;
int hour=0;
int minute=0;
private static final String[] options={"工资奖金","彩票中奖","意外收入","经营所得",
"欠款收回","其他费用"};
private ArrayAdapter<String> optionsAdapter;
//设置数据库中的属性
int id;
String yearSql;
String monthSql;
String daySql;
String hourSql;
String minuteSql;
String optionsSql;
int amount;
String noteSql;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.incom_xml);
initView();
optionsAdapter=new ArrayAdapter(this, android.R.layout.simple_spinner_item, options);
optionsAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
optionsSpinner.setAdapter(optionsAdapter);
setListener();
}
private String dataToString(int year,int month,int day) {
String current=Integer.toString(year)+"."+Integer.toString(month)+"."+Integer.toString(day);
return current;
}
private String timeToString(int hour,int minute){
String current=Integer.toString(hour)+":"+Integer.toString(minute);
return current;
}
private void initView() {
dataView=(TextView)findViewById(R.id.current_data);
timeView=(TextView)findViewById(R.id.current_time);
data_select=(Button)findViewById(R.id.data_select);
time_select=(Button)findViewById(R.id.time_select);
optionsSpinner=(Spinner)findViewById(R.id.options);
amount_edit=(EditText)findViewById(R.id.amount_income);
note_eidt=(EditText)findViewById(R.id.note_income);
submit=(Button)findViewById(R.id.submit_income);
cancle=(Button)findViewById(R.id.cancle_income);
timeSet();
}
private void timeSet() {
Time time=new Time();
time.setToNow();
year=time.year;
month=time.month;
day=time.monthDay;
hour=time.hour;
minute=time.minute;
dataView.setText(dataToString(year, month, day));
timeView.setText(timeToString(hour,minute));
}
private void setListener()
{
data_select.setOnClickListener(this);
time_select.setOnClickListener(this);
submit.setOnClickListener(this);
cancle.setOnClickListener(this);
optionsSpinner.setOnItemSelectedListener(this);
}
@Override
public void onClick(View v)
{
int switchID=v.getId();
switch (switchID)
{
case R.id.data_select:
showDialog(1);
break;
case R.id.time_select:
showDialog(0);
break;
case R.id.submit_income:
{
sqlInit();
insertIntoSql();
finish();
break;
}
case R.id.cancle_income:
{
finish();
break;
}
}
}
private void insertIntoSql() {
ContentValues values=new ContentValues();
values.put("year", yearSql);
values.put("month", minuteSql);
values.put("day", daySql);
values.put("hour", hourSql);
values.put("minute", minuteSql);
values.put("id", id);
values.put("options",optionsSql);
values.put("amount", amount);
values.put("note",noteSql);
DatabaseHelper db=new DatabaseHelper(this,"user");
SQLiteDatabase sql=db.getWritableDatabase();
sql.insert("user", null, values);
sql.close();
}
private void sqlInit() {
yearSql=Integer.toString(year);
monthSql=Integer.toString(month);
daySql=Integer.toString(day);
hourSql=Integer.toString(hour);
minuteSql=Integer.toString(minute);
noteSql=note_eidt.getEditableText().toString();
amount=Integer.parseInt(amount_edit.getEditableText().toString());
}
@Override
protected Dialog onCreateDialog(int id) {
if(id==1)
{
return new DatePickerDialog(IncomeActivity.this,IncomeActivity.this, year,month,day);
}
if(id==0)
{
return new TimePickerDialog(this,this, hour, minute, true);
}
return null;
}
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
optionsSql=(String) arg0.getItemAtPosition(arg2);
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
@Override
protected void onRestart() {
// TODO Auto-generated method stub
super.onRestart();
initView();
}
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
this.year=year;
this.month=monthOfYear;
this.day=dayOfMonth;
dataView.setText(dataToString(year, month, day));
}
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
this.hour=hourOfDay;
this.minute=minute;
timeView.setText(timeToString(hourOfDay,minute));
}
/* (non-Javadoc)
* @see android.app.Activity#onPause()
*/
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
System.out.println("Onpause");
}
}