Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Just use:</p> <pre><code>SQLiteDatabase.openDatabase(DB_FULL_PATH, null, SQLiteDatabase.OPEN_READONLY); </code></pre> <p>where DB_FULL_PATH can be a path to your sdcard, like /sdcard/mydatabase.db</p> <p>Edit: </p> <p>This is what I call in my application to access the database....</p> <pre><code>private static DBUtil dbHelper = null; public void openDatabase() { if(dbHelper == null) { dbHelper = new DBUtil(this.context); dbHelper.openDataBase(SQLiteDatabase.OPEN_READWRITE); } } public void closeDatabase() { if(dbHelper != null) { dbHelper.close(); dbHelper = null; } } </code></pre> <p>... and this is the db helper class I'm using, which in fact extends SQLiteOpenHelper, so you will still have everything you want from this class.</p> <pre><code>package com.myapp.android.db; import android.content.Context; import android.database.SQLException; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteException; import android.database.sqlite.SQLiteOpenHelper; import android.util.Log; import com.myapp.android.MyApp; import java.io.IOException; /** * Standard database utility class. * * TODO: Refactor. */ public class DBUtil extends SQLiteOpenHelper { /** * Database directory. * * &lt;p&gt; * Example: "/sdcard/myapp/db/" * &lt;/p&gt; */ public static String DB_DIRECTORY = null; /** * Name of the database file. * * &lt;p&gt; * Example: "mydatabase.db" * &lt;/p&gt; * */ public static String DB_NAME = null; /** * Full absolute path of the database. * * &lt;p&gt; * Example: "/sdcard/myapp/db/mydatabase.db" * &lt;/p&gt; */ public static String DB_FULL_PATH = null; static { DB_DIRECTORY = MyApp.DATA_REPOSITORY_URI + "/myapp/db/"; DB_NAME = "mydatabase.db"; DB_FULL_PATH = DB_DIRECTORY + DB_NAME; } private SQLiteDatabase myDataBase; /** * Constructor Takes and keeps a reference of the passed context in order to * access to the application assets and resources. * * @param context */ public DBUtil(Context context) { super(context, DB_NAME, null, 1); try { this.createDataBase(); } catch (IOException ioe) { throw new Error("Unable to create database"); } } /** * Creates a empty database on the system and rewrites it with your own * database. * */ public void createDataBase() throws IOException { if (!checkDataBase()) this.getWritableDatabase(); } /** * Check if the database already exist to avoid re-copying the file each * time you open the application. * * @return true if it exists, false if it doesn't */ private boolean checkDataBase() { SQLiteDatabase checkDB = null; try { checkDB = SQLiteDatabase.openDatabase(DB_FULL_PATH, null, SQLiteDatabase.OPEN_READONLY); } catch (SQLiteException e) { // database does't exist yet. } if (checkDB != null) { checkDB.close(); } return checkDB != null ? true : false; } public void openDataBase(int mode) throws SQLException { try { myDataBase = SQLiteDatabase.openDatabase(DB_FULL_PATH, null, mode); } catch(IllegalStateException e) { // Sometimes, esp. after application upgrade, the database will be non-closed, raising a IllegalStateException // below. Try to avoid by simply opening it again. Log.d(MyApp.APP, "Database non-closed. Reopening."); myDataBase = SQLiteDatabase.openDatabase(DB_FULL_PATH, null, mode); } } public void openDataBase() throws SQLException { openDataBase(SQLiteDatabase.OPEN_READWRITE); } public SQLiteDatabase getDb() { return myDataBase; } @Override public synchronized void close() { if (myDataBase != null) myDataBase.close(); super.close(); } @Override public void onCreate(SQLiteDatabase db) { } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } } </code></pre>
    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. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      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