最近进入了安卓的坑来吐槽一下,一直作为iOS开发攻城狮,稍微有点不乐意看安卓的代码,很麻烦界面还丑,没有歧视,随便吐槽一下。但前段时间公司项目比较紧所以多多少少跟来跟android来了第二亲密接触,搞得我头大不过也增加一些知识储备,现在android还是半吊子,我还是忠实的苹果粉,哈哈~~

整体来记录下有啥收获最主要就是网络框架 JSON解析。被这个网络框架烦了一整天,现在基本上安卓开发个人感觉都是okhttp的,所以也到处找找框架啥的,发现个比较好的,附上链接

=========》android post get 请求《=================

里面挺详细的可是我复制粘贴还是遇见坑啦不得不吐槽一下,安卓这个类我有点傻傻分不清楚


我的Handler

就这个Handler 我都试了下三种吧,可能智商捉急,类太多,没怎么摸过安卓

最重要还是这个网络请求,公司开发过程中基本上都用post我也不分了贴代码

private okhttp3.Call requestPostByAsyn(String actionUrl, HashMap paramsMap,finalReqCallBack callBack) {

//        if (!isNetworkAvailable()) {

//            Toast.makeText(AppContext.getInstance(), R.string.no_network_connection_toast, Toast.LENGTH_SHORT).show();

//        }

try{

StringBuilder tempParams =newStringBuilder();

intpos =0;

for(String key : paramsMap.keySet()) {

if(pos >0) {

tempParams.append("&");

}

tempParams.append(String.format("%s=%s", key, URLEncoder.encode(paramsMap.get(key),"utf-8")));

pos++;

}

String params = tempParams.toString();

RequestBody body = RequestBody.create(MEDIA_TYPE_JSON, params);

String requestUrl = actionUrl;

finalRequest request = addHeaders().url(requestUrl).post(body).build();

finalokhttp3.Call call =mOkHttpClient.newCall(request);

call.enqueue(newCallback() {

@Override

public voidonFailure(okhttp3.Call call, IOException e) {

failedCallBack("访问失败",callBack);

Log.e(TAG, e.toString());

}

@Override

public voidonResponse(okhttp3.Call call, Response response)throwsIOException {

if(response.isSuccessful()) {

String string = response.body().string();

Log.e(TAG,"response ----->"+ string);

TypeInfo typeInfo = ReqClassUtils.getCallbackGenericType(callBack.getClass());

callBack.onReqSuccess(ReqJsonUtils.parseHttpResult(typeInfo, jsonData));

successCallBack((T) string,callBack);

}else{

failedCallBack("服务器错误",callBack);

}

}

});

returncall;

}catch(Exception e) {

Log.e(TAG, e.toString());

}

return null;

}

这个就是安卓的post异步请求哈哈,粗糙。

再来就是json解析

=======》json解析《========

主要是通过安卓的反射机制根据TypeInfo的相关属性来进行不同类型的json解析的


TypeInfo typeInfo =ReqClassUtils.getCallbackGenericType(callBack.getClass());

callBack.onReqSuccess(ReqJsonUtils.parseHttpResult(typeInfo, jsonData));

我都是抄来的记录一下安卓的网络请求以及json解析,总体来说熟悉后还是比较方便的,慢慢进入安卓大军中,做一名安卓开发中最好的iOS开发攻城狮,啧啧啧

更多相关文章

  1. Android(安卓)DiskLruCache技术解析
  2. [造轮子]Android动态加载框架总结
  3. 如何一步一步实现Android的MVP框架
  4. 一款现代、高效的 Android(安卓)图片压缩框架
  5. android camera 框架总述
  6. 利用Fiddler对Android模拟器网络请求进行抓包【转】
  7. 【Android每周专题】写在最前面
  8. [置顶] Android中XML文件的解析
  9. 2012-04-12 21:24 Android(安卓)开发中发送http请求

随机推荐

  1. ionic 开发小问题集锦
  2. Android(安卓)ListView滑动过程中图片显
  3. Android(安卓)Apk加壳原理分析
  4. Android(安卓)4.4 Kitkat 使能 USB adb
  5. 远程登陆SQL Server 2014数据库的方法
  6. Centos 7.3下SQL Server安装配置方法图文
  7. sqlserver 树形结构查询单表实例代码
  8. Sql注入工具_动力节点Java学院整理
  9. sql注入过程详解_动力节点Java学院整理
  10. Sql注入原理简介_动力节点Java学院整理