NetworkSecurityConfig:未指定Network Security Config - Android 7.0错误?

时间:2016-12-28 15:45:42

标签: java android android-studio android-volley

我对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和应用程序看起来空白,因为它没有从互联网获得响应

。我该如何解决这个问题?

4 个答案:

答案 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:未使用指定的网络安全配置   平台默认

表示没有可用于发出请求的连接。

确保有可用的连接。