Android 学习随记笔记(1)

时间:2022-12-28 10:17:45

Rom–只读内存镜像:,常用于手机定制系统玩家的圈子中。 一般手机刷机的过程,就是将只读内存镜像(ROM image)写入只读内存(ROM)的过程。 常见的 ROM image 有 img、zip 等格式,前者通常用 fastboot 程序通过数据线刷入(线刷),后者通常用 recovery 模式从 sd刷入(卡刷),固 img 镜像也被称为线刷包,zip 镜像也被称为卡刷包。 国内的定制系统开发者,经常会陷入自己的产品究竟是应该称为 OS还是 UI的争论,为了避免此类争论和表示谦虚,会自称为 ROM。很多定制系统玩家也会统一将定制系统称为 ROM。
Raw–图像文件中文解释是“原材料”或“未经处理的东西”。RAW文件包含了原图片文件在传感器产生后,进入照相机图像处理器之前的一切照片信息。用户可以利用PC上的某些特定软件对RAW格式的图片进行处理。
编译和非编译的资源。资源来源两类文件:XML和raw文件,对应的也可以分为编译为二进制格式的,和非编译直接copy的。对于一般的资源XML文件,需要将XML的节点翻译的ID,所以需要编译为binary。其中res/xml中可放置任何XML格式的文件,如们自定的,可以通过R.xml.来指向该资源,并用Android提供的XML reader来解析,如XMLPullPaser。
非编译为binary的文件位于res/raw,和所有res/下的资源一样,可用R.raw.来获取该资源。读取是需使用stream-based的API,如下。audio和video文件属于这类raw文件,当然如果我们需要,也可以将一个xml文件放入res/raw目录下,作为raw文件来使用。
BufferedReader reader=new BufferedReader(new InputStreamReader(getResources().openRawResource(R.raw.w_city_code)));

java.io.BufferedReader和java.io.BufferedWriter类各拥有8192字符的缓冲区。
BufferedReader 在读取文本时,会先尽量把读取到的字符串存入缓冲区,若调用read()方法读取,会先读取缓冲区的数据,若缓冲区的数据不足,才从文件读取。
而BufferdWriter 也是类似,写入的数据不会直接写入目的地,也会先存入缓冲区,缓冲区数据满了再一行一行写入目的地。
从标准输入流System.in中直接读取使用者输入时,使用者每输入一个字符,System.in就读取一个字符。为了能一次读取一行使用者的输入,使用了BufferedReader来对使用者输入的字符进行缓冲。readLine()方法会在读取到使用者的换行字符时,再一次将整行字符串传入。
System.in是一个位流,为了转换为字符流,可使用InputStreamReader为其进行字符转换,然后再使用BufferedReader为其增加缓冲功能。

BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); //reader就是整个文件的缓存流

java 的异常处理中,
在不抛出异常的情况下,程序执行完 try 里面的代码块之后,该方法并不会立即结束,而是继续试图去寻找该方法有没有 finally 的代码块,
如果没有 finally 代码块,整个方法在执行完 try 代码块后返回相应的值来结束整个方法;
如果有 finally 代码块,此时程序执行到 try 代码块里的 return 语句之时并不会立即执行 return,而是先去执行 finally 代码块里的代码,
若 finally 代码块里没有 return 或没有能够终止程序的代码,程序将在执行完 finally 代码块代码之后再返回 try 代码块执行 return 语句来结束整个方法;
若 finally 代码块里有 return 或含有能够终止程序的代码,方法将在执行完 finally 之后被结束,不再跳回 try 代码块执行 return。
在抛出异常的情况下,原理也是和上面的一样的,你把上面说到的 try 换成 catch 去理解就 OK 了