Android如何通过改造提交Json格式数据

  

本文将介绍如何通过改造库后一串json格式的数据,首先发布的json数据格式如下:
  

        {   “Id”:“字符串”,   “的DeviceId”:“字符串”,   “名称”:“字符串”,   “SumDistance”: 0,   “RouteNo”:“字符串”,   “SumPoints”: 0,   “SetupTime”:“2016 - 06 - 10 t13:11:00.766z”,   “UsedTime”: 0,   “点”:(   {   “Id”:“字符串”,   “RouteNo”:“字符串”,   “名称”:“字符串”,   “经度”:“字符串”,   “人肉搜索”:“字符串”,   “高度”:0,   “距离”:0,   “偏航”:0,   “节”:0,   “速度”:0,   “Usedtime”: 0   }   ]   }      

通过安装安卓工作室gsonformat插件,根据上面的json格式自动生成一个Bean类,本文命名为FlyRouteBean,
  

        包com.example.administrator.retrofitex;   进口并不知道;      进口android.os.Parcel;   进口android.os.Parcelable;/* *   *由管理员创建,距离=" + +距离   ”,偏航=" +偏航+   ”,距=" + +   ”,速度=" + +速度   ”,Usedtime=" + Usedtime +   '} ';   }      @Override   公共空间writeToParcel(包裹dest, int旗帜){//TODO自动生成方法存根   dest.writeString (Id);   dest.writeString (RouteNo);   dest.writeString(名称);   dest.writeString(经度);   dest.writeString(纬度);   dest.writeDouble(高度);   dest.writeDouble(距离);   dest.writeDouble(偏航);   dest.writeDouble(沥青);   dest.writeDouble(速度);   dest.writeDouble (Usedtime);   }   公共静态最终Creator创造者=new Creator () {      @Override   公共PointsBean createFromParcel(包裹){//TODO自动生成方法存根   PointsBean PointsBean=new PointsBean ();   pointsBean.setId (source.readString ());   pointsBean.setRouteNo (source.readString ());   pointsBean.setName (source.readString ());   pointsBean.setLongitude (source.readString ());   pointsBean.setLatitude (source.readString ());   pointsBean.setHeight (source.readInt ());   pointsBean.setDistance (source.readInt ());   pointsBean.setYaw (source.readInt ());   pointsBean.setPitch (source.readInt ());   pointsBean.setSpeed (source.readInt ());   pointsBean.setUsedtime (source.readInt ());   返回pointsBean;   }      @Override   公共PointsBean [] newArray (int大小){//TODO自动生成方法存根   返回新PointsBean(大小);   }      };      @Override   公共int describeContents () {//TODO自动生成方法存根   返回0;   }   }      @Override   公共字符串toString () {   返回“FlyRouteBean {”+   " Id=" + Id \“+ +”   ”,的DeviceId=" +的DeviceId \“+ +”   “Name=" +名字+ \”   ”,SumDistance=" + SumDistance +   ”,RouteNo=" + RouteNo \“+ +”   ”,SumPoints=" + SumPoints +   ”,SetupTime=" + SetupTime \“+ +”   ”,UsedTime=" + UsedTime +   ”,点=" +点+   '} ';   }         }   之前      

然后就来建立接口了,其内容如下:
  

        公共接口PostRoute {   @Headers ({- type: application/json, application/json接受:“})//需要添加头   @POST (“api/FlyRoute/添加”)   CallpostFlyRoute (@Body RequestBody路线);//传入的参数为RequestBody   }   之前      

接下来就是提交数据的了:

        FlyRouteBean FlyRouteBean=new FlyRouteBean ();   flyRouteBean=initdata (flyRouteBean);//根据Bean类初始化一个需要提交的数据类   Gson Gson=new Gson ();   字符串路线=gson.toJson (flyRouteBean);//通过Gson将Bean转化为Json字符串形式            翻新改造=new Retrofit.Builder ()   .baseUrl (URL)   .addConverterFactory (GsonConverterFactory.create ())   .build ();   PostRoute PostRoute=retrofit.create (PostRoute.class);   RequestBody身体=RequestBody.create (okhttp3.MediaType.parse (“application/json;charset=utf - 8”),路线);   Call电话=postRoute.postFlyRoute(身体);   调用。排队(新的Callback () {   @Override   公共空间>   (HttpPost)   公共IHttpActionResult信息(学生斯图,bool IsGay)   {      返回Ok (stu.Name);   }   之前      

客户端:

Android如何通过改造提交Json格式数据