Java Android应用程序:asynchttpclient unknownhostexception
我正在开发一个简单的android应用程序,它需要获取数据并将数据发布到自行开发的web api中。起初,我让它像一个魔咒一样工作,但在重新启动和更新我的iMac后,结果证明该应用程序不再像以前那样工作了 Android Studio中返回以下错误:java.net.UnknownHostException:无法解析主机“sensor.creatiefingewikeld.com”:没有与主机名关联的地址 这是我的SensorRestClient api类:Java Android应用程序:asynchttpclient unknownhostexception,java,android,api,http,Java,Android,Api,Http,我正在开发一个简单的android应用程序,它需要获取数据并将数据发布到自行开发的web api中。起初,我让它像一个魔咒一样工作,但在重新启动和更新我的iMac后,结果证明该应用程序不再像以前那样工作了 Android Studio中返回以下错误:java.net.UnknownHostException:无法解析主机“sensor.creatiefingewikeld.com”:没有与主机名关联的地址 这是我的SensorRestClient api类: public class Senso
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;
}
}
这是我的主要活动课:
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));
}
}
);
}
}
public类MainActivity扩展了AppCompatActivity{
私有ListView数据列表;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getData();
//postData();
}
私有void getData(){
列表标题=新建ArrayList();
添加(新的BasicHeader(“Accept”、“application/json”);
SensorRestClient.get(MainActivity.this,“api/get”,headers.toArray(新的Header[headers.size()),
null,新的JsonHttpResponseHandler(){
@凌驾
成功时的公共void(int statusCode,Header[]headers,JSONArray响应){
ArrayList dataArray=新的ArrayList();
SensorDataAdapter dataAdapter=新的SensorDataAdapter(MainActivity.this,dataArray);
Log.i(“e”、“e”);
对于(int i=0;i
我还为listView使用了一个适配器,但我认为目前还没有必要为此编写代码
我希望有人能帮我解决这个问题,因为。在浏览器中检查URI后,我很确定您只是遇到了(暂时的?)dns故障。您能确认错误没有消失吗?仍然遇到相同的问题。。我想不出这里有什么问题。