版权声明:此BLOG为个人维护BLOG,内容均来自原创及互连网转载。最终目的为收集整理自己需要的文章技术等内容,不涉及商业用途。 本BLOG上原创文章未经本人许可,不得用于商业用途及传统媒体。网络媒体转载请注明出处,否则属于侵权行为。 3、有关本站侵权 本BLOG所转载的内容,均是本人未发现有对文章版权声明的文章且无来自传统媒体。如果本BLOG侵犯了您的权益,请联系本人,本人将会在第一时间删除侵权文章 https://blog.csdn.net/qq_20221151/article/details/52161027
> 本博客内容一致同步到本人的博客站点:http://www.zhoutaotao.xyz 欢迎访问留言交流
package ClassSelf; public class UserMessage { private String name; private String id; private String subscriptions_url; public String getSubscriptions_url() { return subscriptions_url;} public String getName() { return name; } public void setName(String name) { this.name = name; } public String getId() { return id; } public void setId(String id) { this.id = id; } public UserMessage(String name, String id, String subscriptions_url) { this.name = name; this.id = id; this.subscriptions_url = subscriptions_url; } }
//服务
package Interface; import ClassSelf.UserMessage; import retrofit2.Call; import retrofit2.http.GET; import retrofit2.http.Path; public interface ServerInterface{ @GET("/users/{user}")//定义一个GET注解 Call<UserMessage> getUserMessage(@Path("user") String user); }
MainActivity部分代码
Observable<UserMessage> observable=Observable.create(new Observable.OnSubscribe<UserMessage>() {//构造被观察者 @Override public void call(final Subscriber<? super UserMessage> subscriber) {//里面是需要网络请求的方法体 Retrofit retrofit=new Retrofit.Builder() .baseUrl(UrlMessage.BaseUrl).addConverterFactory(GsonConverterFactory.create()).build(); ServerInterface serverInterface=retrofit.create(ServerInterface.class); Call<UserMessage> call=serverInterface.getUserMessage("badman"); call.enqueue(new Callback<UserMessage>() { @Override public void onResponse(Call<UserMessage> call, Response<UserMessage> response) { final UserMessage user=response.body(); title.setText("SUCCESS!"); subscriber.onNext(user);//调用onNext事件 subscriber.onCompleted();//调用完成事件 } @Override public void onFailure(Call<UserMessage> call, Throwable t) {} }); } }); Subscriber<UserMessage> subscriber=new Subscriber<UserMessage>() { @Override public void onCompleted() { Log.e(">>>>>>>>>>>>>>>","OK"); } @Override public void onError(Throwable e) { Log.e(">>>>>>>>>>>>>>>","Exception"); } @Override public void onNext(UserMessage userMessage) { Log.e(">>>>>>>>>>>>>>>",userMessage.getSubscriptions_url()); } }; observable.subscribe(subscriber);
执行结果:
************************************************************************************
08-09 11:09:37.864 14871-14907/cn.edu.ahnu.getpicture W/System: ClassLoader referenced unknown path: /data/data/cn.edu.ahnu.getpicture/lib 08-09 11:09:40.553 14871-14871/cn.edu.ahnu.getpicture E/>>>>>>>>>>>>>>>: https://api.github.com/users/Badman/subscriptions 08-09 11:09:40.553 14871-14871/cn.edu.ahnu.getpicture E/>>>>>>>>>>>>>>>: OK
*************************************************************************************
注意别忘了,加上网络权限,