回答編集履歴
2
回答修正
test
CHANGED
@@ -2,15 +2,19 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
|
5
|
+
ネットワークに通信をするプログラムを作るときは、AndroidManifest.xmlに
|
6
|
+
|
7
|
+
```XML
|
8
|
+
|
9
|
+
<uses-permission android:name="android.permission.INTERNET" />
|
10
|
+
|
11
|
+
```
|
12
|
+
|
13
|
+
という行を追加して、ネットワークへのアクセス許可を得なければなりません。これが落ちる第一の理由です。
|
6
14
|
|
7
15
|
|
8
16
|
|
9
|
-
デバッグ実行でこの行に到達することを確認しましたか?同じコードを実験的に実行しましたが、この行には到達しませんでした。その前に別のエラーでアプリが落ちます。誤った解析をしていては、解決できるものもできなくなるでしょう。
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
この
|
17
|
+
それを追加しても、なおこのアプリは落ちます。UIスレッド(TextViewなどのコンポーネントを操作できるスレッドのこと)上でTCP通信を行おうとすると、NetworkOnMainThreadExceptionというエラーが発生します。下記を実行した時点で強制終了してしまいます。
|
14
18
|
|
15
19
|
|
16
20
|
|
@@ -28,12 +32,10 @@
|
|
28
32
|
|
29
33
|
|
30
34
|
|
31
|
-
|
35
|
+
---
|
32
36
|
|
33
|
-
```XML
|
34
37
|
|
35
|
-
<uses-permission android:name="android.permission.INTERNET" />
|
36
38
|
|
37
|
-
|
39
|
+
(11/27 20:20 回答修正)
|
38
40
|
|
39
|
-
|
41
|
+
パーミッションを追加した状態で検証したため、結果として回答内容が間違っていた(exitに到達しないと指摘していたが到達していた)ので、回答を改めました。ただ、改善しなければならない要点自体に違いはありません。
|
1
typo
test
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
|
11
11
|
|
12
12
|
|
13
|
-
このコードの場合、UIスレッド(TextViewなどのコンポーネントを操作できるスレッドのこと)上でTCP通信を行うとしたときに出力されるNetworkOnMainThreadExceptionというエラーが発生します。下記のコードを実行した時点で強制終了してしまいます。
|
13
|
+
このコードの場合、UIスレッド(TextViewなどのコンポーネントを操作できるスレッドのこと)上でTCP通信を行おうとしたときに出力されるNetworkOnMainThreadExceptionというエラーが発生します。下記のコードを実行した時点で強制終了してしまいます。
|
14
14
|
|
15
15
|
|
16
16
|
|