SQLiteデータベースの使用方法(3/3): サンプルコードのまとめとオススメの使用方法 | Androidアプリ開発

Androidアプリ開発におけるSQLiteデータベースのここまでのまとめとして、サンプルコードとオススメの使用方法を紹介します。
ここまでの記事は以下になります。この記事から見始めた方は以下の記事を参照いただければと思います。
スポンサーリンク

サンプルコードまとめ

ここまでの例ではinsert, update, delete, queryなどをSQLiteOpenHelper継承クラス外で行っていましたが、私はSQLiteOpenHelper継承クラスにまとめるのが好きです。
その場合のサンプルコードは以下になります。
public class DatabaseManager extends SQLiteOpenHelper {
    private final static String DATABASE_FILENAME = "sample.db";
    private final static int DATABASE_VERSION = 1;

    DatabaseManager(Context context) {
        super(context, DATABASE_FILENAME, null, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        String cmd = "create table test(id integer, str text)";
        db.execSQL(cmd);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        //必要があれば実装する。
    }


    void insertData(int _id, String _str) {
        SQLiteDatabase db = getWritableDatabase();
        ContentValues cv = new ContentValues();
        cv.put("id", _id);
        cv.put("str", _str);
        db.insert("test", null, cv);
    }

    void updateText(int TargetId, String NewStr) {
        SQLiteDatabase db = getWritableDatabase();
        ContentValues cv = new ContentValues();
        cv.put("str", NewStr);
        db.update("test", cv, "id = "+TargetId, null);
    }

    void deleteData(int TargetId) {
        SQLiteDatabase db = getWritableDatabase();
        db.delete("test", "id = "+TargetId, null);
    }

    class DataStruct {
        int Id;
        String Str;
    }

    ArrayList<DataStruct> getData(String SearchStr) {
        SQLiteDatabase db = getWritableDatabase();
        ArrayList<DataStruct> result = new ArrayList<>();

        Cursor c = db.query("test", null, "str = "+SearchStr, null, null, null, "id");
        c.moveToFirst();
        for(int i=0; i<c.getCount(); i++) {
            int id = c.getInt(0);
            String str = c.getString(1);
            DataStruct ds = new DataStruct();
            ds.Id = id;
            ds.Str = str;
            result.add(ds);
        }

        return result;
    }

}
スポンサーリンク

オススメの使用方法

オススメの使用方法としては、上記のDatabaseManagerクラスのオブジェクトを以下の記事で紹介したApplication継承クラスに持たせる方法です。 以下がサンプルコードです。
public class Common extends Application {
    DatabaseManager dm;

    @Override
    public void onCreate() {
        super.onCreate();

        dm = new DatabaseManager(this);
    }
}
このようにDatabaseManagerのオブジェクトを持っておけば、以下のように簡単に使用することができます。
public class MainActivity extends AppCompatActivity {
    Common c;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        c = (Common)getApplication();

        c.dm.insertData(1, "test");
    }
}
スポンサーリンク

まとめ

ここまで、Androidアプリ開発におけるSQLiteの使用方法の基礎を紹介しました。

SQLiteを使用できるようになると、大規模なデータも安定かつ高速に扱えるようになるため、是非習得しましょう!
Androidアプリ開発
スポンサーリンク
Androidアプリ開発 記事一覧
Androidアプリ開発 記事一覧
Androidアプリ開発の記事一覧を以下にまとめています。
良かったらご覧ください。

Androidアプリ開発 記事一覧
カテゴリ広告: Androidアプリ開発
スポンサーリンク: Androidアプリ開発を個人レッスンで学ぶなら...?
Androidアプリ開発は一人で学んでいても限界があります。
そこでオススメなのがオンラインでAndroidアプリ開発を学べる「コードキャンプ」。
個人レッスンで丁寧に教えてくれます。

無料レッスン体験も可能なので、まずは無料体験から試してみてはいかがでしょうか?

Androidアプリ開発個人レッスン
一般広告: モバイルバッテリー
スポンサーリンク
Aresei-note
タイトルとURLをコピーしました