//banner
implementation 'com.youth.banner:banner:1.4.10'
//ButterKnife依赖(添加Android ButterKnife Zelezny插件)
implementation 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
//cardview
implementation 'com.android.support:cardview-v7:28.0.0'
{
app:cardUseCompatPadding="true"
app:cardCornerRadius="10dp"
app:cardElevation="5dp"
app:cardMaxElevation="10dp"
}
//design
implementation 'com.android.support:design:28.0.0'
//EventBus
implementation 'org.greenrobot:eventbus:3.0.0'
//glide
implementation 'com.github.bumptech.glide:glide:4.9.0'
//数据库第一步——工程配置
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2'
//数据库项目配置——添加插件
apply plugin: 'org.greenrobot.greendao'
//数据库项目配置——添加依赖
implementation 'org.greenrobot:greendao:3.2.2'
//数据库项目配置——初始化greendao配置
greendao{
schemaVersion 1 //数据库版本号
daoPackage 'com.example.sql.dao' //数据库全路径
targetGenDir 'src/main/java' //存放位置
}
//gson
implementation 'com.google.code.gson:gson:2.2.4'
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
//okhttp
implementation 'com.squareup.okhttp3:okhttp:3.13.1'
implementation 'com.squareup.okhttp3:logging-interceptor:3.13.1'
//权限处理
if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) {
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
sd = Environment.getExternalStorageDirectory();
}
} else {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 100);
}
if (grantResults.length>0&&grantResults[0]==PackageManager.PERMISSION_GRANTED){
}
//recyclerview
implementation 'com.android.support:recyclerview-v7:28.0.0'
//okhttp
implementation 'com.squareup.okhttp3:okhttp:3.13.1'
implementation 'com.squareup.okhttp3:logging-interceptor:3.13.1'
//retrofit
implementation 'com.squareup.retrofit2:retrofit:2.5.0'
//Gson converter
implementation 'com.squareup.retrofit2:converter-gson:2.5.0'
//RxJava2 Adapter
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.5.0'
//RxJava
implementation 'io.reactivex.rxjava2:rxjava:2.2.7'
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
//xrecyclerview
implementation 'com.jcodecraeer:xrecyclerview:1.5.9'
文件上传
File file = new File("/storage/emulated/0/logo_sina.png");
MyServer myServer = new Retrofit.Builder().baseUrl(MyServer.mBaseUrl)
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.build().create(MyServer.class);
MediaType parse = MediaType.parse("application/octet-stream");
RequestBody body = RequestBody.create(MediaType.parse("image/png"), file);//上传的文件
RequestBody form = RequestBody.create(parse, "cacaca");//服务器保存文件的文件夹
MultipartBody.Part filePart = MultipartBody.Part.createFormData(
"file", file.getName(), body);
final Observable<UpBean> upload = myServer.upload(form, filePart);
upload.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<UpBean>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(UpBean uploadBean) {
if (uploadBean != null && uploadBean.getCode() == 200) {
} else {
Toast.makeText(MainActivity.this,"上传失败",Toast.LENGTH_SHORT).show();
}
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
});
Android studio 依赖整理 常用依赖 新手开发必备
最新推荐文章于 2022-10-11 17:46:51 发布