4

いくつかのデータを sqlite データベースに正常に挿入しました (挿入から返された長い ID を出力してこれを確認しましたが、それは -1 以外のものでした) ので、そこにあることがわかります。問題は、SQLite Database Browser を使用して表示している sqlite データベースが assets フォルダーにあることです (これを使用して、他のテーブルの作成済みデータをタブレット ディレクトリにコピーしました)。この場合は /data/data/ です。パッケージ名/ファイル/ -

タブレットは motorola xoom ICS(4.0.3) で、macbook pro で開発しています。データを表示するために使用できるものについて何か提案はありますか?

adb プログラムは android-sdk-mac_x86/platform-tools にあり、次のコマンドを実行します。

./adb シェル

  • しかし、私はどこにも行きません-許可の問題だけです。誰かがFirefoxアドオンを提案した場所を見ましたが、...本当に?それが最高ですか?私には、開発者がデータベース内のデータを見るためのより良い手段があるように思えます。データベースに何かを挿入する場合は、後で選択をデバッグする必要がある場合に備えて、内容を確認できるようにする必要があります (非常に良い例として)。

編集: Firefox プラグインを動作させることもできません。外部デバイスを認識していないようです。

何か案は?ありがとう。

4

4 に答える 4

1

それがまさにあなたが求めているものかどうかはわかりませんが、Android Webサーバーであるpawをインストールできます。次に、pawのphpプラグインをインストールし、 pdoを使用してデータを表示します(データの作成と変更も同様です)。コーディング (cli のような) インターフェイス以外のものが必要な場合は、これを取得したら、次のようなものを試すことができます

于 2012-03-22T05:35:55.767 に答える
1

同様の問題がありました-クリックするとデータベースがSDカードにコピーされるボタンをアプリに配置することにしました。次に、DDMS を使用して、SD カードから接続されたマシンにデータベースをコピーし、データベースを検査したり、値を確認したりしたいものを起動できます。

package com.me.myPackage;

import java.io.File;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.Date;

import android.content.Context;
import android.os.Environment;
import android.widget.Toast;

public class Utility {

public static void backupDatabase(Context context) throws IOException {

    // Open your local db as the input stream
    String inFileName = PATH_TO_YOUR_DB;
    File dbFile = new File(inFileName);
    FileInputStream fis = new FileInputStream(dbFile);

    File outputDirectory = new File(
            Environment.getExternalStorageDirectory() + "/PATH_FOR_BACKUP");
    outputDirectory.mkdirs();
    SimpleDateFormat sdf = new SimpleDateFormat(Constants.DATE_TIME_FORMAT_FOR_DATABASE_NAME); // append date time to db name

    String backupFileName = "/MyApp_" + sdf.format(new Date()) + ".db3"; 
    String outFileName = outputDirectory + backupFileName;

    // Open the empty db as the output stream
    OutputStream output = new FileOutputStream(outFileName);

    // transfer bytes from the inputfile to the outputfile
    byte[] buffer = new byte[1024];
    int length;
    while ((length = fis.read(buffer)) > 0) {
        output.write(buffer, 0, length);
    }
    // Close the streams
    output.flush();
    output.close();
    fis.close();

    Toast.makeText(context, "Database backup complete", Toast.LENGTH_LONG)
            .show();
}

}

于 2012-03-23T06:28:08.150 に答える
0

まったく別の方法として、Android SDK の sqlite ライブラリを使用して調べることができます。おそらく、cli 経由で使用できます。

于 2012-03-22T05:36:52.223 に答える
0

adb を使用した回答は次のとおりです:リモート シェルからの sqlite3 データベースの調査

$ adb -s emulator-5554 shell
# sqlite3 /data/data/com.example.google.rss.rssexample/databases/rssitems.db
SQLite version 3.3.12
Enter ".help" for instructions
.... enter commands, then quit...
sqlite> .exit 
于 2012-03-23T00:50:23.470 に答える