私は種観察を記録するために、Android上にきちんと動作するSQLiteデータベースを持っています。私は、JSON(首尾よく)を使用して、リモートデータベースの一連のパラメータに対して入力された観測値を検証しています。検証時には、データベース内のフラグが更新され、このプロセスが完了したことが示されます。 。しかし、私は私の主な活動(テキストを表示するときに、検証後のフラグとの観測の値が更新されませんSQLiteとアクティビティの更新
私の活動の順序は次のとおりです。
- 主な活動(OBS = 0のデータベースから)
- OBSエントリ活性
- 主な活動(OBS = 1 DBからフラグAを持つ)
- データ管理活動、
- が完了活動、メインボタンを確認ボタン確認
- 主な活動(OBS = 1 DBからフラグAを持つ)
I出口場合、またはメイン活動に戻って、しばらくの間、それを残し、データベースが正常にポーリングされ、OBS = 1 dbからのフラグB。
私は自分のデータベースが正しいとSQLが正しいことを知っています。アクティビティが正しく再開するためのボタンが間違った位置にあると宣言している可能性がありますか?
マイコード:
final Button verifySightingsButton = (Button) findViewById(R.id.uploadprocess);
if (verifies == 0) {
verifySightingsButton.setTextColor(getResources().getColor(R.color.red));
} else {
verifySightingsButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// do stuff
}
});
}
'検証' はフラグAレコードの数です。ボタンはonCreate()
メソッドで呼び出されています。それをクラス変数としてインスタンス化すれば、それは何か変わるでしょうか? おかげさまで、ありがとうございました。
UPDATE:このフラグの検証および更新を処理するコード(実際にはXMLを使用していない他のクエリのために使用されるJSON)である:
// Get details for an observation within loop
ArrayList d = (ArrayList) allVerifyRows.get(i);
// Build the URL to verify the data
String aURL = buildVerifyURL(d);
// Parse the XML
aValid = ParseVerificationXML.verifyXMLdata(aURL);
db.open();
Long bouCode = new Long((String) speciesList.get((String) d.get(3)));
boolean insert = db.updateNote(
((Long) d.get(0)).longValue(),
((Long) d.get(1)).longValue(),
// and some other variables being updated
db.close();
、そのレコードのデータベースをチェックするためのコード確認されていない:
NotesDbAdapter db = new NotesDbAdapter(this);
db.open();
Cursor c = db.fetchAllNotes();
species = new ArrayList<String>();
while (c.moveToNext()) {
String str1 = c.getString(2); // Date
species.add(str1);
}
c.close();
Cursor v = db.performNullCountForVerification();
if (v.moveToFirst()) {
stillToVerify = v.getInt(0); // Non-Verified records
readyForUpload = stillToVerify;
}
v.close();
stillToVerify = species.size() - stillToVerify;
db.close();
リモート検証とデータベースの更新を行うコードを表示します(確認後) – ariefbayu
私は思っていますが、確認/テストしていますが、db.close()とdb.open() )を2つのカーソルの間に配置します。肯定的な結果を示す初期テスト.... – iaindownie