## 使用说明
将框架目录下的 ./SDK/JAVA/net 目录中的全部代码拷贝到项目里面即可使用。如:
![](http://7qnay5.com1.z0.glb.clouddn.com/qq20151017100539.jpg)
## 代码示例
如下是使用的代码场景片段。
首先,我们需要导入SDK包:
```java
//FullscreenActivity.java
import net.phalapi.sdk.*;
```
然后,准备一个子线程调用,并在此线程中实现接口请求:
```java
/**
* 网络操作相关的子线程
*/
Runnable networkTask = new Runnable() {
@Override
public void run() {
// TODO
// 在这里进行 http request.网络请求相关操作
PhalApiClient client = PhalApiClient.create()
.withHost("http://demo.phalapi.net/");
PhalApiClientResponse response = client
.withService("Default.Index")
.withParams("username", "dogstar")
.withTimeout(3000)
.request();
String content = "";
content += "ret=" + response.getRet() + "\n";
if (response.getRet() == 200) {
try {
JSONObject data = new JSONObject(response.getData());
content += "data.title=" + data.getString("title") + "\n";
content += "data.content=" + data.getString("content") + "\n";
content += "data.version=" + data.getString("version") + "\n";
} catch (JSONException ex) {
}
}
content += "msg=" + response.getMsg() + "\n";
Log.v("[PhalApiClientResponse]", content);
Message msg = new Message();
Bundle data = new Bundle();
data.putString("value", content);
msg.setData(data);
handler.sendMessage(msg);
}
};
```
接着,实现线程回调的hander:
```java
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
Bundle data = msg.getData();
String val = data.getString("value");
Log.i("mylog", "请求结果为-->" + val);
// TODO
// UI界面的更新等相关操作
}
};
```
最后,在我们需要的地方启动:
```java
View.OnClickListener mDummyBtnClickListener = new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// 开启一个子线程,进行网络操作,等待有返回结果,使用handler通知UI
new Thread(networkTask).start();
// ....
}
};
```
### 再一次调用和异常请求
当我们需要再次使用同一个接口实例进行请求时,需要先进行重置,以便清空之前的接口参数,如:
```java
//再一次请求
response = client.reset() //重置
.withService("User.GetBaseInfo")
.withParams("user_id", "1")
.request();
content = "";
content += "ret=" + response.getRet() + "\n";
if (response.getRet() == 200) {
try {
JSONObject data = new JSONObject(response.getData());
JSONObject info = new JSONObject(data.getString("info"));
content += "data.info.id=" + info.getString("id") + "\n";
content += "data.info.name=" + info.getString("name") + "\n";
content += "data.info.from=" + info.getString("from") + "\n";
} catch (JSONException ex) {
}
}
content += "msg=" + response.getMsg() + "\n";
Log.v("[PhalApiClientResponse]", content);
```
异常情况下,即ret != 200时,将返回错误的信息,如:
```java
//再来试一下异常的请求
response = client.reset()
.withService("XXX.XXXX")
.withParams("user_id", "1")
.request();
content = "";
content += "ret=" + response.getRet() + "\n";
content += "msg=" + response.getMsg() + "\n";
Log.v("[PhalApiClientResponse]", content);
```
## 运行效果
运行后,查询log,可以看到:
![](http://7qnay5.com1.z0.glb.clouddn.com/QQ20151017154114.jpg)
可以注意到,在调试模式时,会有接口请求的链接和返回的结果日记,如:
```
10-17 07:40:55.268: D/[PhalApiClient requestUrl](1376): http://demo.phalapi.net/?service=User.GetBaseInfo&user_id=1
10-17 07:40:55.364: D/[PhalApiClient apiResult](1376): {"ret":200,"data":{"code":0,"msg":"","info":{"id":"1","name":"dogstar","from":"oschina"}},"msg":""}
```
## 扩展你的过滤器和结果解析器
### (1)扩展过滤器
当服务端接口需要接口签名验证,或者接口参数加密传送,或者压缩传送时,可以实现此过滤器,以便和服务端操持一致。
当需要扩展时,分两步。首先,需要实现过滤器接口:
```java
class MyFilter implements PhalApiClientFilter {
public void filter(String service, Map<String, String> params) {
//TODO ...
}
}
```
然后设置过滤器:
```java
PhalApiClientResponse response = PhalApiClient.create()
.withHost("http://demo.phalapi.net/")
.withFilter(new MyFilter())
// ...
.request();
```
### (2)扩展结果解析器
当返回的接口结果不是JSON格式时,可以重新实现此接口。
当需要扩展时,同样分两步。类似过滤器扩展,这里不再赘述。
## 特别注意:Android之NetworkOnMainThreadException异常
由于此SDK包是使用HttpURLConnection发起请求时,所以在主线程调用时会触发NetworkOnMainThreadException异常,具体可参考: [Android之NetworkOnMainThreadException异常](http://blog.csdn.net/mad1989/article/details/25964495)
所以,需要使用子线程来发起请求,或者重新继承改用异步的请求。
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
java原生苹果cms追剧达人!本源码可以屏蔽解析的广告!自由选集 支持投屏,选集,秒播,缓存下载等等, 开发环境java 安卓:Android Stodio, 对接苹果cms后台,原生并非h5 不管体验感觉还是使用h5都是无法对比的
资源推荐
资源详情
资源评论
收起资源包目录
java追剧达人原生安卓影视APP源码对接苹果CMS,附带图文搭建教程 (968个子文件)
merge.bat 21B
CHANGELOG 1KB
config 464B
PhalApiClient.cs 6KB
PhalApiClientResponse.cs 1KB
PhalApiClientParserJson.cs 593B
PhalApiClientFilter.cs 550B
PhalApiClientParser.cs 457B
924de29f6147cd6e154f9b5ac24653a6_3_de734ad98defb341c75f33d1aad84989_14.dat 333KB
924de29f6147cd6e154f9b5ac24653a6_3_448c89ed89d3d7abd5c3d704f4c18d97_14.dat 202KB
924de29f6147cd6e154f9b5ac24653a6_3_8b21111520dbd24519d98df75c6ad641_14.dat 129KB
924de29f6147cd6e154f9b5ac24653a6_3_7cbb5b833526250db06efc6dcf2eeebd_14.dat 101KB
924de29f6147cd6e154f9b5ac24653a6_3_ab0de2b407b511d2cad7549becb9db41_14.dat 97KB
924de29f6147cd6e154f9b5ac24653a6_3_bd835699cae043cafb1c15d157783931_15.dat 93KB
924de29f6147cd6e154f9b5ac24653a6_3_586e834bd0e74d75664c966a3e988684_15.dat 89KB
924de29f6147cd6e154f9b5ac24653a6_3_e2f5b0e4d5349d790c0a01b7e039430e_15.dat 84KB
924de29f6147cd6e154f9b5ac24653a6_3_7473ae8f66bd9a14377a1cc2084e4556_14.dat 73KB
924de29f6147cd6e154f9b5ac24653a6_3_8a029718a83b4fdd60088d8f7081be10_14.dat 65KB
924de29f6147cd6e154f9b5ac24653a6_3_223bff53fcd20fb3679dc65b24f63bdb_15.dat 59KB
924de29f6147cd6e154f9b5ac24653a6_3_9ddab2547ff507aace6fc081d3d4e240_15.dat 54KB
924de29f6147cd6e154f9b5ac24653a6_3_389ac886776c302d4d8ed759d64896f0_15.dat 54KB
924de29f6147cd6e154f9b5ac24653a6_3_01b183e93f1f1dc027093c3c71078f1f_14.dat 51KB
924de29f6147cd6e154f9b5ac24653a6_3_cad3dd8c9e31161b99feec21a580d3ad_15.dat 46KB
924de29f6147cd6e154f9b5ac24653a6_3_a8824b9ef8ef7933788f3ae8f42b3cd5_14.dat 41KB
924de29f6147cd6e154f9b5ac24653a6_3_d1c57cd2c5bf9ebd0f9d6a79eb648661_14.dat 41KB
924de29f6147cd6e154f9b5ac24653a6_3_ed6312e30bf7bebbae4f859726edc5de_14.dat 39KB
924de29f6147cd6e154f9b5ac24653a6_3_70240808733b3936ff0b92a367adbf28_15.dat 39KB
924de29f6147cd6e154f9b5ac24653a6_3_704d0c65121c4612298bec64a34a6fa0_15.dat 38KB
924de29f6147cd6e154f9b5ac24653a6_3_4bacf7e26ff9e009ce4b727717869a47_15.dat 38KB
924de29f6147cd6e154f9b5ac24653a6_3_a24cda26944fb5c290984cab5318ce07_15.dat 35KB
924de29f6147cd6e154f9b5ac24653a6_3_487aa45d4c32a809489ebbf206b98dfe_15.dat 34KB
924de29f6147cd6e154f9b5ac24653a6_3_8e15d216a2a6f6a64e9d80ed1ccaf5f4_15.dat 29KB
924de29f6147cd6e154f9b5ac24653a6_3_c76045d9fe5a3a177fa366439e459a9c_14.dat 29KB
924de29f6147cd6e154f9b5ac24653a6_3_62a1737193ece786203243fea4a06ed1_15.dat 29KB
924de29f6147cd6e154f9b5ac24653a6_3_93bddd3f7bfe81bf116794059f95e5da_14.dat 29KB
924de29f6147cd6e154f9b5ac24653a6_3_86020d4a5613fb55cb1b643fbfcd8cad_14.dat 29KB
924de29f6147cd6e154f9b5ac24653a6_3_a55256123d592678bcd8593fa6373033_14.dat 27KB
924de29f6147cd6e154f9b5ac24653a6_3_8a975dab9b9d02fb04512f29ae8c769f_15.dat 26KB
924de29f6147cd6e154f9b5ac24653a6_3_ae42ec558f5219a1d1ad9ebb55593528_14.dat 26KB
924de29f6147cd6e154f9b5ac24653a6_3_9d27a8f59b686a35c338d6dbbb1037b3_14.dat 26KB
924de29f6147cd6e154f9b5ac24653a6_3_ad5c3fc3f013018aa36213a608c99feb_14.dat 26KB
924de29f6147cd6e154f9b5ac24653a6_3_fcf3ab6be2297f294010f6a78baf23c0_15.dat 26KB
924de29f6147cd6e154f9b5ac24653a6_3_ba864a3689d1e5955ee3bc0558c5b519_15.dat 26KB
924de29f6147cd6e154f9b5ac24653a6_3_3519081e3320fe6bcea710c66aa8f6f5_15.dat 26KB
924de29f6147cd6e154f9b5ac24653a6_3_71ab27e1a2818f4f0e18974f952ac174_15.dat 26KB
924de29f6147cd6e154f9b5ac24653a6_3_c7e0058ecf8b33416df9a1fd413124f1_15.dat 26KB
924de29f6147cd6e154f9b5ac24653a6_3_6f88dd92f4ebb81e0bdf72c7a7538710_14.dat 25KB
924de29f6147cd6e154f9b5ac24653a6_3_f952e145e269c8e6407461fc59a2f7f0_14.dat 25KB
924de29f6147cd6e154f9b5ac24653a6_3_bd177e8ea35c5c62de3ba7d6369885ab_14.dat 25KB
924de29f6147cd6e154f9b5ac24653a6_3_1db956afaeff0cfb237192a68c81ae91_15.dat 25KB
924de29f6147cd6e154f9b5ac24653a6_3_af124a553f637af93d96973c4a53d0ae_14.dat 25KB
924de29f6147cd6e154f9b5ac24653a6_3_fca2ee10ae6b5a8ebf06655b0779bf30_14.dat 25KB
924de29f6147cd6e154f9b5ac24653a6_3_54f7e77771395da7920d43acce482aa1_14.dat 24KB
924de29f6147cd6e154f9b5ac24653a6_3_c4b770c62326525cbadd3510c7c10835_14.dat 24KB
924de29f6147cd6e154f9b5ac24653a6_3_07735b32c15e9b48bec3f829969fcab7_14.dat 24KB
924de29f6147cd6e154f9b5ac24653a6_3_662dd24b85372e0ffe2259850a08126a_15.dat 24KB
924de29f6147cd6e154f9b5ac24653a6_3_e3845a3e92e2c7a2800349f4758e96b6_15.dat 24KB
924de29f6147cd6e154f9b5ac24653a6_3_8655e6cdeab7b65211e9ec2b6e1064e7_14.dat 24KB
924de29f6147cd6e154f9b5ac24653a6_3_abcb2745293a95b0eb78518699213d65_15.dat 23KB
924de29f6147cd6e154f9b5ac24653a6_3_cd43776b54bf4e759a8ff5f2a0a44fd5_14.dat 23KB
924de29f6147cd6e154f9b5ac24653a6_3_6381a48aa62d88179de3c10a64cc673c_14.dat 23KB
924de29f6147cd6e154f9b5ac24653a6_3_0abca6b1956cbf8929bd60f52d17bfec_14.dat 23KB
924de29f6147cd6e154f9b5ac24653a6_3_6a4172e7dc77a0764b1a661edd42a58b_14.dat 23KB
924de29f6147cd6e154f9b5ac24653a6_3_db6d448fedf1cf5773ccc2d8daead356_14.dat 22KB
924de29f6147cd6e154f9b5ac24653a6_3_622206608f19c306742dfdc938f0a637_14.dat 22KB
924de29f6147cd6e154f9b5ac24653a6_3_0c80403a5b1bd448d0dbac8bf5c41f39_15.dat 22KB
924de29f6147cd6e154f9b5ac24653a6_3_511d0776f8ead47d12cb962bc0eb7d4e_14.dat 22KB
924de29f6147cd6e154f9b5ac24653a6_3_87a832ce42b693761e19ae31cec44bf1_15.dat 22KB
924de29f6147cd6e154f9b5ac24653a6_3_2055b8f7e82767836f1cd3f59411566a_14.dat 22KB
924de29f6147cd6e154f9b5ac24653a6_3_5b8721a27533e648299a3a548bab2042_15.dat 21KB
924de29f6147cd6e154f9b5ac24653a6_3_09c2617e54ee297c1a66ea7bf2766238_15.dat 21KB
924de29f6147cd6e154f9b5ac24653a6_3_be003b62490899ebb2370e89fbfa1bad_14.dat 20KB
924de29f6147cd6e154f9b5ac24653a6_3_93357ddfd466c3e9a09e306ec668ad35_15.dat 4KB
mask_177_6.dat 441B
mask_173_6.dat 429B
mask_177_7.dat 407B
frame_40.dat 406B
mask_173_7.dat 405B
frame_39.dat 404B
mask_165_6.dat 400B
mask_161_6.dat 399B
mask_169_6.dat 391B
mask_169_7.dat 383B
frame_37.dat 376B
mask_161_7.dat 376B
mask_165_7.dat 375B
frame_36.dat 370B
mask_149_6.dat 370B
mask_177_5.dat 369B
mask_153_6.dat 367B
mask_173_5.dat 362B
frame_38.dat 358B
mask_141_6.dat 357B
mask_145_6.dat 357B
mask_137_6.dat 355B
mask_153_7.dat 351B
mask_149_7.dat 351B
mask_145_7.dat 349B
frame_33.dat 343B
frame_35.dat 342B
共 968 条
- 1
- 2
- 3
- 4
- 5
- 6
- 10
资源评论
行动之上
- 粉丝: 2271
- 资源: 927
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功