public class DatabaseUtils
extends Object
java.lang.Object | |
↳ | android.database.DatabaseUtils |
用于处理数据库的静态实用方法和 Cursor
。
Nested classes |
|
---|---|
class |
DatabaseUtils.InsertHelper 此类已在API级别17中弃用。请改用 |
Constants |
|
---|---|
int |
STATEMENT_ABORT 其中一个值由 |
int |
STATEMENT_ATTACH 其中一个值由 |
int |
STATEMENT_BEGIN 其中一个值由 |
int |
STATEMENT_COMMIT 其中一个值由 |
int |
STATEMENT_DDL 其中一个值由 |
int |
STATEMENT_OTHER 其中一个值由 |
int |
STATEMENT_PRAGMA 其中一个值由 |
int |
STATEMENT_SELECT 其中一个值由 |
int |
STATEMENT_UNPREPARED 其中一个值由 |
int |
STATEMENT_UPDATE 其中一个值由 |
Public constructors |
|
---|---|
DatabaseUtils() |
Public methods |
|
---|---|
static void |
appendEscapedSQLString(StringBuilder sb, String sqlString) 将SQL字符串附加到给定的StringBuilder,包括打开和关闭单引号。 |
static String[] |
appendSelectionArgs(String[] originalValues, String[] newValues) 将一组选择参数附加到另一组。 |
static final void |
appendValueToSql(StringBuilder sql, Object value) 通过正确的转义等将一个对象附加到SQL字符串中 |
static void |
bindObjectToProgram(SQLiteProgram prog, int index, Object value) 使用正确的输入将给定的Object绑定到给定的SQLiteProgram。 |
static ParcelFileDescriptor |
blobFileDescriptorForQuery(SQLiteStatement prog, String[] selectionArgs) 用于运行预编译查询的实用程序方法,并返回第一行第一列中的blob值。 |
static ParcelFileDescriptor |
blobFileDescriptorForQuery(SQLiteDatabase db, String query, String[] selectionArgs) 实用程序方法在db上运行查询并返回第一行第一列中的blob值。 |
static String |
concatenateWhere(String a, String b) 连接两个SQL WHERE子句,处理空值或空值。 |
static void |
createDbFromSqlStatements(Context context, String dbName, int dbVersion, String sqlStatements) 创建一个db并用sqlStatements中的sql语句填充它。 |
static void |
cursorDoubleToContentValues(Cursor cursor, String field, ContentValues values, String key) 在Cursor中的字段中读取Double并将其写入Map。 |
static void |
cursorDoubleToContentValuesIfPresent(Cursor cursor, ContentValues values, String column) 从Cursor的列中读取Double并将其写入ContentValues。 |
static void |
cursorDoubleToCursorValues(Cursor cursor, String field, ContentValues values) 在Cursor中的字段中读取Double并将其写入Map。 |
static void |
cursorFloatToContentValuesIfPresent(Cursor cursor, ContentValues values, String column) 从Cursor的列中读取Float并将其写入ContentValues。 |
static void |
cursorIntToContentValues(Cursor cursor, String field, ContentValues values, String key) 从光标中的字段中读取整数并将其写入地图。 |
static void |
cursorIntToContentValues(Cursor cursor, String field, ContentValues values) 从游标中的字段中读取整数并将其写入地图。 |
static void |
cursorIntToContentValuesIfPresent(Cursor cursor, ContentValues values, String column) 从Cursor的列中读取整数并将其写入ContentValues。 |
static void |
cursorLongToContentValues(Cursor cursor, String field, ContentValues values, String key) 从Cursor中的字段中读取Long并将其写入Map。 |
static void |
cursorLongToContentValues(Cursor cursor, String field, ContentValues values) 从Cursor中的字段中读取Long并将其写入Map。 |
static void |
cursorLongToContentValuesIfPresent(Cursor cursor, ContentValues values, String column) 从Cursor的列中读取Long并将其写入ContentValues。 |
static void |
cursorRowToContentValues(Cursor cursor, ContentValues values) 读取游标行的全部内容并将它们存储在ContentValues中。 |
static void |
cursorShortToContentValuesIfPresent(Cursor cursor, ContentValues values, String column) 从Cursor的列中读取Short并将其写入ContentValues。 |
static void |
cursorStringToContentValues(Cursor cursor, String field, ContentValues values, String key) 从光标中的字段中读取一个字符串并将其写入一个Map。 |
static void |
cursorStringToContentValues(Cursor cursor, String field, ContentValues values) 从光标中的字段中读取一个字符串并将其写入一个Map。 |
static void |
cursorStringToContentValuesIfPresent(Cursor cursor, ContentValues values, String column) 从Cursor的列中读取一个字符串并将其写入ContentValues。 |
static void |
cursorStringToInsertHelper(Cursor cursor, String field, DatabaseUtils.InsertHelper inserter, int index) 从光标中的字段中读取一个字符串并将其写入InsertHelper。 |
static void |
dumpCurrentRow(Cursor cursor, StringBuilder sb) 将光标当前行的内容打印到StringBuilder。 |
static void |
dumpCurrentRow(Cursor cursor, PrintStream stream) 将光标当前行的内容打印到PrintSteam。 |
static void |
dumpCurrentRow(Cursor cursor) 将光标当前行的内容打印到System.out。 |
static String |
dumpCurrentRowToString(Cursor cursor) 将Cursor当前行的内容转储到String。 |
static void |
dumpCursor(Cursor cursor, PrintStream stream) 将光标的内容打印到PrintSteam。 |
static void |
dumpCursor(Cursor cursor) 将光标的内容打印到System.out。 |
static void |
dumpCursor(Cursor cursor, StringBuilder sb) 将光标的内容打印到StringBuilder。 |
static String |
dumpCursorToString(Cursor cursor) 将光标的内容打印到字符串。 |
static String |
getCollationKey(String name) 返回整理键 |
static String |
getHexCollationKey(String name) 以十六进制格式返回整理键 |
static int |
getSqlStatementType(String sql) 返回表示给定SQL语句类型的以下内容之一。 |
static long |
longForQuery(SQLiteDatabase db, String query, String[] selectionArgs) 实用程序方法在db上运行查询并返回第一行第一列中的值。 |
static long |
longForQuery(SQLiteStatement prog, String[] selectionArgs) 用于运行预编译查询的实用程序方法,并返回第一行第一列中的值。 |
static long |
queryNumEntries(SQLiteDatabase db, String table, String selection) 查询表格中表格的行数。 |
static long |
queryNumEntries(SQLiteDatabase db, String table, String selection, String[] selectionArgs) 查询表格中表格的行数。 |
static long |
queryNumEntries(SQLiteDatabase db, String table) 查询表格中表格的行数。 |
static final void |
readExceptionFromParcel(Parcel reply) 用于从包裹头部读取异常结果的特殊功能,用于在收到交易结果后使用。 |
static void |
readExceptionWithFileNotFoundExceptionFromParcel(Parcel reply) |
static void |
readExceptionWithOperationApplicationExceptionFromParcel(Parcel reply) |
static String |
sqlEscapeString(String value) SQL转义字符串。 |
static String |
stringForQuery(SQLiteDatabase db, String query, String[] selectionArgs) 实用程序方法在db上运行查询并返回第一行第一列中的值。 |
static String |
stringForQuery(SQLiteStatement prog, String[] selectionArgs) 用于运行预编译查询的实用程序方法,并返回第一行第一列中的值。 |
static final void |
writeExceptionToParcel(Parcel reply, 异常 e) 用于在包裹头部写入异常结果的特殊功能,用于从事务中返回异常时使用。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
int STATEMENT_ABORT
其中一个值由 getSqlStatementType(String)
返回。
常数值:6(0x00000006)
int STATEMENT_ATTACH
其中一个值由 getSqlStatementType(String)
返回。
常量值:3(0x00000003)
int STATEMENT_BEGIN
其中一个值由 getSqlStatementType(String)
返回。
常量值:4(0x00000004)
int STATEMENT_COMMIT
其中一个值由 getSqlStatementType(String)
返回。
常量值:5(0x00000005)
int STATEMENT_DDL
其中一个值由 getSqlStatementType(String)
返回。
常量值:8(0x00000008)
int STATEMENT_OTHER
其中一个值由 getSqlStatementType(String)
返回。
常量值:99(0x00000063)
int STATEMENT_PRAGMA
其中一个值由 getSqlStatementType(String)
返回。
常量值:7(0x00000007)
int STATEMENT_SELECT
由 getSqlStatementType(String)
返回的其中一个值。
常数值:1(0x00000001)
int STATEMENT_UNPREPARED
其中一个值由 getSqlStatementType(String)
返回。
常量值:9(0x00000009)
int STATEMENT_UPDATE
其中一个值由 getSqlStatementType(String)
返回。
常量值:2(0x00000002)
void appendEscapedSQLString (StringBuilder sb, String sqlString)
将SQL字符串附加到给定的StringBuilder,包括打开和关闭单引号。 sqlString内部的任何单引号都将被转义。 此方法已被弃用,因为我们希望鼓励大家使用“?” 绑定形式。 但是,在实现ContentProvider时,可能需要添加调用者未提供的WHERE子句。 由于“?” 是一个位置形式,在这种情况下使用它可能会打破调用者,因为索引将被移动以适应ContentProvider的内部绑定。 在这种情况下,可能需要手动构建WHERE子句。 这种方法对于这些情况很有用。
Parameters | |
---|---|
sb |
StringBuilder : the StringBuilder that the SQL string will be appended to |
sqlString |
String : the raw string to be appended, which may contain single quotes |
String[] appendSelectionArgs (String[] originalValues, String[] newValues)
将一组选择参数附加到另一组。 将选择参数添加到用户提供的集合时非常有用。
Parameters | |
---|---|
originalValues |
String
|
newValues |
String
|
Returns | |
---|---|
String[] |
void appendValueToSql (StringBuilder sql, Object value)
通过正确的转义等将一个对象附加到SQL字符串中
Parameters | |
---|---|
sql |
StringBuilder
|
value |
Object
|
void bindObjectToProgram (SQLiteProgram prog, int index, Object value)
使用正确的输入将给定的Object绑定到给定的SQLiteProgram。 例如,通过在其上调用toString()将数字绑定为long / double和其他所有内容。
Parameters | |
---|---|
prog |
SQLiteProgram : the program to bind the object to |
index |
int : the 1-based index to bind at |
value |
Object : the value to bind |
ParcelFileDescriptor blobFileDescriptorForQuery (SQLiteStatement prog, String[] selectionArgs)
用于运行预编译查询的实用程序方法,并返回第一行第一列中的blob值。
Parameters | |
---|---|
prog |
SQLiteStatement
|
selectionArgs |
String
|
Returns | |
---|---|
ParcelFileDescriptor |
A read-only file descriptor for a copy of the blob value. |
ParcelFileDescriptor blobFileDescriptorForQuery (SQLiteDatabase db, String query, String[] selectionArgs)
实用程序方法在db上运行查询并返回第一行第一列中的blob值。
Parameters | |
---|---|
db |
SQLiteDatabase
|
query |
String
|
selectionArgs |
String
|
Returns | |
---|---|
ParcelFileDescriptor |
A read-only file descriptor for a copy of the blob value. |
String concatenateWhere (String a, String b)
连接两个SQL WHERE子句,处理空值或空值。
Parameters | |
---|---|
a |
String
|
b |
String
|
Returns | |
---|---|
String |
void createDbFromSqlStatements (Context context, String dbName, int dbVersion, String sqlStatements)
创建一个db并用sqlStatements中的sql语句填充它。
Parameters | |
---|---|
context |
Context : the context to use to create the db |
dbName |
String : the name of the db to create |
dbVersion |
int : the version to set on the db |
sqlStatements |
String : the statements to use to populate the db. This should be a single string of the form returned by sqlite3's .dump command (statements separated by semicolons) |
void cursorDoubleToContentValues (Cursor cursor, String field, ContentValues values, String key)
在Cursor中的字段中读取Double并将其写入Map。
Parameters | |
---|---|
cursor |
Cursor : The cursor to read from |
field |
String : The REAL field to read |
values |
ContentValues : The ContentValues to put the value into |
key |
String : The key to store the value with in the map |
void cursorDoubleToContentValuesIfPresent (Cursor cursor, ContentValues values, String column)
从Cursor的列中读取Double并将其写入ContentValues。 如果该列不存在或者其值为空,则不向ContentValues添加任何内容。
Parameters | |
---|---|
cursor |
Cursor : The cursor to read from |
values |
ContentValues : The ContentValues to put the value into |
column |
String : The column to read |
void cursorDoubleToCursorValues (Cursor cursor, String field, ContentValues values)
在Cursor中的字段中读取Double并将其写入Map。
Parameters | |
---|---|
cursor |
Cursor : The cursor to read from |
field |
String : The REAL field to read |
values |
ContentValues : The ContentValues to put the value into |
void cursorFloatToContentValuesIfPresent (Cursor cursor, ContentValues values, String column)
从Cursor的列中读取Float并将其写入ContentValues。 如果该列不存在或者其值为空,则不向ContentValues添加任何内容。
Parameters | |
---|---|
cursor |
Cursor : The cursor to read from |
values |
ContentValues : The ContentValues to put the value into |
column |
String : The column to read |
void cursorIntToContentValues (Cursor cursor, String field, ContentValues values, String key)
从光标中的字段中读取整数并将其写入地图。
Parameters | |
---|---|
cursor |
Cursor : The cursor to read from |
field |
String : The INTEGER field to read |
values |
ContentValues : The ContentValues to put the value into, with the field as the key |
key |
String : The key to store the value with in the map |
void cursorIntToContentValues (Cursor cursor, String field, ContentValues values)
从游标中的字段中读取整数并将其写入地图。
Parameters | |
---|---|
cursor |
Cursor : The cursor to read from |
field |
String : The INTEGER field to read |
values |
ContentValues : The ContentValues to put the value into, with the field as the key |
void cursorIntToContentValuesIfPresent (Cursor cursor, ContentValues values, String column)
从Cursor的列中读取整数并将其写入ContentValues。 如果该列不存在或者其值为空,则不向ContentValues添加任何内容。
Parameters | |
---|---|
cursor |
Cursor : The cursor to read from |
values |
ContentValues : The ContentValues to put the value into |
column |
String : The column to read |
void cursorLongToContentValues (Cursor cursor, String field, ContentValues values, String key)
从Cursor中的字段中读取Long并将其写入Map。
Parameters | |
---|---|
cursor |
Cursor : The cursor to read from |
field |
String : The INTEGER field to read |
values |
ContentValues : The ContentValues to put the value into |
key |
String : The key to store the value with in the map |
void cursorLongToContentValues (Cursor cursor, String field, ContentValues values)
从Cursor中的字段中读取Long并将其写入Map。
Parameters | |
---|---|
cursor |
Cursor : The cursor to read from |
field |
String : The INTEGER field to read |
values |
ContentValues : The ContentValues to put the value into, with the field as the key |
void cursorLongToContentValuesIfPresent (Cursor cursor, ContentValues values, String column)
从Cursor的列中读取Long并将其写入ContentValues。 如果该列不存在或者其值为空,则不向ContentValues添加任何内容。
Parameters | |
---|---|
cursor |
Cursor : The cursor to read from |
values |
ContentValues : The ContentValues to put the value into |
column |
String : The column to read |
void cursorRowToContentValues (Cursor cursor, ContentValues values)
读取游标行的全部内容并将它们存储在ContentValues中。
Parameters | |
---|---|
cursor |
Cursor : the cursor to read from. |
values |
ContentValues : the ContentValues to put the row into. |
void cursorShortToContentValuesIfPresent (Cursor cursor, ContentValues values, String column)
从Cursor的列中读取Short并将其写入ContentValues。 如果该列不存在或者其值为空,则不向ContentValues添加任何内容。
Parameters | |
---|---|
cursor |
Cursor : The cursor to read from |
values |
ContentValues : The ContentValues to put the value into |
column |
String : The column to read |
void cursorStringToContentValues (Cursor cursor, String field, ContentValues values, String key)
从光标中的字段中读取一个字符串并将其写入一个Map。
Parameters | |
---|---|
cursor |
Cursor : The cursor to read from |
field |
String : The TEXT field to read |
values |
ContentValues : The ContentValues to put the value into, with the field as the key |
key |
String : The key to store the value with in the map |
void cursorStringToContentValues (Cursor cursor, String field, ContentValues values)
从光标中的字段中读取一个字符串并将其写入一个Map。
Parameters | |
---|---|
cursor |
Cursor : The cursor to read from |
field |
String : The TEXT field to read |
values |
ContentValues : The ContentValues to put the value into, with the field as the key |
void cursorStringToContentValuesIfPresent (Cursor cursor, ContentValues values, String column)
从Cursor的列中读取一个字符串并将其写入ContentValues。 如果该列不存在或者其值为空,则不向ContentValues添加任何内容。
Parameters | |
---|---|
cursor |
Cursor : The cursor to read from |
values |
ContentValues : The ContentValues to put the value into |
column |
String : The column to read |
void cursorStringToInsertHelper (Cursor cursor, String field, DatabaseUtils.InsertHelper inserter, int index)
从光标中的字段中读取一个字符串并将其写入InsertHelper。
Parameters | |
---|---|
cursor |
Cursor : The cursor to read from |
field |
String : The TEXT field to read |
inserter |
DatabaseUtils.InsertHelper : The InsertHelper to bind into |
index |
int : the index of the bind entry in the InsertHelper |
void dumpCurrentRow (Cursor cursor, StringBuilder sb)
将光标当前行的内容打印到StringBuilder。
Parameters | |
---|---|
cursor |
Cursor : the cursor to print |
sb |
StringBuilder : the StringBuilder to print to |
void dumpCurrentRow (Cursor cursor, PrintStream stream)
将光标当前行的内容打印到PrintSteam。
Parameters | |
---|---|
cursor |
Cursor : the cursor to print |
stream |
PrintStream : the stream to print to |
void dumpCurrentRow (Cursor cursor)
将光标当前行的内容打印到System.out。
Parameters | |
---|---|
cursor |
Cursor : the cursor to print from |
String dumpCurrentRowToString (Cursor cursor)
将Cursor当前行的内容转储到String。
Parameters | |
---|---|
cursor |
Cursor : the cursor to print |
Returns | |
---|---|
String |
a String that contains the dumped cursor row |
void dumpCursor (Cursor cursor, PrintStream stream)
将光标的内容打印到PrintSteam。 打印后位置恢复。
Parameters | |
---|---|
cursor |
Cursor : the cursor to print |
stream |
PrintStream : the stream to print to |
void dumpCursor (Cursor cursor)
将光标的内容打印到System.out。 打印后位置恢复。
Parameters | |
---|---|
cursor |
Cursor : the cursor to print |
void dumpCursor (Cursor cursor, StringBuilder sb)
将光标的内容打印到StringBuilder。 打印后位置恢复。
Parameters | |
---|---|
cursor |
Cursor : the cursor to print |
sb |
StringBuilder : the StringBuilder to print to |
String dumpCursorToString (Cursor cursor)
将光标的内容打印到字符串。 打印后位置恢复。
Parameters | |
---|---|
cursor |
Cursor : the cursor to print |
Returns | |
---|---|
String |
a String that contains the dumped cursor |
String getCollationKey (String name)
返回整理键
Returns | |
---|---|
String |
the collation key |
String getHexCollationKey (String name)
以十六进制格式返回整理键
Returns | |
---|---|
String |
the collation key in hex format |
int getSqlStatementType (String sql)
返回表示给定SQL语句类型的以下内容之一。
STATEMENT_SELECT
STATEMENT_UPDATE
STATEMENT_ATTACH
STATEMENT_BEGIN
STATEMENT_COMMIT
STATEMENT_ABORT
STATEMENT_OTHER
Parameters | |
---|---|
sql |
String : the SQL statement whose type is returned by this method |
Returns | |
---|---|
int |
one of the values listed above |
long longForQuery (SQLiteDatabase db, String query, String[] selectionArgs)
实用程序方法在db上运行查询并返回第一行第一列中的值。
Parameters | |
---|---|
db |
SQLiteDatabase
|
query |
String
|
selectionArgs |
String
|
Returns | |
---|---|
long |
long longForQuery (SQLiteStatement prog, String[] selectionArgs)
用于运行预编译查询的实用程序方法,并返回第一行第一列中的值。
Parameters | |
---|---|
prog |
SQLiteStatement
|
selectionArgs |
String
|
Returns | |
---|---|
long |
long queryNumEntries (SQLiteDatabase db, String table, String selection)
查询表格中表格的行数。
Parameters | |
---|---|
db |
SQLiteDatabase : the database the table is in |
table |
String : the name of the table to query |
selection |
String : A filter declaring which rows to return, formatted as an SQL WHERE clause (excluding the WHERE itself). Passing null will count all rows for the given table |
Returns | |
---|---|
long |
the number of rows in the table filtered by the selection |
long queryNumEntries (SQLiteDatabase db, String table, String selection, String[] selectionArgs)
查询表格中表格的行数。
Parameters | |
---|---|
db |
SQLiteDatabase : the database the table is in |
table |
String : the name of the table to query |
selection |
String : A filter declaring which rows to return, formatted as an SQL WHERE clause (excluding the WHERE itself). Passing null will count all rows for the given table |
selectionArgs |
String : You may include ?s in selection, which will be replaced by the values from selectionArgs, in order that they appear in the selection. The values will be bound as Strings. |
Returns | |
---|---|
long |
the number of rows in the table filtered by the selection |
long queryNumEntries (SQLiteDatabase db, String table)
查询表格中表格的行数。
Parameters | |
---|---|
db |
SQLiteDatabase : the database the table is in |
table |
String : the name of the table to query |
Returns | |
---|---|
long |
the number of rows in the table |
void readExceptionFromParcel (Parcel reply)
用于从包裹头部读取异常结果的特殊功能,用于在收到交易结果后使用。 如果它已被写入包裹,这将为您抛出异常,否则返回并让您从包中读取正常结果数据。
Parameters | |
---|---|
reply |
Parcel : Parcel to read from |
void readExceptionWithFileNotFoundExceptionFromParcel (Parcel reply)
Parameters | |
---|---|
reply |
Parcel
|
Throws | |
---|---|
FileNotFoundException |
void readExceptionWithOperationApplicationExceptionFromParcel (Parcel reply)
Parameters | |
---|---|
reply |
Parcel
|
Throws | |
---|---|
OperationApplicationException |
String sqlEscapeString (String value)
SQL转义字符串。
Parameters | |
---|---|
value |
String
|
Returns | |
---|---|
String |
String stringForQuery (SQLiteDatabase db, String query, String[] selectionArgs)
实用程序方法在db上运行查询并返回第一行第一列中的值。
Parameters | |
---|---|
db |
SQLiteDatabase
|
query |
String
|
selectionArgs |
String
|
Returns | |
---|---|
String |
String stringForQuery (SQLiteStatement prog, String[] selectionArgs)
用于运行预编译查询的实用程序方法,并返回第一行第一列中的值。
Parameters | |
---|---|
prog |
SQLiteStatement
|
selectionArgs |
String
|
Returns | |
---|---|
String |
void writeExceptionToParcel (Parcel reply, 异常 e)
用于在包裹头部写入异常结果的特殊功能,用于从事务中返回异常时使用。 异常将在另一个进程中被该函数重新抛出
Parameters | |
---|---|
reply |
Parcel : Parcel to write to |
e |
异常 : The Exception to be written. |