Mr.Xu
--專注移動(dòng)互聯(lián)網(wǎng)
BlogJava
首頁
新隨筆
聯(lián)系
聚合
管理
隨筆-1 評論-2 文章-0 trackbacks-0
[原創(chuàng)]java回調(diào)函數(shù)的使用筆記
在java和android開發(fā)過程中經(jīng)常遇到回調(diào)函數(shù),一直對回調(diào)函數(shù)不是很理解,今天自己寫了個(gè)例子,是為了客戶端像服務(wù)器發(fā)送請求,要知道請求是否發(fā)送成功而寫的。當(dāng)你發(fā)送一個(gè)請求到服務(wù)器時(shí),成功發(fā)送請求就調(diào)用成功的接口,發(fā)送請求就調(diào)用失敗的接口,這些都由服務(wù)器進(jìn)行處理,客戶端只需知道成功與否問題。概念的東西就不多說了,直接上代碼了。
1、創(chuàng)建回調(diào)接口
1
package
pattern;
2
3
/** */
/**
4
*描述:回調(diào)接口
5
*
@author
xuzhiwei
6
*/
7
public
interface
ICallBack
{
8
public
void
onSuccess(String content);
9
public
void
onFailure(String errorMsg);
10
}
2、創(chuàng)建調(diào)用http請求的類,用于向服務(wù)器發(fā)送請求,服務(wù)器內(nèi)部進(jìn)行http請求處理的功能。
1
package
pattern;
2
3
import
java.io.IOException;
4
import
java.net.HttpURLConnection;
5
import
java.net.MalformedURLException;
6
import
java.net.URL;
7
import
java.util.logging.Level;
8
import
java.util.logging.Logger;
9
10
/** */
/**
11
*
12
*
@author
xuzhiwei
13
*/
14
public
abstract
class
Request
{
15
public
void
onSuccess(String resposeBody)
{}
16
public
void
onFailure(String exceptionMsg)
{}
17
18
public
Request()
{}
19
20
public
void
execute(String path)
{
21
try
{
22
URL url
=
new
URL(path);
23
HttpURLConnection conn
=
(HttpURLConnection)url.openConnection();
24
25
conn.setConnectTimeout(
3
*
1000
);
26
conn.setReadTimeout(
2000
);
//返回請求結(jié)果
27
int
responseCode
=
conn.getResponseCode();
28
onResponse(responseCode);
29
}
catch
(MalformedURLException ex)
{
30
onFailure(ex.getMessage());
31
}
catch
(IOException ex)
{
32
onFailure(ex.getMessage());
33
}
34
}
35
/**響應(yīng)處理**/
36
public
void
onResponse(
int
code)
{
37
if
(code
==
200
)
{ //狀態(tài)碼:200響應(yīng)請求成功!調(diào)用
onSuccess 方法
38
onSuccess(
"
發(fā)送請求成功!
"
);
39
}
else
{
40
onFailure(
"
發(fā)送請求失??!請求代碼:
"
+
code);
41
}
42
}
43
44
}
45
3、創(chuàng)建請求控制類
package
pattern;
/** */
/**
*
*
@author
xuzhiwei
*/
public
class
Ranking
{
private
String path;
public
Ranking(String path)
{
this
.path
=
path;
}
public
void
list(
final
ICallBack call)
{
//創(chuàng)建請求實(shí)例,請求成功回調(diào)成功方法,反之調(diào)用失敗的接口
Request request
=
new
Request()
{
@Override
public
void
onSuccess(String resposeBody)
{
if
(
null
!=
call)
{
call.onSuccess(resposeBody);
}
else
{
onFailure(
"
未初始化回調(diào)函數(shù)
"
);
}
}
@Override
public
void
onFailure(String exceptionMsg)
{
if
(
null
!=
call)
{
call.onFailure(exceptionMsg);
}
}
}
;
request.execute(path);
}
}
4、創(chuàng)建測試類進(jìn)行測試
1
package
pattern;
2
/** */
/**
3
*
4
*
@author
xuzhiwei
5
*/
6
public
class
TestCallBack
{
7
8
public
static
void
main(String[] args)
{
9
10
Ranking ranking
=
new
Ranking(
"
http://localhost/net/index.php
"
);
11
12
ranking.list(
new
ICallBack()
{
13
14
@Override
15
public
void
onSuccess(String content)
{
16
complete(content);
17
}
18
19
@Override
20
public
void
onFailure(String errorMsg)
{
21
complete(errorMsg);
22
}
23
}
);
24
}
25
26
private
static
void
complete(String msg)
27
{
28
System.out.println(
"
------請求完成---->
"
+
msg);
29
}
30
}
31
以上就是整個(gè)回調(diào)函數(shù)的處理過程了。第一次寫blog,請大家多多指教。
posted on 2012-07-27 12:43
じZhìつ偉
閱讀(1426)
評論(2)
編輯
收藏
評論:
#
re: [原創(chuàng)]java回調(diào)函數(shù)的使用筆記 [未登錄] 2012-07-27 16:50 |
ゞ沉默是金ゞ
Request should implement ICallBack, correct?
回復(fù)
更多評論
#
re: [原創(chuàng)]java回調(diào)函數(shù)的使用筆記
2012-07-27 17:10 |
じZhìつ偉
@ゞ沉默是金ゞ 也可以實(shí)現(xiàn)ICallBack接口。
回復(fù)
更多評論
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
<
2012年7月
>
日
一
二
三
四
五
六
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
給我留言
查看公開留言
查看私人留言
隨筆檔案
2012年7月 (1)
搜索
最新評論
1.?re: [原創(chuàng)]java回調(diào)函數(shù)的使用筆記
@ゞ沉默是金ゞ 也可以實(shí)現(xiàn)ICallBack接口。
--じZhìつ偉
2.?re: [原創(chuàng)]java回調(diào)函數(shù)的使用筆記 [未登錄]
Request should implement ICallBack, correct?
--ゞ沉默是金ゞ
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 じZhìつ偉
主站蜘蛛池模板:
免费无码作爱视频
|
亚洲自偷自偷偷色无码中文
|
99精品视频在线观看免费
|
亚洲免费福利视频
|
国产V亚洲V天堂无码久久久
|
免费国产a国产片高清
|
9久9久女女免费精品视频在线观看
|
在线观看免费无码视频
|
亚洲AV成人无码网天堂
|
亚洲成人午夜电影
|
亚洲男人的天堂在线播放
|
在线亚洲午夜理论AV大片
|
四虎影视永久免费观看网址
|
24小时日本在线www免费的
|
久久www免费人成看片
|
永久免费A∨片在线观看
|
中文在线观看免费网站
|
少妇亚洲免费精品
|
亚洲a∨无码一区二区
|
久久亚洲精品国产亚洲老地址
|
亚洲午夜在线一区
|
久久精品国产亚洲AV无码偷窥
|
亚洲国产精品热久久
|
久久青青草原亚洲av无码
|
全部免费毛片免费播放
|
国产中文字幕免费
|
国产婷婷高清在线观看免费
|
永久黄网站色视频免费直播
|
亚洲精品免费在线视频
|
亚洲成AV人片在线播放无码
|
亚洲精品~无码抽插
|
中文字幕亚洲专区
|
亚洲色精品vr一区二区三区
|
亚洲国产一成人久久精品
|
国产成人综合亚洲亚洲国产第一页
|
在线播放免费人成毛片乱码
|
永久免费av无码入口国语片
|
免费一级毛片在线播放视频
|
99精品视频在线观看免费播放
|
91av视频免费在线观看
|
黄网站色在线视频免费观看
|