Skip to content

Instantly share code, notes, and snippets.

View ryansgot's full-sized avatar

Ryan ryansgot

  • Fukuoka, Japan
  • 11:42 (UTC +09:00)
View GitHub Profile
@ryansgot
ryansgot / forsuredb_androidmanifest_contentprovider.xml
Created June 8, 2018 01:56
ForSure DB AndroidManifest (with contentprovider)
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.fsryan.example.forsuredb">
<!-- Must decalre an application class -->
<application
android:name=".App"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
@ryansgot
ryansgot / CRUD.java
Last active October 17, 2018 14:03
ForSureDB CRUD for the Impatient (Java)
String uuid = UUID.randomUUID().toString();
// create (upsert)
ForSure.employeesTable()
.set().firstName("Some").lastName("Name").uuid(uuid)
.save();
// retrieve
EmployeesTable api = ForSure.employeesTable().getApi();
Retriever retriever = ForSure.employeesTable().get();
if (retriever.moveToFirst()) {
@ryansgot
ryansgot / CRUD.kt
Last active June 8, 2018 01:40
ForSure DB CRUD For the Impatient (Kotlin)
val uuid = UUID.randomUUID().toString()
// create (upsert)
ForSure.employeesTable()
.set().firstName("Some").lastName("Name").uuid(uuid)
.save()
//retrieve
val api = ForSure.employeesTable().api
val retriever = ForSure.employeesTable().get()
if (retriever.moveToFirst()) {
@ryansgot
ryansgot / quickstart_acitivty_logged_output.txt
Last active May 22, 2018 18:55
Forsure DB Quickstart Activity
I/forsuredb-example( 1832): SaveResult{exception: null; inserted: content://com.fsryan.example.forsuredb.content/employees/1; rowsAffected: 1}
I/forsuredb-example( 1832): SaveResult{exception: null; inserted: content://com.fsryan.example.forsuredb.content/employees/2; rowsAffected: 1}
I/forsuredb-example( 1832): Employee{uuid=c00399eb-7ac2-4d34-8d5e-2bc01846413d; firstName=FS; lastName=Ryan; _id=1; created=Tue May 22 17:29:50 EDT 2018; deleted=false; modified Tue May 22 17:29:50 EDT 2018}
I/forsuredb-example( 1832): SaveResult{exception: null; inserted: null; rowsAffected: 1}
I/forsuredb-example( 1832): Employee{uuid=c00399eb-7ac2-4d34-8d5e-2bc01846413d; firstName=First; lastName=Last; _id=1; created=Tue May 22 17:29:50 EDT 2018; deleted=false; modified Tue May 22 17:29:50 EDT 2018}
I/forsuredb-example( 1832): Employee{uuid=3746ee35-2212-43cf-9009-1b9bfb6a07b8; firstName=Some; lastName=Employee; _id=2; created=Tue May 22 17:29:50 EDT 2018; deleted=false; modified Tue May 22 17:29:50 EDT 2018}
I/forsuredb-exam
@ryansgot
ryansgot / quickstart_soft_deletion_query.java
Created May 22, 2018 18:21
Quickstart Soft Deletion Query
// java version
// the below assumes use of forsuredbandroid-contentprovider
// as the platform integration library. SaveResult would be
// parameterized with DirectLocator if using
// forsuredbandroid-directdb or forsuredbjdbc
SaveResult<Uri> saveResult = ForSure.employeesTable()
.find().byFirstName("Some")
.then()
.set()
@ryansgot
ryansgot / quickstart_deletion_query.java
Last active May 22, 2018 18:26
Quickstart Deletion Query
// java version
int deleted = ForSure.employeesTable()
.find().byFirstName("Some")
.then()
.set()
.hardDelete();
Log.i("forsuredb-example", "Deleted " + deleted + " records")
@ryansgot
ryansgot / quickstart_upsert_query.java
Created May 22, 2018 18:02
Quickstart Upsert Query
// java version
// supposing there is at least one record with first_name="FS"
// and last_name="Ryan", this code will perform an update to
// all matching records. Otherwise, it will insert. This is
// called "upsert."
// the below assumes use of forsuredbandroid-contentprovider
// as the platform integration library. SaveResult would be
// parameterized with DirectLocator if using
// forsuredbandroid-directdb or forsuredbjdbc
@ryansgot
ryansgot / quickstart_retrieval_query.java
Last active May 22, 2018 17:52
Quickstart Retreival Query
// java version
EmployeesTable api = ForSure.employeesTable().getApi();
Retriever retriever = ForSure.employeesTable.get();
if (retriever.moveToFirst()) {
do { // log employee record fields using generated api
String msg = "Employee{uuid=" + api.uuid(retriever);
msg += "; first_name=" + api.firstName(retriever);
msg += "; last_name=" + api.lastName(retriever);
msg += "; _id=" + api.id(retriever);
@ryansgot
ryansgot / quickstart_insertion_query.java
Last active May 21, 2018 18:24
Quickstart Insertion Query
// java version
String uuid1 = UUID.randomUUID().toString();
// the below assumes use of forsuredbandroid-contentprovider
// as the platform integration library. SaveResult would be
// parameterized with DirectLocator if using
// forsuredbandroid-directdb or forsuredbjdbc
SaveResult<Uri> saveResult = ForSure.employeesTable()
.set()
.firstName("FS")
@ryansgot
ryansgot / dbmigrate_output_sample.txt
Created May 21, 2018 17:25
Log of dbMigrate output
w: Note: [DiffGenerator] analyzing diff: targetContext.allTables().size() = 1
w: Note: [MigrationGenerator] Number of migrations in set = 4
w: Note: [ResourceCreator] creating resource at location: CLASS_OUTPUT
w: Note: [MigrationGenerator] creating source file: /path/to/app/build/tmp/kapt3/classes/debug/com/fsryan/example/forsuredb/1526923325850.migration
> Task :app:dbMigrate
I/[forsuredbplugin.dbMigrate]: creating /path/to/app/src/main/assets to store migration files
I/[forsuredbplugin.dbMigrate]: copying migration file /path/to/app/build/tmp/kapt3/classes/debug/com/fsryan/example/forsuredb/1526923325850.migration to /path/to/app/src/main/assets/1526923325850.migration.json