先更新一个小技巧:更改类名。
在编译器中选中打开的.java文件,然后选中类名->右键->Refactor->Rename
调试啊调试,姗姗来迟:双击打点,然后右键->Debug as->Android Application。切记调试完后把断点消掉,否则工程大了,断点太多把自己跟晕了。
TextView.setText():此方法接受int型参数,但是若为int型,则会在R文件中寻找值为传入参数值的参数,并将其显示出来。若以要显示int型数只需在其后添加+"".
1、Random类
nextInt(5):返回值为int型[0,5)。要返回[1,6],则实现为:nextInt(5)+1;
2、类型转换
long->string
Long.toString(long l);其他同理。
3、Environment类:获取sd卡跟用户相关的一些信息。getExternalStorageDirectory()获取用户主的外部存储路径。getExternalStorageState()获取sd卡状态。用此类时,一般需先判断sd卡状态:
if(Enviroment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())){}
4、xml序列化(即从内存写到xml):XmlSerializer类
先设置输出文件,再输出内容。
XmlSerializer serializer=Xml.newSerializer();
setOutput():指定输出文件。
startDocument():指定xml编码方式及是否独立,序列化完成后调用endDocument()。
startTag()、endTag():指定标签。
attribute():指定标签属性。
text():指定标签内容。
5、xml解析
DOM:先将XML全部加载内存,生成一个树状结构。消耗内存比较大。
SAX:基于事件的方式。速度快,效率高,不能倒退。
Pull解析:
XmlPullParser parser=Xml.newPullParser();
setInput():指定输入流。
假设我要写一个解析类。首先肯定要分配一块内存,然后指定xml的解码方式。然后开始读标签、属性和标签值。
没错,XmlPullParser就这么设计的。由于标签可以一直嵌套,所以使用比较复杂。
设计者太有才了,他弄了一个开始标签和一个结尾标签。
妈的,原来这么简单,碰到开始标签你就读需要的数据,碰到结尾标签你就把读到的数据保存起来。
GetEventType():得到第一个事件类型,即文档的开头。
next():可得到下一个事件类型。
getAttributeValue(int i):取得属性值。i=0:指的是标签的第一个属性。
START_TAG、END_TAG、END_DOCUMENT:开始标签、结束标签、文档结尾(根据此值来判断是否读完xml文件)。
nextText():返回标签内容,若标签内容为空则返回空字符串。
getName():获取标签名字。
黑马视频30示例文字再述:通过XmlPullParser来解析xml,然后将读到的数据存储到一个类对象中,等读完一个类对象的完整数据,就将此类对象加入到类对象list中。