android网络编程

•通过浏览器查看Tomcat服务器中的图片

1、将要查看的图片dd.jpg存放到Tomcat的webapps/ROOT/目录下

2、启动服务器

3、打开浏览器,输入:http://172.23.7.240:8080/dd.jpg

•网络图片查看器(带有缓存功能)

View Code

1、主线程不能被阻塞,所有很多的耗时操作都不能放在主线程中运行,否则会发生ANR异常(application not response)。

2、刷新UI界面的代码只能运行在主线程中,运行在子线程中是没有任何效果的。 如果需要在子线程总刷新UI,那么就要使用消息队列机制。

View Code
  要添加权限

1
2

•消息处理机制

android网络编程_第1张图片

消息处理机制的原理:

所有使用UI界面的操作系统,后台都运行着一个死循环,在不停地监听和接受用户发出的指令,一旦接受指令就立即执行。

当我们的Android应用程序的进程一创建的时候,系统就给这个进程提供了一个Looper(轮询器),Looper是一个死循环,它内部维护着一个消息队列,Looper不停地从消息队列中取消息,取到消息就发送给Handler,最后Handler根据接收到的消息去修改UI。

主线程创建时,消息队列和轮询器对象就会被创建,但是消息处理器对象,需要使用时,自行创建。

步骤:

1、在主线程中创建Handler

2、在线程中得到handler的引用,调用发送消息的方法

3、handler执行handlerMessage方法去西湖里消息,并修改UI界面

•HTML源文件查看器

View Code

android网络编程_第2张图片

•使用GET方式向服务器端提交数据

1、把需要提交的参数组拼到URL地址的后面:http://192.168.22.136:8080/web/servlet/LoginServlet?username=123&password=1233
缺点:
  1、提交数据的长度有限制:最大长度4kb,windows中提交数据时最大长度为1kb;
  2、不安全
优点:代码简单

View Code

•使用POST方式向服务器端提交数据(重点)

业务场景:
    1、用户登录
    2、文件上传

1、设置请求头信息POST、Content-Type、Content-Length:

conn.setRequestProperty(“Content-Type”, “application/x-www-form-urlencoded”);
  //必须添加的两个请求头信息
  conn.setRequestProperty(“Content-Length”, data.length()+"");
  conn.setRequestMethod(“POST”);

2、设置把数据提交到服务器端:
  //设置允许打开post请求的流
  conn.setDoOutput(true);
  //把数据写到服务器端
  conn.getOutputStream().write(data.getBytes());

缺点:

1、代码复杂
优点:

1、安全;
  2、提交大量的数据

View Code

•HttpClient(发送GET请求和POST请求)

View Code

• 异步HttpClient框架(发送GET请求和发送POST请求)AsyncHttpClient

View Code

你可能感兴趣的:(android网络编程)