回答編集履歴

2

回答修正

2017/11/27 11:22

投稿

keicha_hrs
keicha_hrs

スコア6768

test CHANGED
@@ -2,15 +2,19 @@
2
2
 
3
3
 
4
4
 
5
- > System.exit(-1);でアプリが終了してしまいました
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
- このコードの場合、UIスレッド(TextViewなどのコンポーネントを操作できるスレッドのこと)上でTCP通信を行おうとしたきに出力されるNetworkOnMainThreadExceptionというエラーが発生します。下記のコードを実行した時点で強制終了してしまいます。
17
+ それを追加しても、なおこのアプリは落ちます。UIスレッド(TextViewなどのコンポーネントを操作できるスレッドのこと)上でTCP通信を行おうとするNetworkOnMainThreadExceptionというエラーが発生します。下記を実行した時点で強制終了してしまいます。
14
18
 
15
19
 
16
20
 
@@ -28,12 +32,10 @@
28
32
 
29
33
 
30
34
 
31
- また、ネットワークに通信をするプログラムを作るときは、AndroidManifest.xmlに
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

2017/11/27 11:22

投稿

keicha_hrs
keicha_hrs

スコア6768

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