質問編集履歴
1
Javaコードを追記しました
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
Androidアプリ開発初心者です
|
2
2
|
|
3
|
-
DBからデータを読んで
|
3
|
+
DBからデータを読んで自作アダプターを用いたListViewに表示しようとしていますが,実行時エラーで当該アクティビティに遷移した途端に落ちます.
|
4
4
|
|
5
5
|
コメントアウトする位置を変えたりして原因を探っていますが,いまいちよくわかりません.
|
6
6
|
|
7
|
+
|
8
|
+
|
7
9
|
以下LogCatです
|
8
10
|
|
9
|
-
|
10
|
-
|
11
|
-
```lang-<
|
11
|
+
```lang-<LogCat>
|
12
12
|
|
13
13
|
E/AndroidRuntime(19527):
|
14
14
|
|
@@ -78,6 +78,110 @@
|
|
78
78
|
|
79
79
|
|
80
80
|
|
81
|
+
このときのHogeActivityの`onCreate`は次の通りです
|
82
|
+
|
83
|
+
```lang-Java
|
84
|
+
|
85
|
+
private DataBaseHelper helper = null;
|
86
|
+
|
87
|
+
private String hoge1 = "1001";
|
88
|
+
|
89
|
+
private String hoge2 = "101";
|
90
|
+
|
91
|
+
private String[] hoge4s;
|
92
|
+
|
93
|
+
private String[] hoge3s;
|
94
|
+
|
95
|
+
private String[] hoge5s;
|
96
|
+
|
97
|
+
|
98
|
+
|
99
|
+
@Override
|
100
|
+
|
101
|
+
protected void onCreate(Bundle savedInstanceState) {
|
102
|
+
|
103
|
+
super.onCreate(savedInstanceState);
|
104
|
+
|
105
|
+
setContentView(R.layout.hoge_activity);
|
106
|
+
|
107
|
+
|
108
|
+
|
109
|
+
helper = new DataBaseHelper(this);
|
110
|
+
|
111
|
+
|
112
|
+
|
113
|
+
SQLiteDatabase db = helper.getReadableDatabase();
|
114
|
+
|
115
|
+
String[] cols = {"id", "hoge1", "hoge2", "hoge3", "hoge4", "hoge5", "hoge6"};
|
116
|
+
|
117
|
+
String[] params = {hoge1, hoge2};
|
118
|
+
|
119
|
+
/*
|
120
|
+
|
121
|
+
Cursor cs = db.query("tablehoge", cols, "hoge1 = ? and hoge2 = ?", params, null, null, "id desc", null);
|
122
|
+
|
123
|
+
if (cs.moveToFirst()) {
|
124
|
+
|
125
|
+
int i = 0;
|
126
|
+
|
127
|
+
do {
|
128
|
+
|
129
|
+
hoge4s[i] = cs.getString(4);
|
130
|
+
|
131
|
+
hoge3s[i] = cs.getString(3);
|
132
|
+
|
133
|
+
hoge5s[i] = cs.getString(5);
|
134
|
+
|
135
|
+
i++;
|
136
|
+
|
137
|
+
}while(cs.moveToNext());
|
138
|
+
|
139
|
+
}
|
140
|
+
|
141
|
+
|
142
|
+
|
143
|
+
// 配列の内容をListItemに詰め替え
|
144
|
+
|
145
|
+
ArrayList<HogeListItem> data = new ArrayList<HogeListItem>();
|
146
|
+
|
147
|
+
for (int i = 0; i < hoge4s.length; i++){
|
148
|
+
|
149
|
+
HogeListItem item = new HogeListItem();
|
150
|
+
|
151
|
+
item.setId_usrmsg((new Random()).nextLong());
|
152
|
+
|
153
|
+
item.setUsrmsg(hoge4s[i]);
|
154
|
+
|
155
|
+
item.setDate(hoge3s[i]);
|
156
|
+
|
157
|
+
item.setGoodnum(hoge5s[i]);
|
158
|
+
|
159
|
+
data.add(item);
|
160
|
+
|
161
|
+
}
|
162
|
+
|
163
|
+
|
164
|
+
|
165
|
+
// ListItem配列とレイアウトとを関連付け
|
166
|
+
|
167
|
+
ListAdapterUsrMsg adapter = new ListAdapterHoge(this, data, R.layout.hoge_listitem);
|
168
|
+
|
169
|
+
ListView list = (ListView)findViewById(R.id.lv_hoge);
|
170
|
+
|
171
|
+
list.setAdapter(adapter);
|
172
|
+
|
173
|
+
*/
|
174
|
+
|
175
|
+
```
|
176
|
+
|
177
|
+
|
178
|
+
|
179
|
+
エラー文中の`HogeActivity.java:32`は`SQLiteDatabase db = helper.getReadableDatabase();`を指しています.
|
180
|
+
|
181
|
+
|
182
|
+
|
183
|
+
|
184
|
+
|
81
185
|
なにが問題なのでしょうか?
|
82
186
|
|
83
187
|
よろしくお願いいたします
|