TCP/IP各自职责
Socket的本质,Socket与TCP/IP,ServerSocket与Socket
IO操作,ServerSocket与Socket建立连接并通过底层IO流进行通信。需要异常处理,使用finally关闭资源
CS聊天的实现,Server端读取Client端发送过来的数据,并将数据“广播”给其他客户端,因此Server端用List来保存所有的Socket.
跨平台的网络通信程序,使用UTF-8字符集进行编码、解码是较好的解决方案。
InputStreamReader –包装–> BufferedReader,字节流转为字符流
封装自己的网络协议
URL包含一个可打开到达该资源的输入流
子线程中打开URL对应的资源的输入流;从InputStream解析出资源;发送解析出的数据到UI线程;打开手机文件对应的输出流;将URL对应的资源下载到本地。
提交请求:URLConnection
GET请求,请求参数就包含在URL里面;
POST请求,需要获取URLConnection实例对应的输出流来发送请求参数。
设置请求头字段,访问远程资源头字段OR通过输入流读取远程资源数据。
改良版的URLConnection –extends–> HttpURLConnection
多线程\线程池;
AsyncTask
mipmap资源?
构建MyAdapter,最好用一个自定义的构造方法,参数为Context, ListBean。
mListView.setAdapter(adapter)的时机是何时?
——在AsyncTask执行onPostExecute()方法时。
避免ListView的缓存造成的ListItem的错乱。
在Adapter中设置tag
使用成员变量缓存
if(mImageView.getTag().equals(mUrl)) {
mImageView.setImageBitmap(bitmap);
}
美信项目没有使用缓存,所以每次都会先显示一个默认图片。
非常影响体验,这应该要避免。只有当无法加载网络图片时,才让其显示默认图片。