#Elegant项目结构如下
![输入图片说明](http://git.oschina.net/uploads/images/2016/0912/100446_970746ab_494015.png "在这里输入图片标题")
Elegant采用Retrofit动态代理+构建的思想,本身并不做网络请求,网络部分基于[HttpNet](https://github.com/huanghaibin-dev/HttpNet)实现,本着简洁清晰的思想,保持了和Retrofit相似的API
##gradle
```
compile 'com.haibin:elegant:1.1.9'
```
##创建API接口
```java
public interface LoginService {
//普通POST
@Headers({"Cookie:cid=adcdefg;"})
@POST("api/users/login")
Call<BaseModel<User>> login(@Form("email") String email,
@Form("pwd") String pwd,
@Form("versionNum") int versionNum,
@Form("dataFrom") int dataFrom);
// 上传文件
@POST("action/apiv2/user_edit_portrait")
@Headers("Cookie:xxx=hbbb;")
Call<String> postAvatar(@File("portrait") String file);
//JSON POST
@POST("action/apiv2/user_edit_portrait")
@Headers("Cookie:xxx=hbbb;")
Call<String> postJson(@Json String file);
//PATCH
@PATCH("mobile/user/{uid}/online")
Call<ResultBean<String>> handUp(@Path("uid") long uid);
}
```
##执行请求
```java
public static final String API = "http://www.oschina.net/";
public static Elegant elegant = new Elegant();
static {
elegant.registerApi(API);
}
LoginService service = elegant.from(LoginService.class)
.login("xxx@qq.com", "123456", 2, 2);
.withHeaders(Headers...)
.execute(new CallBack<BaseModel<User>>() {
@Override
public void onResponse(Response<BaseModel<User>> response) {
}
@Override
public void onFailure(Exception e) {
}
});
```
##Licenses
- Copyright (C) 2013 huanghaibin_dev <huanghaibin_dev@163.com>
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
limitations under the License.
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
该库是封装了okhttp的标准RESTful风格的网络框架,可以与RxJava完美结合,比Retrofit更简单易用。支持大文件上传下载,上传进度回调,下载进度回调,表单上传(多文件和多参数一起上传),链式调用,可以自定义返回对象,支持Https和自签名证书,支持超时自动重连,支持cookie与session的自动管理,支持四种缓存模式缓存网络数据,支持301、302重定向,扩展了统一的上传管理和下载管理功能。 1.支持的常用功能 一般的 get,post,put,delete,head,options请求 基于Post的大文本数据上传,postString(),postJson()等 多文件和多参数统一的表单上传(允许监听上传进度) 支持一个key上传一个文件,也可以一个Key上传多个文件 大文件下载和下载进度回调 大文件上传和上传进度回调 支持cookie的内存存储和持久化存储,支持传递自定义cookie 提供网络缓存功能,默认支持304缓存协议,并额外扩展了三种本地缓存模式 支持301、302重定向 支持链式调用 支持可信证书和自签名证书的https访问
资源推荐
资源详情
资源评论
收起资源包目录
Java原生的Http网络框架,底层基于HttpNet.rar (79个子文件)
Java原生的Http网络框架,底层基于HttpNet
新建文本文档.txt 19B
Elegant-master
gradle.properties 2KB
gradle
wrapper
gradle-wrapper.jar 52KB
gradle-wrapper.properties 231B
app
src
androidTest
java
com
haibin
elegantproject
ExampleInstrumentedTest.java 754B
test
java
com
haibin
elegantproject
ExampleUnitTest.java 403B
main
java
com
haibin
elegantproject
api
Service.java 2KB
model
PageBean.java 1KB
Tweet.java 5KB
ResultBean.java 1KB
Author.java 653B
User.java 5KB
BaseModel.java 729B
MainActivity.java 3KB
res
mipmap-xxhdpi
ic_launcher.png 8KB
mipmap-hdpi
ic_launcher.png 3KB
mipmap-mdpi
ic_launcher.png 2KB
mipmap-xxxhdpi
ic_launcher.png 10KB
mipmap-xhdpi
ic_launcher.png 5KB
values-w820dp
dimens.xml 358B
values
dimens.xml 211B
colors.xml 208B
strings.xml 77B
styles.xml 383B
layout
activity_main.xml 974B
AndroidManifest.xml 891B
proguard-rules.pro 645B
build.gradle 905B
.gitignore 7B
LICENSE 10KB
gradlew.bat 2KB
build.gradle 641B
.idea
runConfigurations.xml 564B
vcs.xml 180B
misc.xml 3KB
compiler.xml 686B
modules.xml 478B
gradle.xml 679B
copyright
profiles_settings.xml 74B
settings.gradle 27B
gradlew 5KB
elegant
src
androidTest
java
com
haibin
elegant
ExampleInstrumentedTest.java 745B
test
java
com
haibin
elegant
ExampleUnitTest.java 396B
main
java
com
haibin
elegant
Elegant.java 2KB
call
Call.java 933B
CallBack.java 858B
AsyncCall.java 3KB
utils
CheckUtil.java 933B
Interceptor.java 780B
factory
Convert.java 371B
MethodFactory.java 6KB
MainThreadExecutor.java 1KB
GsonConvert.java 1KB
RequestFactory.java 2KB
net
File.java 1010B
Proxy.java 1KB
Headers.java 311B
Url.java 986B
DELETE.java 996B
Json.java 987B
HEAD.java 994B
Convert.java 1015B
Form.java 1009B
PUT.java 993B
POST.java 994B
OPTION.java 996B
Encode.java 1009B
Path.java 1004B
GET.java 993B
PATCH.java 995B
Response.java 2KB
res
values
strings.xml 70B
AndroidManifest.xml 246B
proguard-rules.pro 645B
build.gradle 1KB
.gitignore 7B
.gitignore 521B
script
gradle-jcenter-push.gradle 4KB
README.md 3KB
共 79 条
- 1
资源评论
野生的狒狒
- 粉丝: 1631
- 资源: 1667
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功