学习到了安卓上传文件了! ! !
,,,,在Android端,用到的是android-async-http框架,
,,,, github地址为:https://github.com/koush/AndroidAsync/
在中搭建该框架超级简单,只需要在build.gradle中加入下面2句(下图中×××标记的2处),然后建立一下项目,就会自动把该框架需要的jar包放入到自由里。
,,,,由于sdk自从5.0(或6.0者)之后抛弃了httpclient,所以用这个框架,需要手动添加一些配置,来使Android支持httpclient。
,,,,同样在构建。gradle中加入标红的那一行配置即可
apply :, android { ,,,compileSdkVersion buildToolsVersion defaultConfig { ,,,,,,,minSdkVersion targetSdkVersion } ,,,buildTypes { ,,,,,,,release { ,,,,,,,,,,,proguardFiles getDefaultProguardFile (),,} ,,,} ,,} dependencies { ,,,compile fileTree (:,,,:, []) ,,,androidTestCompile (, { ,,,,,,,exclude :,,,,,}) ,,compile compile  testCompile }
1, MainActivity
package com.yuanlp.fileupload; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.text.TextUtils; import android.view.View; import android.widget.EditText; import android.widget.Toast; import com.loopj.android.http.AsyncHttpClient; import com.loopj.android.http.AsyncHttpResponseHandler; import com.loopj.android.http.RequestParams; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import cz.msebera.android.httpclient.Header; public class  MainActivity extends AppCompatActivity  { ,,,private EditText mPost; ,,@Override ,,,protected void onCreate (Bundle savedInstanceState), { ,,,,,,,super.onCreate (savedInstanceState); ,,,,,,,setContentView (R.layout.activity_main); ,,,,,,,mPost =, (EditText), findViewById (R.id.et_post); ,,,,,,,/* * ,,,,,,,,*,在缓存文件夹下创建一个文件,用来上传 ,,,,,,,*/,,,,,,,File 文件=new 文件(getCacheDir (),“upload.txt”); ,,,,,,,try { ,,,,,,,,,,,BufferedWriter 作家=new BufferedWriter (new FileWriter(文件); ,,,,,,,,,,,writer.write(“上传、测试”); ,,,,,,,,,,,writer.flush (); ,,,,,,,},catch (IOException e), { ,,,,,,,,,,,e.printStackTrace (); ,,,,,,,} ,,,} ,,,/* * ,,,,*,按钮的onclick方法 ,,,,*,@param 视图 ,,,*/,,,public void 上传(View 视图){ ,,,,,,,,,,,String 路径=mPost.getText () .toString () .trim (); ,,,,,,,if (TextUtils.isEmpty(路径)){ ,,,,,,,,,,,Toast.makeText(这个,”路径不能为空”,,Toast.LENGTH_SHORT),告诉(); ,,,,,,,} ,,,,,,,File 文件=new 文件(路径); ,,,,,,,if (file.exists(),和file.length()在0){,//判断文件是否存在,且是否有内容 ,,,,,,,,,,,/* * ,,,,,,,,,,,,*,下面是用框架做的上传文件 ,,,,,,,,,,,*/,,,,,,,,,,,AsyncHttpClient AsyncHttpClient =, new AsyncHttpClient (); ,,,,,,,,,,,RequestParams params =, new RequestParams (); ,,,,,,,,,,,try { null null null null null null null null null null null null null null null null null null null null利用loopj的android-async-http进行文件上传