回答編集履歴

1

回答を置き換え

2019/12/11 11:22

投稿

jimbe
jimbe

スコア13204

test CHANGED
@@ -1,35 +1,197 @@
1
- > uuidの非表示の仕方
1
+ ~~> uuidの非表示の仕方~~
2
2
 
3
3
 
4
4
 
5
+ ~~data.put("id",uuid);~~
6
+
7
+
8
+
9
+ ~~の下に~~
10
+
11
+
12
+
13
+ ~~data.put("date","");~~
14
+
15
+
16
+
17
+ ~~を追加し,~~
18
+
19
+
20
+
21
+ ~~new String[]{"body","id"}, // どの項目を~~
22
+
23
+
24
+
25
+ ~~を~~
26
+
27
+
28
+
29
+ ~~new String[]{"body","date"}, // どの項目を~~
30
+
31
+
32
+
33
+ ~~としては如何でしょうか.~~
34
+
35
+
36
+
37
+ uuid が表示されている個所に作成日が表示されるようにした修正箇所のみを書き出します.
38
+
39
+ 修正前をコメントにしてあるので, 修正箇所の手がかりにしてください.
40
+
41
+ SQL の実行に rawQuery/execSQL が使われていたため, 各専用メソッドに置き換えも行っています.
42
+
43
+ MemoOpenHelper のバージョンは変えていませんので, 実行時は既存を一度アンインストールしてください.
44
+
45
+
46
+
47
+ MemoOpenHelper.java
48
+
49
+ ```java
50
+
51
+ //db.execSQL("CREATE TABLE MEMO_TABLE (" + "id INTEGER PRIMARY KEY AUTOINCREMENT, " + "uuid TEXT, " + "body TEXT)");
52
+
53
+ db.execSQL("CREATE TABLE MEMO_TABLE (" + "id INTEGER PRIMARY KEY AUTOINCREMENT, " + "uuid TEXT, " + "body TEXT, " + "datetime INTEGER)");
54
+
5
- ```
55
+ ````
56
+
57
+
58
+
59
+ ListActivity.java
60
+
61
+ ```java
62
+
63
+ (onCreateメソッド内)
64
+
65
+ // rawQueryというSELECT専用メソッドを使用してデータを取得する
66
+
67
+ //Cursor c = db.rawQuery("select uuid, body from MEMO_TABLE order by id", null);
68
+
69
+ Cursor c = db.query("MEMO_TABLE", new String[]{"uuid","body","datetime"}, null,null,null,null, "id");
70
+
71
+
72
+
73
+ :
74
+
75
+
76
+
77
+ String body = c.getString(1);
78
+
79
+ long datetime = c.getLong(2); //追加
80
+
81
+
82
+
83
+ :
84
+
85
+
6
86
 
7
87
  data.put("id",uuid);
8
88
 
9
- ```
89
+ data.put("datetime", new SimpleDateFormat("Y-M-d").format(new Date(datetime))); //追加
10
90
 
91
+
92
+
11
- の下に
93
+ :
94
+
95
+
96
+
97
+ //new String[]{"body","id"}, // どの項目を
98
+
99
+ new String[]{"body","datetime"}, // どの項目を
100
+
101
+
102
+
103
+ :
104
+
105
+
106
+
107
+ (onItemClickメソッド内)
108
+
109
+ // 選択されたビューを取得 TwoLineListItemを取得した後、text2の値を取得する
110
+
111
+ //TwoLineListItem two = (TwoLineListItem)view;
112
+
113
+ //TextView idTextView = (TextView)two.findViewById(android.R.id.text2);
114
+
115
+ //TextView idTextView = (TextView)two.getText2();
116
+
117
+ //String idStr = (String) idTextView.getText();
118
+
119
+ String idStr = memoList.get(position).get("id");
120
+
121
+
122
+
123
+ :
124
+
125
+
126
+
127
+ (onItemLongClickメソッド内)
128
+
129
+ // 選択されたビューを取得 TwoLineListItemを取得した後、text2の値を取得する
130
+
131
+ //TwoLineListItem two = (TwoLineListItem)view;
132
+
133
+ //TextView idTextView = (TextView)two.getText2();
134
+
135
+ //String idStr = (String) idTextView.getText();
136
+
137
+ String idStr = memoList.get(position).get("id");
138
+
139
+
140
+
141
+ :
142
+
143
+
144
+
145
+ //db.execSQL("DELETE FROM MEMO_TABLE WHERE uuid = '"+ idStr +"'");
146
+
147
+ db.delete("MEMO_TABLE", "uuid=?", new String[]{idStr});
12
148
 
13
149
  ```
14
150
 
151
+
152
+
153
+ CreateMemoActivity.java
154
+
155
+ ```java
156
+
157
+ (onCreateメソッド内)
158
+
159
+ //Cursor c = db.rawQuery("select body from MEMO_TABLE where uuid = '"+ id +"'", null);
160
+
161
+ Cursor c = db.query("MEMO_TABLE", new String[]{"body"}, "uuid=?", new String[]{id},null,null,null);
162
+
163
+
164
+
165
+ :
166
+
167
+
168
+
169
+ (onClickメソッド内)
170
+
171
+ // INSERT
172
+
173
+ //db.execSQL("insert into MEMO_TABLE(uuid, body) VALUES('"+ id +"', '"+ bodyStr +"')");
174
+
175
+ ContentValues cv = new ContentValues();
176
+
177
+ cv.put("uuid", id);
178
+
15
- data.put("date","");
179
+ cv.put("body", bodyStr);
180
+
181
+ cv.put("datetime", System.currentTimeMillis());
182
+
183
+ db.insert("MEMO_TABLE", null, cv);
184
+
185
+ else{
186
+
187
+ // UPDATE
188
+
189
+ //db.execSQL("update MEMO_TABLE set body = '"+ bodyStr +"' where uuid = '"+id+"'");
190
+
191
+ ContentValues cv = new ContentValues();
192
+
193
+ cv.put("body", bodyStr);
194
+
195
+ db.update("MEMO_TABLE", cv, "uuid=?", new String[]{id});
16
196
 
17
197
  ```
18
-
19
- を追加し,
20
-
21
- ```
22
-
23
- new String[]{"body","id"}, // どの項目を
24
-
25
- ```
26
-
27
-
28
-
29
- ```
30
-
31
- new String[]{"body","date"}, // どの項目を
32
-
33
- ```
34
-
35
- としては如何でしょうか.