編輯:關於Android編程
上次在論壇裡面回答過一個關於多文件上傳的問題,然後就有好多同學私信問我具體的實現方式。由於人有點多並且工作有點忙,顧不上及時的回復大家,我在這裡先說聲抱歉了。
下面我把這塊兒整理了一下,供大家參考。
OkHttpUtils.post()//
.addFile("mFile", "messenger_01.png", file)//
.addFile("mFile", "test1.txt", file2)//
.url(url)
.params(params)//
.headers(headers)//
.build()//
.execute(new MyStringCallback());
public class MyOkHttpUtils extends OkHttpUtils {
public MyOkHttpUtils(OkHttpClient okHttpClient) {
super(okHttpClient);
}
public static MyPostFromBuilder post()
{
return new MyPostFromBuilder();
}
}
這裡面的這個MyPostFromBuilder是什麼鬼呢?這就是重點部分了,因為在大神的封裝中關於上傳的addFile()方法是在PostFromBuilder中的,它長這樣:
public PostFormBuilder addFile(String name, String filename, File file)
{
files.add(new FileInput(name, filename, file));
return this;
}
public class MyPostFromBuilder extends PostFormBuilder {
private List files = new ArrayList<>();
public MyPostFromBuilder addFile(List imgList)
{
for (int i = 0;i
好了,基本到這裡就結束了。上面在重寫MyOkHttpUtils的時候說過,我們重寫了post方法,因為父類中返回的是PostFromBuilder,那就不符合我們的要求了對吧。
public void upDate(String version, String device, String content, ListimgList, OnRequestListener onRequestListener) { String url = Utils.getSignUrl(MyURL.FEEDBACK); MyOkHttpUtils.post() .addFile(imgList) .url(url) .addParams("version",version) .addParams("device",device) .addParams("content",content) .build() .execute(new StringCallback() { @Override public void onError(Call call, Exception e, int id) { LogUtil.d("farley", "upDate.onError" + e.toString()); } @Override public void onResponse(String response, int id) { LogUtil.d("farley", "upDate.success" + response); } }); }
Android 實現自己的LOG信息
在程序開發過程中,LOG是廣泛使用的用來記錄程序執行過程的機制,它既可以用於程序調試,也可以用於
Android BLE開發之Android手機搜索iBeacon基站
本文來自http://blog.csdn.net/hellogv/ ,引用必須注明出處! 上次講了Android手機與BLE終端之間的通信,而最常見的BLE終端應該是蘋果
Android逆向分析案例——某地圖的定位請求分析
微信裡面有個“附近的人”,相信大家都知道,大概的原理就是調用騰訊地圖的sdk進行定位,然後把個人的定位信息發到微信服務器上進行處理,再把一定范圍內
21天學習android開發教程之SurfaceView與多線程的混搭
上一篇簡單介紹了SurfaceView的基本使用,這次就介紹SurfaceView與多線程的混搭。SurfaceView與多線程混搭,是為了防止動畫閃爍而實現的一種多線程