




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
手机端发送请求 /* * 获取角色对应的公共信息 * param usId * 作者 田应平 * 创建时间 2014-11-6 上午10:34:04 * QQ号码 444141300 * 主页URL */public void androidGetAnnouncement(String usId)if (TextUtils.isEmpty(usId) CustomToast.ToastError(getApplicationContext(), 获取id失败,非法操作);return ;String urlPath = HttpTools.PATH_URL + androidGetAnnouncement.htm ;RequestParams requestparams = new RequestParams();requestparams.put(usId, usId);AsyncHttpClient client = new AsyncHttpClient();client.post(urlPath, requestparams, new AsyncHttpResponseHandler()public void onSuccess(String content)dialog.dismiss();/ 返回值成功,判断是否是真实有效的数值,再解析其json数据,不然直接崩溃退出if (StringTools.stringIsNull(content)listAnnouncement = ReadJsonAnnouncement.readJsonAnnouncement(content);/用if(listAnnouncement.size() 0)boolean b = false;/两个for循环判断for (int i = 0; i listAnnouncement.size(); i+)/list.size();的性能是最好最快的,介意不要用增强for循环,如果有多个元素,方便!for(int j = 0; j listAnnouncement.get(i).size(); j+)/listAnnouncement.get(i).size()获取的是HashMap的元素个数if (key_id_null.equals(listAnnouncement.get(i).get(key_id_null) /listAnnouncement.get(i).get(key_flag)获取的是HashMap的value值!b = true;break;if (b) break;if(b)CustomToast.ToastError(getApplicationContext(), 服务器未获取用户id);return;elseannouncementIndexAdapter = new AnnouncementIndexAdapter(getApplicationContext(), listAnnouncement);layout_index_listview_Announcement.setAdapter(announcementIndexAdapter);layout_index_listview_Announcement.setOnItemClickListener(new AdapterView.OnItemClickListener()Overridepublic void onItemClick(AdapterView parent, View view, int position, long id) HashMap map = listAnnouncement.get(position);CustomToast.ToastOK(getApplicationContext(), map.get(actid);Intent intent = new Intent(getApplicationContext(), ActivityAnnouncement.class);intent.putExtra(listAnnouncement, listAnnouncement);intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);startActivity(intent);finish();overridePendingTransition(R.anim.left_in, R.anim.left_out););elseCustomToast.ToastError(getApplicationContext(), 暂无公告信息);else CustomToast.ToastError(getApplicationContext(), 服务器内部出错);Overridepublic void onFailure(int statusCode, Throwable error, String content) dialog.dismiss();if (statusCode = 0) CustomToast.ToastError(getApplicationContext(), 连接服务器失败);return;else if (statusCode = 400) CustomToast.ToastError(getApplicationContext(), 请求出现语法错误);return;else if (statusCode = 401) CustomToast.ToastError(getApplicationContext(), 访问服务器被拒绝);return;else if (statusCode = 403) CustomToast.ToastError(getApplicationContext(), 资源不可用);return;else if (statusCode = 404) CustomToast.ToastError(getApplicationContext(), 访问的URL网址不存在);return;else CustomToast.ToastError(getApplicationContext(), 未知错误);return;);服务器端接收请求/* * 手机端获取对应角色的公告消息 * param request * param response * 作者 田应平 * 创建时间 2014-11-4 * QQ号 444141300 * 主页 */ RequestMapping(/androidGetAnnouncement) public void androidGetAnnouncement(HttpServletRequest request, HttpServletResponse response)String usId = request.getParameter(usId) = null ? : request.getParameter(usId).replace(s*, );ListMap list = new ArrayListMap();try list = announcementService.androidGetAnnouncement(usId); ReqUtils.backing_out_jsonArray(list, response); catch (Exception e) e.printStackTrace(); ReqUtils.backing_out_jsonArray(list, response); Service处理并返回/* * 手机端获取对应角色的公告消息,在service层解析处理,controller层只管调用和转发 * param usId * return * 作者 田应平 * 创建时间 2014-11-6 上午9:50:02 * QQ号 444141300 * 主页URL */ public ListMap androidGetAnnouncement(String usId) ListMap resultList = new ArrayListMap();if (StringUtils.isBlank(usId) | StringUtils.isEmpty(usId) Map map = new HashMap(); map.put(key_id_null, key_id_null); resultList.add(map); return resultList;List listAnnouncementBean = new ArrayList();try listAnnouncementBean = announcementDao.androidGetAnnouncement(usId); System.out.println(announcementDao+announcementDao.toString(); if(!listAnnouncementBean.isEmpty()/ listBean转换为ListMap,通过for循环将listBean转换为ListMapfor(AnnouncementBean announcementBean : listAnnouncementBean) Map map = new HashMap(); if(null != announcementBean.getActcon() & !null.equals(announcementBean.getActcon() map.put(ACTCON, new String(announcementBean.getActcon(),UTF-8);map.put(ACTID, announcementBean.getActid().toString();/map.put(ACTTIME, announcementBean.getActtime();map.put(ACTTITLE, announcementBean.getActtitle();resultList.add(map); else byte data = new byte1024;String key_actcon = key_actcon_isNull ;data = key_actcon.getBytes();map.put(ACTCON, new String(announcementBean.getActcon() = null ? data : announcementBean.getActcon();map.put(ACTID, announcementBean.getActid().toString();/map.put(ACTTIME, announcementBean.getActtime();map.put(ACTTITLE, announcementBean.getActtitle();resultList.add(map); return resultList; return resultList; catch (Exception e) e.printStackTrace(); return resultList; Dao实现层处理并返回/* * 手机端获取对应角色的公告消息 * param request * param response * 作者 田应平 * 创建时间 2014-11-4 * QQ号 444141300 * 主页 */ public List androidGetAnnouncement(String usId)try return queryForList(Announcement.androidGetAnnouncement, usId); catch (Exception e) e.printStackTrace(); return new ArrayList(); 手机端接收和处理解析/* * 获取对应角色的公告 * param data * return * 作者 田应平 * 创建时间 2014-10-6 * QQ号码 444141300 * 主页 */public static ArrayListHashMap readJsonAnnouncement(String data)JSONArray jsonArray = JSONArray.parseArray(data);if (jsonArray.isEmpty() return null;ArrayListHashMap listMap = new ArrayListHashMap();HashMap maps = null;if (jsonArray.size() 0)boolean flag = false;/判断是否是服务器端验证是否为空的验证,还是要注意验证的先后顺序!,判断Uid是否传递过去了。for (int i = 0; i jsonArray.size(); i+)if (key_id_null.equals(jsonArray.getJSONObject(i).getString(key_id_null) flag = true;break;if (flag)for (int i = 0; i jsonArray.size(); i+)maps = new HashMap();/jsonArray.getJSONObject(i).getString(key_params) != null 必须写在第一个!if (jsonArray.getJSONObject(i).getString(key_id_null) != null & jsonArray.getJSONObject(i).getString(key_id_null).equals(key_id_null)maps.put(key_id_null, key_id_null);/获取Uid失败listMap.add(maps);return listMap;else for(int i = 0;ijsonArray.size();i+)maps = new HashMap();String actid = jsonArray.getJSONObject(i).getString(ACTID);/不要去除空格,否则报错!而且是从数据库返回来的数据值不应该trim();吧!除非你保证必填项,如id则可以去除空格String acttitle = jsonArray.getJSONObject(i).getString(ACTTITLE);/不要去除空格,否则报错!而且是从数据库返回来的数据值不应该trim();吧!除非你保证必填项,如id则可以去除空格String acttime = jsonArray.getJSONObject(i).getString(ACTTIME);/不要去除空格,否则报错!而且是从数据库返回来的数据值不应该trim();吧!除非你保证必填项,如id则可以去除空格String actcon = jsonArray.getJSONObject(i).getString(ACTCON);if (TextUtils.isEmpty(actid)/pId是不能缺少的,所以只判断id就可以了return null;else if(actcon.equals(key_actcon_isNull)/当BLOB类型为空时maps.put(actid, actid);maps.put(actcon, 暂无数据);/判断内容是否为空if (!TextUtils.isEmpty(acttitle)maps.put(acttitle, acttitle);else maps.put(acttitle, 暂无数据);if (!TextUtils.isEmpty(acttime) maps.put(acttime, acttime);else maps.put(acttime, 暂无数据);listMap.add(maps);else maps.put(actid, actid);if (!TextUtils.isEmpty(acttitle) maps.put(acttitle, acttitle);else maps.put(acttitle, 暂无数据);if (!TextUtils.isEmpty(acttime) maps.put(acttime, acttime);else maps.put(acttime, 暂无数据);if (!TextUtils.isEmpty(actcon) maps.put(actcon, actcon);else maps.put(actcon, 暂无数据);listMap.add(maps);return listMap;return null;解析处理后显示在View控件上/* * 获取角色对应的公共信息 * param usId * 作者 田应平 * 创建时间 2014-11-6 上午10:34:04 * QQ号码 444141300 * 主页URL */public void androidGetAnnouncement(String usId)if (TextUtils.isEmpty(usId) CustomToast.ToastError(getApplicationContext(), 获取id失败,非法操作);return ;String urlPath = HttpTools.PATH_URL + androidGetAnnouncement.htm ;RequestParams requestparams = new RequestParams();requestparams.put(usId, usId);AsyncHttpClient client = new AsyncHttpClient();client.post(urlPath, requestparams, new AsyncHttpResponseHandler()public void onSuccess(String content)dialog.dismiss();/ 返回值成功,判断是否是真实有效的数值,再解析其json数据,不然直接崩溃退出if (StringTools.stringIsNull(content)listAnnouncement = ReadJsonAnnouncement.readJsonAnnouncement(content);if(listAnnouncement.size() 0)boolean b = false;/两个for循环判断for (int i = 0; i listAnnouncement.size(); i+)/list.size();的性能是最好最快的,介意不要用增强for循环,如果有多个元素,方便!for(int j = 0; j listAnnouncement.get(i).size(); j+)/listAnnouncement.get(i).size()获取的是HashMap的元素个数if (key_id_null.equals(listAnnouncement.get(i).get(key_id_null) /listAnnouncement.get(i).get(key_flag)获取的是HashMap的value值!b = true;break;if (b) break;if(b)CustomToast.ToastError(getApplicationContext(), 服务器未获取用户id);return;elseannouncementIndexAdapter = new AnnouncementIndexAdapter(getApplicationContext(), listAnnouncement);layout_index_listview_Announcement.setAdapter(announcementIndexAdapter);layout_index_listview_Announcement.setOnItemClickListener(new AdapterView.OnItemClickListener()Overridepublic void onItemClick(AdapterView parent, View view, int position, long id) HashMap map = listAnnouncement.get(position);CustomToast.ToastOK(getApplicationContext(), map.get(actid);Intent intent = new Intent(getApplicationContext(), ActivityAnnouncem
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年文化创意产业发展趋势与前景试卷及答案
- 2025年文化传媒产业数字化转型考试试题及答案
- 2025年文化产业经营管理者综合能力测试试卷及答案
- 分类垃圾知识培训课件
- 2025年网络运维工程师技能考核试题及答案
- 2025年护肤膏霜项目建议书
- 聊城教招学科数学试卷
- 龙山月考数学试卷
- 青羊区4年级下册数学试卷
- 外卖食品安全宣传教育活动效果评估
- GB 24542-2009坠落防护带刚性导轨的自锁器
- 特种设备教育培训考试题
- 临床执业助理医师呼吸系统
- 检验科医师(技师)晋升高级职称晋升专题报告病例分析汇编三篇
- 工程师站及电子间管理规定
- 最新山东地图含市县地图矢量分层可编辑地图PPT模板
- 建设生态文明ppt模板课件
- 浙江鹏友化工有限公司
- 江苏常熟新材料产业园环境风险评估报告
- 《创新方法》课程教学大纲
- REFLEXW使用指南规范.doc
评论
0/150
提交评论