나는 이미 그 문제를 게시하지만 아무도 해결책을 제공하지 못한다. 다시 말해서 나의 게시물을 다시 편집한다. 그래서 나는 & 포스트를 다시 삭제한다.어떻게 응답 배열을 잡아 & Listview에 설정? 배열 형태로 응답하고 안드로이드에서 listview를 설정하는 방법?
나는 StringRequest 클래스 &의 반응을 잘 모른다. 간단한 & 적절한 guide.it 응답으로 하나의 Jsonobject하지만 배열하지 말아주세요. 이 JSON 응답에서 내가하지 않는 데이터의 배열은 배열 & 다음 목록보기
서버 응답
I/System.out:
{
"success":true,"first_name":"savha","last_name":"jiii","mobile":2147483647
}
W/System.err: org.json.JSONException:
Value
{
"success":true,"first_name":"savha","last_name":"jiii","mobile":2147483647
}
of type org.json.JSONObject cannot be converted to JSONArray
JSON StringRequest 발리
PHP 코드
< ?php
$con=mysqli_connect(XXXXXXXXXXXXXX);
$state=$_POST["state"];
$dist=$_POST["dist"];
$statement=mysqli_prepare($con,"SELECT first_name,last_name,mobile FROM first WHERE state=? AND dist=?");
mysqli_stmt_bind_param($statement,"ss",$state,$dist);
mysqli_stmt_execute($statement);
mysqli_stmt_store_result($statement);
mysqli_stmt_bind_result($statement,$fname,$lname,$mobile);
$response=array();
$response["success"]=false;
while(mysqli_stmt_fetch($statement))
{
$response["success"]=true;
$response["first_name"]=$fname;
$response["last_name"]=$lname;
$response["mobile"]=$mobile;
}
echo json_encode($response);
?>
설정 잡는 방법을 알고
ServiceRequest 클래스
public class SevakRequest extends StringRequest {
private static final String LOGIN_REQUEST_URL="http://XXXXXX.php";
private Map<String ,String> params;
public SevakRequest(String state,String dist, Response.Listener<String> listener)
{
super(Method.POST,LOGIN_REQUEST_URL,listener,null);
params=new HashMap<>();
// params.put("service",service);
params.put("state",state);
params.put("dist",dist);
}
@Override
public Map<String, String> getParams() {
return params;
}
}
모든
public class SearchResult extends Activity {
Button btn1,btn2;
ListView lv1;
TextView tv1;
String serv, stat, dist;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_search_result);
btn1 = (Button) findViewById(R.id.btn1);
btn2 = (Button) findViewById(R.id.btn2);
lv1 = (ListView) findViewById(R.id.lv1);
tv1 = (TextView) findViewById(R.id.tv1);
Intent in = getIntent();
serv = in.getStringExtra("key1");
stat = in.getStringExtra("key2");
dist = in.getStringExtra("key3");
tv1.setText(serv + " >> " + stat + " >> " + dist);
Response.Listener<String> listener = new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject jsonResponse = new JSONObject(response);
boolean success = jsonResponse.getBoolean("success");
if (success) {
JSONArray jsonArray = new JSONArray(response);
int length = jsonArray.length();
List<String> listContents = new ArrayList<String>(length);
for (int i = 0; i < length; i++) {
String fname = jsonResponse.getString("first_name").toString();
String lname = jsonResponse.getString("last_name").toString();
String mobile = jsonResponse.getString("mobile").toString();
listContents.add("First name: " + fname + "\nLast name: " + lname + "\nMobile: " + mobile);
}
lv1.setAdapter(new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, listContents));
} else {
Toast.makeText(getApplicationContext(), "Error occurred", Toast.LENGTH_LONG).show();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
};
SevakRequest sevakRequest = new SevakRequest(stat, dist, listener);
RequestQueue queue = Volley.newRequestQueue(getApplicationContext());
queue.add(sevakRequest);
}
}
귀하의 서버 응답을 게시하십시오. – Piyush
'I/System.out : { "성공": true, "first_name": "savha", "last_name": "jiii", "mobile": 2147483647 } W/System.err : org.json .JSONException : 값 는 { "성공"사실, "FIRST_NAME": "savha", "LAST_NAME": "jiii", "모바일": 2147483647 } 형 org.json.JSONObject의 은 JSONArray로 변환 할 수 없습니다 ' –
이제 문제가 추가되었습니다 –