안드로이드 개발 질문/답변
(글 수 45,052)
package com.android.menudb;
import java.util.ArrayList;
import android.app.ListActivity; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.view.View; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.EditText; import android.widget.ListView;
public class MenuDbActivity extends ListActivity {
/** Called when the activity is first created. */
public static final String DATABASE_NAME = "myDatabase.db";
public static final String DATABASE_TABLE = "tbl_pbook";
public static final String CREATE_PHONEBOOK_TABLE =
"CREATE TABLE " + DATABASE_TABLE +
" (id INTEGER PRIMARY KEY AUTOINCREMENT," +
"name TEXT NOT NULL," +
"mobile TEXT NOT NULL);";
public static final String DROP_PHONEBOOK_TABLE =
"DROP TABLE IF EXISTS " + DATABASE_TABLE;
public String menu = null;
public String pri = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// SQLite 데이터베이스 생성
final SQLiteDatabase mDatabase = openOrCreateDatabase(
DATABASE_NAME, Context.MODE_PRIVATE, null);
// 테이블 삭제 (기존에 이미 테이블이 존재하면 테이블 삭제)
mDatabase.execSQL(DROP_PHONEBOOK_TABLE);
// 테이블 생성
mDatabase.execSQL(CREATE_PHONEBOOK_TABLE);
// 테이블에 레코드 추가
Button btn1 = (Button)findViewById(R.id.add);
Button btn2 = (Button)findViewById(R.id.end);
final EditText edit1 = (EditText)findViewById(R.id.name);
final EditText edit2 = (EditText)findViewById(R.id.price);
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
menu = edit1.getText().toString();
pri = edit2.getText().toString();
mDatabase.execSQL("INSERT INTO "+DATABASE_TABLE + "(name, mobile) "+
"VALUES(menu, pri);");
}
});
/*values.put("name", "인컴");
values.put("mobile","041-550-6789");
mDatabase.insert(DATABASE_TABLE, null, values);*/
// 테이블 질의
Cursor mCursor = mDatabase.rawQuery("SELECT * " + "FROM "
+ DATABASE_TABLE +";", null);
// 커서를 사용한다.
int indexId = mCursor.getColumnIndex("id");
int indexName = mCursor.getColumnIndex("menu");
int indexMobile = mCursor.getColumnIndex("pri");
mCursor.moveToFirst();
ArrayList results = new ArrayList();
while(!mCursor.isAfterLast())
{
int id = mCursor.getInt(indexId);
String name = mCursor.getString(indexName);
String mobile = mCursor.getString(indexMobile);
results.add(" | "+id +" | " +name+" | "+mobile+" | ");
mCursor.moveToNext();
}
mCursor.close();
mDatabase.close();
ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1,results);
ListView lv = getListView();
lv.setAdapter(adapter);
}
}현재 그냥 DB 넣는거는 예제를 보고 성공 했습니다.
그런데 에디트 박스에 글자를 집어넣고
버튼을 누르면 DB에 들어가도록 만드는 법이 궁금합니다;;
그냥 onclick 에 넣으면 에러가 뜨더군요 ㅠㅠ



