欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    Android从服务器端获取数据的几种方法.doc

    • 资源ID:13775687       资源大小:75.50KB        全文页数:7页
    • 资源格式: DOC        下载积分:4
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要4
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Android从服务器端获取数据的几种方法.doc

    Android从效劳器端获取数据的几种方法在android中有时候我们不需要用到本机的SQLite数据库提供数据,更多的时候是从网络上获取数据,那么Android怎么从效劳器端获取数据呢?有很多种,归纳起来有一:基于 协议获取数据方法。二:基于SAOP协议获取数据方法,三:忘了-那么我们的这篇文章主要是将关于使用 协议获取效劳器端数据,这里我们采取的效劳器端技术为java,框架为Struts2,或者可以有Servlet,又或者可直接从JSP页面中获取数据。那么,接下来我们便开始这一路程:首先:编写效劳器端方法,我这里采用的MVC框架是Struts2,目的很单纯,就是为了以后做个完整的商业工程,技术配备为:android+SSH。当然,篇幅有限,我这里就直接用Strtus2而已。效劳器端:新建WebProject ,选择Java ee 5.0.为了给工程添加Struts2的支持,我们必须导入Struts2的一些类库,如下即可有些jar包是不必的,但是我们后来扩展可能是要使用到的,就先弄进去:1: xwork-core-.1.jar 2: struts2-core-3: commons-logging-.jar4: freemarker-.jar7:commons-ileupload.jar 9:json-lib-2.1-jdk15.jar  处理JSON格式数据要使用到 10:struts2-json-plugin-.1.jar    基于struts2的json插件以上的jar包,需要放在WebRoot/WEB-INF/lib目录下然后在web.xml文件中敲下:View Code <?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns=" :/java.sun /xml/ns/javaee" xmlns:xsi=" :/ w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" :/java.sun /xml/ns/javaee :/java.sun /xml/ns/javaee/web-app_2_5.xsd"><!- 定义Struts2的核心控制器:FilterDispatcher -><filter><!- 定义核心Filter的名称 -><filter-name>struts2</filter-name><!- 定义Filter的实现类 -><filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list></web-app>然后编写struts.xml文件,并放在WebRoot/WEB-INF/lib目录下:如下代码: View Code <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC"-/Apache Software Foundation/DTD Struts Configuration 2.0/EN"" :/struts.apache.org/dtds/struts-2.0.dtd"><struts><!- setting encoding,DynamicMethod,language <constant name="struts.custom.i18n.resources" value="messageResource"></constant>-><constant name="struts.i18n.encoding" value="UTF-8"></constant><constant name="struts.enable.DynamicMethodInvocation" value="true"></constant><!- add package here extends="struts-default"-><package name="dongzi" extends="json-default"> <!-需要将struts-default改为json-default-><!- setting action -><action name="login" class="com.dongzi.action.loginAction" method="login"><result type="json"></result> <!-返回值类型设置为json,不设置返回页面-> </action> </package> </struts>配置好后,我们再根据<action>标签内容来编写action。方法为method对应的login,类名为loginAction,注意:包继承为:json-default ,输出结果类型为json如下:View Code public class loginAction extends ActionSupport implements ServletRequestAware,ServletResponseAware /* */private static final long serialVersionUID = 1L; ServletRequest request; ServletResponse response;public void setServletRequest( ServletRequest request) this.request=request;public void setServletResponse( ServletResponse response) this.response=response;public void login() try / ServletRequest request =ServletActionContext.getRequest();/ ServletResponse response=ServletActionContext.getResponse();this.response.setContentType("text/html;charset=utf-8");this.response.setCharacterEncoding("UTF-8");if(this.request.getParameter("username").equals("123456")this.response.getWriter().write("真的很奇怪,日本人!");else if(this.request.getParameter("username").equals("zhd")this.response.getWriter().write("没有错,我就是东子哥!");elsethis.response.getWriter().write("我就是东子哥!");/将要返回的实体对象进行json处理 / JSONObject json=JSONObject.fromObject(this.getUsername(); /输出格式如:"id":1, "username":"zhangsan", "pwd":"123" / System.out.println(json); / this.response.getWriter().write(json.toString();/*JSONObject json=new JSONObject(); json.put("login", "login");response.setContentType("text/html;charset=utf-8");System.out.println(json);byte jsonBytes = json.toString().getBytes("utf-8");response.setContentLength(jsonBytes.length);response.getOutputStream().write(jsonBytes);*/*JSONObject json=new JSONObject(); json.put("login", "login");byte jsonBytes = json.toString().getBytes("utf-8");response.setContentType("text/html;charset=utf-8");response.setContentLength(jsonBytes.length);response.getOutputStream().write(jsonBytes);response.getOutputStream().flush();response.getOutputStream().close(); */ catch (Exception e) e.printStackTrace();/ return null; 运行查看下: :/localhost:8080/PDAServer/login.action?username=123456  当然你可以输入其他参数的URL运行成功。客户端:这里需要注意的是模拟器把自己当成了localhost,以及127.0.0.1了,因此如果基于本地的web工程测试的话,必须修改IP为:10.0.2.2public class MainActivity extends Activity /* Called when the activity is first created. */模拟器自己把自己当成localhost了,效劳器应该为10.0.2.2private static String url=" :/10.0.2.2:8080/PDAServer/login.action"Overridepublic void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.main);getPDAServerData(url); /* 请求效劳* param url*/private void getPDAServerData(String url)url+="?username=123456" Client client=new Default Client(); Post request; try request = new Post(new URI(url); Response response=client.execute(request);/判断请求是否成功if(response.getStatusLine().getStatusCode()=200) Entity entity=response.getEntity();if(entity!=null)String out=EntityUtils.toString(entity);new AlertDialog.Builder(this).setMessage(out).create().show();catch (URISyntaxException e) e.printStackTrace();catch (ClientProtocolException e) e.printStackTrace(); catch (IOException e) e.printStackTrace();  运行结果如下:成功了吧:当然读者可以根据这个思路扩展下应用,比方:struts2+hibernate+spring+json。数据方面可以用json,也可以使用xml。android已经提供了JSON的API,struts2中也可以使用JSON插件.自己扩展吧。文章整理:

    注意事项

    本文(Android从服务器端获取数据的几种方法.doc)为本站会员(scccc)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开