1.布局
android:id="@+id/bt_open"
android:text="打开相机"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
android:id="@+id/bt_tack"
android:text="打开相册"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
android:id="@+id/img"
android:layout_width="100dp"
android:layout_height="100dp" />
2.创建实体类
public class UpLoadBean {
/**
* code : 200
* res : 上传文件成功
* data : {"url":"http://yun918.cn/study/public/uploadfiles/123/944365-ee747d1e331ed5a4.png"}
*/
private int code;
private String res;
private DataBean data;
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getRes() {
return res;
}
public void setRes(String res) {
this.res = res;
}
public DataBean getData() {
return data;
}
public void setData(DataBean data) {
this.data = data;
}
public static class DataBean {
/**
* url : http://yun918.cn/study/public/uploadfiles/123/944365-ee747d1e331ed5a4.png
*/
private String url;
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
}
}
3.retrofit接口
public interface MyServer {
public String Url = "http://yun918.cn/study/public/";
@Multipart
@POST("file_upload.php")
Observable upload(@Part("key") RequestBody requestBody, @Part MultipartBody.Part
file);
}
4.清单文件
在activity之下
......
android:authorities="com.baidu.upload.provider"
android:name="android.support.v4.content.FileProvider"
android:exported="false"
android:grantUriPermissions="true">
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths"/>
5.创建@xml/file_paths布局
6.实现代码
import android.Manifest;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
i