
그림에 보시면, 추가버튼을 누르면 listview에 현재 시간과 날짜를 뿌려주고 있습니다.
((EditText부분은 솔직히 필요가 없는 부분이라 무시합니다.))
이 데이타를 db에 저장하고 싶은데 마음대로 되질 않네요.
소스 중에 주황색 부분을 보시면, 현재는 EditText의 아이디로 지정된 값(inputText)를 임시로 넣어놨는데요
저 부분을 어떻게 고쳐야 할까요?
머가 잘못됐는지 지적부탁드립니다.
package com.androidhuman.example.ListViewExample;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Locale;
import java.util.TimeZone;
import android.app.ListActivity;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
public class ListViewExample extends ListActivity {
private ArrayList<String> list;
private ArrayAdapter<String> adapter;
private EditText inputText;
private Button inputButton;
final static String dbName = "Time.db";
final static int dbVersion = 1;
DBHelper dbHelper;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
inputText = (EditText)findViewById(R.id.inputText);
inputButton = (Button)findViewById(R.id.inputButton);
list = new ArrayList<String>();
dbHelper = new DBHelper(this, dbName, null, dbVersion);
inputButton.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
SQLiteDatabase db;
String sql;
TimeZone timezone = TimeZone.getTimeZone("Etc/GMT-9");
TimeZone.setDefault(timezone);
SimpleDateFormat formater = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss", Locale.KOREA);
Date current = new Date();
String mtime = formater.format(current);
System.out.println(mtime);
//result.setText(result.getText().toString() + "\n"+ mtime + " dBm");
inputText.setText(mtime + " 측정값");
list.add(inputText.getText().toString());
inputText.setText("");
adapter.notifyDataSetChanged();
String Data = inputText.getText().toString();
db = dbHelper.getWritableDatabase();
sql = String.format("INSERT INTO dbName VALUES(NULL, '%s', '%s');", Data, "Anyang");
db.execSQL(sql);
dbHelper.close();
}
});
adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, list);
setListAdapter(adapter);
}
class DBHelper extends SQLiteOpenHelper{
public DBHelper(Context context, String name, CursorFactory factory, int version) {
super(context, name, factory, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE dbName (_id INTEGER PRIMARY KEY AUTOINCREMENT," +
" Datum TEXT, power INTEGER);");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS dbName");
onCreate(db);
}
}
}