将数据从Mysql检索到android不会';不出现

将数据从Mysql检索到android不会';不出现,android,json,Android,Json,我想在我的应用程序中检索从mysql到android的json数据,我认为所有步骤都可以,但没有结果 我从另一个活动传递了passingitem public class SingleNewsDetails extends Activity { TextView newsdetails; ImageView newspic; TextView newsaddreess; int passingitem; RequestQueue requestQueu

我想在我的应用程序中检索从mysql到android的json数据,我认为所有步骤都可以,但没有结果 我从另一个活动传递了
passingitem

    public class SingleNewsDetails extends Activity {


    TextView newsdetails;
    ImageView newspic;
    TextView newsaddreess;
    int passingitem;
RequestQueue requestQueue;
String url;
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.singlenewsdetails);
        newsdetails = (TextView) findViewById(R.id.news_details_text);
        newspic = (ImageView) findViewById(R.id.newspic);
        newsaddreess = (TextView) findViewById(R.id.news_address_text);
        Intent intent = getIntent();
        passingitem = intent.getIntExtra("news_id",0);
        getData();
    }

    public void getData() {
        url = Config.DATA_URL + String.valueOf(passingitem);
        Toast.makeText(this,url,Toast.LENGTH_SHORT).show();
        requestQueue = Volley.newRequestQueue(this);
        JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url,
                new Response.Listener<JSONObject>() {
                    @Override
                    public void onResponse(JSONObject response) {
                        try {
                            JSONArray jsonArray = response.getJSONArray("allstudents");
                            for (int i = 0; i < jsonArray.length(); i++) {
                                JSONObject respons = jsonArray.getJSONObject(i);
//                                String id = respons.getString("id");
                                String address = respons.getString("address");
  //                              String image = respons.getString("image");
                                String desc = respons.getString("desc");
                                newsaddreess.setText(address);
                                newsdetails.setText(desc);
                            }
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Log.e("VOLLEY", "ERROR");
            }
        }
        );
        requestQueue.add(jsonObjectRequest);
    }

}
传递项是从此活动传递的

   public void onItemClick(AdapterView<?> adapterView, View view, int position, long l)
    {
        Intent intent = new Intent(this,SingleNewsDetails.class);
        String selecteditem = String.valueOf(listView.getItemIdAtPosition(position));
        Toast.makeText(NewsFragmentActivity.this,selecteditem,Toast.LENGTH_LONG).show();
        intent.putExtra("news_id",position);
        startActivity(intent);
    }

我尝试toast json url,它显示在屏幕上,但没有显示任何数据。怎么了?抱歉,英语不好

您的url变量正在活动实例化中分配,而未设置passingItem这意味着您可能一直在使用此url:

在响应中返回空值:

{“所有学生”:[{“desc”:null,“image”:null}]}

我建议您将
getData()
方法修改为类似
getData(字符串url)

然后像这样称呼它:
getData(Config.DATA_URL+String.valueOf(passingitem))

不起作用。。url id仍然为0。。我认为将值设置为passing item时出现问题。显示了选定的项,但url仍然显示id=0可能是在两个活动之间传递int时出现问题吗?在第一个活动中,这是真的,但第二个活动可能不会通过。。我认为我的代码是正确的,但我不知道哪里是错误的,我现在修复了它,它显示传递项,但没有显示任何东西。您的API响应不包含地址字段,只有
desc
image
尝试在
json.get(“key”)之前使用类似
json.has(“key”)
   public void onItemClick(AdapterView<?> adapterView, View view, int position, long l)
    {
        Intent intent = new Intent(this,SingleNewsDetails.class);
        String selecteditem = String.valueOf(listView.getItemIdAtPosition(position));
        Toast.makeText(NewsFragmentActivity.this,selecteditem,Toast.LENGTH_LONG).show();
        intent.putExtra("news_id",position);
        startActivity(intent);
    }
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

<TextView
    android:layout_width="match_parent"
    android:id="@+id/news_address_text"
    android:layout_height="25dp"
    android:textSize="20dp"/>
    <ImageView
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:id="@+id/single_news_image"/>
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/news_details_text"
        android:layout_gravity="right"
        android:textSize="16dp"/>

</LinearLayout>
W/System.err: org.json.JSONException: No value for address
W/System.err:     at org.json.JSONObject.get(JSONObject.java:355)
W/System.err:     at org.json.JSONObject.getString(JSONObject.java:515)
W/System.err:     at com.example.amr.fujeraapp.News.SingleNewsDetails$1.onResponse(SingleNewsDetails.java:64)
W/System.err:     at com.example.amr.fujeraapp.News.SingleNewsDetails$1.onResponse(SingleNewsDetails.java:56)
W/System.err:     at com.android.volley.toolbox.JsonRequest.deliverResponse(JsonRequest.java:72)
W/System.err:     at com.android.volley.ExecutorDelivery$ResponseDeliveryRunnable.run(ExecutorDelivery.java:99)
W/System.err:     at android.os.Handler.handleCallback(Handler.java:808)
W/System.err:     at android.os.Handler.dispatchMessage(Handler.java:103)
W/System.err:     at android.os.Looper.loop(Looper.java:193)
W/System.err:     at android.app.ActivityThread.main(ActivityThread.java:5333)
W/System.err:     at java.lang.reflect.Method.invokeNative(Native Method)
W/System.err:     at java.lang.reflect.Method.invoke(Method.java:515)
W/System.err:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:828)
W/System.err:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:644)
W/System.err:     at dalvik.system.NativeStart.main(Native Method)