2016-12-28 32 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你可能會尋找在錯誤的地方,如果你想調試錯誤。