Android学习笔记:Android网络编程的理解和总结

 

1、Socket通信(底层、通信的数据协议、通信模式)                   

通信模式:同步、异步

通信协议:有状态(常连接)、无状态(无常连接)(无法把第二次关联和第一次关联联系起来)

              在一次完整的通信会话过程中连接(socket)一直建立着,没有中断。

有状态:例如打电话,我第一次打给你问你吃了吗?你说吃了,然后我又问你吃啥,你说喝粥,也就是说第二次我问你的时候你知道我是谁?

无状态:我第一次打电话给你问你吃了吗?你说吃了,然后我就把电话挂了,然后我第二次打电话给你问你吃啥?你就纳闷说,你是谁啊?也就是说第二次电话你联系不起来我是第一次打电话给你的那个人。

       无状态通信协议:(HTTP(同步的)) 例如,我打开一个页面是一次请求,然后页面打开了,我把网络关闭,但是还是不影响我浏览网页。服务器的负载较小!

       但是我在当当买书的时候,点击确定的时候,弹到另外一个页面,这个页面负责浏览自己所买货物的信息,在这里另外一个页面还记得前面那个页面我所留下的记录,这是为什么呢?      

这是因为服务器为每一个访问者分配一个小的会话框,能把你的记录,都记录在对话框里,当你再次访问的时候他会自动跳到属于你的会话框。

       在例如,点餐,我分配的是三号桌,我说要点一个土豆丝,然后服务员会去给我准备土豆丝,过一段时间,我又想吃鱼,然后就在跟服务员说三号桌再来一条鱼,于是鱼的记录也被加进去了,三号桌就是属于我的会话框。

 

2、HTTP协议通信  HTTPClient  只需把自己的参数传给服务器就可以了,需要自己封装参数和解析结果

       在实际开发中用的更多的是此种方法。

 

1、客户端能够做更方便的工作,比起纯传统的web客户端。如果直接打开web网站去查询,缺陷是客户端需要流量。最大的问题是成本。其次是比较慢,用户体验效果不好。

       例如我现在要用手机打开新浪网页,网页有很多图片和信息,大概需要2M的流量,移动运营商流量费用除了包月价格1kb=1分钱。如果打开新浪的网页则需要20块钱左右,

2、不用自己定义协议,相对于第一种来说较为简单。

3、WebView  更傻的访问方式。不需要封装参数和解析结果

转载于:https://www.cnblogs.com/duancanmeng/archive/2012/02/15/2524646.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
s 计算机科学与技术系 实 验 报 告 专业名称 计算机科学与技术 课程名称 Android嵌入式软件开发 项目名称 网络数据与服务 班 级 学 号 姓 名 同组人员 无 实验日期 2016.10.18 一、实验目的与要求: 【实验目的】 掌握 Android 网络编程方法,掌握数据解析方法。 【实验要求】 1、 练习使用 HttpClient 建立网络连接,访问网络数据 2、 练习 XML 数据解析方法 3、 完成实验报告 二、实验内容 1、 电脑连接网络; 2、 新建 Android 应用程序项目 WeatherClient; 3、 业务逻辑代码与布局文件分别是MainActivity.java 、DetailActivity.java、TQYBInfo.java、XmlInfoUtil.java和activity_main.xml、a ctivity_detail.xml、listview_detail.xml。 4、 在 AndroidManifest.xml 中声明权限 <uses-permission android:name="android.permission. INTERNET "/> 实验结果截图: 图表 1 选择城市界面 图表 2 城市天气界面 三、实验分析与小结: Socket通信开发步骤 (1)新建套接字,开启服务器监听 ServerSocket ss=new ServerSocket(3080) ; ss.accept(); (2)客户端发起请求 Socket s=new Socket("192.168.1.102", 3080); 3. 获得输入流/输出流,进行数据传送和接收 s.getInputStream() s.getOutputStream() (4)关闭输入流/输出流和套接字 os.close(); s.close(); 注意:使用HttpURLConnection,只用调用java自身的jar包中的net方法,而使用Ht tpClient,要引入apache的jar包,调用里面的方法,不过这个是经过封装的,效率更高 。 【思考题】 1. 列举4种Android网络编程API? Apache、socket、URLConnection、httpConnection。 2. 常用的数据传输格式有哪两种? JSON、XML。 3. Android网络编程必须申请的权限是? <uses-permission android:name="andriod.permission.INTERNET"<uses- permission> 得分(百分制) ----------------------- Android实验七全文共4页,当前为第1页。 Android实验七全文共4页,当前为第2页。 Android实验七全文共4页,当前为第3页。 Android实验七全文共4页,当前为第4页。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值