2012-02-16 14 views
0

現在、Android OS用の電話帳タイプのアプリケーションを作成しています。私は現在、私の連絡先情報を保持するためにSQLiteDatabaseを使用しています。データベースが保持されていることを知っていますAndroid携帯のアクセシブルSQLiteデータベース

data/data/package-name/databases 

しかし、私はAndroidの携帯電話でそのディレクトリを見つけることができるようにするにはルートアクセスが必要です。電話を根絶することなくデータベースをどこかに置く方法がありますか?

+0

データベースコンテンツを表示する場合は、SQLiteブラウザを使用します。関連記事[リンク](http://anujarosha.wordpress.com/2011/12/12/how-to-insert-data-in-to-a-sqlite-database-in-android/) – AnujAroshA

+0

ルートアクセスなし私が言うことができるのは、実際にデータベースファイルをコピーして、それをsdcard上でアクセス可能な位置にコピーしなければならないということです。 – Arslan

+0

私が知っているように、あなたのパッケージやデータベースであっても、電話を根付かせることなくデータをブラウズすることはできません。 – Vinay

答えて

1

プログラムでDBをSDカードにコピーするだけです。 このコードは、あなたのDBにアクセスする方法の例です=)

   try { 
        input = new FileInputStream("/data/data/my_package_name/databases/" + DATABASE_NAME); 

        File dir = new File("/sdcard/database_dump"); 
        dir.mkdir(); 

        OutputStream output = new FileOutputStream("/sdcard/debugdump/myDb.db"); 

        byte[] buffer = new byte[1024]; 
        int length; 
        while ((length = input.read(buffer))>0) { 
         output.write(buffer, 0, length); 
        } 

        output.flush(); 
        output.close(); 
        input.close(); 
       } catch (Exception e) { 
        e.printStackTrace(); 
       } 

あなたのDBは、あなたがそれを取ると、あなたが好きなSQLiteのエディタを使用してPC上でそれを扱うことができますSDカードにコピーされた後。例:http://www.softpedia.com/get/Internet/Servers/Database-Utils/SqlPro.shtml

+0

ありがとう!私はdir.mkdir()を使うのではなく、dir.createNewFile()を呼び出して終了しました。 –

関連する問題