Android通过Url传递数据,实现分享功能
项目中要实现分享功能,因为要实时分享所以不能和server端进行数据的实时交互。所以用Url来传递数据,先把数据用一个对象封装起来,把对象通过gson转为json数据,但是在Url中的json数据需要先进行转码操作。具体代码如下:
//mShare为存储数据的对象
String json = new Gson().toJson(mShare);
String encode=null;
try {
//把json数据进行转码
encode = URLEncoder.encode(json, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
//分享内容的设置
ShareUtil.trainResultShare(this, "http://wicourt-test.xiaojiang.me/share/index_b.html"
+"?param="+encode);
//分享Url为:
"http://wicourt-test.xiaojiang.me/share/index_b.html"+"?param="+encode
其中:网页连接的url为:"http://wicourt-test.xiaojiang.me/share/index_b.html"
通过“ ?”来拼接后面要传递的数据,encode为转码后的数据
具体数据如下:
{"datas":[{"name":"项目","value":"拉球"},{"name":"类型","value":"定距"},{"name":"模式","value":"30米"}, {"name":"次数","value":"12次"},{"name":"速 度","value":"0m/s"}, {"name":"用时","value":"5s"}],"score":20,"time":5876}