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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android Studio

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

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

1回答

2087閲覧

retrofitを使って天気情報を取得したい。

退会済みユーザー

退会済みユーザー

総合スコア0

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android Studio

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

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2018/02/19 06:22

編集2018/02/19 06:40

前提・実現したいこと

retrofitを使って天気情報を取得したい

発生している問題・エラーメッセージ

参考サイト
上記サイトを参考に、プログラムを書き進めていたのですが、
WeatherApi api = adapter.create(WeatherApi.interface);
という1文において、"identifierがありません"と";"がありません。というエラーが出ています。

また
Error:Execution failed for task ':app:compileDebugJavaWithJavac'.

Compilation failed; see the compiler error output for details.

というエラーも出ています。
どなたか解決法を教えてください…。

該当のソースコード

Java

1package com.example.ren.helloandroid; 2 3import android.support.v7.app.AppCompatActivity; 4import android.os.Bundle; 5 6import retrofit2.Response; 7import retrofit2.Retrofit; 8 9public class MainActivity extends AppCompatActivity { 10 11 private static final String API = "http://api.openweathermap.org/data/2.5"; 12 private static final float LAT = 35.681382f; 13 private static final float LON = 139.766084f; 14 15 @Override 16 protected void onCreate(Bundle savedInstanceState) { 17 super.onCreate(savedInstanceState); 18 setContentView(R.layout.activity_main); 19 20 //デフォルトのアダプター(converter)はjson用 21 //json以外の形式をサポートするには別途converterの実装が必要 22 Retrofit adapter = new Retrofit().Builder() 23 .setEndpoint(API) 24 .build(); 25 WeatherApi api = adapter.create(WeatherApi.interface); 26 api.getWeather(LAT, LON, new Callback<WeatherData>() { 27 @Override 28 public void success(WeatherData weatherData, Response response) { 29 for (Weather w : weatherData.getWeather()) { 30 System.out.println("Weather Description : " + w.getDescription()); 31 } 32 } 33 34 @Override 35 public void failure(RetrofitError error) { 36 37 } 38 }); 39 } 40} 41

Java

1import retrofit2.Callback; 2import retrofit2.http.GET; 3import retrofit2.http.Query; 4 5public interface WeatherApi { 6 @GET("/weather") 7 public void getWeather(@Query("lat") float lat, @Query("lon") float lon, Callback<WeatherData> response); 8} 9 10

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

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

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

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

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

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

guest

回答1

0

ベストアンサー

参考サイトでは

WeatherApi api = adapter.create(WeatherApi.class);

になっていますが、それが原因ではないでしょうか?

投稿2018/02/19 10:08

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

退会済みユーザー

退会済みユーザー

2018/02/21 02:05

変えたらエラーが消えました…。ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問