Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>The following code excerpt can be used to create multiple tables in an SQLite Cipher database:</p> <p>Use these imports:</p> <pre><code>import java.sql.SQLException; import net.sqlcipher.database.SQLiteDatabase; import net.sqlcipher.database.SQLiteOpenHelper; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.util.Log; /** Helper to the database, manages versions and creation */ public class DBAdapter extends SQLiteOpenHelper { private static final String DATABASE_NAME = "Test"; private static final int DATABASE_VERSION = 1; // Table name public static final String TABLE_1 = "Table1"; public static final String TABLE_2 = "Table2"; // Column names for Table1 table static final String KEY_PASSWORD = "password"; static final String KEY_USER = "user"; // Column names for Table2 table static final String KEY_EVENT = "event"; static final String KEY_USERNAME = "username"; public DBAdapter(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { String sql1 = "create table " + Table_1 + " (" + KEY_USER + " text primary key, " + KEY_PASSWORD + " text not null);"; String sql2 = "create table " + Table_2 + " (" + KEY_EVENT + " text primary key, " + KEY_USERNAME + " text not null FOREIGN KEY(" + KEY_USERNAME + ") REFERENCES " + TABLE_1 + "(" + KEY_USER + "));"; db.execSQL(sql1); db.execSQL(sql2); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { if (oldVersion &gt;= newVersion){ return; } String sql = null; if (oldVersion == 1) sql = "alter table " + TABLE_1 + " add note text;"; if (oldVersion == 2) sql = ""; Log.d("EventsData", "onUpgrade : " + sql); if (sql != null) db.execSQL(sql); } public Cursor getAllUsers(String username, SQLiteDatabase db){ return db.query(TABLE_1, ...); } public Cursor getAllEvents(String event, SQLiteDatabase db){ return db.query(TABLE_2, ...); } } </code></pre> <p>Now you can do all the CRUD methods for both tables. Just make sure that each method has an <code>SQLiteDatabase</code> as an argument as shown in the <code>getAllUsers()</code> method.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

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