当前位置: 首页 > 知识库问答 >
问题:

成功或失败方法未在android中使用改装调用

戎鹏云
2023-03-14

在MainActivity中。java//web服务的根URL公共静态最终字符串Root\u URL=”http://pratikbutani.x10.mx“RestAdapter adapter=new RestAdapter.Builder().setEndpoint(ROOT\u URL.build());

    //Creating an object of our api interface
    BooksAPI api = adapter.create(BooksAPI.class);

    //Defining the method
    api.getBooks(new Callback<List<Contact>>() {
        @Override
        public void success(List<Contact> list, Response response) {
            //Dismissing the loading progressbar

            //Storing the data in our list
            books = list;

            //Calling a method to show the list
            showList();
        }

        @Override
        public void failure(RetrofitError error) {
            //you can handle the errors here
        }
    });

公共接口BooksAPI{

/*Retrofit get annotation with our URL
   And our method that will return us the list ob Book
*/
@GET("/json_data.json")
public void getBooks(Callback<List<Contact>> response);

}

共有1个答案

仰经武
2023-03-14

//改装等级

public class NetworkContext {

private static final String BASE_URL = "https://xyz/";

private Map<String, Object> services;

private Retrofit retrofit;

private static final NetworkContext INSTANCE = new NetworkContext();

private NetworkContext() {
    services = new HashMap<>();
    HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
    interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
    OkHttpClient client = new OkHttpClient.Builder().addInterceptor(interceptor).build();

    retrofit = new Retrofit.Builder()
            .baseUrl(BASE_URL)
            .addConverterFactory(GsonConverterFactory.create())
            .client(client)
            .build();
}

public static NetworkContext getInstance() {
    return INSTANCE;
}

public synchronized <T> T getService(Class<T> clazz) {
    String key = clazz.getName();
    if (services.containsKey(key)) {
        return (T) services.get(key);
    } else {
        T newClass = retrofit.create(clazz);
        services.put(key, newClass);
        return newClass;
    }
}    
}

//api接口

public interface APIInterface {

@GET("will be attached with the base url")
Call<Model> getData();
}

//呼叫

   Call call = apiInterface.getData();
    call.enqueue(new Callback() {
        @Override
        public void onResponse(Call call, Response response) {
            Model model = (Model) response.body();
            // here you can retrieve data 
        }

        @Override
        public void onFailure(Call call, Throwable t) {
            call.cancel();
        }
    });
 类似资料:
  • 在logcat上,所以它转到。我错过了什么?这里怎么了?这个例子的资源是这个视频

  • 我试图通过一个方法更改对象成员的值,但我不明白为什么它在这种特定情况下不起作用: 当我在全局范围内创建对象时,我不明白为什么值是3。msvc和clang在两种情况下都显示5,但不显示gcc。谁错了?

  • 我在MongoDB中使用Morphia 0.109。我的文档集合在_id字段中使用字符串值,例如。 当我调用Datastore或BasicDAO save()方法插入其中一个项时,我会按照要求在_id字段(entityId)中填充一个唯一的值。save()方法返回类型为key的值。 我的问题是,如何通过检查返回的键来确定保存操作是成功还是失败?我不能依靠检查Morphia是否填写了_id字段的技巧

  • 我正试图在我的小米红米S2上运行我的Android Studio 3.5应用程序。在手机上安装应用程序时,它会抛出一个错误: 安装未成功。< br >无法安装该应用程序。< br >安装失败,原因是:“null” 真实设备: 小米红米S2

  • 最近从Eclipse改为Android Studio,我还将JDK从改为。 现在我正在尝试运行我的第一个应用程序,我收到了以下消息: 编辑: 当我从Android Studio运行时,我会收到上面显示的错误。当我从命令行运行它时,我没有收到错误(应用程序正在运行,我收到了一个错误,但与gradle无关)。 我从这里得到了密码 你可以检查构建。格雷德尔在谷歌回购 更新2: 我添加了这个代码 就在构建

  • 我正在使用和学习。 我不明白,使用< code >回调方法完成未来和使用promise之间的确切区别是什么? 这是否意味着未来回调方法实际上没有完成未来?只有使用promise,我们才能完成未来? 还有,我见过很多像你这样的地方,既可以阅读期货,也可以阅读无极,但你只能写信给无极。