XML XML文件的编写
1) w3C
2)一个完整的xml文件包含三部分:
java:右击 xml 文件目录—new—XML—xml file
xml文档的声明
<?xml version="1.0" encoding="UTF-8"?>
<!--注释信息 -->
xml文档的注释
xml文档元素(根元素,子元素)
3)根元素只有一个;xml中元素名区分大小写
<元素名></元素名>
<LinearLayout
layout_width =
layout_width =
background = >
<Button
/>
<Button>
</Button>
</LinearLayout>
XML文件的解析
DOM:
String bookStr = "<book>" +
+"<id>101</id><name>时间</name>"+
+"</book>"
<?xml version="1.0" encoding="UTF-8?>"
<book>
<id>101</id>
<name>时间都去哪了</name>
</book>
解析步骤:
1.构建解析器对象 DocumentBuilder
DocumentBuilderFactory factory =
DocumentBuilderFactory.newInstance();
DocumentBuilder builder =
factory.newDoucementBuilder();
2.解析文件
Document d = builder.parse("d:\\book.xml");
builder.parse("src/student.xml");
3.处理数据
根元素
Element root = d.getDoucemtnElement();
syso(root.getNodeName());
子元素
NodeList root.getChildNode();
属性
属性值
PULL
SAX
DOM4J
-------------------------------------------------
DOM
优点:
1、数量小结构清晰的xml文件
2、标准,简单,重复读取及修改xml文件时相对方便
缺点:
对于数量较大的xml文件影响系统运行性能;
PULL
特点:
1) pull是一种基本事件流的解析方案;
2)将xml中的每个元素看成一个对应的事件,然后通过
事件的发生,提取我们需要的数据;
3)pull解析是一种开源的解析方案,
解析速度快,
占用内存低,
不适用于修改的动作。
4)Android中内置了pull这种解析方案
2、解析步骤:
step1. 创建解析器对象 XMLPullParser
step2. 解析 xml 文件
step3. 处理数据
String str = "";
Reader|Writer 字符流
FileReader(str)
BufferedReader(new FileInputStream );
3、XmlPullParser 涉及的事件:
START_DOCUMENT: 0,文档开头
END_DOCUMENT: 1, 文档结尾
START_TAG: 2,标签开头
END_TAG: 3,标签结尾
作业:
有如下 students.xml 文件,请
新建Android项目,完成对 student.xml 文件的解析
然后在 LogCat 界面打印出解析出来的数据。
<?xml version="1.0" encoding="UTF-8"?>
<student>
<stuNo>1010102</stuNo>
<stuName>辉哥</stuName>
<stuSex>男</stuSex>
</student>
1、jdk 1.5新特性
2、拆装箱
3、反射
-----------------------------------------------
反射
什么是反射?
反射是java运行时的一种自省机制,此机制运行
时需要java.lang包下的一些API支持;
System.
反射的应用场景?
1)通过配置文件中的描述构建(获取)类的对象;
2)借助于反射获取(访问)类中不可直接访问的属性和方法
(即一些私有的属性和方法);
3)通过反射,实现AF(application framework)编程中通 过模块的编写;
映射
字节码对象
Class
类是对象吗?类类型的对象 Class
成员变量是对象吗?
成员属性是对象吗?
构造函数是对象吗?
反射
类的基本信息
获取类的基本信息,首先获取类的字节码对象
1、如何获取字节码对象:
i. 类名.class();
ii. 对象名.getClass();
iii.Class.forName("包名.类名");
getName();
练习:
获取 String 类的基本信息
类名
包名.类名
方法
属性
练习:Math类
包名.类名
类名
所有方法
所有自己声明的方法
所有属性
所有自己声明的属性
方法反射
属性反射
数组反射
构造方法反射
------------------------------------------------
jdk1.5
1,增强for循环的结构,forecah结构
数组 ,集合
2,Swtich 分支语句
byte,short,int,char 枚举,String(jdk1.7)
3,静态导入
4,可变参数
java 基本语法
jdk 工具
javac:.class 字节码文件
java: 将字节解释编译成一个可执行文件
eclipse: 集成开发工具
java变量,常量,表达式,运算符
java八大数据类型 转换 数据溢出
java 中的 进制 二进制 八进制 十六进制
java中数组 一维数组 定义,初始化,赋值,访问, 遍历,排序(冒泡,顺序,插入,查找等) 二维数组
java 程序结构:
顺序结构:
分支结构:
if语句
switch语句
switch(byte,short,int,char,枚举,String){
case 0: break;
case
default: 所有的case语句都不执行
}
循环结构:
循环适合场景
for()
while
do...while
break; continue;return
java面向对象
Object 类
类,对象,属性,方法
this,super
面向三大特征:继承,封装,多态
父类引用指向子类
A a = new B(); //B 继承A
Object o = new A();
抽象类,接口
is a has a
java API
基础API
Sytem Object String Date Calendar
异常API
throws 异常
try..catch
自定义异常
英文信息描述异常
IO API
字节流 InputStream|OutPutStream
FileInputStream 文件流
DataInputStream 数据流
BufferedInputStream 缓冲区流
PipedInputStream 管道流
字节
一次读一个字节
int b = in.read(); //低8位
byte[] bytes = new byte[in.avaible()];
int b1;
while((b1=in.read(bytes,0,bytes.length))!=-1){
}
字符流
Reader | Writer
FileReader(File|String)
BufferedReader(InputStream)
InputStreamReader(InputStream in)
StringReader(String str) 专门处理字符串
RandomAccessFile 类 随机读取文件内容
getFilePointer();
seek();
集合API
Collection 集合
List:重复元素
ArrayList:
LinkedList:首尾操作方法
Vector:
面试题:ArrayList和Vector
Set:不允许重复元素
HashSet
hashCode() equals()
TreeSet
顺序,comparable comparator
Map集合
HashMap,无序,计数
TreeMap,key排序
Collections工具类
sort() reverse() copy().....
XML API
] xml 编写
xml 解析
反射
Android 基础
四大组件
五大布局:
RelativeLayout: 重点
Linearlayout: ortation属性
FrameLayout: 左上角,覆盖
AbsoluteLayout: android:layout_x
TableLayout: TableRow
常用控件:
TexTView
EditText
Button
RadioGroup RadioButton
CheckBox
ImageView
ImageButton
ListView
GridView
Spinner
ProgressBar
Gallery
常用控件的属性
anroid:id
android:layout_width= " "
wrap_content
fill_parent
match_parent
40dp
DOM
String str =
"<books>
<bookA id="" name=""></bookA>
<bookB id="" name=""></bookB>
</books>"
使用dom解析解析给定的字符串
1,构建DocumentBuilder对象
2,解析文件
parse(str);
3,处理文件
Map
List
list<Map<String,String>>.....