在android Java上工作,最近将SDK更新到API级别29,现在显示警告,指出
Environment.getExternalStorageDirectory() 在API级别29中已弃用
我的代码是
private void saveImage() {
if (requestPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
final String folderPath = Environment.getExternalStorageDirectory() + "/PhotoEditors";
File folder = new File(folderPath);
if (!folder.exists()) {
File wallpaperDirectory = new File(folderPath);
wallpaperDirectory.mkdirs();
}
showLoading("Saving...");
final String filepath=folderPath
+ File.separator + ""
+ System.currentTimeMillis() + ".png";
File file = new File(filepath);
try {
file.createNewFile();
SaveSettings saveSettings = new SaveSettings.Builder()
.setClearViewsEnabled(true)
.setTransparencyEnabled(true)
.build();
if(isStoragePermissionGranted() ) {
mPhotoEditor.saveAsFile(file.getAbsolutePath(), saveSettings, new PhotoEditor.OnSaveListener() {
@Override
public void onSuccess(@NonNull String imagePath) {
hideLoading();
showSnackbar("Image Saved …Run Code Online (Sandbox Code Playgroud) 1)目标设定为Android Q与android.permission.WRITE_EXTERNAL_STORAGE
2)使用getExternalStorageDirectory或getExternalStoragePublicDirectory并FileOutputStream(file)保存文件抛出
java.io.FileNotFoundException: /storage/emulated/0/myfolder/mytext.txt open failed: ENOENT (No such file or directory)
3)使用getExternalFilesDirapi并保存成功但即使之后也不会出现MediaScannerConnection.scanFile。
/storage/emulated/0/Android/data/my.com.ui/files/Download/myfolder/mytext.txt
Run Code Online (Sandbox Code Playgroud)
在android Q中将文件从内部存储器复制到SDCARD并刷新的最佳方法是什么。
如何在一些间隔之后逐个动画多个对象android我正在使用此代码进行动画制作
for (int y = 0; y < 10; y++) {
runOnUiThread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
}
Toast.makeText(ProjectFirstActivity.this, y + "",
Toast.LENGTH_SHORT).show();
ObjectAnimator oa = ObjectAnimator.ofFloat(myimageview[y],
"translationY", 0, -200);
oa.setDuration(1000);
oa.start();
}
});
}
Run Code Online (Sandbox Code Playgroud)
但它一气呵成,但我希望逐一动画我的imageview请帮忙