私はCN1を使ってアプリケーションを作成しました。これはsqlite dbにアクセスします。 Netbeansを使用してエミュレータでアプリケーションを実行すると、完全に動作します。しかし、私は実際のデバイス上のDBに接続しようとすると、私はこのエラーを取得...コードネーム1とSQLiteエラー
java,lang,NullPointerException: Attempt to invoke virtual method 'void.com.codename1.db.Database.close()' on a null object reference
私も持って前に私が試してみて、私は「クローズ」をやっているかどうかを確認するために私のコードをしてきましたDBインスタンスを作成しましたが、私はそれを見ることができません - もし私がこれをしていたら、それはシミュレータの権利で失敗すると思いますか?
dbPath = Display.getInstance().getDatabasePath("MyDB.db");
if(dbPath != null && !FileSystemStorage.getInstance().exists(dbPath)) {
copyDb(dbPath);
}
}
その後、あなたは:間違いがある
db = Display.getInstance().openOrCreate(dbPath);
と私は
すべてのヘルプは
おかげで、あなたのコードで
どのコードを使用してデータベースを開きますか?ログのパスが明らかに間違っています –
この動作の仕組みがわかりません - ここにサンプルコードへのリンクがあります... https://docs.google.com/document/d/186Vuu1BRD-ItsWKtTx0Zjl6kB6TgCscv21_vYOd5aSQ/edit?usp =共有---それが間違っていても、エミュレータの権利ではうまくいかないでしょうか? –
私はちょうど私のコードをデバッグしていると私は次の値を見ることができます:conn.url = jdbc:sqlite:/home/stevenmarkintegration/.cn1/database/MyDB.dbとconn.filename =/home/stevenmarkintegration /.cn1/database/MyDB.db ....これらのパスは私の電話には存在しませんでした。それが理由でしょうか?ありがとうShai。 –