Posts tagged: android sqlite

中国水系Android第一个版本

写这个例子的目的是供同事和开发Android的朋友学习借鉴。 这个版本不是凭空冒出来的,就像爱因斯坦做手工的故事(不知道的见这里)一样,还有更丑的“小凳子”,它们是: 简单使用SimpleCursorAdapter 在视图显示中使用Style 在视图显示中使用Theme android 1.6下使用Loader示例 参考它们可以了解版本的演进过程。可能降低学习曲线。 这个版本的首页: 点击条目,会弹出带图片的详细信息界面: 这里的图片是从维基百科直接下载的,并会缓存在本地。 另外,就是对横竖屏使用了不同的布局:    发送文章为PDF   

android 1.6下使用Loader示例

android 3.0 sdk,引入了很多新api,比如Loader。和Fragment类似(编写兼容android1.6的fragment),该api也可在android 1.6以上版本执行。 以下介绍如何编写Loader,实现对ListView的异步加载。效果如图: 示例中有一个后台线程每隔3秒更新数据库的长江记录,将记录改为“长江”或“Long River”。ListView无需监控数据库变化,基于Loader,会自动更新。实际上这里面是观察者模式,无非是系统自带了,只需调用即可,无需自己构造观察者。 这个示例也是完整的sqlite+content provider+cursor adapter+listview+loader组合示例。 日志引用中国水系Android第一个版本    发送文章为PDF   

在视图显示中使用Theme

在在视图显示中使用Style中,使用的是针对一个视图指定元素的样式。如果要针对整个Activity,对它的背景颜色和字体等做统一的样式约定,就需要使用另外一个技术,theme。 以下示例就是在在视图显示中使用Style基础上增加了theme。 日志引用中国水系Android第一个版本android 1.6下使用Loader示例    发送文章为PDF   

在视图显示中使用Style

如果视图界面风格需要统一的规划,就需要使用android视图技术中的style。这类似HTML技术和CSS技术的关系。 示例改编自简单使用SimpleCursorAdapter。示例截图如下: 日志引用中国水系Android第一个版本在视图显示中使用Theme    发送文章为PDF   

简单使用SimpleCursorAdapter

如果使用Sqlite,建议和ContentProvider结合使用。这样数据库的生命周期就不用自己管了。然后,如果要在比如ListView中显示,可以使用CursorAdapter。简化的办法是使用子类SimpleCursorAdapter。 以下就介绍一下使用sqlite+content provider+cursor adapter的最简单实现示例。太简单了,示例如图: 日志引用中国水系Android第一个版本在视图显示中使用Style    发送文章为PDF   

ListView自定义对话框以及列表形式的切换

对在原有ListView示例上做的改进做了进一步的改进。从界面变化来看,主要是增加了自定义对话框,以及列表形式的切换。看截图: 长按后还是显示checkbox。点击view按钮,将出现对话框: 如果touch对话框以外的区域,对话框将消失,这就比较类似ios里的popover了。 view mode下的radio按钮,可以切换列表形式,比如从缩略图(默认的模式)转换到列表模式下。 日志引用对话框的使用小结GridView和ContextMenu    发送文章为PDF   

在content provider中使用二进制数据

在android的sqlite中,如果要处理二进制数据,就要用到blob类型。这也可以运用到content provider中。 实现了一个超丑陋的示例,在编写完整的Content provider示例基础上。 日志引用在content provider中使用大型二进制文件    发送文章为PDF   

在Content provider实现中使用SQLiteOpenHelper

在前面的编写最简单的Content Provider的示例是很粗糙的,目的是让读者尽快了解怎样编写和使用Content provider。 其中一个事情是,如果重复启动该应用,会多次插入,产生重复的记录并显示到activity中。在上个例子中没有做处理,比如判断是否存在数据库等等。 Android为SQLite提供了便利的API,方便自动创建新的数据库或者升级数据库。其实本文的示例并不一定要在Content provider使用情况下,是在android sqlite编程下都可以用的。 android提供了这个类: android.database.sqlite.SQLiteOpenHelper 有两个抽象方法需要继承以后实现: public void onCreate(SQLiteDatabase database) public void onUpgrade(SQLiteDatabase database, int oldVersion,                 int newVersion) 其中第一个onCreate方法,在实现代码中要写出怎样创建你需要的数据库和表,以及一些初始数据。这实际上是个回调(callback),android会自动判断是否有该数据库,如果没有,就调用这个方法创建。 onUpgrade方法,在这种情况下调用,你的应用中的sqlite数据库升级了,比如,表结构都发生了变化,那么android就会调用这个方法升级数据库。你需要实现这个方法,指出如何升级数据库,在下面示例中,是很简单的一种做法,就是删除就版本数据库,重新创建新版本的数据库。复杂的做法(也是平滑升级的做法)是,把旧数据库中的信息导入到新数据库中。 日志引用简单使用SimpleCursorAdapter编写完整的Content provider示例    发送文章为PDF   

星期五 七月 30th, 2010 in , , , | No Comments »