我有一个来自codecanyon
的应用程序源,我将构建我的应用程序。我正在学习机器人。我发现在一个函数中我收到了一个名为HttpParams deprecated
的警告。我的代码如下。任何人都可以建议我如何使其正常工作?
public static boolean IsContestEnabled() {
boolean result = false;
String geturl = DataManager.SIMPLE_BASE_URL + "getContest.php";
HttpParams param = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(param, 4000);
HttpConnectionParams.setSoTimeout(param, 10000);
HttpClient client = new DefaultHttpClient(param);
// Send Httpget request
HttpGet get = new HttpGet(geturl);
try {
HttpResponse responsePOST;
String response = null;
responsePOST = client.execute(get);
HttpEntity resEntity = responsePOST.getEntity();
if (resEntity != null) {
// get response
response = EntityUtils.toString(resEntity);
result = true;
try {
JSONObject c = new JSONObject(response);
String status = c.getString("success");
if (status.equals("1")) {
DataManager.status = status;
} else {
DataManager.status = status;
}
} catch (JSONException e) {
Log.e("JSON Parser", "Error parsing data " + e.toString());
}
}
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result;
}
我已经通过Google
尝试了一些更改并使用Stackflow
,但它无效。如果有人可以挽救我的一天,请告诉我。感谢
答案 0 :(得分:1)
设置Retrofit很容易,你只需要一个Response对象的接口,你需要定义一个名为PostService
的接口和一个POJO类来封装你的数据Post
(在你的情况下)像这样:
public interface PostService {
@GET("{api end point (excluding the base url)}")
Call<List<Post>> listPosts();
}
稍后您需要设置Retrofit实例,该实例将设法调用API基本URL并挂钩您要收集的资源:
Retrofit retrofit = new Retrofit.Builder()
.addConverterFactory(GsonConverterFactory.create())
.baseUrl("https://{your base URL}/")
.build();
PostService mService = retrofit.create(PostService.class);
我建议您将活动中的改装对象设置为清理样板。如果您采用MVP模式,演示者是获得改造对象的最佳位置。
既然已经设置了所有内容,您应该准备好调用改进实例并从api中获取数据,这样就可以了
Call<List<Post>> posts = mService.listPosts();
Ps:你需要分别在这里找到的Gson和OkHttp库(放在gradle文件中):
//Gson Library
compile 'com.google.code.gson:gson:2.8.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'
//OkHttp3
compile 'com.squareup.okhttp3:okhttp:3.5.0'
compile 'com.squareup.okio:okio:1.11.0'