Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Android Volley库从API获取JSON对象_Android_Json_Android Volley - Fatal编程技术网

使用Android Volley库从API获取JSON对象

使用Android Volley库从API获取JSON对象,android,json,android-volley,Android,Json,Android Volley,我尝试使用Android的截击库。为了练习,我想从星球大战API(swapi.dev)获取数据,并将其显示在屏幕上。但我在屏幕上看不到数据。我认为我的代码没有问题,我已经在清单文件中添加了行。问题的原因是什么 这是我的密码: public class MainActivity extends AppCompatActivity { private TextView textView; private RequestQueue queue; @Override

我尝试使用Android的截击库。为了练习,我想从星球大战API(swapi.dev)获取数据,并将其显示在屏幕上。但我在屏幕上看不到数据。我认为我的代码没有问题,我已经在清单文件中添加了行
。问题的原因是什么

这是我的密码:

    public class MainActivity extends AppCompatActivity {
    private TextView textView;
    private RequestQueue queue;

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

        textView = findViewById(R.id.text);
        Button button = findViewById(R.id.parse_button);
        queue = Volley.newRequestQueue(this);

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                jsonParse();
            }
        });
    }

    private void jsonParse() {
        String url = "https://swapi.dev/api/starships/9/";
        JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url, null,
                new Response.Listener<JSONObject>() {
                    @Override
                    public void onResponse(JSONObject response) {
                        try {
                            String name = response.getString("name");
                            textView.setText(name);
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                error.printStackTrace();
            }
        });
        queue.add(jsonObjectRequest);
    }
}
public类MainActivity扩展了AppCompatActivity{
私有文本视图文本视图;
私有请求队列;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView=findViewById(R.id.text);
Button Button=FindView wByd(R.id.parse_U按钮);
queue=Volley.newRequestQueue(this);
setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
jsonParse();
}
});
}
私有void jsonParse(){
字符串url=”https://swapi.dev/api/starships/9/";
JsonObjectRequest JsonObjectRequest=新的JsonObjectRequest(Request.Method.GET,url,null,
新的Response.Listener(){
@凌驾
公共void onResponse(JSONObject响应){
试一试{
字符串名称=response.getString(“名称”);
textView.setText(名称);
}捕获(JSONException e){
e、 printStackTrace();
}
}
},new Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
错误。printStackTrace();
}
});
add(jsonObjectRequest);
}
}
所以这里…sharships/9/是json数据,它的字符串带有“name”键

这是一条系统消息,显示了类似于错误的信息。

这是插座问题,请参阅以下链接: