Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit ccdbfd5

Browse files
committed
Added more examples to the README.
1 parent 43e1f04 commit ccdbfd5

File tree

2 files changed

+79
-12
lines changed

2 files changed

+79
-12
lines changed

‎README.md

Lines changed: 78 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -34,34 +34,101 @@ Android only, at present. (iOS support is planned.)
3434
Examples
3535
--------
3636

37-
### Querying an in-memory database
37+
### Executing an arbitrary SQL statement
3838

39-
This example also uses
40-
[`DatabaseUtils`](https://pub.dartlang.org/documentation/flutter_android/latest/android_database/DatabaseUtils-class.html)
41-
from the [flutter_android](https://pub.dartlang.org/packages/flutter_android) package.
39+
```dart
40+
await db.execSQL("DROP TABLE IF EXISTS links");
41+
42+
// Create a bookmark links table:
43+
await db.execSQL("""
44+
CREATE TABLE links (
45+
id INTEGER PRIMARY KEY NOT NULL,
46+
url TEXT NOT NULL,
47+
created_at DATETIME NOT NULL,
48+
updated_at DATETIME NULL
49+
)
50+
""");
51+
```
52+
53+
### Executing a `INSERT` statement
4254

4355
```dart
44-
import 'package:flutter_sqlcipher/sqlite.dart';
45-
import 'package:flutter_android/android_database.dart' show DatabaseUtils;
56+
// Insert a new link into the table:
57+
var linkID = db.insert(
58+
table: "links",
59+
values: <String, dynamic>{
60+
"id": null, // auto-incremented ID assigned automatically
61+
"url": "http://example.org/",
62+
"created_at": DateTime.now().toUtc().millisecondsSinceEpoch ~/ 1000,
63+
"updated_at": null,
64+
},
65+
);
66+
```
4667

47-
var db = await SQLiteDatabase.createInMemory();
68+
### Executing an `UPDATE` statement
4869

49-
var cursor = await db.rawQuery("SELECT 1 AS a, 2 as b, 3 AS c");
70+
```dart
71+
// Change the previously-inserted link from HTTP to HTTPS:
72+
db.update(
73+
table: "links",
74+
values: <String, dynamic>{
75+
"url": "https://example.org/",
76+
"updated_at": DateTime.now().toUtc().millisecondsSinceEpoch ~/ 1000,
77+
},
78+
where: "id = ?",
79+
whereArgs: <String>[linkID.toString()],
80+
);
81+
```
5082

51-
await DatabaseUtils.dumpCursor(cursor);
83+
### Executing a `DELETE` statement
84+
85+
```dart
86+
// Delete the previously-inserted link:
87+
db.delete(
88+
table: "links",
89+
where: "id = ?",
90+
whereArgs: <String>[linkID.toString()],
91+
);
5292
```
5393

54-
### Iterating the rows in a returned cursor
94+
### Executing an arbitrary SQL query
5595

5696
```dart
5797
for (var row in await db.rawQuery("SELECT 1 AS a, 2 as b, 3 AS c")) {
5898
print(row); // prints: {a: 1, b: 2, c: 3}
5999
}
60100
```
61101

102+
### Creating an in-memory database
103+
104+
```dart
105+
import 'package:flutter_sqlcipher/sqlite.dart';
106+
107+
var db = await SQLiteDatabase.createInMemory();
108+
```
109+
110+
### Creating an on-disk database
111+
112+
This example also uses
113+
[`Context`](https://pub.dartlang.org/documentation/flutter_android/latest/android_content/Context-class.html)
114+
from the [flutter_android](https://pub.dartlang.org/packages/flutter_android) package
115+
to obtain the app's cache directory path.
116+
117+
```dart
118+
import 'package:flutter_sqlcipher/sqlite.dart';
119+
import 'package:flutter_android/android_content.dart' show Context;
120+
121+
var cacheDir = await Context.cacheDir;
122+
await cacheDir.create(recursive: true);
123+
124+
var cacheFile = File("${cacheDir.path}/cache.db");
125+
126+
var db = await SQLiteDatabase.openOrCreateDatabase(cacheFile.path);
127+
```
128+
62129
### Using a bundled database from the app's assets
63130

64-
TODO
131+
(To be added.)
65132

66133
Frequently Asked Questions
67134
--------------------------

‎lib/src/database.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -558,7 +558,7 @@ abstract class SQLiteDatabase implements SQLiteClosable {
558558
'whereClause': where, // note the name mapping
559559
'whereArgs': whereArgs,
560560
};
561-
return await _channel.invokeMethod('update', request);
561+
return (await _channel.invokeMethod('update', request)) asint;
562562
}
563563

564564
/// Convenience method for updating rows in the database.

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /