私はリアルタイムでデータベースのレコードをチェックしようとしています。 このため、私は2分ごとに1秒ごとにチェックするつもりです。 私は相談をしようとしてきました。Android - 2分で1秒ごとのSQLクエリ
質問はボレーで行いますが、これはおそらく最も便利です。問題は、クエリのシーケンスがうまくいかないようだということです。ここで
私のコード:
public void SQLQuery(final String hash) {
Handler h = new Handler();
h.postDelayed(new Runnable() {
@Override
public void run() {
int time = 1;
while (time <= 120) {
if (!isAccepted) {
try {
makeRequestAgain(hash);
time++;
Log.d(TAG, String.valueOf(time));
pDialog.setMessage("Segundos restantes: " + time);
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
} else {
hidePDialog();
Toast.makeText(getActivity(), "Autorización denegada o tiempo de espera agotado.", Toast.LENGTH_LONG).show();
break;
}
}
}
}, 120000);
}
public void makeRequestAgain(final String hash) {
StringRequest stringRequest = new StringRequest(Request.Method.POST, PrepareData.CHECK_REQUEST,
new Response.Listener<String>() {
@Override
public void onResponse(final String response) {
if (response.equalsIgnoreCase(PrepareData.USER_ACCEPT)) {
//
//El user acepto -> OK -> Intent MAP
isAccepted = true;
Toast.makeText(getActivity(), "Autorización OK", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(getActivity(), "Todavia no acepta...", Toast.LENGTH_LONG).show();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getActivity(), "Se perdió la conexión con el servidor.", Toast.LENGTH_LONG).show();
}
}) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new HashMap<>();
params.put(PrepareData.ID_CONSULTA, hash);
return params;
}
};
RequestQueue requestQueue = Volley.newRequestQueue(getActivity());
requestQueue.add(stringRequest);
}
が直接、私はメッセージログを取得しないと、進行状況ダイアログが更新されません。
私は何が失敗するでしょうか?
アドバイスありがとうございます。
編集:
権限は、私は他の.javaで、この同じ "makeRequestAgainを()" を使用し、問題なく動作し
<uses-permission android:name="android.permission.INTERNET" />
のmanifest.xmlでOKです、すべての要求が優れています、しかし、この特定の要求は、動作しません。
なAndroidManifestの権限として、より多くの情報を追加してください、要求のHTTP応答が行われ、これを実行しているAndroidのバージョンは – Bonatti
を追加しました( 'M'のように見えます)。私はAndroid 6.0.0(API 23)で作業しています。 – Ferrrmolina