(一)Android网络通信的六种方式示例代码

有篇网文很不错:http://www.apkbus.com/android-13316-1-1.html,

在Android中几种网络编程的方式:

(1)针对TCP/IP的Socket、ServerSocket

(2)针对UDP的DatagramSocket、DatagramPackage。这里需要注意的是,考虑到Android设备通常是手持终端,IP都是随着上网进行分配的。不是固定的。因此开发也是有一点与普通互联网应用有所差异的。

(3)针对直接URL的HttpURLConnection

(4)Google集成了Apache HTTP客户端,可使用HTTP进行网络编程。针对HTTP,Google集成了Appache Http core和httpclient 4版本,因此特别注意Android不支持httpclient 3.x系列,而且目前并不支持Multipart(MIME),需要自行添加httpmime.jar

(5)使用Web Service。Android可以通过开源包如jackson去支持Xmlrpc和Jsonrpc,另外也可以用Ksoap2去实现Webservice

(6) 直接使用WebView视图组件显示网页。基于WebView 进行开发,Google已经提供了一个基于chrome-lite的Web浏览器,直接就可以进行上网浏览网页。

尽管有多种连接服务器的方式,但受制于具体的应用场景,其实选择的方法并不多,比较常用的方法是第4种,和网页开发基本相同。

(二)榜样

榜样的力量是无穷的,在此分析一下淘宝客户端的连接方式,或许猜测的并不正确。

login(this.userName, this.password, PhoneInfo.getImei(this), PhoneInfo.getImsi(this), this.checkCode, this.checkCodeId);
...new ConnectorHelper(pubKey, userName, password, imei, imsi, nextTime, checkCode, checkCodeId,token, appkey, appsecret);...
url 中的参数:api:com.taobao.client.sys.login,t:nextTime,v:v2,username,password:RSAUtil.encrypt(password),token,checkCode,checkCodeId,appKey,topToken:(byte2hex(MD5(getBytes("gbk")))=>(appkey+appsecret+userName+nextTime),apiBaseUrl,ttid,imei,imsi,device_id,appSecret,sign


更多相关文章

  1. 如何使用arm-eabi-gdb调试android c/c++程序
  2. 【Android(安卓)应用开发】Ubuntu 下 Android(安卓)Studio 开发
  3. [置顶] 使用BleLib的轻松搞定Android低功耗蓝牙Ble 4.0开发详解
  4. 【Android应用开发】-(19)Android(安卓)串口编程原理和实现方式
  5. Android(安卓)GridView的使用
  6. android下拉刷新android-Ultra-Pull-To-Refresh使用
  7. 箭头函数的基础使用
  8. NPM 和webpack 的基础使用
  9. Python list sort方法的具体使用

随机推荐

  1. android 签名文件获取 MD5、SHA1
  2. Android projects on Github
  3. Android 挂断电话流程
  4. 禁止横屏和竖屏切换
  5. Android开发带图标的按钮
  6. Android 禁止应用在模拟器上运行
  7. 使用QT调用FFMPEG库部署到Android设备、
  8. android 在Fragment 中使用ormlite 数据
  9. Android(安卓)获取window状态栏和标题栏
  10. ImageView属性