2016-12-28 33 views
8

我有一些问题为Android 7.0.0。NetworkSecurityConfig:未指定网络安全配置 - Android 7.0错误?

我用凌空库为我的应用程序,它工作得很好,除了为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和应用程序看起来空的,因为它没有得到来自互联网

的响应。我怎么解决这个问题 ?

回答

7

没有与此消息没有问题:

D/NetworkSecurityConfig: No Network Security Config specified, using platform default 

D/表示这是一个调试消息。它表示您没有定义自己的网络安全配置,因此适用平台默认规则。这很好。因为它没有从互联网

近,我可以告诉你一些解析JSON,遍历它,并填充kisiler响应

应用程序看上去是空的。也许kisiler未连接到您的用户界面。

+0

谢谢你的回答。但所有其他版本的工作,只有Android 7.0不工作,我不知道为什么:( –

+0

@Stephen:“我甚至看到 - 虽然我们使用互联网许可,它没有连接到互联网” - 直到有人发布一个完整的工作我已经在Android 7.0+上没有任何Internet访问问题,并且[我没有看到任何涉及该LogCat标签的问题文件](https:///code.google.com/p/android/issues/list?can=1&q=NetworkSecurityConfig) – CommonsWare

-2

使用凌空有这个消息:

NetworkSecurityConfig:没有网络安全配置的规定,使用 平台默认

意味着没有可用来发出请求连接。

只要确保有可用的连接。

+1

那么如何解决这个问题? – Haseeb

+0

请解释如何添加新连接 –

+0

@Haseeb只要确保有一个可用连接,Wifi或4G – Jorgesys

1

所以,我认为以前的答案是不够清楚的。 (我花了几个小时,试图以“调试”这一点)

如果你看到这个提示,但事实上,它说

d/blablabla

意味着这是一个Debug,并且不是出错。这更像是一个通知,让你知道你没有指定NetworkSecurityConfig,并且它自己决定将它设置为默认值。没有什么不对。

你的错误,但是,将本身显示为:

E/blebleble

TL; DR你可能会寻找在错误的地方,如果你想调试错误。