首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android 到 Windows Phone 8:使用 SQL 数据库

更为具体说,一个 SQL 数据库。 Android 和 Windows Phone 8 都支持使用 SQLite 关系数据库引擎。本文假定你已经熟悉 AndroidSQLite 使用。...我个人偏好使用 sqlite-net库。 sqlite-net 库可以通过以下步骤从 NuGet 获得: Visual Studio 提示 NuGet 是一个免费、开源包管理器。...在“添加现有项目”对话框中,选择 Sqlite.vcxproj 文件,然后单击“打开”。 随后你解决方案中会出现 Sqlite 项目。...举例来说,假设您应用程序正在将博客文章存储在 SQLite 表中。通过你在上一节得到 sqlite-net 包,你可以简单地写一个类来定义一张表。...“blog” 参数指定了 SQLite 数据库名称。

2.1K100

Android 转 Windows Phone 8:SQL 数据库操作

Android 和 Windows Phone 8 两个平台均支持使用 SQLite 关系数据库引擎。本文将会假设您已熟悉 Android SQLite。...添加一个引用到 SQLite 目前 SQLite 已被安装,接下来您需要从个人项目中添加一个对它引用。 右击 Windows Phone 项目中引用文件夹,然后点击添加引用......考虑到接下来示例,我们会假设您应用程序正用于将博客文章存储在 SQLite 表中。使用您在上一小节中获取 sqlite-net 包,您可以轻而易举地编写一个类来定义表。...“blog”参数仅指定了 SQLite 数据库路径。...Android 提示 在 Android 中,您可创建一个对包含以下方法 SQLiteOpenHelper 类进行扩展表: public void onCreate(SQLiteDatabase db

3.7K80
您找到你想要的搜索结果了吗?
是的
没有找到

Android开发基础系列】数据持久化专题

,名称不用带后缀,后缀会由Android自动加上;方法第二个参数指定文件操作模式,共有四种操作模式。         ...简介         现在主流移动设备像Android、iPhone等都使用SQLite作为复杂数据存储引擎,在我们为移动设备开发应用程序时,也许就要使用到SQLite来存储我们大量数据,所以我们就需要掌握移动设备上...对于Android平台来说,系统内置了丰富API来供开发人员操作SQLite,我们可以轻松完成对数据存取。         ...语句都组织到一个字符串中,使用占位符代替实际参数selectionArgs就是占位符实际参数集;下面的几种参数都很类似,columns表示要查询列所有名称集,selection表示WHERE之后条件语句...SQLiteDatabase对象,作为整个应用数据库实例;在添加多个Person信息时,我们采用了事务处理,确保数据完整性;最后我们提供了一个closeDB方法,释放数据库资源,这一个步骤在我们整个应用关闭时执行

22220

安卓应用安全指南 4.5.1 使用 SQLite 示例代码

下面是一个简单应用示例,它在启动时创建数据库,并通过 UI 执行搜索/添加/更改/删除数据。 示例代码完成了 SQL 注入防范,来避免来自外部输入执行不正确 SQL。...[10] 对于文件存储,可以将绝对文件路径指定为SQLiteOpenHelper构造函数第二个参数(名称)。 因此,如果指定了 SD 卡路径,则需要注意,存储文件可以被其他应用读取和写入。...; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import...; import org.jssec.android.sqlite.CommonData; import org.jssec.android.sqlite.DataValidator; import...org.jssec.android.sqlite.MainActivity; import org.jssec.android.sqlite.R; import android.database.Cursor

33120

Android Content provider 组件

2.URI URI,每一个Content Provider 都对外提供一个能够唯一标识自己数据集(data set)公开URI, 如果一个Content Provider管理多个数据集,其将会为每个数据集分配一个独立...查询Content Provider方法有两个:ContentResolverquery() 和 Activity 对象 managedQuery(),二者接收参数均相同,返回都是Cursor...Android应用程序可以使用文件或SqlLite数据库来存储数据。Content Provider提供了一种多应用间数据共享方式,比如:联系人信息可以被多个应用程序访问。...; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteQueryBuilder...; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper;

48440

安卓开发_数据存储技术_sqlite

一、SQLite SQLite一个Alpha版本诞生于2000年5月,它是一款轻量级数据库,它设计目标是嵌入式,占用资源非常低,只需要几百K内存就够了。...使用SQLite一般只需要带上它一个动态库,就可以享受它全部功能。而且那个动态库尺寸也相当小。...6 3、隔离性 7 SQLite数据库中所有信息(比如表、视图、触发器)都包含在一个文件内,方便管理和维护。...12 6、安全性 13 SQLite数据库通过数据库级上独占性和共享锁来实现独立事务处理。这意味着多个进程可以在同一时间从同一数据库读取数据,但只有一个可以写入数据。...,第二个参数是删除数据要符合条件,第三个参数是修改数据源(数组格式),对应第二个参数?

78970

Carson带你学Android:SQLlite数据库操作全解析(SQLiteOpenHelper类)

前言 在Android开发中,主要数据存储有5种,具体如下 其中,SQLite数据库存储方式 非常常用 今天我将带大家全面了解关于Android SQLite数据库操作(增、删、查、改) 目录...(Cursor) rawQuery(String sql, String[] selectionArgs) //运行一个预置SQL语句,返回带游标的数据集(与上面的语句最大区别 = 防止SQL...号是占位符 // 参数4:WHERE选择语句参数(String[]), 逐个替换 WHERE表达式中 “?”...号是占位符 // 参数3:WHERE选择语句参数(String[]), 逐个替换 WHERE表达式中 “?”...2 = 实际参数集 使用建议:都使用SQL语句,因为:SQL语句 通用 & 简单 原生方法insert()、delete()等方法具备多个参数,使用复杂 4.

92420

android学习笔记----内容提供者

内容提供者: 内容提供器(Content Provider)主要用于在不同应用程序之间实现数据共享功能,它提供了一套完整机制,允许一个程序访问另一个程序中数据,同时还能保证被访问数据安全性。...来一个小例子: MainActivity.java import android.database.Cursor; import android.database.sqlite.SQLiteDatabase...而不是选择参数显式值,以便只有这些值不同查询才会被识别为缓存目的相同。 参数 uri Uri: 使用content://方案URI,用于检索内容。 该值绝不能为空。...selectionArgs String: 您可以在选择中包含?s,它将被selectionArgs值替换,它们将在选择中出现。这些值将绑定为字符串。 该值可以为null。...; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public

37720

Android:SQLiteOpenHelper类(SQLlite数据库操作)详细解析

前言 SQLite数据库操作在Android开发中非常常用 今天我将带大家全面了解关于SQLite数据库操作(增、删、查、改) ---- 目录 ? ---- 1....SQLite数据库介绍 SQLiteAndroid内置一个小型、关系型、属于文本型数据库。...对象(需要修改) // 第三个参数String:WHERE表达式,where选择语句, 选择那些行进行数据更新, 如果该参数为 null, 就会修改所有行;?...号是占位符 // 第四个参数String[]:where选择语句参数, 逐个替换 whereClause 中占位符; 3.4 删除数据 步骤:创建并打开数据库(可读/写)、删除数据..., new String[]{"1"}); //第一个参数String:需要操作表名 //第二个参数String:where选择语句, 选择哪些行要被删除

28.3K1511

安卓开发_深入理解Content Provider

URI类包装)来唯一标识其数据集 2、  URI常量用于所有与Content Provider交互,每个Content Provider方法都是用URI作为方法一个参数,这个参数(URI)用来标识...)       调用ContentResolver.insert(URI,value); 第一个参数为要操作ContentProvider唯一标识URI,第二个参数为ContentValues映射...,该方法返回添加记录完整URI 4、  删除记录 (1)需要调用int delete (Uri url, String where, String[] selectionArgs)方法 ,第一个为要操作...android.database.sqlite.SQLiteDatabase; 5 import android.database.sqlite.SQLiteOpenHelper; 6 7 public...; 7 import android.database.Cursor; 8 import android.database.sqlite.SQLiteDatabase; 9 import android.net.Uri

66040

内容提供者实现

,selection,selectArgs,sortOrder) (参数:Uri对象别人传过来uri,字段,条件,条件对应参数,排序) 方法里面调用matcher对象match(uri)方法,对所传...类型 返回一条数据return “vnd.android.cursor.item” 返回一组数据return “vnd.android.cursor.dir” 测试这个ContentProvider,新建一个应用...,selectArgs,sortOrder)方法,(参数:Uri对象别人传过来uri,字段,条件,条件对应参数,排序),返回Cursor对象。...Uri和需要传入参数,更好使用它 内容提供者: package com.tsh.database; import android.content.ContentProvider; import android.content.ContentValues...; import android.content.UriMatcher; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase

41120

《移动互联网技术》 第七章 数据存取: 掌握File、SharePreferences、SQLite和ContentProvider四种数据存取方式

SQLiteOpenHelper是SQLite Database一个帮助类,用来管理数据库创建、基本操作和版本更新。它是一个抽象类,需要创建一个自己帮助类去继承它。...一个应用程序要使用上述多个共享数据,如果需要开发者了解每个内容提供器不同实现,就太繁琐了;所以Android提供了内容解析器ContentResolver来统一管理不同内容提供器共享功能。...当一个数据源含有多个内容,比如包含多个表,就需要用不同uri进行区分。在QuizProvider中,利用UriMatcher来匹配执行不同操作。...selection和selectionArgs 参数用于约束删除哪些行,被删除行数将作为返回值返回。...新数据保存在 values 参数中,同样selection 和 selectionArgs 参数用于约束更新哪些行,受影响行数将作为返回值返回。

5910

Android基础总结(6)——内容提供器

ContentResolver中CRUD方法都是不接受表名参数,而是使用一个Uri参数代替,这个参数被称为内容URI(给内容提供器中数据提供了唯一标识符,它主要由两部分组成:权限+路径。...使用uri参数来确定查询哪张表,projection参数用于确定查询 43 * 哪些列,selection和selectionArgs参数用于约束查询哪些行,sortOrder参数用于对结果进行排序...如果你正在使用一个SQLite数据库做为你数据存储,你能够通过调用SQLiteDatabase类一个query()方法,就能简单返回Cursor对象。...如果你不适用SQLite数据库做为数据存储,那么就要使用Cursor一个具体子类。如,MatrixCursor类实现了每行是一个对象数组游标,这个类用addRow()方法来添加新行。   ...在处理查询错误中,下列异常可用于进程间传递: IllegalArgumentException(如果提供器收到一个无效内容资源标识,可以选择抛出这个异常) NullPointerException

1.2K90

Android四大组件之ContentProvider

这一期我们讲解ContentProvider(内容提供者)相关知识,他也是我们近期更新Android四大组件中最后一个。...3 Uri 观察MyContentProvider中几个方法,可以发现除了 onCreate() 方法外,其它五个抽象方法都包含了一个Uri(统一资源标识符)参数,通过这个对象可以来匹配对应请求。...比如,ContentProvider中操作数据可以都是从SQLite数据库中获取,而数据库中可能存在许多张表,这时候就需要用到Uri来表明是要操作哪个数据库、操作数据库哪张表了 /** * @author...返回addURI()方法中传递code参数,如果找不到匹配标识码则返回-1 实战 讲了这么多,相信大家已经有一个初步了解,为了让我们加深记忆,跟我一起写一个demo吧!...首先,自定义一个ContentProvider,然后向其写入和读取数据,使用SQLite作为ContentProvider数据存储地址和数据来源,因此需要先建立一个SQLiteOpenHelper,创建一个名为

59920

Content Provider 之 最终弹 实战体验跨程序数据共享(结合SQLiteDemo)

---- 本模块共有四篇文章,参考郭神《第一行代码》,对Content Provider学习做一个详细笔记,大家可以一起交流一下: 跨程序共享数据——Content Provider 之 运行时权限解析以及申请实现...; import android.content.UriMatcher; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase...从以上代码中,我们可以看到DIR类型常量匹配,selection, selectionArgs参数位是由调用本内容提供器时候由调用方程序提供, 而ITEM则不同,uri中已经包含了ID,我们可以使用...getPathSegments将之get出来再使用,即ITEM类型常量匹配,调用方程序无需提供selection, selectionArgs参数位(如下方代码截图),uri中已经包含了信息,处理方法也在内容提供器中写好了...这里可以看到DatabaseTest程序中只有我们刚刚添加一条数据, databaseTestSQLite数据库是我们在点击Add To Book时候,试图访问DatabaseTest内容提供器

39740

Android 进阶11:进程通信之 ContentProvider 内容提供者

ContentProvider 以一个多个表(与在关系型数据库中表类似)形式将数据呈现给外部应用。 行表示提供程序收集某种数据类型实例,行中每个列表示为实例收集每条数据。...ContentProvider 使用 ContentProvider 使用分为以下 4 步: 设计数据存储 选择文件还是数据库 如果您想提供 Bitmap 或其他庞大文件导向型数据,请将数据存储在一个文件中...设计数据存储 这里我们使用 SQLite 存储数据,创建一个数据库帮助类: public class DbOpenHelper extends SQLiteOpenHelper { private...作为可替换参数查询子句以及一个单独选择参数数组。 也就是将查询 “字段名 = ?” 和具体值分别传入到在上述代码 selection 和 selectionArgs。...用作可替换参数条件语句和一个选择参数数组是指定查询语句首选方式,即使 ContentProvider 管理数据类型不是 SQL 数据库。

2.3K100
领券