Android开发中的小技巧
2015-09-30 18:15
531 查看
本文仅仅为个人开发中容易遗忘的一些知识点,某些省略地方看不懂的请原谅或绕过!CSDN如有隐藏功能,作为笔记的部分是会主动隐藏的,不希望误导某些人,请留心此标记
alt + pageUp
alt + pageDown
切换 代码之间 打开的文件
ctrl+ pageUp
ctrl+ pageDown
点击 –>方法名 —>右击 Android junit测试
Gson 把 一个json 字符串 转换为一个java 对象
两个方法 getItemViewType(int position); 和 getViewTypeCount();//用了两个item布局
且为了 listView的缓存效率 ,用到了ViewHolder(普通类 )
listView的缓存效率
listView多布局的使用
第三方Api的调用
初始化欢迎数据,(即先设置 1 个listView数据 )
消息传送和更新UI
处理 消息
httpUrlConnection.setDoInput(true);以后就可以使用conn.getInputStream().read();
get请求用不到conn.getOutputStream(),因为参数直接追加在地址后面,因此默认是false。
post请求(比如:文件上传)需要往服务区传输大量的数据,这些数据是放在http的body里面的,因此需要在建立连接以后,往服务端写数据。
因为总是使用conn.getInputStream()获取服务端的响应,因此默认值是true。
java.io.BufferedInputStream.available() 方法返回从输入流中读取不受阻塞,输入流方法的下一次调用的剩余字节数。
Android eclipse UI设计和xml切换 快捷键
切换AndroidUI 视图 和xml 视图alt + pageUp
alt + pageDown
切换 代码之间 打开的文件
ctrl+ pageUp
ctrl+ pageDown
Android Junit 测试
测试方法必须 test开头点击 –>方法名 —>右击 Android junit测试
Gson 把 一个json 字符串 转换为一个java 对象
String jsonStr = doGet(msg); Gson gson = new Gson(); Result result = gson.fromJson(jsonStr,Result.class); // Result.class bean对象
智能小慕 机器人
使用 了枚举类型,Adapter返回 ChatMessage时候,比平时多重写了两个方法 getItemViewType(int position); 和 getViewTypeCount();//用了两个item布局
且为了 listView的缓存效率 ,用到了ViewHolder(普通类 )
listView的缓存效率
listView多布局的使用
第三方Api的调用
private final class ViewHolder{ TextView mDate; TextView mMsg ; } public View getView(int position,View convertView,ViewGroup parent){ ChatMessage charMessage = mlist.get(position); ViewHolder viewHolder = null; if(convertView == null){ if(getItemViewType(position) == 0 ){ convertView = inflater.inflate(R.layout.item_from_msg,parent,false); // 设置 ViewHolder 的引用执行 convertView的各个View viewHolder = new ViewHolder(); viewHolder.mDate = (TextView) convertView.findViewById(R.id.id_item_from_msg_date); viewHolder.mMsg = (TextView) convertView.findViewById(R.id.id_item_from_msg_info); }else{ ............... } convertView.setTag(viewHolder); // 存储 一下 ViewHolder }else{ viewHolder = (ViewHolder) convertView.getTag(); //取出ViewHolder } //设置数据 viewHolder.mDate.setText(charMessage.getDate()); viewHolder.mMsg.setText(charMessage.getMsg()); return convertView; }
初始化欢迎数据,(即先设置 1 个listView数据 )
消息传送和更新UI
onclick(){ ... //发送: 这里也需要跟新UI和 通知数据变化 ChatMessage fromMessage = HttpUtils.sendMessage(toMsg); Message msg = Message.obtain(); msg.obj = fromMessage; handler.sendMessage(msg); }
处理 消息
ChatMessage charMessage = msg.obj; list.add(fromMessage); adapter.notifyDataSetChanged(); }
HttpUrlConnection 小说明
httpUrlConnection.setDoOutput(true);以后就可以使用conn.getOutputStream().write()httpUrlConnection.setDoInput(true);以后就可以使用conn.getInputStream().read();
get请求用不到conn.getOutputStream(),因为参数直接追加在地址后面,因此默认是false。
post请求(比如:文件上传)需要往服务区传输大量的数据,这些数据是放在http的body里面的,因此需要在建立连接以后,往服务端写数据。
因为总是使用conn.getInputStream()获取服务端的响应,因此默认值是true。
java.io.BufferedInputStream.available() 方法返回从输入流中读取不受阻塞,输入流方法的下一次调用的剩余字节数。
下面的示例演示java.io.BufferedInputStream.available()方法的用法。
package com.yiibai; import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; public class BufferedInputStreamDemo { public static void main(String[] args) throws Exception { InputStream inStream = null; BufferedInputStream bis = null; try{ // open input stream test.txt for reading purpose. inStream = new FileInputStream("c:/test.txt"); // input stream is converted to buffered input stream bis = new BufferedInputStream(inStream); // read until a single byte is available while( bis.available() > 0 ) { // get the number of bytes available Integer nBytes = bis.available(); System.out.println("Available bytes = " + nBytes ); // read next available character char ch = (char)bis.read(); // print the read character. System.out.println("The character read = " + ch ); } }catch(Exception e){ e.printStackTrace(); }finally{ // releases any system resources associated with the stream if(inStream!=null) inStream.close(); if(bis!=null) bis.close(); } } } 假设有一个文本文件c:/ test.txt,它具有以下内容。该文件将被用作输入我们的示例程序: ABCDE 编译和运行上面的程序,这将产生以下结果: Available bytes = 5 The character read = A Available bytes = 4 The character read = B Available bytes = 3 The character read = C Available bytes = 2 The character read = D Available bytes = 1 The character read = E
htmlUnit page.save(new File(“file”));
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories