jsonArray 构成的String对象可以上传多条数据

来源:互联网 发布:linux内核入门书籍 编辑:程序博客网 时间:2024/05/22 17:36

1。 有多个对象需要上传时,可以将这些string对象放入jsonarray中,再由JsonArray转为string上传,服务器根据这个上传的String,反过来将合成的String分解为这多个String对象

  String picUrl = "";            JSONArray jsonArray = new JSONArray();            jsonArray.put(s);            try {                picUrl = URLEncoder.encode(jsonArray.toString(), "UTF-8");            } catch (UnsupportedEncodingException e) {                e.printStackTrace();            }            uploadData.setPicUrl(picUrl);            Message msg = uiHandler.obtainMessage();            msg.what = PIC_UPLOAD_SUCCESS;            uiHandler.sendMessage(msg);

2。 在Listener回调函数中,如网络请求成功失败等等,我们需要弹出一个toast提示用户,但是事实上往往不能直接弹出,(因为回调时异步的?)这时候我们可以采用handler发消息机制,如上面代码中

msg.what = PIC_UPLOAD_SUCCESS;            uiHandler.sendMessage(msg);

在类的成员变量中定义一个handler来处理消息:

   private Handler uiHandler = new Handler() {        @Override        public void handleMessage(Message msg) {            String toastInfo;            int msgWhat = msg.what;            if(msgWhat == PIC_UPLOAD_SUCCESS)            {                uploadDataToKelude();            }            else if(msgWhat == PIC_UPLOAD_FAILED)            {                uploadDataToKelude();                toastInfo = (String)msg.obj;                Toast.makeText(mContext, toastInfo, Toast.LENGTH_SHORT).show();            }            else if(msgWhat == BUG_COMMIT_RESPONSE)            {                toastInfo = (String)msg.obj;                Toast.makeText(mContext, toastInfo, Toast.LENGTH_SHORT).show();            }            super.handleMessage(msg);        }    };
0 0
原创粉丝点击