Java/Android 网络请求框架/库



Android 图片缓存框架  最上面的最优先

com.facebook.fresco:fresco:0.12.0                7.26.2016最新
Universal-Image-Loader        Picasso

Volley



web呢



//   http://192.168.4.62:10088/EnforceLaw_System/


http://127.0.0.1:10088/EnforceLaw_System/accountAction


http://127.0.0.1:10088/EnforceLaw_System/accountAction!loginJson

telnet127.0.0.1 10088

对象---》变成String
 key就是这个对象的名字

ping 127.0.0.1:10088
ping 192.168.4.56:10088

手机访问电脑,通过电脑的 IP
访问自己用
127.0.0.1
用局域网IP地址可能出错

Retrofit2参数里面有小数点 
E:\Android_Studio\MyProject\mobile_law\src\main\res\layout\main.xml

RESideMenu DEMO








Invoke-WebRequest  http://127.0.0.1:10088/EnforceLaw_System/index.jsp  -Method GET

Invoke-WebRequest http://192.168.4.62/EnforceLaw_System/accountAction!loginJson  -Method GET


Invoke-WebRequest  http://192.168.4.62/EnforceLaw_System/login.jsp  -Method GET

Invoke-WebRequest http://192.168.4.62/EnforceLaw_System/loginJson  -Method GET

Retrofit2 子线程
耗时操作

 volly 


E:\Android_Studio\MyProject

 volly 谷歌官方出的  2013年IO大会

 网络rtroefi 封装okHttp,可以替换掉成别的

okhttp更接近原生的框架
没怎么封装,很底层,颗粒度很小
 
在Android这边发起http请求
基本就是用的 volly
 

我的参数跟人家的不一样
别人的
onResponse(Call<T> call, Response<T> response)
我的
Response<Bean> response, Retrofit retrofit
R的版本不同吗



最新的Retro API

POST  用户名,密码

返回的JSON字符串之间映射到Bean实体类的对象

MVVM  双向绑定到View的控件上(实在不行的话,至少要得到一个list对象
绑定到 listView上
dataBinding

下拉框
listview







 



 
GSON 解析               gson
okhttp3网络请求           okhttp3 ,  okio 1.x

还需要
自己的 Retrofit
使用GSON的操作类    Retrofit convert gson

网络请求框架/库  http request 技术选型

网络请求框架 :  最上面的最优先  /优先级

Retrofit 2

底层里访问网络的模块可以很方便地替换掉,现在底层用OkHttp 3和Rx配合极好,用注解,设计模式
Retrofit是一个封装比较好的,相对更面向开发者的rest请求库,它的底层网络请求可以使用不同的网络库来处理,比如OkHttp,HttpClient。
封装了:


OkHttp 3

谷歌添加它到Android 6 源码里了, url.open()似乎就是用这个
OkHttp是square自己实现的一个的一个http库
被Google官方采用
最新的Android代码中干掉了HttpClient,使用OkHttp。


volley库 google

noHttp

android-async-http库

HttpClient


网络访问框架经过了从使用最原始的AsyncTask构建简单的网络访问框架(甚至不能称为框架),后来使用开源的,再到使用,一直不懈的寻找更好的解决方案(银弹






AsyncHttp也是一个较高层的封装,底层使用的是HttpClient


OkHttp
Retrofit

NoHttp

事件总线
OA业务流


volley在Android 6 里没了

okhttpUtils封装okhttp


Android图片缓存库 google
Glide和Picasso有90%的相似度


百度翻译API接口  要钱




Chrome下调试REST api

访问 https://api.bmob.cn 域名,不是Bmob首页的域名

1 第一版API
classes 看做是文件夹,是表的集合classes/GameScore  访问classes 文件夹下的GameScore表
users users表
/classes和/users并列,一个级别

测试:
url
get请求头
X-Bmob-Application-Id
f2adf0c6f2f2f373586819100cc61eab
X-Bmob-REST-API-Key
8e303f51d14a8ed096b2fceb965b51ad
返回的数据   strJson字符串
{"ID":2,"createdAt":"2016-05-22 15:31:38","name":"B","objectId":"Yq3vCCCL","updatedAt":"2016-05-22 15:31:38"}
格式化后
{
    "ID":2,
    "createdAt":"2016-05-22 15:31:38",
    "name":"B",
    "objectId":"Yq3vCCCL",
    "updatedAt":"2016-05-22 15:31:38"
}


app ID
f2adf0c6f2f2f373586819100cc61eab
REST API Key
8e303f51d14a8ed096b2fceb965b51ad

任何东西,只要能发起HTTP请求(get或post),就你可以使用Bmob提供的接口(REST API和进行数据交互


postMan插件或者在linux系统环境下调试,curl在windows环境下请求存在数据格式转换的问题。

Chrome插件     RESTClient插件
postMan  调试get和post请求的   RESTful APIs的  Postman helps you develop APIs faster.
https://chrome.google.com/webstore/detail/postman-rest-client/fdmmgilgnpjigdojojpjoooidkmcomcm?utm_source=chrome-ntp-icon



curl -X POST \
curl -X http://www.csdn.net/article/2013-03-06/2814373-baas-for-mobile-backend-development


中文乱码
curl http://www.csdn.net/article/2013-03-06/2814373-baas-for-mobile-backend-development

curl 不支持https

curl -X GET\
    -H "X-Bmob-Application-Id:f2adf0c6f2f2f373586819100cc61eab" \
    -H "X-Bmob-REST-API-Key: 8e303f51d14a8ed096b2fceb965b51ad" \
    -H "Content-Type: application/json" \
   https://api.bmob.cn/1/classes/person/Yq3vCCCL

curl -X GET    -H "X-Bmob-Application-Id:f2adf0c6f2f2f373586819100cc61eab"    -H "X-Bmob-REST-API-Key: 8e303f51d14a8ed096b2fceb965b51ad"    -H "Content-Type: application/json"   https://api.bmob.cn/1/classes/person/Yq3vCCCL



curl -X GET



F:\Software\PowerCmd_2.2_green

owerCmd绿色版自带的curl 命令行工具









posted on 2017-04-14 08:47  xiaoCong2015  阅读(2558)  评论(0编辑  收藏  举报

导航