したがって、androidstudioにappとappをビルドしようとしています。私はmysqlデータベースからデータを取得し、これをアプリで使用したいと考えています。私は、オンラインでPHPスクリプトを使用して、データを取得するためのレスポンスを取得します。この部分全体が機能しています。しかし、取得した値(JSONオブジェクト内のIDと呼ばれる)をentriesというString変数に代入すると、それを保存するようなことはありません。私がsetData()の値を呼び出すと、nullを返します。誰かがそれにいくつかの光を当てることができますか?値はResponselistenerの変数に割り当てられていません
public class MainActivity extends AppCompatActivity {
EditText editText;
public String entries;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = (EditText) findViewById(R.id.text);
getData();
setData();
}
public void getData(){
Response.Listener<String> responseListenerCount = new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.d("JSON Parser", response);
try {
JSONObject jsonResponse = new JSONObject(response);
boolean success = jsonResponse.getBoolean("success");
if (success) {
entries = jsonResponse.getString("ID"); // HERE THE RETRIEVED VALUE IS ASSIGNED TO VARIABLE ENTRIES
Toast.makeText(getApplicationContext(), " Retrieving success ", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getApplicationContext(), " Retrieving failed ", Toast.LENGTH_SHORT).show();
}
} catch (JSONException e) {
e.printStackTrace();
}
// HERE THAT VALUE IS NULL AGAIN
}
};
CountRequest countRequest = new CountRequest(responseListenerCount);
RequestQueue queue = Volley.newRequestQueue(MainActivity.this);
queue.add(countRequest);
}
public void setData(){
editText.setText(entries);
}}
これはリクエストキューで呼び出されるcountRequest.javaです。再び;この部分は正常に動作しているので、実際には関係ありません。
public class CountRequest extends StringRequest {
private static final String LOGIN_REQUEST_URL = "*************";
private Map<String, String> params;
public CountRequest(Response.Listener<String> listener){
super(Request.Method.POST, LOGIN_REQUEST_URL, listener, null);
params = new HashMap<>();
}
@Override
public Map<String, String> getParams() {
return params;
}}
ここにはPHPコードはありません。なぜこのようにタグ付けされていますか? – tadman
申し訳ありませんが、私には、速くクリックして提案されました。 imew newbie:p –
'JSONObject.getString(key)'で 'key'は大文字と小文字を区別します。あなたはそれを考えましたか? – noahnu