package com.myDatabase;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.content.ContentValues;
import android.content.Context;
public class MyDatabase extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//ヘルパークラスのインスタンスを作成します。
MyDBHelper helper = new MyDBHelper(this);
//書き込み可能でデータベースを開く
//(ここでDBファイルがなかったら作成する(onCreate)
SQLiteDatabase db = helper.getWritableDatabase();
Cursor c = db.query("myDatabaseTable", new String[] { "name", "age" },
null, null, null, null, null);
boolean isEof = c.moveToFirst();
TextView textView1 = (TextView)findViewById(R.id.textView1);
String text="";
while (isEof) {
text += String.format("%s : %d歳\r\n", c.getString(0), c.getInt(1));
isEof = c.moveToNext();
}
textView1.setText(text);
c.close();
db.close();
}
@Override
protected void onDestroy() {
super.onDestroy();
}
public void SetRecordOnClick(View v) {
MyDBHelper helper = new MyDBHelper(this);
SQLiteDatabase db = helper.getWritableDatabase();
ContentValues values = new ContentValues();
//追加するデータ
values.put("name", "新しいデータ");
values.put("age", "1");
db.insert("myDatabaseTable", null, values);
//データの検索
Cursor c = db.query("myDatabaseTable", new String[] { "name", "age" },
null, null, null, null, null);
boolean isEof = c.moveToFirst();
TextView textView1 = (TextView)findViewById(R.id.textView1);
String text="";
while (isEof) {
text += String.format("%s : %d歳\r\n", c.getString(0), c.getInt(1));
isEof = c.moveToNext();
}
textView1.setText(text);
}
//DB利用には、SQLiteOpenHelper抽象クラスを継承する必要がある。
public class MyDBHelper extends SQLiteOpenHelper {
public MyDBHelper(Context context) {
super(context, "database.db", null, 1);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
//データベースのバージョンが変わる場合に呼び出される。
}
@Override
//ここでデータベース作成(コンストラクタに渡されたDBファイル名が存在しない場合に呼ばれる)
public void onCreate(SQLiteDatabase db) {
// テームルを作成
db.execSQL(
"create table myDatabaseTable("+
"name text not null,"+
"age text"+
");"
);
// Insert文のSQLを実行してレコードを挿入
db.execSQL("insert into myDatabaseTable(name,age) values ('聖徳太子', 10);");
db.execSQL("insert into myDatabaseTable(name,age) values ('夏目漱石', 20);");
}
}
}
ダウンロード

0 件のコメント:
コメントを投稿