0

アプリでデータベース接続を確立しようとしています。訪問者用の許可および拒否ボタンがあります。データベース クラスの操作を呼び出そうとすると、アプリが強制終了します。たとえば、[許可] ボタンをクリックすると、アプリで訪問者 ID、日付、および文字列の応答をデータベースに保存する必要があります。以下は、ボタン用に持っている mainActivity のコードです。

//databaseVisitor VisDB = new databaseVisitor (this);
//VisitorDatabase VDB = new VisitorDatabase();
//Defining the actions of the Allow Button

Button.OnClickListener allowListener = new Button.OnClickListener(){
    public void onClick(View arg0) {
        // TODO Auto-generated method stub

        Toast allowToast = Toast.makeText(MainActivity.this, R.string.toastYes, Toast.LENGTH_LONG);
        allowToast.show();

        //Log.d("Insert Log: ", "Inserting add log..");
        //count = VisDB.getVisitorCount();
        response = "Access Granted";
        //dt = date.getDate();

        //VisDB.addVisitor(new VisitorDatabase(count+1, dt, response));

    }   
};
4

2 に答える 2

2

おそらく、カーソルを閉じているためです

cursor.close()

そして、それに対して操作を行います

return cursor.getCount()

このように試してみてください

int count = cursor.getCount();
cursor.close();
return count;

編集 :

VisDBに関しては、そのようにします

...
databaseVisitor VisDB;
...
public void onCreate(Bundle savedInstanceState) {
      ...
      VisDB = new databaseVisitor (this);
      ...
}
于 2012-12-03T18:25:39.790 に答える
1

getCount () を与える前にカーソルを閉じました。これを試して:

int count = cursor.getCount();
cursor.close();
return count;

幸運を!

于 2012-12-03T18:28:49.940 に答える