ContentProvider

android(4)事务处理,ContentProvider,ListView

假装没事ソ 提交于 2020-04-12 17:44:30
一.SQLite数据库 * 1.事务 beginTransaction(); // 开始事务 setTransactionSuccessful(); // 设置成功点, 在事务结束时, 成功点之前的操作会被提交 endTransaction(); // 结束事务, 通常放在finally中, 如果不显示关闭事务, 超市也会关闭, 但效率较低 * 2.另一种增删改查 SQLiteDatabase类中有insert(), delete(), update(), query()四个方法, 不用写SQL语句, 通过参数拼装得到SQL 通常使用在ContentProvider 二.ListView 1.三种Adapter构建ListView ListView添加条目的时候, 可以使用setAdapter(ListAdapter)方法, 常用的ListAdapter有三种 BaseAdapter: 定义一个类继承BaseAdapter, 重写4个抽象方法, ListView的条目是由getView()方法构建出来的 SimpleAdapter: 创建SimpleAdapter对象时, 传入数据(List<Map<String, ?>>), 并指定数据的绑定关系 SimpleCursorAdapter: 创建SimpleCursorAdapter对象时, 传入一个Cursor,

android原生的数据库实现[ContentProvider+SQLiteOpenHelpe...

人盡茶涼 提交于 2020-04-10 08:55:57
先吐槽下:最近几周压力老大了,前面我们三个ios开发人员花了一个多月开发的应用要移植到android上,由于应用相对比较复杂,有拖拽排序、离线下载、二维码扫描,而这次,另一个ios开发人员离职,剩下的另一个还没做个android,得由我带,于是,我估计了下开发时间,大约34天,我将计划发给领导,领导却说最多给我15天,我半天没说一个字:*&%¥#%**&⋯⋯&& 哎,出来混的,不管怎样,尽量吧。 这个开发,我们四张表要操作,相对于一般的移动应用,还是比较大的,故数据库实现肯定是整个开发的第一个和至关重要的一步,于是,我整理了下面这个demo。 其实网上有很多比较不错的orm移动开发框架,相对还是比较优秀,可以节省大把的开发时间,但我个人认为,现在这个还不是很稳定,而且,在效率上,我持保守态度,移动开发上, 应相对的少用反射和抽象接口 ,而网络上的一些第三方的框架,却抓住这个大用特用,个人觉得,不大好,另外,采用android原生的数据库实现方案,还有个极大的好处是: 很容易实现产品生态系统,这个是其他的orm所不易达到的 。也即,可以轻而易举地实现我们的几个应用间的数据共享和交互,URI访问即可,从而形成一个生态圈的目的,具体的,就不多说了。 这个demo是一个完整的db操作,但只给出了一个实体的db实现,不过,足以: 程序结构图: 后面的所有db操作

Android ContentProvider+ContentObserver

这一生的挚爱 提交于 2020-03-02 07:41:09
说明:文章仅供本人学习记录所用。 1.理解含义: ContentProvider: 内容提供者,将数据以表的形式进行操作。主要 实现应用程序间数据共享,操作 系统本地数据(包括短 信、音频、视屏、数据库)。 ContentObserver:内容观察者,监听数据变化。 2.使用方法: ContentProvider: 1)步骤:新建MyProvider类继承ContentProvider类;注册URI;重写方法(onCreate、query、bulkInsert、insert、 delete、update);在AndroidManifest.xml中配置provider; 2)代码: public class MyProvider extends ContentProvider { private static UriMatcher matcher = new UriMatcher(UriMatcher.NO_MATCH); private static final int INSERT = 1; private static final int UPDATE = 2; private static final int DELETE = 3; private static final int QUERY = 4; private static final int INSERTS =

Android之Content Providers

烈酒焚心 提交于 2019-12-15 16:29:47
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 【 Content Providers 】   Content Providers存储和取得数据,以及让它对所有应用程序可见。这是惟一的跨应用程序共享数据的方法;没有一个所有Android包都能访问的公共存储区域。   Android整理了一大堆content provider给公共数据类型(音频、视频、图像、联系人信息等待)。你能看见他们中的一些在android.provider包中。你能查询 providers拥有的数据(虽然,有一些,你必须获取合适的权限来读取数据)。   如果你希望做你自己的数公共数据,你有两个选项:你可以创建你自己的content provider(一个ContentProvider子类)或你可以添加数据到一个已存在的provider--如果有一个控制同样的数据类型的话并且你拥有写的权限。 【 Content Provider Basics 】   一个content provider怎样实际存储它的数据由设计者决定。但所有的content provider实现一个公共的接口来查询和取得结果--同样的对添加、修改、删除数据。   这是一个客户间接使用的接口,一般通过ContentResolver对象。你获取一个ContentResolver通过getContentResolver(

转载 Android开发ContentProvider/Cursor的使用

橙三吉。 提交于 2019-12-15 16:28:10
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> ContentProvider是Android四大组件之一,所以如果是自己实现 ContentProvider,需要在AndroidManifest.xml文件中进行声明,幸运的是,我们很少需要自己定义实现它,一般我们的开发只需要用到系统自己提供的 ContentProvider,使用起来非常方便。 首先来让我们认识 ContentProvider : 基本概念: 1. ContentProvider提供为存储和获取数据提供了统一的接口 2.使用 ContentProvider可以在不同的应用程序之间共享数据 3.Android为常见的一些数据提供了 ContentProvider 下面我开始介绍实现 ContentProvider的过程: 1.定义一个CONTENT_URI常量 2.定义一个雷,继承自 ContentProvider 3.实现query,insert,update,delete,getType和onCreate方法 4.在AndroidManifest.xml文件中进行声明 ContentProvider提供了一系列的函数,当自己实现 ContentProvider需要实现这些方法: 1.query() 2.insert() 3.update() 4.delete() 5.getType()

Android ContentProvider详解

淺唱寂寞╮ 提交于 2019-12-05 04:52:11
1.适用场景 1) ContentProvider为存储和读取数据提供了统一的接口 2) 使用ContentProvider,应用程序可以实现数据共享 3) android内置的许多数据都是使用ContentProvider形式,供开发者调用的(如视频,音频,图片,通讯录等) 2.相关概念介绍 1)ContentProvider简介 当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据。虽然使用其他方法也可以对外共享数据,但数据访问方式会因数据存储的方式而不同,如:采用文件方式对外共享数据,需要进行文件操作读写数据;采用sharedpreferences共享数据,需要使用sharedpreferences API读写数据。而使用ContentProvider共享数据的好处是统一了数据访问方式。 2)Uri类简介 Uri uri = Uri.parse("content://com.changcheng.provider.contactprovider/contact") 在Content Provider中使用的查询字符串有别于标准的SQL查询。很多诸如select, add, delete, modify等操作我们都使用一种特殊的URI来进行,这种URI由3个部分组成, “content://”, 代表数据的路径