問題タブ [networkonmainthread]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - URLにデータを投稿する際のandroid.os.NetworkOnMainThreadException
以下のコードでは、Android プロジェクトの実行時にエラーが発生します
コード:
エラー: android.os.NetworkOnMainThreadException
エラーを探していますが、見つかりません。ここで私が間違っていることを誰か教えてもらえますか??
android - NetworkOnMainThreadException - 再度
これらのコードは、プロジェクトに単独である間は完全に実行されます。これらのコードを他の機能を含むアプリに統合すると、変換ボタンをクリックした後にアプリケーションが停止しました。実機はSamsung Galaxy Note 2、Android 4.3
xml ファイル
javaファイル
ログファイル
android - Runnable の NetworkOnMainThreadException
Android 4.4 プロジェクトを作成しています。私は持っていNetworkOnMainThreadException
ます。以下は私のプロセスです。
Runnable は別のスレッドではありませんか? Runnable で AsyncTask を使用する必要がありますか?
multithreading - Android から RESTful メソッドを呼び出すには?
Android から単純な REST メソッドを呼び出す 2 つの異なる方法を試しました。上記の REST メソッド (他のクライアントから機能する) は、単に 17 などの int val を返します。
次の試みはどちらも、私がオンラインで見つけたコードに基づいています。1つは次のようになります。
public void onFetchBtnClicked(View v){ if(v.getId() == R.id.FetchBtn){ Toast.makeText(getApplicationContext(), "ボタンをつぶしてしまいました.", Toast.LENGTH_SHORT).show() ; new NetworkTask().execute(); } }
public static class NetworkTask extends AsyncTask {
Log.i(タグ、結果); }
上記のコードでは、次のコード行が失敗した後:
...わかりました、「*E/callWebService﹕ IOException in callWebService(). Connection to http://localhost:28642 refused*
」
Mednieks、Dornin、Meike、および Nakamura による O'Reilly の「Programming Android」の本でこれを読んだように、この問題はスレッドの問題である可能性があります。別のスレッドで実行されます! 別のスレッドから見える状態を書き込んだり、別のスレッドから書き込み可能な状態を読み取ったりしてはなりません.これにはそのパラメータが含まれます."
私の他の試みで:
...デバッガーは、同じ問題行にヒットした後、View.class にダンプします (result = httpclient.execute(request, handler))。なぜそうなるのかはわかりません*が、logcatのエラーメッセージで示されているように、問題の核心は次のとおりだと思います:「原因:android.os.NetworkOnMainThreadException」
※UI(ビュー)スレッド内で何か不都合なことが試みられているためかもしれません。
また (大したことではありませんが、おそらく「興味深い」): Toast の後にメソッド呼び出しが行われたときに、Toast がポップアップしません (それ以外の場合は機能します)。
(Web API) サーバーには、対応する Controller メソッドにブレークポイントが設定されていますが、到達することはありません。前述のように、サーバーは実行中であり、他の (Windows アプリ) クライアントに問題なく応答します。
Android から RESTful メソッドを呼び出す簡単な方法が必要です。しかし、何を/どのように?
アップデート
私もこれを試してみましたが、次のように呼び出します。
...しかし、「NetworkOnMainThread」例外をスローしても問題ありません。
更新 2
今までで一番近かったと思います。この場合、サーバーが原因である可能性があります。これは、次のコードが原因です。
....スローされる例外は次のとおりです。
libcore.io.ErrnoException: 接続に失敗しました: ECONNREFUSED (接続が拒否されました) localhost/127.0.0.1 (ポート 28642) への接続に失敗しました: 接続に失敗しました: ECONNREFUSED (接続が拒否されました)
...そして、Android アプリは引き続き実行されます (他の例では失敗します)。
サーバーが接続を拒否するのはなぜですか?
更新 3
私はそれを持っていると一瞬思いました: URL でシリアル番号を渡すのを忘れていました. しかし、そうしても失敗します。
サーバー アプリのコントローラー メソッドにブレークポイントがあります。また、Repository メソッドでも、それらに到達することはありません。
何が間違っている可能性がありますか?
「localhost」は (URL で) 使用するのが間違っていますか? 代わりにコンピュータの名前を使用する必要がありますか?
URL (文字どおり " http://localhost:28642/api/Departments/GetCount?serialNum=4242
" として渡される) を逐語化する必要がありますか?
更新 4
「locohost」をマシン名に変更すると、「ホスト名に関連付けられたアドレスがありません」と表示されるので問題ありません...
奇妙なことに、この行は問題なく実行されます。
...これは、例外がスロー/キャッチされる前の最後の行です。
しかし、これを見ると、おそらく私は自分の強打から逃れる必要があります。しかし、"http:" の後のように、既に 2 回叩いている場合、3 回叩く必要があるのでしょうか? それとも4倍強打?きっとシーリングワックスじゃない…?
android - android URLをヒットする方法は? ブラウザを開かずに
これはエロい
これは、単純なHITが必要なため、非同期タスクや解析が必要ないため、これの重複ではありません
android - JSON からのデータの解析中の android.os.NetworkOnMainThreadException
こんにちは友人私は必要なアプリケーションを開発しています:
- すべての国名をリストに入れます。
- 国のリストは JSON からのものです。
私のWebサービスは次のとおりです。
https://maps.googleapis.com/maps/api/geocode/json
その中で、経度と緯度から国名を変換する際に次のエラーが発生しています。
エラーは次のとおりです。
JSONの私のコードは次のとおりです。
私を助けてください。どこで間違いをしているのか教えてください。
よろしくお願いします。