2017-01-09 35 views
0

我正在開發一個簡單的android應用程序,需要獲取併發布數據到自行開發的web api。起初,我的工作就像一個魅力,但重新啓動和更新我的iMac後,事實證明,該應用程序不再像以前一樣工作。Android應用程序:asynchttpclient unknownhostexception

返回以下錯誤Android Studio中:的java.net.UnknownHostException:無法解析主機 「sensor.creatiefingewikkeld.com」:沒有與主機名關聯的地址

這是我SensorRestClient API類:

public class SensorRestClient { 
    private static final String BASE_URL = "http://sensor.creatiefingewikkeld.com/"; 

    private static AsyncHttpClient client = new AsyncHttpClient(); 

    public static void get(Context context, String url, Header[] headers, RequestParams params, 
          AsyncHttpResponseHandler responseHandler) { 
     Log.i("tester inside get",getAbsoluteUrl(url)); 
     client.get(context, getAbsoluteUrl(url), headers, params, responseHandler); 
    } 

    public static void post(Context context, String url, RequestParams params, 
          AsyncHttpResponseHandler responseHandler){ 
     client.post(getAbsoluteUrl(url), params, responseHandler); 
    } 

    private static String getAbsoluteUrl(String relativeUrl) { 
     return BASE_URL + relativeUrl; 
    } 
} 

這是我的MainActivity類別:

public class MainActivity extends AppCompatActivity { 

    private ListView dataList; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     getData(); 
     //postData(); 
    } 
    private void getData() { 
     List<Header> headers = new ArrayList<Header>(); 
     headers.add(new BasicHeader("Accept", "application/json")); 

     SensorRestClient.get(MainActivity.this, "api/get", headers.toArray(new Header[headers.size()]), 
       null, new JsonHttpResponseHandler() { 
        @Override 
        public void onSuccess(int statusCode, Header[] headers, JSONArray response) { 

         ArrayList<SensorData> dataArray = new ArrayList<SensorData>(); 
         SensorDataAdapter dataAdapter = new SensorDataAdapter(MainActivity.this, dataArray); 
         Log.i("e","e"); 
         for (int i = 0; i < response.length(); i++) { 
          try { 
           dataAdapter.add(new SensorData(response.getJSONObject(i))); 
          } catch (JSONException e) { 
           e.printStackTrace(); 
          } 
         } 

         dataList = (ListView) findViewById(R.id.list_notes); 
         dataList.setAdapter(dataAdapter); 
        } 
        @Override 
        public void onFailure(int statusCode, Header[] headers, String res, Throwable t) { 
         Log.i("StatusCode:" , String.valueOf(statusCode) ); 
        } 
       }); 
    } 

    private void postData(){ 
     RequestParams params = new RequestParams(); 
     params.put("kind", "Temperature"); 
     params.put("title", "Test from android"); 
     params.put("data", "28"); 

     SensorRestClient.post(MainActivity.this, "api/post", params, 
       new JsonHttpResponseHandler() { 
        @Override 
        public void onSuccess(int statusCode, Header[] headers, JSONArray response) { 
         Log.i("Status-Posted: ", String.valueOf(statusCode)); 
        } 
       } 
     ); 
    } 

} 

我也使用適配器列表視圖,但我不認爲代碼是nece現在爲止。

我希望有人能幫我解決這個問題,因爲。

回答

0

在瀏覽器中檢查了URI之後,我確信你只是碰到了一個(臨時?)dns失敗的情況。你能證實這個錯誤沒有消失嗎?

+0

仍然遇到同樣的問題..我不明白這裏的問題是什麼。 –

相關問題