[Android开发视频教程]01_11_Activity的布局初步(三).mp4 (64797397)
[Android开发视频教程]01_12_Android常见控件(二).mp4 (63969694)
[Android开发视频教程]01_13_常用控件(三).mp4 (71075845)
@@@@
[Android开发视频教程]01_14_Handler的使用(一).mp4 (63975454)
Handler,两个队列,线程队列和消息队列的使用。
消息的传递是异步的。sendMessage(Msg)存,obtainMessage()取。
removeCallbacks(Runnable r),Remove any pending posts of Runnable r that are in the message queue.
@@@@
[Android开发视频教程]01_15_Handler的使用(二).mp4 (68134648)
1.Handler与线程
使用Thread类和Runable接口run()的区别。
2.Bundle的使用方法
和map比较像,key-value。Bundle中的key为String。
3.在新线程当中处理消息的方法
有的任务运行时间长,不一定有结果。采用异步机制,可让主线程继续下去。
HandlerThread类,采用了Looper来处理消息队列的功能,这个类由Android提供。
关于JAVA内部类:一个内部类的定义是定义在另一个类内部的类。
存在它的原因是:
1.一个内部类的对象能够访问创建它的对象的实现,包括私有数据。即内部类实例对包含它的哪个类的实例来说,是特权的。
2.对于同一个包中的其他类来说,内部类能够隐藏起来,换句话说,内部类不管方法的可见性如何,那怕是public,除了包容类,其他类都无法使用它。
3.匿名内部类可以很方便的定义回调。
4.使用内部类可以非常方便的编写事件驱动程序。
其实它真正的目的仅仅为了定义回调--进一步就是事件驱动。
http://www.cnblogs.com/whgw/archive/2011/10/03/2198506.html
Java提供了线程类Thread来创建多线程的程序。其实,创建线程与创建普通的类的对象的操作是一样的,而线程就是Thread类或其子类的实例对象。每个Thread对象描述了一个单独的线程。要产生一个线程,有两种方法:
需要从Java.lang.Thread类派生一个新的线程类,重载它的run()方法;
实现Runnalbe接口,重载Runnalbe接口中的run()方法。
利用扩展Thread类创建的多个线程,虽然执行的是相同的代码,但彼此相互独立,且各自拥有自己的资源,互不干扰。
实现Runnable接口相对于扩展Thread类来说,具有无可比拟的优势。这种方式不仅有利于程序的健壮性,使代码能够被多个线程共享,而且代码和数据资源相对独立,从而特别适合多个具有相同代码的线程去处理同一资源的情况。这样一来,线程、代码和数据资源三者有效分离,很好地体现了面向对象程序设计的思想。因此,几乎所有的多线程程序都是通过实现Runnable接口的方式来完成的。
@@@@
[Android开发视频教程]01_16_SQLite使用方法.mp4 (89761144)
1. SQLite介绍
2.SQLiteOpenHelper使用方法
3.使用adb访问SQLite
4.增、删、改、查
[Android开发视频教程]01_17_调试程序.mp4 (55798720)
@@@@
[Android开发视频教程]01_18_文件下载.mp4 (64408960)
1.使用HTTP协议下载文件
根据URL下载文件,前提是这个文件当中的内容是文本,函数的返回值就是文件当中的内容。
1)创建一个URL对象。
url = new URL(urlStr);
2)通过URL对象,创建一个HttpURLConnection对象
HttpURLConnection=(HttpURLConnection)url.openConnection();
3)获取一个InputStream对象
buffer = new BufferedReader(
new InputStreamReader(
urlConn.getInputStream()));
4)从InputStream当中读取数据
line = buffer.readLine();
StringBuffer sb = new StringBuffer();
sb.append(line);
访问网络的权限,AndroidManifest.xml中
2.将下载的文件写入SDCARD
得到当前设备SD卡的目录
SDPATH = Environment.getExternalStorageDirectory()
访问SD卡的权限,AndroidManifest.xml中
@@@@
[Android开发视频教程]01_19_ContentProvider初步.mp4 (144015460)
1.ContentProvider基本概念
为存储和获取数据提供了统一的接口;
可以再不同的应用程序间共享数据,而SQLite只在一个程序中;
Android为常见的数据提供了ContentProvider(音视频,图片,通讯录)。
2.Uri
每个ContentProvider都拥有一个公共的URI。
Android所提供的ContentProvider都存放在android.provider包当中。
3.ContentProvider的实现方法
query():查询
insert():插入
update():更新
delete():删除
getType():得到数据类型
onCreate():创建时的回调函数
1)定义一个CONTENT_URI常量。
2)定义一个类,继承ContentProvider。
3)实现query,insert,update,delete,getType,onCreate。
4)在AndroidManifest.xml当中进行声明。
android:authorities="" />
@@@@
[Android开发视频教程]01_20_XML文件解析.mp4 (71952903)
1.什么是SAX(还有一种dom解析)
Simple API for XML,既是指一种接口,也是指一个软件包。
作为接口,SAX是事件驱动型XML解析的一个标准接口。
SAX与DOM的比较
http://shellfj.iteye.com/blog/1084620
2.SAX基本原理
SAX Reader对文档进行顺序扫描,当扫描到文档/元素的开始与结束等地方时,
通知事件处理函数,由事件处理函数做相应动作,然后继续扫描到文档结束。
Content Handler; Error Handler; DTD Handler; Entity Resolver.
3.SAX常用接口
ContentHandler接口
void startDocument()
void endDocument()
void startElement(...)
void endElement(...)
void characters(...)
4.SAX解析
1)创建事件处理程序。
SAXParserFactory factory = SAXParserFactory.newInstance();
SMLReader reader = factory.newSAXParser().getXMLReader();
2)创建SAX解析器。
3)将事件处理程序分配给解析器。
4)对文档进行解析,将每个事件发送给处理程序。
阅读(2097) | 评论(0) | 转发(0) |