我正在使用volley创建jsonArray请求但是onError()会一直执行,尽管我已经添加了依赖项,Internet权限。 这是我的请求代码
RequestQueue requestQueue = Volley.newRequestQueue(this);
JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(Request.Method.GET, "http://api.aladhan.com/v1/timingsByCity?city=Dubai&country=United%20Arab%20Emirates", null, new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
try {
JSONObject obj = (JSONObject) response.get(0);
Toast.makeText(City_Timing.this, obj.getString("Fajr"), Toast.LENGTH_SHORT).show();
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(City_Timing.this, "Error", Toast.LENGTH_SHORT).show();
}
});
requestQueue.add(jsonArrayRequest);
我的 AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<uses-permission android:name="anandroid.permission.INTERNET"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
</activity>
<activity android:name=".Search_CIty"
android:label="SEARCH CITY"
android:parentActivityName=".MainActivity"/>
<activity android:name=".City_Timing"
android:label="TIMING"
android:parentActivityName=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".History"
android:label="HISTORY"
android:parentActivityName=".MainActivity"/>
<activity android:name=".AboutUS"
android:label="ABOUT US"
android:parentActivityName=".MainActivity"/>
</application>
仅显示onError的toast。我试图将请求类型更改为字符串,JsonObject请求但没有任何工作,只有在错误时才会一直执行。
答案 0 :(得分:3)
您在互联网权限中输入错误,更改
<uses-permission android:name="anandroid.permission.INTERNET"/>
到
<uses-permission android:name="android.permission.INTERNET" />
它应该是android
而不是anandroid
答案 1 :(得分:3)
请检查你的清单:
anandroid中存在拼写错误
<uses-permission android:name="anandroid.permission.INTERNET"/>
更改为
<uses-permission android:name="android.permission.INTERNET"/>
它运行正常试试这个让我知道
答案 2 :(得分:2)
只需更改此内容,
<uses-permission android:name="anandroid.permission.INTERNET"/>
要,
<uses-permission android:name="android.permission.INTERNET" />
你刚收到拼写错误,没有别的。
答案 3 :(得分:0)
试试这个
[['country', ['America', 'England'], ['apple_1_more', 'orange_1_more']], ['country', ['Mexico', 'Brazil'], ['grapes_1_less', 'banana_1_more']]]