Chinaunix首页 | 论坛 | 博客
  • 博客访问: 343305
  • 博文数量: 67
  • 博客积分: 2468
  • 博客等级: 上尉
  • 技术积分: 1050
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-05 01:21
文章分类

全部博文(67)

文章存档

2013年(1)

2012年(65)

2011年(1)

分类: 嵌入式

2012-08-17 09:22:32


[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)对文档进行解析,将每个事件发送给处理程序。
阅读(1573) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~