質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

0回答

721閲覧

エラーメッセージはないが、実行できない

trident_aru

総合スコア4

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2019/12/12 06:45

編集2019/12/13 04:21
位置情報から天気を表示するアプリを作っています。 位置情報を取得してその緯度経度からAPIのopenweathermapを利用して天気を受け取り表示したいです ### 発生している問題・エラーメッセージ エラーメッセージはありませんが実行すると「問題が発生したため終了します」と表示されます。どうしても原因がわからないので投稿させていただきました。ご協力よろしくお願いします。 ### 該当のソースコード ```java public void onLocationChanged(Location location) { double latitude = location.getLatitude(); double longitude = location.getLongitude(); try { String requestURL = "http://api.openweathermap.org/data/2.5/find?lat=" + latitude + "&lon=" + longitude + "&cnt=1&APPID=" + API; URL url = new URL(requestURL); InputStream is = url.openConnection().getInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF-8")); // JSON形式で結果が返るためパースのためにStringに変換する StringBuilder sb = new StringBuilder(); String line; while (null != (line = reader.readLine())) { sb.append(line); } String data = sb.toString(); try { JSONObject rootObj = new JSONObject(data); JSONArray listArray = rootObj.getJSONArray("list"); JSONObject obj = listArray.getJSONObject(0); // 地点ID int id = obj.getInt("id"); // 地点名 String cityName = obj.getString("name"); // 気温(Kから℃に変換) JSONObject mainObj = obj.getJSONObject("main"); float currentTemp = (float) (mainObj.getDouble("temp") - 273.15f); float minTemp = (float) (mainObj.getDouble("temp_min") - 273.15f); float maxTemp = (float) (mainObj.getDouble("temp_max") - 273.15f); // 湿度 if (mainObj.has("humidity")) { int humidity = mainObj.getInt("humidity"); } // 取得時間 long time = obj.getLong("dt"); // 天気 JSONArray weatherArray = obj.getJSONArray("weather"); JSONObject weatherObj = weatherArray.getJSONObject(0); String iconId = weatherObj.getString("icon"); String weatherDescription = weatherArray.getString(Integer.parseInt("description")); temptext.setText((int) currentTemp); temp_mintext.setText((int) minTemp); temp_maxtext.setText((int) maxTemp); rin_text.setText(weatherDescription); weather_text.setText((CharSequence) weatherArray); address.setText(cityName); } catch (JSONException e) { } } catch (IOException e) { e.printStackTrace(); } }

補足情報(FW/ツールのバージョンなど)

コードは学校で作ったGPSのコードとネットにあったopenweathermapの利用例のコードを使って作りました。
個人的に問題あると思っている部分を掲載させていただきます。
runningdeviceはNexus6PAPI23です

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2019/12/12 06:47

このままではコードが読みづらいので、質問を編集し、<code>ボタンを押し、出てくる’’’の枠の中にコードを貼り付けてください
HRSKT

2019/12/12 07:16

エラーがないというのは「Buildは通ったけど」という意味ですよね AndroidStudioの logcat ウインドウの表示はどうでしょうか? そこもエラーなしですか?
m.ts10806

2019/12/12 08:26

>「問題が発生したため終了します」 これはエラーメッセージです。
jimbe

2019/12/12 13:57

何が起きているのか分からない状態で一部のコードだけ見ても, 恐らく作者以上に分かりません. Hitoshi_kitoさんのおっしゃる通り, android studio から実行していれば logcat に情報が出ているはずですので, まずそちらをご確認ください. どうしても詳細が分からないのでしたら, アプリの処理を少しずつコメントにしていって, 落ちなくなったらその直前にコメントにした個所が怪しいとみる等, とにかく状況を調べることをしたほうが宜しいかと思います.
trident_aru

2019/12/13 04:30

皆様、ありがとうございます。 HIroshi_Kitoさんのおっしゃる通り「Buildは通ったけど」で間違いないです。 HIroshi_Kitoさん、Jimbeさんの仰る通りlogcatにエラーがあったので詳細確認をしてから出直します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問