无毛猫,百里挑一,大跃进

频道:我们的头条 日期: 浏览:117

Android基础开始

xml json->开发环境->数据存储->mysql->sqlite

XML: 用来传输和存储数据。

JSON:用来传输和存储数据。

JSON 比 XML 更小、更快,更易解析。

搭建JavaEE环境-创建Java工程

常用快捷键:

alt+/ 代码提示

alt+↑/↓ 代码移动

ctrl+alt+↑/↓ 代码复制

ctrl+/ 代码注释

ctrl+1 快速修复/万能键

ctrl+d 删除当前行

ctrl+shift+f 格式化代码

ctrl+o 显示大纲

ctrl+t 查看类结构

ctrl+shift+X 变大写

ctrl+shift+Y 变小写

Junit单元测试

单元测试:单元测试是开发者编写的一小段代码,用于检验代码或功能是否正确 在java里面一个方法就是一个单元

添加Junit测试

1.右键项目->build path->Configure Build path...->Libraries选项卡->add Libraries->Junit->选择相江湖双响炮应的版本->Finish

2.在方法的上面添加一个注释 @Test

断言

Assert.assertEquals(expected, actual);

expected:期望

actual :实际

注解

[1]不是注释

[2]把注解当成一种标记:比如。班级名称就是一个标记。班级里面的学生都带有这个村记

[3]标记可能是一个提示描述,也可能是一个功能描述 等等描述

JDK1.5 提供的注解

[3] @Deprecated 过时的

[4] @SuppressWarnings("") 压制

[5] @Override 重写

XML简介

[1]什么是XMl

XML 指[可扩展][标记语言](EXtensible Markup Language)

XML 是一种标记语言,很类似 [HTML]

XML 的设计宗旨是传输数据,而非显示数据

XML 标签没有被预定义。您需要自行定义标签。

XML 被设计踩踏之家0为具有自我描述性。

XML 是 W3C 的推荐标准

[2]为什么要用XMl

XML 可扩展标记语言

XML 被设计用来传输和存储数据

XML (重要)可以用来做配置文件

XML的声明

[1]定义一个xml文件,格式是固定的

[2]如何验证一个xml文件是否正确呢,直接浏览器查看就可以了

[3]xml的编码

XML的语法

[1]所有 XML 元素都须有关闭标签

[2]XML 标签对大小写敏感

[3]XML 必须正确地嵌套

[4]XML 文档必须有根元素

[5]XML 的属性值须加引号

[6]XML 中,一些字符拥有特殊的意义.需要转义。比如 < 等于 <

[7]XML 中的注释\

[8]在 XML 中,空格会被保留

[9]CDATA区 所有 XML 文档中的文本均会被解析器解析。只有 CDATA 区段(CDATA section)中的文本会被解析器忽略。

...

]]>

XML中元素的概念

[1]XML 元素指的是从(且包括)开始标签直到(且包括)结束标签的部分。

[2]元素可包含其他元素、文本或者两者的混合物。元素也可以拥有属性

[3]命名规则

[3.1]名称可以含字母、数字以及其他的秋花孽欲字符

[3.2]名称不能以数字或者标点符号开始

[3.3]名称不能以字符 “xml”(或者 XML、Xml)开始

[3.4]名称不能包含空格

xml中三种解析方式介绍

[1]dom解析 Document Object Model 官方推荐的标准

原理:把xml文件加载到内存当中,在内存中形成一个树形结构

优点:可以进行增删改查

缺点:容易内存泄漏

[2]sax解析 Simple Api For Xml 不是官方推荐的标准 是从一个程序员社区研究出来的

原理:一边解析 一边处理 一边释放付丽娟内存 实际上就是一行一行的读

优点:不会内存泄漏

缺点:不能够对数据进行增删改

API Application programming Interface应用程序接口

[3]xmlPull解析 Android中内置的解析器 这个必须会

原理:类似sax

[4]3种解析方法 只有思想 并没有提供相应的api实现

sun公司提供了一套接口Jaxp Java API For Xml processing 实现dom和sax解析

dom解析

dom解析会把xml元素 属性 文本 都当成节点

[1]javax.xml.parsers沙丁鱼挂机赚钱

[2]DocumentBuilder 使其从 XML 文档获取 DOM 文档实例。使用此类,应用程序员可以从 XML 获取一个 Document

[3]DocumentBuilderFactory 使应用程序能够从 XML 文档获取生成 DOM 对象树的解析器

[4]Document XML 文档

步骤:

[1]获取DocumentBuilderFactory 解析器工厂

[2]获取DocumentBuilder 解析器

[3]解析xml文件 获取Document 整个文档对象

[4]获取xml里面的内容

[5]获取节点里面每次个节点对象

代码:

// [1]获取DocumentBuilderFactory 解析器工厂
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
// [2]获取DocumentBuilder 解析器
DocumentBuilder builder = factory.newDocumentBuilder();
// [3]解析xml文件 获取Document 整个文档对象
Document document = builder.parse("books.xml");
// [4]获取xml黄泉乡大冒险里面的内容
NodeList nodeList = docum脱戏ent.getElementsByTagName("title");
for (int i = 0; i < nodeList.getLength(); i++) {
// [5]获取节点里面每次个节点对象
Node node = nodeList.item(i);
System.out.println(node.getTextContent()+node.getNodeType()+node.getNodeName());
}四大校花

sax解析

步骤:

[1]获取一个 SAXParserFactory 解析器工厂

[ben10剧场版变身之谜2] 获取一个SAXParser 解析器

[3]开始解析xml

代码:

// [1]获取一个 SAXParserFactory 解析器工厂 
SAXParserFactory factory = SAXParserFactory.newInstance();
// [2] 获取一个SAXParser 解析器
SAXParser parser = factory.newSAXParser();
// [3]开始解析xml
parser.parse("books.xml", new DefaultHandler() {
// 文档开始
@Override
public欲成欢 void startDocument() throws SAXEx无毛猫,百里挑一,大跃进ception {
super.startDocument();
System.out.println("startDocument");
}
// 元素开始
@Override
public void startElement(String uri, String localName, String qName, Attributes attributes)
throws SAXException {
super.startElement(uri, localName, qName, attributes);
System.out.println("startElement = " + qName);
}
// 文本内容
@Override
public void characters(char[] ch, int start, int length) throws SAXException {
super.characters(ch, start, length);
System.out.println("characters = " + new String(ch, start, length));
}
// 元素结束
@Override
public void endElement(String uri, String localName, String qName) throws SAXException {
super.endElement(uri, localName, qName);
System.out.println("endElement");
}
// 文档结束
@Ov刘强东性侵erride
public void endDocument() throws SAXException {
super.endDocument();
System.out.println("endDocument");
}
});

xmlpull解析把数据封装到javaBean中

xmlPull解析 Android中内置的解析器 这个必须会

原理:类似sax

与sax区别:sax强制解析所有,xmlPull解析可控,想解析哪个哪里就解析哪里

事件类型:

public static final int START_DOCUMENT = 0;

public static final int END_DOCUMENT = 1;

public static final int START_TAG = 2;

public static final int END_TAG = 3;

public static final int TEXT = 4;

步骤

[1]获取一个 XmlPullParserFactory 解析工厂

[2]获取一个 XmlPullParser

[3]读取xml文档

[4]获取事件类型

5]解析器向下移动

代码:

// [1]获取一个 XmlPullParserFactory 解析工厂
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
// [2]获取一个 XmlPullParser
XmlPullParser parser = factory.newPullParser();
// [3]读取xml文档
parser.setInput(new FileInputStream("books.xml"), "utf-8");
// [4]获取事件类型
int eventType = parser.getEventType();
System.out.println(eventType);
// [5]解析器向下移动
eventType = parser.next();
System.out.println(eventType);
eventType = parser.next();
System.out.println(eventType);
eventType = parser.next();
System.out.println(eventType);

解析数据:

while (eventType != XmlPullParser.END_DOCUMENT) { 
switch (eventType) {
case XmlPullParser.START_TAG:
if (parser.getName().equals("book")小倌) {
book = new Book();
String id = parser.getAttributeValue(0);
book.setId(id);
} else if (par毛丹艳ser.getName().e李若溪歌手quals("title")) {
book.setTitle(parser.nextText());
} else if (parser.getName().equals("price")) {
book.setPrice(parser.ne因风守梦xtText());
}
break;
case XmlPullParser.END_TAG:
if (parser.getName().equals("book")) {
books.add(book);
}
break;
}
eventType = parser.next();
}

json介绍

简介:

[1]JSON:JavaScript 对象表示法(JavaScript Object Notation)。

[2]JSON 是存储和交换文本信息的语法。类似 XML。

[3]JSON 比 XML 更小、更快,更易解析。

[4]JSON 是轻量级的文本数据交换格式

[5]JSON 独立于语言 *

[6]JSON 具有自我描述性,更易理解

{
"name":"张三"
}

语法:

[1]数据在名称和键值对中

名称和键值对在双引号中,名称后面写一个冒号,然后是值:

{"name" : "张三"}

等价于

name = "张三"

[2]数据由逗号分隔 金科伟业磁化净水器

[3]花括号保存对象

{ "name":"张三" , "age":"18" }

等价

name = "美国zoo张三"

age = "18"

[4]方括号保存数组

{

"person": [

{ "name":"张三" , "age":"18" },

{ "name":"王五" , "age":"19" },

{ "name":"李四" , "age":"20" }

]

}

json解析的实现

json解析 android内置

JSONObject =解析对象

JSONArray =解析数组

代码:

String json = "{'person': [{ 'name':'张三' }储志林,{ 'name':'王五' },{ 'name':'李四' }]}"; 
JSONObject object = new JSONObject(json);
JSONArray person = (JSONArray) object.get("person");
JSONObject i = (JSONObject) person.get(0);
String name = (String) i.get("name");
System.ou狗尾花下死t.println(name);
i = (JSONObject) person.get(1);
name = (String) i.get("name");
System.out.println(name);
i = (JSONObject) person.get(2);
name = (String) i.get("name");
System.out.println(name);