XML以及Java基础知识总结

 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>>.....
      












  







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值