call.enqueue(new Callback<HistoryBean>() {
@Override
public void onResponse(Call<HistoryBean> call, Response<HistoryBean> response) {
HistoryBean hb = response.body();
if(hb == null) return;
showText.append(hb.isError() + "");
for(HistoryBean.ResultsBean rb : hb.getResults()){
showText.append(rb.getTitle() + "/n");
}
}
@Override
public void onFailure(Call<HistoryBean> call, Throwable t) {
}
});
public interface CallBack {
void eat();
}
public class Son implements CallBack{
private Mom mom;
//A类持有对B类的引用
public void setMom(Mom mom){
this.mom = mom;
}
@Override
public void eat() {
System.out.println("我来吃饭了");
}
public void askMom(){
//通过B类的引用调用含有接口参数的方法。
System.out.println("饭做了吗?");
System.out.println("没做好,我玩游戏了");
new Thread(() -> mom.doCook(Son.this)).start();
System.out.println("玩游戏了中......");
}
}
public class Mom {
//在含有接口参数的方法中利用接口参数调用回调方法
public void doCook(CallBack callBack){
new Thread(new Runnable() {
@Override
public void run() {
try {
System.out.println("做饭中......");
Thread.sleep(5000);
callBack.eat();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}).start();
}
}
public class Test {
public static void main(String[] args) {
Mom mom = new Mom();
Son son = new Son();
son.setMom(mom);
son.askMom();
}
}
public class Son implements CallBack{
public Mom mom;
public Son(Mom mom){
this.mom = mom;
}
public void askMom(){
System.out.println("饭做了吗?");
System.out.println("没做好,我玩游戏了");
new Thread(() -> mom.doCook(Son.this)).start();
System.out.println("玩游戏了中......");
}
@Override
public void eat() {
System.out.println("好了,我来吃饭了");
}
}
public class CallBackTest {
public static void main(String[] args) {
Mom mom = new Mom();
new Thread(()-> mom.doCook(() -> System.out.println("吃饭了......"))).start();
}
}
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.i("button","被点击");
}
});
call.enqueue(new Callback<HistoryBean>() {
@Override
public void onResponse(Call<HistoryBean> call, Response<HistoryBean> response) {
HistoryBean hb = response.body();
if(hb == null) return;
showText.append(hb.isError() + "");
for(HistoryBean.ResultsBean rb : hb.getResults()){
showText.append(rb.getTitle() + "/n");
}
}
@Override
public void onFailure(Call<HistoryBean> call, Throwable t) {
}
});
public class Client{
public Server server;
public String request;
//链接Server,得到Server引用。
public Client connect(Server server){
this.server = server;
return this;
}
//Client,设置request
public Client setRequest(String request){
this.request = request;
return this;
}
//异步发送请求的方法,lamdba表达式。
public void enqueue(Server.CallBack callBack){
new Thread(()->server.setCallBack(request,callBack)).start();
}
}
public class Server {
public String response = "这是一个html";
//注册回调接口的方法,把数据通过参数传给回调接口
public void setCallBack(String request,CallBack callBack){
System.out.println("已经收到request,正在计算当中......");
new Thread(() -> {
try {
Thread.sleep(5000);
callBack.onResponse(request + response);
} catch (InterruptedException e) {
e.printStackTrace();
callBack.onFail(e);
}
}).start();
}
//在拥有数据的那个类里面写一个接口
public interface CallBack{
void onResponse(String response);
void onFail(Throwable throwable);
}
}
public class CallBackTest {
public static void main(String[] args) {
Client client = new Client();
client.connect(new Server()).setRequest("这个文件是什么?").enqueue(new Server.CallBack() {
@Override
public void onResponse(String response) {
System.out.println(response);
}
@Override
public void onFail(Throwable throwable) {
System.out.println(throwable.getMessage());
}
});
}
}
已经收到request,正在计算当中...... 这个文件是什么?这是一个html
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有