zoukankan      html  css  js  c++  java
  • Retrofit进行post提交json数据

    1:先看一看xutils3的提交代码

        
          String account = editText1.getText().toString(); String password = editText2.getText().toString(); JSONObject js_request = new JSONObject();//服务器需要传参的json对象 try { js_request.put("account", account);//添加相应键值对 js_request.put("password", password); } catch (JSONException e) { e.printStackTrace(); } RequestParams requestParams = new RequestParams(LOGIN_URL); requestParams.setAsJsonContent(true); requestParams.setBodyContent(js_request.toString()); x.http().post(requestParams, new Callback.CommonCallback<String>() { @Override public void onSuccess(String result) { System.out.println("**ok"+result); try { JSONObject object = new JSONObject(result); String code = object.getString("code"); if (code.equals("1")) { // button.setClickable(false); //登录成功后获得id } else { // 登陆失败 } } catch (Exception e) { e.printStackTrace(); } } @Override public void onError(Throwable ex, boolean isOnCallback) { System.out.println("errot"); } @Override public void onCancelled(CancelledException cex) { } @Override public void onFinished() { } }); }

       2:Retrofit提交过程

      2.1 登陆 urL 

      public static String LOGIN_URL = "http://114.xx.xxx.xx:8088/vdyweb/ws/rest/Login";
    

      

     interface APIStore {
    @Headers({"Content-Type: application/json","Accept: application/json"})//需要添加头 @POST ("vdyweb/ws/rest/Login") Call<ResponseBody>getMessage(@Body RequestBody info); // 请求体味RequestBody 类型
    } 
    public class Info {
        String account;
        String password;
    
        public Info(String account, String password) {
            this.account = account;
            this.password = password;
        }
    }
    

     

    public class MainActivity extends AppCompatActivity {
    public static String BASE_LOGIN_URL = "http://114.xx.xxx.xx:8088/"; Retrofit retrofit; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Info info=new Info("test","123456");
      /*** 利用Gson 将对象转json字符串*/ Gson gson=new Gson(); String obj=gson.toJson(info); retrofit=new Retrofit.Builder().baseUrl(BASE_LOGIN_URL).build(); RequestBody body=RequestBody.create(okhttp3.MediaType.parse("application/json; charset=utf-8"),obj); final APIStore login = retrofit.create(APIStore.class); retrofit2.Call<ResponseBody> data = login.getMessage(body); data.enqueue(new Callback<ResponseBody>() { @Override public void onResponse(retrofit2.Call<ResponseBody> call, Response<ResponseBody> response) { Log.d(TAG, "onResponse: --ok--"+response.body()); try { Log.d(TAG, "onResponse: --ok--"+response.body().string()); } catch (IOException e) { e.printStackTrace(); } } @Override public void onFailure(retrofit2.Call<ResponseBody> call, Throwable t) { Log.d(TAG, "onResponse: --err--"+t.toString()); } });
    } }

    3:添加get请求

      apiStore加

        @GET("vdyweb/ws/rest/device/getOwnerDevice/2/2/20")
        Call<ResponseBody>getMessage2();
    

      

     retrofit2.Call<ResponseBody>data1=login.getMessage2();
            data1.enqueue(new Callback<ResponseBody>() {
                @Override
                public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
                    try {
                        Log.d(TAG, "onResponse: --ok--"+response.body().string());
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
                @Override
                public void onFailure(Call<ResponseBody> call, Throwable t) {
    
                }
            });
    

      

      

     

     

     

  • 相关阅读:
    输人10个学生5门课的成绩,分别用函数实现下列功能:①计算每个学生的平均分; ②计算每门课的平均分; ③找出所有50个分数中最高的分数所对应的学生和课程; ④计算平均分方差: 其中,x;为某一学生的平均分。
    用递归方法求n阶勒让德多项式的值,递归公式为
    用牛顿迭代法求根。方程为ax^3+bx^2 +cx+d=0,系数a,b,c,d的值依次为1,2,3,4,由主函数输人。求x在1附近的一个实根。求出根后由主函数输出
    写一个函数,用起泡法对输人的10个字符按由小到大顺序排列
    写一个函数,输人一行字符,将此字符串中最长的单词输出
    HEX文件格式
    Linux .bashrc
    Linux dd烧写系统
    以太坊代币与账户交易
    记录智能合约solidity编译的坑
  • 原文地址:https://www.cnblogs.com/galibujianbusana/p/7891807.html
Copyright © 2011-2022 走看看