create a table for storing local contacts
This commit is contained in:
parent
8e207414ef
commit
a631a53db6
|
@ -47,6 +47,8 @@ ext {
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation 'com.simplemobiletools:commons:3.11.3'
|
implementation 'com.simplemobiletools:commons:3.11.3'
|
||||||
implementation 'joda-time:joda-time:2.9.9'
|
implementation 'joda-time:joda-time:2.9.9'
|
||||||
|
implementation 'com.facebook.stetho:stetho:1.5.0'
|
||||||
|
implementation 'com.google.code.gson:gson:2.8.2'
|
||||||
|
|
||||||
debugImplementation "com.squareup.leakcanary:leakcanary-android:$leakCanaryVersion"
|
debugImplementation "com.squareup.leakcanary:leakcanary-android:$leakCanaryVersion"
|
||||||
releaseImplementation "com.squareup.leakcanary:leakcanary-android-no-op:$leakCanaryVersion"
|
releaseImplementation "com.squareup.leakcanary:leakcanary-android-no-op:$leakCanaryVersion"
|
||||||
|
|
|
@ -12,6 +12,7 @@ class App : Application() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
LeakCanary.install(this)
|
LeakCanary.install(this)
|
||||||
|
Stetho.initializeWithDefaults(this)
|
||||||
}
|
}
|
||||||
|
|
||||||
checkUseEnglish()
|
checkUseEnglish()
|
||||||
|
|
|
@ -372,7 +372,8 @@ class MainActivity : SimpleActivity(), RefreshContactsListener {
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun launchAbout() {
|
private fun launchAbout() {
|
||||||
startAboutActivity(R.string.app_name, LICENSE_KOTLIN or LICENSE_MULTISELECT or LICENSE_JODA or LICENSE_GLIDE, BuildConfig.VERSION_NAME)
|
startAboutActivity(R.string.app_name, LICENSE_KOTLIN or LICENSE_MULTISELECT or LICENSE_JODA or LICENSE_GLIDE or LICENSE_GSON or LICENSE_STETHO,
|
||||||
|
BuildConfig.VERSION_NAME)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun refreshContacts() {
|
override fun refreshContacts() {
|
||||||
|
|
|
@ -17,11 +17,14 @@ import com.simplemobiletools.contacts.activities.EditContactActivity
|
||||||
import com.simplemobiletools.contacts.activities.ViewContactActivity
|
import com.simplemobiletools.contacts.activities.ViewContactActivity
|
||||||
import com.simplemobiletools.contacts.helpers.CONTACT_ID
|
import com.simplemobiletools.contacts.helpers.CONTACT_ID
|
||||||
import com.simplemobiletools.contacts.helpers.Config
|
import com.simplemobiletools.contacts.helpers.Config
|
||||||
|
import com.simplemobiletools.contacts.helpers.DBHelper
|
||||||
import com.simplemobiletools.contacts.models.Contact
|
import com.simplemobiletools.contacts.models.Contact
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
val Context.config: Config get() = Config.newInstance(applicationContext)
|
val Context.config: Config get() = Config.newInstance(applicationContext)
|
||||||
|
|
||||||
|
val Context.dbHelper: DBHelper get() = DBHelper.newInstance(applicationContext)
|
||||||
|
|
||||||
fun Context.viewContact(contact: Contact) {
|
fun Context.viewContact(contact: Contact) {
|
||||||
Intent(applicationContext, ViewContactActivity::class.java).apply {
|
Intent(applicationContext, ViewContactActivity::class.java).apply {
|
||||||
putExtra(CONTACT_ID, contact.id)
|
putExtra(CONTACT_ID, contact.id)
|
||||||
|
|
|
@ -0,0 +1,42 @@
|
||||||
|
package com.simplemobiletools.contacts.helpers
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
|
import android.database.sqlite.SQLiteDatabase
|
||||||
|
import android.database.sqlite.SQLiteOpenHelper
|
||||||
|
|
||||||
|
class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(context, DB_NAME, null, DB_VERSION) {
|
||||||
|
private val MAIN_TABLE_NAME = "contacts"
|
||||||
|
private val COL_ID = "id"
|
||||||
|
private val COL_FIRST_NAME = "first_name"
|
||||||
|
private val COL_MIDDLE_NAME = "middle_name"
|
||||||
|
private val COL_SURNAME = "surname"
|
||||||
|
private val COL_PHOTO = "photo"
|
||||||
|
private val COL_PHONE_NUMBERS = "phone_numbers"
|
||||||
|
private val COL_EMAILS = "emails"
|
||||||
|
private val COL_EVENTS = "events"
|
||||||
|
private val COL_STARRED = "starred"
|
||||||
|
|
||||||
|
private val mDb: SQLiteDatabase = writableDatabase
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
private const val DB_VERSION = 1
|
||||||
|
const val DB_NAME = "contacts.db"
|
||||||
|
var dbInstance: DBHelper? = null
|
||||||
|
|
||||||
|
fun newInstance(context: Context): DBHelper {
|
||||||
|
if (dbInstance == null)
|
||||||
|
dbInstance = DBHelper(context)
|
||||||
|
|
||||||
|
return dbInstance!!
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onCreate(db: SQLiteDatabase) {
|
||||||
|
db.execSQL("CREATE TABLE $MAIN_TABLE_NAME ($COL_ID INTEGER PRIMARY KEY AUTOINCREMENT, $COL_FIRST_NAME TEXT, $COL_MIDDLE_NAME TEXT, " +
|
||||||
|
"$COL_SURNAME TEXT, $COL_PHOTO BLOB, $COL_PHONE_NUMBERS TEXT, $COL_EMAILS TEXT, $COL_EVENTS TEXT, $COL_STARRED INTEGER)")
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onUpgrade(db: SQLiteDatabase, oldVersion: Int, newVersion: Int) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue