使用改造

时间:2015-06-11 13:35:42

标签: android web server retrofit

我将开发一个小型系统来提高我的开发技能。

它由以下三个部分组成: 1. Web DB 2.网页 3. Android App

主要功能是管理会员。 (登录,只显示用户信息)

此时,我想知道Android应用程序部分。 特别是HTTP。

我找到了两个JSoupRetrofit的库。 据我所知,这些库有点不同。

我认为改装更适合我...... 到目前为止,我找不到好样品......

你能给我一个如何做到这一点的提示吗?

2 个答案:

答案 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);
}

并使用回调执行请求..