単一のデータベースとテーブルの作成と管理を支援するために、ストレージ アダプター (コンテキスト) をセットアップしました。レコードを読み取り、バックグラウンドで HTTP 経由で送信するために、新しいスレッドからテーブルにアクセスしようとしています。データベースへのその他のアクセスは、アクティビティ ベースで、挿入のみです。データは小さいですが、可能なレコードの数に基づいてスレッドが数秒実行される場合があります。UI とやり取りする必要はありません。
StorageAdapter クラス (SQL Lite セットアップ)
private static SQLiteDatabase db;
private Context context;
private StorageOpenHelper dbHelper;
public StorageAdapter(Context _context) {
this.context = _context;
dbHelper = new StorageOpenHelper(context, DATABASE_NAME, null, DATABASE_VERSION);
}
以下のスレッドからのエラー メッセージは次のとおりです。「コンストラクター StorageAdapter(Worker) は未定義です」
スレッドは次のとおりです。
public void run () {
// Does Storage Adapter need to be runnable
// Read DB ID's of committed (1) records into array
**StorageAdapter storageAdapter = new StorageAdapter(this);**
storageAdapter.open();
cursor = storageAdapter.queueCommID();
int i = 0;
int currcnt = cursor.getCount();
if (cursor.getPosition() == -1) cursor.moveToFirst();
while (i < currcnt) {
// Send single record to server
sendrec(cursor);
i=i+1;
cursor.moveToNext();
}
storageAdapter.close();
stop();
};
私が皆を混乱させなかったことを願っています。数日間尻尾を追いかけていて、とても混乱しています。助けてくれてありがとう。