0

編集

最初のアクティビティでデータベースが開きます: コードを使用しました

LoginDbAdapter mDbHelper; // as a data member 

と呼ばれる

// in my onCreate() of my main activity login

mDbHelper = new LoginDbAdapter(this); 

それから私の中で

public void onResume(){
    mDbHelper.open(); // opens only when the activity is resumed
    super.onResume();
}

次に、2 番目のアクティビティで上記と同じことを行い、ユーザーを追加します。これはうまくいきました。

私の問題は次のとおりです。**データベース内の2番目のテーブルへのリンクを開いてアクセスするにはどうすればよいですか

ユーザー情報のみ。そして、どこで閉じますか。**

アップデート

はるかにうまく機能する別の方法は、onResume で DbAdapter を初期化DbAdapter.open();し、db にアクセスする必要がある場合にのみ呼び出し、作業が完了した直後に閉じることですDbAdapter.close();

startManagingCursor(cursor);注:電話して連絡することも重要ですstopManagingCursor(cursor);

4

4 に答える 4

0

close()メソッド内のLoginDbAdapter内でこれらの行を編集する必要があります。

public class LoginDbAdapter
 {
   // close the database
     public void close(){
     if(mDbHelper != null){
      mDbHelper.close();
       mDb.close;//insert these line ;these close sqlitedatabase;
       }

    }

   }
于 2012-08-22T14:40:56.767 に答える
0

あなたのアクティビティで

mDbHelper= new DatabaseAdapter(this);

DatabaseAdapterそして、クラスの挿入メソッドで

SQLiteDatabase db = this.getWritableDatabase();

最後に、挿入メソッド呼び出しでdb.close();

于 2012-08-22T14:08:05.060 に答える
0

これらが役立つかもしれません:

次のような書き込み可能なアクセス許可を取得する場所を見つけてください::

SQLiteDatabase db=this.getWritableDatabase();

今、あなたがする必要があるのは iz::

db.insert(TABLE, null, values);
db.close();//put these after inserting your database;

DATABASEADAPTER クラスに移動し、上記のコードに従って挿入後にデータベース接続を閉じる必要があります

于 2012-08-22T14:08:23.000 に答える
-1

try{} catch{} 内で閉じるコマンドを与える

于 2012-08-22T13:59:33.023 に答える