我将开发一个小型系统来提高我的开发技能。
它由以下三个部分组成: 1. Web DB 2.网页 3. Android App
主要功能是管理会员。 (登录,只显示用户信息)
此时,我想知道Android应用程序部分。 特别是HTTP。
我找到了两个JSoup
和Retrofit
的库。
据我所知,这些库有点不同。
我认为改装更适合我...... 到目前为止,我找不到好样品......
你能给我一个如何做到这一点的提示吗?
答案 0 :(得分:0)
如果您正在尝试连接到Web数据库,我建议使用Volley,它非常简单明了且功能非常强大:https://developer.android.com/training/volley/index.html。 这是一个关于如何使用android开发人员站点的volley设置查询的示例:
final TextView mTextView = (TextView) findViewById(R.id.text);
...
// Instantiate the RequestQueue.
RequestQueue queue = Volley.newRequestQueue(this);
String url ="http://www.google.com";
// Request a string response from the provided URL.
StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
// Display the first 500 characters of the response string.
mTextView.setText("Response is: "+ response.substring(0,500));
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
mTextView.setText("That didn't work!");
}
});
// Add the request to the RequestQueue.
queue.add(stringRequest);
答案 1 :(得分:0)
改造示例
<强>同步强>
接口
public interface RestApi {
@POST("/Login")
String login(@Body User user);
}
遵循单例设计模式的简单类
public class RestClient {
private static RestApi API_INSTANCE;
private static final String ENDPOINT = "http://192.168.6.99:50500/Phone";
static {
setUpHttpClient();
}
private static void setUpHttpClient() {
RestAdapter restAdapter = new RestAdapter.Builder()
.setEndpoint(ENDPOINT)
.setLogLevel(BuildConfig.DEBUG ?
RestAdapter.LogLevel.FULL :
RestAdapter.LogLevel.NONE)
.build();
API_INSTANCE = restAdapter.create(RestApi.class);
}
private RestClient() {}
public static RestApi getApiInstance() {
return API_INSTANCE;
}
}
例如在IntentService中调用它
String userToken = "";
try {
// post to http://192.168.6.99:50500/Phone/Login
userToken = RestClient.getApiInstance().login(new User(login, password));
} catch (RetrofitError error) {
//...
}
的build.gradle
compile 'com.squareup.retrofit:retrofit:1.9.0'
或异步
接口
public interface RestApi {
@POST("/Login")
void login(@Body User user, Callback<String> token);
}
并使用回调执行请求..