我对android 7.0.0有一些问题。
我为我的应用程序使用了volley库,除了Android 7.0之外它运行良好
以下是我的代码的一部分;
String url_goster = "http://185.126.217.71/clog.php";
RequestQueue requestQueue;
StringRequest request= new StringRequest(Request.Method.POST, url_goster, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
JSONObject veri_json;
try {
veri_json = new JSONObject(response);
JSONArray serial_no = veri_json.getJSONArray("Bilgiler");
for (int i = 0; i< serial_no.length(); i++){
JSONObject bilgis = serial_no.getJSONObject(i);
// JSON olarak verileri çekiyoruz
String GELEN_SERIAL = bilgis.getString("GELEN_SERIAL");
String TERMINAL_ADI = bilgis.getString("TERMINAL_ADI");
String SICAKLIK_T1 = bilgis.getString("SICAKLIK_T1");
String SICAKLIK_T2 = bilgis.getString("SICAKLIK_T2");
String SICAKLIK_T3 = bilgis.getString("SICAKLIK_T3");
String SON_DATA = bilgis.getString("SON_DATA");
String NEM_H1 = bilgis.getString("NEM_H1");
String NEM_H2 = bilgis.getString("NEM_H2");
String NEM_H3 = bilgis.getString("NEM_H3");
String SENSOR_1_AD = bilgis.getString("SENSOR_1_AD");
String SENSOR_2_AD = bilgis.getString("SENSOR_2_AD");
String SENSOR_3_AD = bilgis.getString("SENSOR_3_AD");
int SENSOR_SAYISI = bilgis.getInt("SENSOR_SAYISI");
kisiler.add(new Kisi(TERMINAL_ADI, SON_DATA, SENSOR_1_AD, SENSOR_2_AD, SENSOR_3_AD, SICAKLIK_T1, SICAKLIK_T2, SICAKLIK_T3, NEM_H1, NEM_H2, NEM_H3, GELEN_SERIAL, SENSOR_SAYISI));
}
} catch (JSONException e) {
Log.e("JSON ALIRKEN HATA",e.getLocalizedMessage());
Toast.makeText(getApplicationContext(), "Server'a bağlanılırken bir hata ile karşılaşıldı.", Toast.LENGTH_SHORT).show();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
}){
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String,String> params = new HashMap<String,String>();
params.put("ad",USER);
return params;
}
};
requestQueue.add(request);
}
如果我在Android 7.0上测试我的应用程序,控制台的输出是;
D / NetworkSecurityConfig:未使用指定的网络安全配置 平台默认I / Choreographer:跳过127帧!应用程序 可能在其主线上做了太多工作。
但这只发生在Android 7.0和应用程序看起来空白,因为它没有从互联网获得响应
。我该如何解决这个问题?
答案 0 :(得分:9)
此消息没有问题:
D/NetworkSecurityConfig: No Network Security Config specified, using platform default
D/
表示这是一条调试消息。它表示您没有定义自己的网络安全配置,因此适用平台默认规则。这很好。
应用程序看起来是空的,因为它没有来自互联网的响应
我可以告诉你,你正在解析一些JSON,迭代它,并填充kisiler
。可能kisiler
未与您的用户界面相关联。
答案 1 :(得分:1)
所以,我不认为之前的答案足够清楚。 (我花了几个小时试图&#34;调试&#34;这个)
如果您看到此提示,则表示
D / blablabla
表示这是一个Debug,不表示错误。它更像是一个通知,让您知道您没有指定NetworkSecurityConfig,并且它自己决定将其设置为默认值。没有错。
但是,您的错误会显示为:
E / blebleble
TL; DR如果您正在尝试调试错误,可能会看错地方。
答案 2 :(得分:0)
尝试将其添加到manifest.xml
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
并将适用于Windows和Mac的AVD管理器中的android仿真器更改为Pixel 2 API 28
答案 3 :(得分:-3)
使用Volley并收到此消息:
NetworkSecurityConfig:未使用指定的网络安全配置 平台默认
表示没有可用于发出请求的连接。
确保有可用的连接。