Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<pre><code>public class DBManager { public static final String KEY_ROWID = "_id"; public static final String KEY_BAHASA = "bahasa"; public static final String KEY_ENGLISH = "english"; private static final String TAG = "DBAdapter"; private static final String DATABASE_NAME = "dict"; private static final String DATABASE_TABLE = "words"; private static final int DATABASE_VERSION = 1; private static final String DATABASE_CREATE = "CREATE TABLE IF NOT EXISTS " _ DATABASE_TABLE + "(_id integer primary key autoincrement," + KEY_BAHASA + " text not null," + KEY_ENGLISH + " text not null);"; private final Context context; private DatabaseHelper DBHelper; private SQLiteDatabase db; public DBManager(Context ctx) { this.context = ctx; DBHelper = new DatabaseHelper(context); } private static class DatabaseHelper extends SQLiteOpenHelper { DatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL(DATABASE_CREATE); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { Log.w(TAG, "Upgrading database from version " + oldVersion + " to " + newVersion + ", which will destroy all old data"); db.execSQL("DROP TABLE IF EXISTS titles"); onCreate(db); } } public DBManager open() throws SQLException { db = DBHelper.getWritableDatabase(); return this; } public void close() { DBHelper.close(); } public long insertTitle(String bahasaIndo, String englishLang) { ContentValues initialValues = new ContentValues(); initialValues.put(KEY_BAHASA, bahasaIndo); initialValues.put(KEY_ENGLISH, englishLang); return db.insert(DATABASE_TABLE, null, initialValues); } public Cursor getAll() { return db.query(DATABASE_TABLE, null, null, null, null, null, null); } public Cursor getWord(String bahasaIndo) { return db.query(DATABASE_TABLE, null, KEY_BAHASA + "=?", new String[] { bahasaIndo }, null, null, null); } } </code></pre> <p>Test Code:</p> <pre><code>@Override public void onClick(View v) { DBManager manager = new DBManager(this); manager.open(); Random random = new Random(); if (random.nextBoolean()) { Log.d("TAG", "Insert Value"); manager.insertTitle("bahasaindo", "english"); manager.insertTitle("bahasaindo" + random.nextInt(), "english1"); } else { Log.d("TAG", "query value"); Cursor cursor = manager.getWord("bahasaindo"); if (cursor.moveToFirst()) { Log.d("TAG", cursor.getString(cursor.getColumnIndex(DBManager.KEY_BAHASA))); } } manager.close(); } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload