SQLiteのデータの追加・更新・削除・全削除・表示
機能
・レコードの追加
・レコードの更新
・レコードの削除
・レコードの全削除
・レコードの表示
activity_main.xml
MainActivity.java
package com.example.orisa.mydb5; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; public class MainActivity extends AppCompatActivity { EditText addName; EditText addAge; Button addBtn; Button updateBtn; Button deleteBtn; Button deleteAllBtn; Button showBtn; TextView disp; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //部品の取得 addName = (EditText)findViewById(R.id.addName); addAge = (EditText)findViewById(R.id.addAge); addBtn = (Button)findViewById(R.id.addBtn); updateBtn = (Button)findViewById(R.id.updateBtn); deleteBtn = (Button)findViewById(R.id.deleteBtn); deleteAllBtn = (Button)findViewById(R.id.deleteAllBtn); showBtn = (Button)findViewById(R.id.showBtn); disp = (TextView)findViewById(R.id.disp); //データベースの生成 MyDbHelper hlp = new MyDbHelper(this); final SQLiteDatabase db = hlp.getReadableDatabase(); //finalをつけるのに注意 //データを追加 addBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { ContentValues val = new ContentValues(); val.put("name", addName.getText().toString()); val.put("age", addAge.getText().toString()); db.insert("person", null, val); } }); //データの更新 updateBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //nameとageを取得 String name = addName.getText().toString(); String age = addAge.getText().toString(); //ContentValuesに値を入れる ContentValues val = new ContentValues(); val.put("age", age); //データベースを更新 db.update("person", val, "name=?", new String[]{name}); } }); //データの削除 deleteBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //名前を取得 String name = addName.getText().toString(); //ContentValuesに値を入れる ContentValues val = new ContentValues(); val.put("name", name); //データベースを更新 db.delete("person", "name=?", new String[]{name}); } }); //データの全削除 deleteAllBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { db.delete("person", null, null); } }); //データを表示 showBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //TextViewをリセットする disp.setText(null); Cursor c = db.query("person", new String[]{"name", "age"}, null, null, null, null, null); boolean mov = c.moveToFirst(); while(mov){ disp.append(c.getString(0) + ": " + c.getInt(1) + "\n"); mov = c.moveToNext(); } c.close(); } }); } }
MyDbHelper.java
package com.example.orisa.mydb5; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; /** * Created by orisa on 2017/05/31. */ public class MyDbHelper extends SQLiteOpenHelper { public MyDbHelper(Context context){ super(context, null, null, 1); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE person(name TEXT NOT NULL, age TEXT);"); //insert data db.execSQL("INSERT INTO person(name, age) values('john', 18);"); db.execSQL("INSERT INTO person(name, age) values('eric', 20);"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } }