2017-04-20 11 views
0

dbブラウザを使用して名前kplとしてsqlite dbを作成し、モバイル内部ストレージにShivuのような1つのフォルダに貼り付けました。Sqliteデータベースはandroidスタジオを使用してアクセスします

私は以下のコードを書いた:

public class DbHandler extends SQLiteOpenHelper { 

    private static final int DB_VERSION=1; 

    private static final String DATABASENAME = "kpl.db"; 

    private static final String TABLENAME = "User_Master"; 

    private static final String USER_ID = "id"; 

    private static final String USER_NAME = "user_name"; 

    private static final String PASS_WORD = "pass_word"; 

    private static final String TABLENAME_1 = "emp_Master"; 

    private static final String EMP_ID = "id"; 

    private static final String EMP_NAME = "user_name"; 



    public static final String LOCAL_DATABASE_PATH = Environment.getExternalStorageDirectory()+ File.separator+"Shivu"; 



    public String databasePath = ""; 
    public DbHandler(Context context) { 

     super(context,LOCAL_DATABASE_PATH, null, 1); 

    } 

を私はERROを取得しています:どのように私は、DBにアクセスすることにより、コードにデータベースフォルダを定義すると、オープンデータベース、

は私を助けてくださいことができませんでした。

答えて

0

第2パラメータはdbのパスではありません.dbの名前です。 dbは、プログラムディレクトリのいくつかの明確な場所にあると予想されます。

どちらかSQLiteHelper.oCreateに自分でDBを移入したり、事前にDBを持っているならば、あなたのAPKに事前にデータベースを含めるように https://github.com/jgilfelt/android-sqlite-asset-helper

1

あなたは、データベースを取得するためのコードの下に試すことができ、このオープンソースライブラリを使用私はその作業を実行すると、このメソッドパスコンテキストおよびデータベース名

+0

おかげで正確なパス

private static String getDatabasePath(Context _context, String _databaseName) { return "/data/data/"+_context.getPackageName()+"/databases/"+_databaseName; } 

は、私は、正確なパスを持っているが、私はコードにDBのパスを定義する方法を要求します。 ex:/Shivu/kpl.db – kumarh

+0

上記の方法でパスを定義し、その答えが私の答えである場合、THanks! –

関連する問題