Showing
3 changed files
with
90 additions
and
4 deletions
1 | package com.example.vip | 1 | package com.example.vip |
2 | 2 | ||
3 | +import android.content.Context | ||
4 | +import android.content.SharedPreferences | ||
3 | import android.os.Bundle | 5 | import android.os.Bundle |
4 | import androidx.appcompat.app.AppCompatActivity | 6 | import androidx.appcompat.app.AppCompatActivity |
7 | +import kotlinx.android.synthetic.main.activity_account_settings.* | ||
5 | 8 | ||
6 | class AccountSettingActivity : AppCompatActivity() { | 9 | class AccountSettingActivity : AppCompatActivity() { |
7 | override fun onCreate(savedInstanceState: Bundle?) { | 10 | override fun onCreate(savedInstanceState: Bundle?) { |
8 | super.onCreate(savedInstanceState) | 11 | super.onCreate(savedInstanceState) |
9 | setContentView(R.layout.activity_account_settings) | 12 | setContentView(R.layout.activity_account_settings) |
13 | + | ||
14 | + val prof: SharedPreferences = getSharedPreferences("policy_key", Context.MODE_PRIVATE) | ||
15 | + val editor: SharedPreferences.Editor=prof.edit() | ||
16 | + | ||
17 | + input_db.setOnClickListener{ | ||
18 | + editor.putString("0", "[신한금융그룹] 신한 희망사회프로젝트 위기가정 재기지원사업 2년차 사업(2019년 5월~2020년 4월)") | ||
19 | + editor.putString("1", "2020년 동계 아름드리 대학생 해외봉사단원 모집") | ||
20 | + editor.putString("2", "초록우산 어린이재단 인재양성사업 - 2020 아이리더 모집공고") | ||
21 | + editor.putString("3", "(열매나눔복지재단, 처갓집양념치킨)2019 저소득가구 창업지원사업 처갓집양념치킨 창업자 모집공고(5.31-)") | ||
22 | + editor.putString("4", "[2017년도] 예비부부교실 / 신혼부부교실 : 연간일정") | ||
23 | + editor.putString("5", "신생아지원") | ||
24 | + editor.putString("6", "성폭력피해아동청소년 전용쉼터운영지원") | ||
25 | + editor.putString("7", "국가유공자등취업지원") | ||
26 | + editor.putString("8", "결혼이민자 통번역 서비스") | ||
27 | + editor.putString("9", "한부모가족자녀 교육비 지원") | ||
28 | + editor.commit() | ||
29 | + } | ||
10 | } | 30 | } |
11 | } | 31 | } |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
... | @@ -9,6 +9,7 @@ import androidx.core.content.ContextCompat.getSystemService | ... | @@ -9,6 +9,7 @@ import androidx.core.content.ContextCompat.getSystemService |
9 | import android.icu.lang.UCharacter.GraphemeClusterBreak.T | 9 | import android.icu.lang.UCharacter.GraphemeClusterBreak.T |
10 | import android.view.View | 10 | import android.view.View |
11 | import android.content.Intent | 11 | import android.content.Intent |
12 | +import android.content.SharedPreferences | ||
12 | import android.util.Log | 13 | import android.util.Log |
13 | import android.view.inputmethod.InputMethodManager | 14 | import android.view.inputmethod.InputMethodManager |
14 | import android.widget.* | 15 | import android.widget.* |
... | @@ -17,7 +18,10 @@ import com.google.firebase.database.* | ... | @@ -17,7 +18,10 @@ import com.google.firebase.database.* |
17 | import com.google.firebase.database.DatabaseReference | 18 | import com.google.firebase.database.DatabaseReference |
18 | import com.google.firebase.database.FirebaseDatabase | 19 | import com.google.firebase.database.FirebaseDatabase |
19 | import kotlinx.android.synthetic.main.search.* | 20 | import kotlinx.android.synthetic.main.search.* |
20 | - | 21 | +import com.google.firebase.database.DatabaseError |
22 | +import com.google.firebase.database.DataSnapshot | ||
23 | +import com.google.firebase.database.ValueEventListener | ||
24 | +import androidx.fragment.app.FragmentActivity | ||
21 | 25 | ||
22 | 26 | ||
23 | data class MemoItem( | 27 | data class MemoItem( |
... | @@ -34,6 +38,9 @@ class SearchActivity : AppCompatActivity() { | ... | @@ -34,6 +38,9 @@ class SearchActivity : AppCompatActivity() { |
34 | super.onCreate(savedInstanceState) | 38 | super.onCreate(savedInstanceState) |
35 | setContentView(R.layout.search) | 39 | setContentView(R.layout.search) |
36 | 40 | ||
41 | + val prof: SharedPreferences = getSharedPreferences("policy_key", Context.MODE_PRIVATE) | ||
42 | + val editor: SharedPreferences.Editor=prof.edit() | ||
43 | + | ||
37 | val searchList = ArrayList<SearchItem>() | 44 | val searchList = ArrayList<SearchItem>() |
38 | val no_search : ImageView = findViewById(R.id.no_matching) // 노서치이미지 | 45 | val no_search : ImageView = findViewById(R.id.no_matching) // 노서치이미지 |
39 | 46 | ||
... | @@ -55,14 +62,66 @@ class SearchActivity : AppCompatActivity() { | ... | @@ -55,14 +62,66 @@ class SearchActivity : AppCompatActivity() { |
55 | 62 | ||
56 | searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener { | 63 | searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener { |
57 | override fun onQueryTextSubmit(query: String): Boolean { | 64 | override fun onQueryTextSubmit(query: String): Boolean { |
65 | + | ||
66 | + searchList.clear() | ||
58 | // 검색 버튼이 눌러졌을 때 이벤트 처리 | 67 | // 검색 버튼이 눌러졌을 때 이벤트 처리 |
59 | val layout : LinearLayout = findViewById(R.id.hashtag_linear) | 68 | val layout : LinearLayout = findViewById(R.id.hashtag_linear) |
60 | layout.setVisibility(View.GONE) | 69 | layout.setVisibility(View.GONE) |
61 | 70 | ||
62 | CloseKeyboard() | 71 | CloseKeyboard() |
72 | + | ||
73 | + // DB 내 목록에서 맞는거 찾는 부분 | ||
74 | + val arr = arrayOf(0,1,2,3,4,5,6,7,8,9) | ||
75 | + val key = arrayListOf<String>() | ||
76 | + for (i in arr) { | ||
77 | + val temp = prof.getString("$i", "fail") | ||
78 | + val regex = "$query".toRegex() | ||
79 | + val matchResult : MatchResult? = regex.find(temp.toString()) | ||
80 | + if (matchResult != null) { | ||
81 | + key.add(temp.toString()) | ||
82 | + } | ||
83 | + } | ||
84 | + for (i in key) { | ||
85 | + val key_query = database.orderByChild("Policy").equalTo("$i") | ||
86 | + key_query.addListenerForSingleValueEvent(object : ValueEventListener { | ||
87 | + override fun onDataChange(dataSnapshot: DataSnapshot) { | ||
88 | + //Toast.makeText(getBaseContext(), dataSnapshot.getValue().toString(), Toast.LENGTH_SHORT).show() | ||
89 | + | ||
90 | + | ||
91 | + no_search.setVisibility(View.GONE) | ||
92 | + policy_scroll_view.setVisibility(View.VISIBLE) | ||
93 | + | ||
94 | + | ||
95 | + for (memoSnapshot in dataSnapshot.children){ | ||
96 | + val memo = memoSnapshot.getValue(MemoItem::class.java) | ||
97 | + | ||
98 | + searchList.add( | ||
99 | + SearchItem( | ||
100 | + ContextCompat.getDrawable(this@SearchActivity, R.drawable.image01)!!, memo!!.Policy | ||
101 | + ) | ||
102 | + ) | ||
103 | + } | ||
104 | + val adapter=SearchAdapter(searchList) | ||
105 | + searchRecyclerView.adapter=adapter | ||
106 | + | ||
107 | + } | ||
108 | + | ||
109 | + override fun onCancelled(p0: DatabaseError) { | ||
110 | + } | ||
111 | + }) | ||
112 | + } | ||
113 | + if (key.size == 0) { | ||
114 | + policy_scroll_view.setVisibility(View.GONE) | ||
115 | + no_search.setVisibility(View.VISIBLE) | ||
116 | + | ||
117 | + } | ||
118 | + ////////// | ||
119 | + | ||
120 | + | ||
121 | +/* | ||
63 | database.orderByChild("Policy").startAt("$query").endAt("$query"+"\uf8ff").addListenerForSingleValueEvent(object : ValueEventListener { | 122 | database.orderByChild("Policy").startAt("$query").endAt("$query"+"\uf8ff").addListenerForSingleValueEvent(object : ValueEventListener { |
64 | override fun onCancelled(p0: DatabaseError) { | 123 | override fun onCancelled(p0: DatabaseError) { |
65 | - Toast.makeText(this@SearchActivity, "실패부분 : $query", Toast.LENGTH_SHORT).show() | 124 | + Toast.makeText(this@SearchActivity, "실패 : $query", Toast.LENGTH_SHORT).show() |
66 | } | 125 | } |
67 | override fun onDataChange(dataSnapshot: DataSnapshot) { | 126 | override fun onDataChange(dataSnapshot: DataSnapshot) { |
68 | if (dataSnapshot.exists() == false){ // 값 없을 때 | 127 | if (dataSnapshot.exists() == false){ // 값 없을 때 |
... | @@ -86,14 +145,15 @@ class SearchActivity : AppCompatActivity() { | ... | @@ -86,14 +145,15 @@ class SearchActivity : AppCompatActivity() { |
86 | val adapter=SearchAdapter(searchList) | 145 | val adapter=SearchAdapter(searchList) |
87 | searchRecyclerView.adapter=adapter | 146 | searchRecyclerView.adapter=adapter |
88 | } | 147 | } |
89 | - }) | 148 | + })*/ |
90 | - searchList.clear() | ||
91 | 149 | ||
92 | return true | 150 | return true |
151 | + | ||
93 | } | 152 | } |
94 | 153 | ||
95 | 154 | ||
96 | 155 | ||
156 | + | ||
97 | override fun onQueryTextChange(newText: String): Boolean { | 157 | override fun onQueryTextChange(newText: String): Boolean { |
98 | // 검색어가 변경되었을 때 이벤트 처리 | 158 | // 검색어가 변경되었을 때 이벤트 처리 |
99 | return false | 159 | return false | ... | ... |
... | @@ -78,6 +78,12 @@ | ... | @@ -78,6 +78,12 @@ |
78 | android:text="회원 탈퇴 (준비중)" | 78 | android:text="회원 탈퇴 (준비중)" |
79 | android:textSize="17dp" /> | 79 | android:textSize="17dp" /> |
80 | 80 | ||
81 | + <Button | ||
82 | + android:id="@+id/input_db" | ||
83 | + android:layout_width="match_parent" | ||
84 | + android:layout_height="wrap_content" | ||
85 | + android:text="디비에 넣기" /> | ||
86 | + | ||
81 | </LinearLayout> | 87 | </LinearLayout> |
82 | 88 | ||
83 | <com.google.android.material.bottomnavigation.BottomNavigationView | 89 | <com.google.android.material.bottomnavigation.BottomNavigationView | ... | ... |
-
Please register or login to post a comment