Skip to content

Commit 69200eb

Browse files
committed
Fixed SharedPreference change not working
1 parent 8c63785 commit 69200eb

File tree

13 files changed

+258
-106
lines changed

13 files changed

+258
-106
lines changed

.idea/codeStyles/Project.xml

Lines changed: 35 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/codeStyles/codeStyleConfig.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/runConfigurations.xml

Lines changed: 12 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/vcs.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

annotations/src/main/java/devmike/jade/com/annotations/SharedPref.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package devmike.jade.com.annotations
22

33
import kotlin.reflect.KClass
44

5-
@Target(AnnotationTarget.FUNCTION, AnnotationTarget.CONSTRUCTOR)
5+
@Target(AnnotationTarget.CONSTRUCTOR)
66
@Retention(AnnotationRetention.SOURCE)
77
annotation class SharedPref(val name: String= "devmike.jade.com_JadeKnife") {
88
}
Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package devmike.jade.com.annotations.read
22
@Target(AnnotationTarget.FIELD, AnnotationTarget.FUNCTION)
33
@Retention(AnnotationRetention.SOURCE)
4-
annotation class ReadStringSet (val key: String,
5-
val defaultValue: Array<String> = []){
4+
annotation class ReadStringSet (val key: String){
65
}

app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ dependencies {
3131
implementation project(':binder')
3232
implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
3333

34-
34+
implementation 'io.reactivex.rxjava2:rxjava:2.2.6'
3535
implementation fileTree(dir: 'libs', include: ['*.jar'])
3636
implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
3737
implementation 'com.android.support:appcompat-v7:28.0.0'

app/src/main/java/devmike/jade/com/jadesharedpreference/MainActivity.kt

Lines changed: 43 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -4,59 +4,72 @@ import android.content.Context
44
import android.content.SharedPreferences
55
import android.support.v7.app.AppCompatActivity
66
import android.os.Bundle
7+
import android.text.TextUtils
78
import android.util.Log
8-
import devmike.jade.com.annotations.read.ReadString
9+
import android.view.View
10+
import android.widget.Toast
911
import devmike.jade.com.annotations.SharedPref
10-
import devmike.jade.com.annotations.read.ReadFloat
11-
import devmike.jade.com.annotations.read.ReadInt
12+
import devmike.jade.com.annotations.read.*
1213
import devmike.jade.com.binder.JadeSharedPreference
14+
import io.reactivex.Flowable
15+
import io.reactivex.Single
16+
import io.reactivex.functions.Consumer
1317
import kotlinx.android.synthetic.main.activity_main.*
1418

15-
class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceChangeListener {
1619

17-
//@ReadFloat("hk")
18-
var myVaue: Float =0.0f
20+
class MainActivity @SharedPref("key") constructor(): AppCompatActivity() {
1921

20-
//private lateinit var jsp :JadeSharedPreference
2122

22-
private lateinit var listener: SharedPreferences.OnSharedPreferenceChangeListener
23+
private lateinit var jsp :JadeSharedPreference
2324

2425
//@SharedPref("key")
2526
override fun onCreate(savedInstanceState: Bundle?) {
2627
super.onCreate(savedInstanceState)
2728
setContentView(R.layout.activity_main)
28-
//jsp =JadeSharedPreference.plug(this, this)
29+
jsp =JadeSharedPreference.plug(this, this)
2930

30-
//jsp.insert("hk", 1.6f)
31-
//hel.text = myVaue.toString()
31+
save_btn1.setOnClickListener(this::btnTestOne)
32+
save_btn2.setOnClickListener(this::btnTestOne)
33+
save_btn3.setOnClickListener(this::btnTestOne)
34+
save_btn4.setOnClickListener(this::btnTestOne)
35+
save_btn5.setOnClickListener(this::btnTestOne)
3236

33-
val s = getSharedPreferences("NA", Context.MODE_PRIVATE)
34-
val ed = s.edit()
35-
ed.putString("uu", "HELELEL")
36-
ed.apply()
37-
38-
39-
Log.d("MainActivity", "heeeeee "+s.getString("uu", null))
40-
//Shared
37+
}
4138

39+
public fun btnTestOne(v: View){
40+
val ed: String = ed_1.text.toString()
41+
when (v) {
42+
save_btn1 -> jsp.insert("string", ed)git
43+
save_btn2 -> jsp.insert("integer_anything", ed_2.text.toString().toInt())
44+
save_btn3 -> jsp.insert("float_key", ed_3.text.toString().toFloat())
45+
save_btn5 -> jsp.insert("stringset__", mutableSetOf(ed_5.text.toString().split(",")))
46+
save_btn4 -> jsp.insert("long_", ed_4.text.toString().toLong())
47+
}
4248
}
4349

44-
override fun onResume() {
45-
super.onResume()
4650

47-
val s = getSharedPreferences("NA", Context.MODE_PRIVATE)
48-
s.registerOnSharedPreferenceChangeListener(this)
51+
@ReadFloat("float_key")
52+
public fun listenToFloatReadChanges(f: Float){
53+
read_3.text = f.toString()
54+
}
4955

56+
@ReadString("string")
57+
public fun readStringChanges(s: String){
58+
read_1.text = s
5059
}
5160

52-
override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences, key: String) {
53-
// do stuff
54-
Log.d("MainActivity", "heeeeee "+sharedPreferences.getString(key, null))
61+
@ReadInt("integer_anything")
62+
public fun listenToIntegerChanges(i: Int){
63+
read_2.text =i.toString()
5564
}
5665

57-
// @ReadFloat("hk")
58-
public fun listToFloatReadChanges(sharedPref: SharedPreferences, f: Float){
59-
Log.d("MainActivity", "heeeeee")
66+
@ReadLong("long_")
67+
fun longChangeListener(l: Long){
68+
read_4.text = l.toString()
6069
}
6170

62-
}
71+
@ReadStringSet("stringset__")
72+
fun stringSetChanges(set: MutableSet<String>){
73+
read_5.text = set.toString()
74+
}
75+
}

app/src/main/java/devmike/jade/com/jadesharedpreference/TestClass.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ import devmike.jade.com.annotations.read.ReadInt
66
import devmike.jade.com.annotations.read.ReadString
77
import devmike.jade.com.binder.JadeSharedPreference
88

9-
class TestClass(context: Context){
9+
class TestClass
10+
@SharedPref("test0") constructor(context: Context){
1011

1112
var jsp: JadeSharedPreference = JadeSharedPreference.plug(this, context)
1213

@@ -16,7 +17,6 @@ import devmike.jade.com.binder.JadeSharedPreference
1617
var testInt: Int =9
1718

1819

19-
@SharedPref("test0")
2020
fun init(context: Context){
2121
}
2222

app/src/main/res/layout/activity_main.xml

Lines changed: 52 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
11
<?xml version="1.0" encoding="utf-8"?>
2+
<android.support.v4.widget.NestedScrollView
3+
xmlns:android="http://schemas.android.com/apk/res/android"
4+
xmlns:tools="http://schemas.android.com/tools"
5+
xmlns:app="http://schemas.android.com/apk/res-auto"
6+
android:layout_width="match_parent"
7+
android:layout_height="match_parent">
28
<LinearLayout
39
android:padding="20dp"
410
android:orientation="vertical"
@@ -20,6 +26,7 @@
2026

2127
<EditText
2228
android:id="@+id/ed_2"
29+
android:inputType="number"
2330
android:layout_width="match_parent"
2431
android:layout_height="wrap_content"/>
2532
<Button android:layout_width="wrap_content"
@@ -28,8 +35,32 @@
2835
android:layout_height="wrap_content"/>
2936

3037

38+
<EditText
39+
android:id="@+id/ed_4"
40+
android:inputType="number"
41+
android:layout_width="match_parent"
42+
android:layout_height="wrap_content"/>
43+
<Button android:layout_width="wrap_content"
44+
android:text="Save Long"
45+
android:id="@+id/save_btn4"
46+
android:layout_height="wrap_content"/>
47+
48+
49+
50+
<EditText
51+
android:id="@+id/ed_5"
52+
android:layout_width="match_parent"
53+
android:layout_height="wrap_content"/>
54+
<Button android:layout_width="wrap_content"
55+
android:text="Save StringSet"
56+
android:id="@+id/save_btn5"
57+
android:layout_height="wrap_content"/>
58+
59+
60+
3161
<EditText
3262
android:id="@+id/ed_3"
63+
android:inputType="numberDecimal"
3364
android:layout_width="match_parent"
3465
android:layout_height="wrap_content"/>
3566
<Button android:layout_width="wrap_content"
@@ -41,6 +72,7 @@
4172
android:layout_marginTop="10dp"
4273
android:textAppearance="?android:textAppearanceMedium"
4374
android:id="@+id/read_1"
75+
android:textColor="@android:color/holo_red_dark"
4476
android:layout_gravity="center_horizontal"
4577
tools:text="112"
4678
android:layout_height="wrap_content"/>
@@ -60,4 +92,23 @@
6092
android:id="@+id/read_3"
6193
tools:text="114"
6294
android:layout_height="wrap_content"/>
63-
</LinearLayout>
95+
96+
97+
98+
<TextView android:layout_width="wrap_content"
99+
android:textAppearance="?android:textAppearanceMedium"
100+
android:layout_gravity="center_horizontal"
101+
android:id="@+id/read_4"
102+
android:layout_marginTop="10dp"
103+
android:layout_marginBottom="10dp"
104+
tools:text="113"
105+
android:layout_height="wrap_content"/>
106+
107+
<TextView android:layout_width="wrap_content"
108+
android:textAppearance="?android:textAppearanceMedium"
109+
android:layout_gravity="center_horizontal"
110+
android:id="@+id/read_5"
111+
tools:text="114"
112+
android:layout_height="wrap_content"/>
113+
</LinearLayout>
114+
</android.support.v4.widget.NestedScrollView>

0 commit comments

Comments
 (0)