首页 > 代码库 > 安卓实训第四天--基于HttpClient来完成数据在服务器和设备间的交互。

安卓实训第四天--基于HttpClient来完成数据在服务器和设备间的交互。

上午:老师首先回顾了昨天作业。

首先在安卓工程中的TOOLS文件中,解析字节流那里,不用改变,而是把服务器端的编码方式变为UTF-8,然后将在安卓工程的LoginActivity类中的USERNAME给他强制转换下。

总结一句话:如果一个字符通过某个编码转换成字节码之后,那你在转换的时候必须拿到转换之前的字节码
补充:如何改变mysql连接工具的编码方式:
jdbc:mysql://localhost:3306/databasename?useUnicode=true&characterEncoding=UTF-8 
问号后面加上那个就行了
如果是hibernate的话配置到<property name="connection.url">里面
mysql不支持中文,不过取出来的时候是可以还原成中文的.

然后讲了比HttpUrlConnection更简单快捷的方法来完成对服务器的交互。

一个方法new的谁,就执行谁的方法,如果在方法中使用了SUPER关键字调用其父亲的方法,那么就先执行父亲,如果父亲的方法也使用了SUPER,那么一次先执行,父亲的父亲的方法

  然后注意一个网站GitHub,以下是从这个网站上面翻译过来的HttpClient相关内容:
 

Features

  • Make asynchronous HTTP requests, handle responses in anonymous callbacks
  • HTTP requests happen outside the UI thread
  • Requests use a threadpool to cap concurrent resource usage
  • GET/POST params builder (RequestParams)
  • Multipart file uploads with no additional third party libraries
  • Tiny size overhead to your application, only 25kb for everything
  • Automatic smart request retries optimized for spotty mobile connections
  • Automatic gzip response decoding support for super-fast requests
  • Binary file (images etc) downloading with BinaryHttpResponseHandler
  • Built-in response parsing into JSON with JsonHttpResponseHandler
  • Persistent cookie store, saves cookies into your app’s SharedPreferences
特性
进行异步HTTP请求,处理响应在匿名回调
HTTP请求发生在UI线程
请求使用threadpool帽并发资源使用情况
GET / POST参数构建器(RequestParams)
多部分文件上传,没有额外的第三方库
小尺寸应用程序开销,只有25 kb为我所做的一切
自动智能移动连接请求重试优化参差不齐
自动解码支持gzip反应速度超快的请求
二进制文件(图片等)与BinaryHttpResponseHandler下载
内置的解析与JsonHttpResponseHandler JSON响应
持久化cookie存储、保存cookie到你的应用程序的SharedPreferences