android gson+okhttp3+gsonformat实现网络

 Activity


package org.ninetripods.mq.asdasdasdasdasdas;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.Toast;

import com.google.gson.Gson;

import java.io.IOException;

import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.FormBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;

public class Main2Activity extends AppCompatActivity {
    private OkHttpClient mOkHttpClient;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        mOkHttpClient = new OkHttpClient();
    }

    public void dxasdas(View view) {
        new Thread(new Runnable() {
            @Override
            public void run() {
                postAsynHttp();

            }
        }).start();
    }

    private void postAsynHttp() {
        mOkHttpClient = new OkHttpClient();
        RequestBody formBody = new FormBody.Builder()
                .add("device_key", "888888")
                .add("collect_time", "2017-10-31 11:11")
                .add("day_step", "1222")
                .add("day_km", "11")
                .add("day_calorie", "232")
                .build();
        Request request = new Request.Builder()
                .url("http://112.124.111.170/xstep/index.php?s=/home/user/day_step.html")
                .post(formBody)
                .build();
        Call call = mOkHttpClient.newCall(request);
        call.enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
                showToast("请求失败");

            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                String str = response.body().string();
                gsonStr(str);
                Log.i("qweqwe", str);
                showToast("请求成功");

            }

        });
    }

    private void gsonStr(String result) {
        Gson gg = new Gson();//初始化
        RqustbodyBean rqustbodyBean = gg.fromJson(result, RqustbodyBean.class);
        int status = rqustbodyBean.getStatus();
        if (status == 1) {
            showToast(1 + "");
        } else if (status == 0) {
            showToast(0 + "");
        } else {
            showToast(3 + "");
        }
    }

    private void showToast(final String msg) {
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT).show();
            }
        });
    }
}

RqustbodyBean 实体类

package org.ninetripods.mq.asdasdasdasdasdas;

/**
 * Created by Administrator on 2017/10/31.
 */

public class RqustbodyBean {

    /**
     * status : 1
     * message : 上传成功
     * data : {"device_key":"888888","collect_strtotime":1509419460,"collect_time":"2017-10-31 11:11","day_step":"1222","day_km":"11","day_calorie":"232"}
     */

    private int status;
    private String message;
    private DataBean data;

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public DataBean getData() {
        return data;
    }

    public void setData(DataBean data) {
        this.data = data;
    }

    public static class DataBean {
        /**
         * device_key : 888888
         * collect_strtotime : 1509419460
         * collect_time : 2017-10-31 11:11
         * day_step : 1222
         * day_km : 11
         * day_calorie : 232
         */

        private String device_key;
        private int collect_strtotime;
        private String collect_time;
        private String day_step;
        private String day_km;
        private String day_calorie;

        public String getDevice_key() {
            return device_key;
        }

        public void setDevice_key(String device_key) {
            this.device_key = device_key;
        }

        public int getCollect_strtotime() {
            return collect_strtotime;
        }

        public void setCollect_strtotime(int collect_strtotime) {
            this.collect_strtotime = collect_strtotime;
        }

        public String getCollect_time() {
            return collect_time;
        }

        public void setCollect_time(String collect_time) {
            this.collect_time = collect_time;
        }

        public String getDay_step() {
            return day_step;
        }

        public void setDay_step(String day_step) {
            this.day_step = day_step;
        }

        public String getDay_km() {
            return day_km;
        }

        public void setDay_km(String day_km) {
            this.day_km = day_km;
        }

        public String getDay_calorie() {
            return day_calorie;
        }

        public void setDay_calorie(String day_calorie) {
            this.day_calorie = day_calorie;
        }
    }
}

配置文件:

compile 'com.squareup.okhttp3:okhttp:3.5.0'
compile 'com.google.code.gson:gson:2.8.0'


网络权限:

<uses-permission android:name="android.permission.INTERNET" />



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值