1. 程式人生 > >xutils3文件上傳、下載、get、post請求

xutils3文件上傳、下載、get、post請求

direct onload 請求 current cas inject super 文件的 col

@ContentView(R.layout.activity_xutils3_net)
public class XUtils3NetActivity extends Activity {

    @ViewInject(R.id.tv_result)
    private TextView textView;

    @ViewInject(R.id.progressbar)
    private ProgressBar progressbar;

    @ViewInject(R.id.tv_title)
    private TextView title;

    @Override
    
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // setContentView(R.layout.activity_xutils3_net); x.view().inject(this); title.setText("xUtils3的網絡模塊"); } @Event(value = {R.id.btn_get_post,R.id.btn_downloadfile,R.id.btn_uploadfile})
private void getEvent(View view){ switch (view.getId()){ case R.id.btn_get_post: getAndPostNet(); // Toast.makeText(XUtils3NetActivity.this, "Get和Post請求", Toast.LENGTH_SHORT).show(); break; case R.id.btn_downloadfile: downloadFile();
// Toast.makeText(XUtils3NetActivity.this, "文件下載", Toast.LENGTH_SHORT).show(); break; case R.id.btn_uploadfile: uploadFile(); // Toast.makeText(XUtils3NetActivity.this, "文件上傳", Toast.LENGTH_SHORT).show(); break; } } /** * 文件上傳 */ private void uploadFile() { RequestParams params = new RequestParams("http://192.168.1.16:8080/FileUpload/FileUploadServlet"); //以表單方式上傳 params.setMultipart(true); //設置上傳文件的路徑 params.addBodyParameter("File",new File(Environment.getExternalStorageDirectory()+"/atguigu/480.mp4"),null,"oppo.mp4"); x.http().post(params, new Callback.ProgressCallback<File>() { /** * 當下載成功的時候回調這個方法,並且把下載到哪個路徑回傳過來 * @param file */ @Override public void onSuccess(File file) { Log.e("TAG", "onSuccess==" + file.toString()); Toast.makeText(XUtils3NetActivity.this, "onSuccess==" + file.toString(), Toast.LENGTH_SHORT).show(); } @Override public void onError(Throwable ex, boolean isOnCallback) { Log.e("TAG", "onError==" + ex.getMessage()); } @Override public void onCancelled(CancelledException cex) { Log.e("TAG", "onCancelled==" + cex.getMessage()); } @Override public void onFinished() { Log.e("TAG", "onFinished=="); } @Override public void onWaiting() { Log.e("TAG", "onWaiting=="); } @Override public void onStarted() { Log.e("TAG", "onStarted=="); } @Override public void onLoading(long total, long current, boolean isDownloading) { progressbar.setMax((int) total); progressbar.setProgress((int) current); Log.e("TAG", "onLoading==" + current + "/" + total + ",isDownloading==" + isDownloading); } }); } private void downloadFile() { RequestParams params = new RequestParams("http://vfx.mtime.cn/Video/2016/09/15/mp4/160915092608935956_480.mp4"); //設置保存數據 params.setSaveFilePath(Environment.getExternalStorageDirectory() + "/atguigu/480.mp4"); //設置是否可以立即取消下載 params.setCancelFast(true); //設置是否自動根據頭信息命名 params.setAutoRename(false); //設置斷點續傳 params.setAutoResume(true); params.setExecutor(new PriorityExecutor(3, true));//自定義線程池,有效的值範圍[1, 3], 設置為3時, 可能阻塞圖片加載. x.http().get(params, new Callback.ProgressCallback<File>() { /** * 當下載成功的時候回調這個方法,並且把下載到哪個路徑回傳過來 * @param file */ @Override public void onSuccess(File file) { Log.e("TAG","onSuccess=="+file.toString()); Toast.makeText(XUtils3NetActivity.this, "onSuccess=="+file.toString(), Toast.LENGTH_SHORT).show(); } @Override public void onError(Throwable ex, boolean isOnCallback) { Log.e("TAG","onError=="+ex.getMessage()); } @Override public void onCancelled(CancelledException cex) { Log.e("TAG","onCancelled=="+cex.getMessage()); } @Override public void onFinished() { Log.e("TAG","onFinished=="); } @Override public void onWaiting() { Log.e("TAG","onWaiting=="); } @Override public void onStarted() { Log.e("TAG","onStarted=="); } @Override public void onLoading(long total, long current, boolean isDownloading) { progressbar.setMax((int) total); progressbar.setProgress((int) current); Log.e("TAG", "onLoading=="+current+"/"+total+",isDownloading=="+isDownloading); } }); } private void getAndPostNet() { //1.Get請求 //2.Post請求 RequestParams params = new RequestParams("http://api.m.mtime.cn/PageSubArea/TrailerList.api"); x.http().post(params, new Callback.CommonCallback<String>() { @Override public void onSuccess(String result) { Log.e("TAG", "xUtis3聯網請求成功==" + result); // textView.setText("Get請求的結果——————" + result); textView.setText("Post請求的結果——————" + result); } @Override public void onError(Throwable ex, boolean isOnCallback) { Log.e("TAG", "xUtis3聯網請求失敗==" + ex.getMessage()); textView.setText("xUtis3聯網請求失敗==" + ex.getMessage()); } @Override public void onCancelled(CancelledException cex) { Log.e("TAG", "onCancelled==" + cex.getMessage()); } @Override public void onFinished() { Log.e("TAG","onFinished=="); } }); } }

xutils3文件上傳、下載、get、post請求