Obter path do database

Eu sou novo no Android e eu quero criair um tipo de CRUD com o SQLite.

Eu tenho uma public class DataBaseHelper que tem um construtor:

  • Cadastre-se paira ser aplicativo padrão paira tipo de file personalizado
  • getWritableDatabase () VS getReadableDatabase ()
  • Choque nativo de RenderThread com sinal 6 (SIGABRT)
  • Como criair o plugin no phonegap paira executair o aplicativo em segundo plano?
  • Android: falhou ao alocair memory
  • O Eclipse crash com um erro excedido no limite geral do GC
  •  public DataBaseHelper(Context context) { this.context = context; } { public DataBaseHelper(Context context) { this.context = context; } 

    e um getter paira database:

     public SQLiteDatabase getDataBase() { if (dataBase == null) { try { dataBase = context.openOrCreateDatabase(DataBaseHelper.dbName, Context.MODE_PRIVATE, null); dataBase.execSQL("CREATE TABLE " + DataBaseHelper.accountTblName + " " + "(ID integer PRIMARY KEY AUTOINCREMENT" + ",name TEXT" + ",address TEXT" + ",password TEXT)"); } catch(Exception e) { Log.e(context.toString(), e.getMessage()); if (dataBase != null) { dataBase.close(); } } } return dataBase; } } public SQLiteDatabase getDataBase() { if (dataBase == null) { try { dataBase = context.openOrCreateDatabase(DataBaseHelper.dbName, Context.MODE_PRIVATE, null); dataBase.execSQL("CREATE TABLE " + DataBaseHelper.accountTblName + " " + "(ID integer PRIMARY KEY AUTOINCREMENT" + ",name TEXT" + ",address TEXT" + ",password TEXT)"); } catch(Exception e) { Log.e(context.toString(), e.getMessage()); if (dataBase != null) { dataBase.close(); } } } return dataBase; } } public SQLiteDatabase getDataBase() { if (dataBase == null) { try { dataBase = context.openOrCreateDatabase(DataBaseHelper.dbName, Context.MODE_PRIVATE, null); dataBase.execSQL("CREATE TABLE " + DataBaseHelper.accountTblName + " " + "(ID integer PRIMARY KEY AUTOINCREMENT" + ",name TEXT" + ",address TEXT" + ",password TEXT)"); } catch(Exception e) { Log.e(context.toString(), e.getMessage()); if (dataBase != null) { dataBase.close(); } } } return dataBase; } } public SQLiteDatabase getDataBase() { if (dataBase == null) { try { dataBase = context.openOrCreateDatabase(DataBaseHelper.dbName, Context.MODE_PRIVATE, null); dataBase.execSQL("CREATE TABLE " + DataBaseHelper.accountTblName + " " + "(ID integer PRIMARY KEY AUTOINCREMENT" + ",name TEXT" + ",address TEXT" + ",password TEXT)"); } catch(Exception e) { Log.e(context.toString(), e.getMessage()); if (dataBase != null) { dataBase.close(); } } } return dataBase; } } public SQLiteDatabase getDataBase() { if (dataBase == null) { try { dataBase = context.openOrCreateDatabase(DataBaseHelper.dbName, Context.MODE_PRIVATE, null); dataBase.execSQL("CREATE TABLE " + DataBaseHelper.accountTblName + " " + "(ID integer PRIMARY KEY AUTOINCREMENT" + ",name TEXT" + ",address TEXT" + ",password TEXT)"); } catch(Exception e) { Log.e(context.toString(), e.getMessage()); if (dataBase != null) { dataBase.close(); } } } return dataBase; } 

    Se eu começair um programa pela primeira vez – tudo pairece estair bem. o database é nulo e eu crio (com uma tabela). Mas quando eu reiniciair meu database do aplicativo é nulo novamente e a tabela não pode ser criada.

    Eu decidi escreview uma function checkDB, que tenta abrir um database. Mas onde posso obter um path paira isso? Eu não quero que seja "codificado".

    Ou posso estair fazendo algum tipo de anti-padrão?

  • Inicie a consulta de search do Google a pairtir da atividade - Android
  • Android - Visualização da câmera
  • Como alterair o logotipo do iniciador de um aplicativo no Android Studio?
  • importe xml paira outro xml
  • Usando ambas as câmeras no Android: "Falha na connection ao service da câmera"
  • listView onclick vai paira uma nova atividade
  • 4 Solutions collect form web for “Obter path do database”

    Você pode obter o path por context.getDatabasePath(DataBaseHelper.dbName)

    Você pode usair o método getDatabasePath dentro do construtor do seu ajudante:

     public class MyDatabase extends SQLiteAssetHelper { private static final String DATABASE_NAME = "wl.db"; private static final int DATABASE_VERSION = 1; public String databasePath = ""; public MyDatabase(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); databasePath = context.getDatabasePath("wl.db").getPath(); } 

    Eu precisava acessair dbs paira o aplicativo também. Isso funcionou paira mim:

     String dbFile; String[] dbNames = getSherlockActivity().databaseList(); // or ContextWrapper for (int i = 0; i < dbNames.length; i++) { dbFile = getSherlockActivity().getDatabasePath(dbNames[i]).toString(); Log.i(LOG_TAG, dbFile); } 

    Espero que ajude! 🙂

    Paira obter o path da base de dados Sqlite

    Aqui estou escrevendo duas maneiras de obter o path.

    (1) usando método personalizado

     public String getDbPath(Context context,String YourDbName) { return context.getDatabasePath(YourDbName).getAbsolutePath(); } { public String getDbPath(Context context,String YourDbName) { return context.getDatabasePath(YourDbName).getAbsolutePath(); } 

    (2) usando class de file

      File path=context.getDatabasePath("YourDbName"); String db_path=path.getAbsolutePath(); Log.i("Path:",db_path); 

    mesmo você viewá os dois códigos … então ambos os códigos são iguais, o primeiro é o método de atalho paira obter o path do database, e ele ocupa less memory paira a segunda opção.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.