내 Json 메서드에서 이것을 얻고 있습니다. 내 서버 및 mysql 데이터베이스에서 정보를 가져 와서 사용자 이름 텍스트보기에 표시하려고합니다. 이것이 제 Json Method입니다. 인덱스 범위를 벗어난 오류가 발생합니다.색인 0 범위를 벗어남 [0 ... 0]
private void showJSON(String response) {
String username = "";
try {
JSONObject jsonObject = new JSONObject(response);
JSONArray result = jsonObject.getJSONArray(Constantss.JSON_ARRAY);
JSONObject profileData = result.getJSONObject(0);
username = profileData.getString(Constantss.USERNAME);
System.out.println("first" + username);
} catch (JSONException e) {
e.printStackTrace();
}
usernameView.setText(username);
System.out.println("second" + username);
}
는 아마 필요하지만이 내 데이터를 얻고 방법, 그것은 내가 ID를 검색하고 또한 나에게 이름을 제공하기 위해 PHP 코드를 실행할 수 있어요 잘 작동하지.
private void getData() {
class lata extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
CognitoCachingCredentialsProvider credentialsProvider = new CognitoCachingCredentialsProvider(
getApplicationContext(), //Context
"us-east--------------", //Identity Pool ID
Regions.US_EAST_1 // Region
//Now we retrieve
);
// return null;
String identityID = credentialsProvider.getIdentityId();
Log.d("LogTag", "my ID is" + identityID);
String id = identityID;
String userid = identityID;
System.out.println("Id is" + identityID);
System.out.println("Id tis" + id);
String url = Constantss.PROFILE_URL + identityID;
StringRequest stringRequest = new StringRequest(url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
showJSON(response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(Profile.this, error.getMessage().toString(), Toast.LENGTH_SHORT).show();
}
});
RequestQueue requestQueue = Volley.newRequestQueue(Profile.this);
requestQueue.add(stringRequest);
return identityID;
}
}
lata pasta = new lata();
pasta.execute();
}
이것은 모두 Java 코드입니다. mysqli는 어디에서 영향을 받는가? – tadman
나는 php와 Mysqli를 사용하여 정보를 검색하고있다. –