私はSDカード/メディアカードでデータベースを作成したいです。私はデバイス(ブラックベリーカーブ8900)でアプリケーションを実行すると、私は1つのルートすなわち "システム/"とシミュレータ(9500)で実行中のアプリケーションを見つけると、私はコードのコメントに示されているように3つのルーツを見つける。私はエラーが発生しています。Blackberry:SDCard/Media Cardの場所をfileSystemRootとして取得できませんか?
_db = DatabaseFactory.openOrCreate(_uri);
(error: Method "toString" with signature "()Ljava/lang/String;" is not applicable on this object)
私はこのエラーについて何か理解できません。 ここにコードがあります。
public void getValues() throws Exception
{
boolean sdCardPresent = false;
String root = null;
Enumeration e = FileSystemRegistry.listRoots();
while (e.hasMoreElements())
{
root = (String)e.nextElement();
System.out.println("Value of root::" +root); // value of root = "system/" when run in device and
// value of root = "store/" "SDCard/" "system/" when run in simulator
if(root.equalsIgnoreCase("system/"))
{
sdCardPresent = true;
}
}
System.out.println("--------------------getValues()----------------------------------");
URI _uri = URI.create(Global.DB_PATH + Global.DB_Main);
System.out.println("Valud of uri::" +_uri);
_db = DatabaseFactory.openOrCreate(_uri); //getting error here.
System.out.println("Valud of _db::" +_db);
_db.close();
(シミュレータで実行した場合)私が「/ストア」で出力を得る、これらの3つの経路を試みたが、デバイスの「/ストア」を使用して、残り2 paths.Evenとの誤差は、同じエラーを示しています。
Global.DB_PATH = "/MediaCard/databases/";
Global.DB_PATH = "/SDCard/databases/";
Global.DB_PATH = "/store/databases/";
私はそこにデータベースをコピーできるようにSDカード/メディアカードをrootとして入手する方法はありますか?
はい、あなたの推測は正しいです、あなたの助言に従って私はケーブルを抜いて、SDカードの位置を得ました。私は今SDCardでデータベースを作成することができます。本当にありがとうございます。 –
これはうまくいきましたが、デバッグできませんでした。( –
これはBlackBerryだけです:ログエントリをファイルに書き込むいくつかのロガーを作成することを検討してください。後で調査のためにデバイスからPCにプルダウンすることができます –