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ìつ偉
主站蜘蛛池模板:
国产一区二区三区免费观在线
|
日本19禁啪啪无遮挡免费动图
|
色老头综合免费视频
|
色婷婷亚洲十月十月色天
|
不卡精品国产_亚洲人成在线
|
国产成人免费爽爽爽视频
|
成人特黄a级毛片免费视频
|
a级毛片在线免费观看
|
香蕉视频在线观看免费
|
亚洲а∨天堂久久精品9966
|
亚洲国产美女视频
|
亚洲福利在线视频
|
亚洲国产成人片在线观看
|
国产中文在线亚洲精品官网
|
免费女人18毛片a级毛片视频
|
精品国产一区二区三区免费看
|
福利免费观看午夜体检区
|
亚洲国产高清美女在线观看
|
亚洲AV午夜福利精品一区二区
|
久久久久亚洲精品男人的天堂
|
亚洲国产精品综合久久一线
|
在线亚洲v日韩v
|
亚洲AV成人片无码网站
|
亚洲人成人伊人成综合网无码
|
日本亚洲色大成网站www久久
|
亚洲一区二区三区不卡在线播放
|
91亚洲国产成人久久精品网址
|
久久精品国产亚洲av水果派
|
a拍拍男女免费看全片
|
在线观看免费中文视频
|
一个人免费日韩不卡视频
|
色欲色香天天天综合网站免费
|
久久免费精彩视频
|
91大神在线免费观看
|
久久精品无码专区免费东京热
|
久久久久av无码免费网
|
一区二区无码免费视频网站
|
亚洲成av人片天堂网无码】
|
亚洲精华国产精华精华液好用
|
国产亚洲一卡2卡3卡4卡新区
|
午夜精品在线免费观看
|