AQuery to Retofit

时间:2017-08-26 18:51:10

标签: android networking retrofit retrofit2 aquery

我听说Retrofit更简单实用。因为AQuery最初是为了下载图像而做的,因此与服务器建立网络并不是一件好事。我阅读了这些文件,但我无法理解。如果我看到一个例子,我想我能理解。有人可以在这里举例说明如何将此代码更改为Retofit

第一个代码是使用url从服务器获取值。

public class PastQuestionFragment extends Fragment {
AQuery aq = new AQuery(getActivity());
String postUrl = "http://192.168.0.21:3000/SendPastQuestion";

TextView pastQuestion;

@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup 
container, Bundle savedInstanceState) {
    ViewGroup rootView = (ViewGroup) 
inflater.inflate(R.layout.fragment_pastquestion, container, false);
    pastQuestion = (TextView) rootView.findViewById(R.id.pastquestion);


    aq.ajax(postUrl, JSONObject.class, new AjaxCallback<JSONObject>() {
        @Override
        public void callback(String url, JSONObject json, AjaxStatus status) 
{
            if (json != null) {
                Log.d("debug", "json is not null");
                try {
                    pastQuestion.setText(json.getString("pastquestion"));
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            } else {
                Log.d("debug", "json is null");
            }
        }
    });
    return rootView;
}
}

第二个代码使用post发送值。

public void postSignUpData(String name, String id, String password, String email) {
    String postUrl = "http://192.168.0.21:3000/SignUp";
    Map<String, Object> params = new HashMap<>();
    params.put("name", name);
    params.put("id", id);
    params.put("password", password);
    params.put("email", email);

    aq.ajax(postUrl, params, String.class, new AjaxCallback<String>() {
        @Override
        public void callback(String url, String json, AjaxStatus status) {
            if (json != null) {
                Toast.makeText(aq.getContext(), "Status1 : " + status.getCode() + " + " + json.toString(), Toast.LENGTH_SHORT).show();
            } else {
                Toast.makeText(aq.getContext(), "Status2 : " + status.getCode(), Toast.LENGTH_SHORT).show();
            }
        }
    });
}

我只是一名学生,所以请详细说明。谢谢。

1 个答案:

答案 0 :(得分:0)

我建议阅读以下内容:

1-对于没有改装的下载照片:

https://stackoverflow.com/a/25463200/7709267

2-如果您想使用改造,可以在此链接中看到示例

https://futurestud.io/tutorials/retrofit-2-how-to-download-files-from-server