Skip to content

Latest commit

 

History

History
43 lines (43 loc) · 2.32 KB

Android开发笔记.md

File metadata and controls

43 lines (43 loc) · 2.32 KB
  • tableRow 平分固定宽度 每一列的宽度设置为android:layout_width="0.0dip",在设置每一列的android:layout_weight=“1”因为ayout_weight是将剩余空间按权重分配,而不是将全部空间按权重分配 注意:android:layout_width="match_parent或wrap_content"都不可以

  • 简单来说,Bundle就是用来传参数的【键值对key-value】在使用Bundle传递数据时,要注意,Bundle的大小是有限制的 < 0.5MB,如果大于这个值 是会报TransactionTooLargeException异常的。

  • 对于需要软件本身需要用到的程序系统变量,然而我们可以使用SharedPreferences,它是Android中最容易理解的数据存储技术,实际上SharedPreferences处理的就是一个键值对。 SharedPreferences常用来存储一些轻量级的数据。

  • 在xml的布局文件中,往往使用dp作为控件的宽度和高度尺寸,但是在Java代码中,调用getWidth()方法获得的尺寸单位却是像素px,这两个单位有明显的区别:dp和屏幕的密度有关,而px与屏幕密度无关,所以使用时经常会涉及到两者之间的互相转化,代码示例如下:
public int dp2Px(Context context, float dp) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dp * scale + 0.5f);
}
public int px2Dp(Context context, float px) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (px / scale + 0.5f);
}

  • Android在开发的过程中遇到流的转化的不可避免的,往往就需要进行互相转化,整理代码如下:
public static String inputStream2String(InputStream is) throws IOException {   
 ByteArrayOutputStream baoStream = new ByteArrayOutputStream();  
 int i = -1;   
 while ((i = is.read()) != -1) { 
      baoStream.write(i);  
  }  
  return baoStream.toString();}
public static InputStream String2inputSteam(String string) throws UnsupportedEncodingException {   
      return new ByteArrayInputStream(string.getBytes());
}