1

私はAndroidが初めてで、githubの基本的なSimpleService.javaでRetrofit2を使用しようとしています。サンプルは非常にうまく機能しますが、myURL を使用すると、次のようになりますNullPointerException

Thread thread = new Thread(new Runnable(){
            @Override
            public void run(){
            Retrofit retrofit = new Retrofit.Builder()
                    .baseUrl(myURL)
                    .addConverterFactory(GsonConverterFactory.create())
                    .build();

            // Create an instance of our GitHub API interface.
            SimpleService.GitHub github = retrofit.create(SimpleService.GitHub.class);

            // Create a call instance for looking up Retrofit contributors.
            Call<List<SimpleService.Pending>> call2 = github.getPendings();
            List<SimpleService.Pending> pendings = null;
            try {
                pendings = call2.execute().body();
            } catch (IOException e) {
                e.printStackTrace();
            }
            for (SimpleService.Pending pending : pendings) {
                System.out.println(pending.idpr + " ;;; " + pending.lastlat + " ;;; " + pending.lastlng);
            }


        }
    });
    thread.start();

ブロック内のコードtryはnullを返しますデバッガーは言います。これが私のインターフェース(名前は変更していませんが、サンプルのようにGitHubのままです)とSimpleServiceクラスです:

     public final class SimpleService {
public static final String API_URL = myURL;

public static class Pending {
    public final int idpr;
    public final double lastlat;
    public final double lastlng;


    public Pending(int idpr, double lastlat, double lastlng) {
        this.idpr = idpr;
        this.lastlat = lastlat;
        this.lastlng = lastlng;
    }
}

public interface GitHub {
    @GET("/repos/{owner}/{repo}/contributors")
    Call<List<Contributor>> contributors(
            @Path("owner") String owner,
            @Path("repo") String repo);

    @GET("/pendings")
    Call<List<Pending>> getPendings();
}

そして、これが私が受け取る典型的なjsonです:

[
{"idpr":1,"lastlat":48.788986,"lastlng":7.24545,"idu":{"username":"foulekparo"}},
{"idpr":2,"lastlat":48.803717,"lastlng":6.47526,"idu":{"username":"flouka"}}
]

私は何が間違っているのか分かりません。

4

0 に答える 0