質問編集履歴

2

コードを<code>タブ内に書き直しました。

2021/03/08 03:50

投稿

kurobaron
kurobaron

スコア3

test CHANGED
File without changes
test CHANGED
@@ -1,7 +1,3 @@
1
- (ご指摘を受け修正致しました。失礼致しました。)
2
-
3
-
4
-
5
1
  現在Androidアプリの開発をしており、MainActivityではないページでギャラリーから画像を選択してそれらのURIをRoomデータベースに保存し、MainActivityのonCreateやonStartのタイミングでRoomデータベースから保存されているURIを取得してそれが表す画像をimageViewに設定する機能を実現したいと考えています。
6
2
 
7
3
  しかしURIをデータベースに保存するところ、データベースからURIを取得するところまでは上手くいくのですが、取得したURIからimageViewに画像を設定するところでエラーが発生してしまいます。
@@ -12,33 +8,33 @@
12
8
 
13
9
  ```Java
14
10
 
15
- FetchPicData fetchPicData = new FetchPicData();
11
+ FetchPicData fetchPicData = new FetchPicData();
16
12
 
17
- fetchPicData.start();
13
+ fetchPicData.start();
18
14
 
19
15
 
20
16
 
21
- while(true){
17
+ while(true){
22
18
 
23
- try{
19
+ try{
24
20
 
25
- Thread.sleep(100L);
21
+ Thread.sleep(100L);
26
22
 
27
- } catch (InterruptedException e){
23
+ } catch (InterruptedException e){
28
24
 
29
- System.out.println(e.getMessage());
25
+ System.out.println(e.getMessage());
30
26
 
31
- }
27
+ }
32
28
 
33
- if(fetchPicData.isFinished()){
29
+ if(fetchPicData.isFinished()){
34
30
 
35
- break;
31
+ break;
36
32
 
37
- }
33
+ }
38
34
 
39
- }
35
+ }
40
36
 
41
- String[] uris = fetchPicData.getUris();
37
+ String[] uris = fetchPicData.getUris();
42
38
 
43
39
  ```
44
40
 
@@ -98,17 +94,17 @@
98
94
 
99
95
  ```Java
100
96
 
101
- try {
97
+ try {
102
98
 
103
-  Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), Uri.parse(uris[i]));
99
+ Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), Uri.parse(uris[i]));
104
100
 
105
- imageView.setImageBitmap(bitmap);
101
+ imageView.setImageBitmap(bitmap);
106
102
 
107
- }catch (IOException e) {
103
+ }catch (IOException e) {
108
104
 
109
- e.printStackTrace();
105
+ e.printStackTrace();
110
106
 
111
- }
107
+ }
112
108
 
113
109
  ```
114
110
 

1

2021/03/08 03:50

投稿

kurobaron
kurobaron

スコア3

test CHANGED
File without changes
test CHANGED
@@ -1,3 +1,7 @@
1
+ (ご指摘を受け修正致しました。失礼致しました。)
2
+
3
+
4
+
1
5
  現在Androidアプリの開発をしており、MainActivityではないページでギャラリーから画像を選択してそれらのURIをRoomデータベースに保存し、MainActivityのonCreateやonStartのタイミングでRoomデータベースから保存されているURIを取得してそれが表す画像をimageViewに設定する機能を実現したいと考えています。
2
6
 
3
7
  しかしURIをデータベースに保存するところ、データベースからURIを取得するところまでは上手くいくのですが、取得したURIからimageViewに画像を設定するところでエラーが発生してしまいます。
@@ -6,7 +10,9 @@
6
10
 
7
11
 
8
12
 
13
+ ```Java
14
+
9
-     FetchPicData fetchPicData = new FetchPicData();
15
+ FetchPicData fetchPicData = new FetchPicData();
10
16
 
11
17
  fetchPicData.start();
12
18
 
@@ -34,12 +40,16 @@
34
40
 
35
41
  String[] uris = fetchPicData.getUris();
36
42
 
37
-
43
+ ```
44
+
45
+     
38
46
 
39
47
  で、fetchPicDataクラスが
40
48
 
41
49
 
42
50
 
51
+ ```Java
52
+
43
53
  public class FetchPicData extends Thread {
44
54
 
45
55
  private String[] uris;
@@ -78,13 +88,17 @@
78
88
 
79
89
  }
80
90
 
91
+ ```
92
+
81
93
 
82
94
 
83
95
  となっており、取得したURIからimageViewに画像を設定する箇所のコードは
84
96
 
85
97
 
86
98
 
99
+ ```Java
100
+
87
-        try {
101
+ try {
88
102
 
89
103
   Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), Uri.parse(uris[i]));
90
104
 
@@ -96,12 +110,16 @@
96
110
 
97
111
  }
98
112
 
113
+ ```
114
+
99
115
 
100
116
 
101
117
  となっており(urisはString[]型でURIを表す文字列を格納しています)、エラーの文は
102
118
 
103
119
 
104
120
 
121
+ ```
122
+
105
123
  /com.example.piccapture E/AndroidRuntime: FATAL EXCEPTION: main
106
124
 
107
125
  Process: com.example.piccapture, PID: 31922
@@ -174,6 +192,8 @@
174
192
 
175
193
  at android.os.Binder.execTransactInternal(Binder.java:1021)
176
194
 
195
+ ```
196
+
177
197
 
178
198
 
179
199
  となっています。(piccaptureはアプリ名です)