摘要: 上一节中使用ListView+SimpleAdapter来展示列表数据,但是它只接受List<? extends Map<String, ?>> 类型数据,很多时候我们的数据是从SQLite数据库中来的,通常SQLite返回的是一个Cursor类型数据,要完全使用在SimpleAdapter中,只能把Cursor数据取出再放在List<? extends Map<String, ?>>中,这样一来做了一些无用功,耗费了计算,那么有没有更好的办法直接把Cursor放在一个适配器中,用来为ListView展示数据呢? 很明显的,有了SimpleCur 阅读全文
posted @ 2011-04-15 21:01 东子哥 阅读(3526) 评论(1) 推荐(2) 编辑
摘要: 上一节中一些列表集合数据到手机屏幕时,通常采用ListView组件+ArrayAdapter.虽然它能为我们提供展示数据列表的能力,但是展示的项却不能定制,如果我们的项是由2个TextView组成的,它就无能为力了。项目中大部分的不单单是展示简单的项模板,更多时候,我们可以对项模板进行一些定制,来满足我们的需求,假设项模板需要展示2个TextView 呢?怎么办?我们可以使用SimpleAdapter+ListView来实现。SimpleAdapter其中一个构造函数如下:public SimpleAdapter (Context context, List<? extends Map& 阅读全文
posted @ 2011-04-15 13:18 东子哥 阅读(3060) 评论(2) 推荐(0) 编辑
摘要: 通常我们需要展示一些列表集合数据到手机屏幕时,通常采用ListView组件,该组件提供一些可以定制的列表展示功能,但是它需要数据源,android通过数据适配器来沟通ListView与数据源。可以充当ListView数据设配器的adapter有很多,可定制性也更加广泛。通常有如下几种:ArrayAdapter SimpleAdapter CursorAdapter ,他们都来继承自BaseAdapter。结构继承关系public interface ListAdapter extends Adapter android.widget.ListAdapter子类及间接子类直接子类 ArrayAd 阅读全文
posted @ 2011-04-15 12:23 东子哥 阅读(8090) 评论(3) 推荐(2) 编辑
摘要: 上一节中,我们使用SAX方式解析xml文档, SAX方式是基于事件驱动的。当然android的事件机制是基于回调函数的。在这一节中,我们用另外一种方式解析xml文档,这种方式也是基于事件驱动的,与SAX方式一样,它就是PULL方式。只不过PULL方式读xml回调方法返回的是数字。 读取到xml的声明返回 START_DOCUMENT; 读取到xml的结束返回 END_DOCUMENT ; 读取到xml的开始标签返回 START_TAG 读取到xml的结束标签返回 END_TAG 读取到xml的文本返回 TEXT xml数据结果还是采用我们先前使用的river.xml文件。采用PULL方式与SA 阅读全文
posted @ 2011-04-15 10:31 东子哥 阅读(19993) 评论(1) 推荐(3) 编辑
摘要: 上一节中,我们使用DOM方式解析xml文档,该方式比较符合我们日常思维方式,容易上手,但是它直接把文档调入内存中,比较耗内存。在这里我们可以用另外一种方式解析xml,这个就是SAX方式。SAX即是:Simple API for XMLSAX是基于事件驱动的。当然android的事件机制是基于回调函数的,在用SAX解析xml文档时候,在读取到文档开始和结束标签时候就会回调一个事件,在读取到其他节点与内容时候也会回调一个事件。既然涉及到事件,就有事件源,事件处理器。在SAX接口中,事件源是org.xml.sax包中的XMLReader,它通过parser()方法来解析XML文档,并产生事件。事件处 阅读全文
posted @ 2011-04-14 23:52 东子哥 阅读(18603) 评论(9) 推荐(6) 编辑
摘要: 在androd手机中处理xml数据时很常见的事情,通常在不同平台传输数据的时候,我们就可能使用xml,xml是与平台无关的特性,被广泛运用于数据通信中,那么在android中如何解析xml文件数据呢?通常有三种方式:DOM,SAX,PULL在这一节中我们使用DOM方式来处理。DOM方式解析xml是先把xml文档都读到内存中,然后再用DOM API来访问树形结构,并获取数据的,但是这样一来,如果xml文件很大呢?手机CPU处理能力当然不能与PC机器比,因此在处理效率方面就相对差了,当然这是对于其他方式处理xml文档而言。解析xml文档,当然必须有xml文档文件啦,我自己胡乱弄了一个river,放 阅读全文
posted @ 2011-04-14 21:08 东子哥 阅读(31317) 评论(6) 推荐(8) 编辑
摘要: 在第一节中,我们使用Handler、Thread/Runnable 、URL、HttpURLConnection等等来进行异步下载网络图片。然后第二节中换了AsyncTask方式。那么这一节我们再应用其他方式,这个方式与第一节有点雷同,感觉走了一圈回到原地,只是风景更加美丽。人生很多时候也是如此,从NULL中来再回到NULL中。那么它是谁呢?java.util.concurrentjava.util.concurrent 是在并发编程中很常用的实用工具类。ExecutorService类:具有服务生命周期的Executors。Executors 类:执行器,将为你管理Thread 对象。我们知 阅读全文
posted @ 2011-04-13 22:02 东子哥 阅读(7544) 评论(8) 推荐(2) 编辑
摘要: 在上一节中,我们使用Handler、Thread/Runnable 、URL、HttpURLConnection等等来进行异步下载网络图片。但是采用这种方式有一些缺点,如下:线程的开销较大,如果每个任务都要创建一个线程,那么程序的效率要低很多。线程无法管理,匿名线程创建并启动后就不受程序的控制了,如果有很多个请求发送,那么就会启动非常多的线程,系统将不堪重负。 另外,前面已经看到,在新线程中更新UI还必须要引入handler,这让代码看上去非常臃肿。那么有没有比较更好好的实现方式呢?这个可以有!它就是AsyncTaskAsyncTask的特点是任务在主UI线程之外运行,而回调方法是在主UI线程 阅读全文
posted @ 2011-04-13 19:38 东子哥 阅读(10264) 评论(4) 推荐(3) 编辑
摘要: 项目中有时候需要获取网络上的图片,并下载下来到手机客户端显示。怎么做呢?实现思路是:1:在UI线程中启动一个线程,让这个线程去下载图片。2:图片完成下载后发送一个消息去通知UI线程2:UI线程获取到消息后,更新UI。这里的UI线程就是主线程。这两个步骤涉及到一些知识点,即是:ProgressDialog,Handler,Thread/Runnable,URL,HttpURLConnection等等一系列东东的使用。现在让我们开始来实现这个功能吧!第一步:新建项目。第二步:设计好UI,如下所示View Code <?xml version="1.0" encodi 阅读全文
posted @ 2011-04-13 17:56 东子哥 阅读(35827) 评论(14) 推荐(2) 编辑
摘要: 很抱歉,博客更新速度比较慢,因此隔了1天才更新Flex之类的文章,毕竟我也是刚开始接触Flex,好了,废话不多说,让我们开始我们第二章节的学习吧。 很多时候,我们为了处理不同的数据,把数据放在不同的区域中,于是怎么规划这些数据呢?很明显的,我们可以用容器包容这些数据,于是我们就涉及到了这样一个概念,布局容器,类似html页面一样使用DIV+CSS来划分不同区域,并且美化。 我们新建立一个应用程序项目(不了解的请参见第一章节)打开主应用程序文件,比如我的Demo.mxml ,在舞台上切换源代码试图,初始代码如下:[代码]我们可以看到,第1节点是描述此文件是以XML文件格式为基础的,并且标明了编码 阅读全文
posted @ 2010-04-09 15:06 东子哥 阅读(1247) 评论(0) 推荐(0) 编辑