在 Android 中使用 Volley 提取数据

Extracting data using Volley in Android

我正在学习如何在 Android 应用程序中连接 API。我开始使用 Volley 在应用程序中显示 JSON 数据,但我不知道我在哪里做错了。我的 JSON 文件包含一个名称。 JSON 文件 link: http://www.mocky.io/v2/5e97251e3000006300b6dc2d

activity_main(.xml):

<TextView
        android:id="@+id/text_view_result1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="24dp" />

MainActivity.java

public class MainActivity extends AppCompatActivity {

    TextView  text1;
    RequestQueue mQueue;
    String name;
    String url = "http://www.mocky.io/v2/5e97251e3000006300b6dc2d";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

       // mTextViewResult = findViewById(R.id.text_view_result);
        text1 = findViewById(R.id.text_view_result1);
        Button buttonParse = findViewById(R.id.button_parse);

        mQueue = Volley.newRequestQueue(this);
        sendjsonrequest();


    }

    public void sendjsonrequest(){
        JsonObjectRequest jsonObjectRequest= new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener<JSONObject>() {
            @Override
            public void onResponse(JSONObject response) {
                try {
                    name=response.getString("name");
                    text1.setText(name);
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {

            }
        });
        mQueue.add(jsonObjectRequest);
    }
}

我已经测试了你的代码,它工作正常。您检查过您的 logcat 了吗? AndroidManifest.xml是否添加了上网权限?

<uses-permission android:name="android.permission.INTERNET" />

代码很好,有 0 个错误,我托管测试的网站出现了一些问题 JSON API。谢谢大家的帮助。

顺便说一下,只使用 https://www.npoint.io/ 来主持你的测试 JSON。