相关疑难解决方法(0)

mkdir()在内部闪存存储器内工作,但不是SD卡吗?

我目前正在构建一个文件管理应用程序,允许用户浏览其设备的文件系统.用户/从其设备的根目录开始,但可以浏览到他们想要的任何位置,例如内部闪存或SD卡.

此应用程序的一个关键要求是允许用户在任何地方创建新文件夹.像这样的功能对应用程序非常有用.但是,该File#mkdir()方法在SD卡目录中根本不起作用.

我为清单文件添加了适当的权限.我还写了一个测试,看看哪些目录(我的Lollipop 5.0设备上都存在)允许创建一个新文件夹.根据我的观察,File#mkdir()只有在内部闪存目录中才有效.

注意:请不要Environment#getExternalStorageDirectory()与SD卡位置混淆,如本文所述.同样在Lollipop 5.0上,我相信/storage/emulated/0//storage/sdcard0/参考内部闪存存储,/storage/emulated/1//storage/sdcard1/参考SD卡(至少对我正在测试的设备是真的).

如何在非root用户Android设备上的外部存储路径之外的区域中创建新文件和文件夹?


表现:

...
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
...
Run Code Online (Sandbox Code Playgroud)

测试:

...
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        final String NEW_FOLDER_NAME = "TestFolder";
        testPath(new File(Environment.getExternalStorageDirectory(), NEW_FOLDER_NAME));
        testPath(new File("/storage/emulated/0/", NEW_FOLDER_NAME));
        testPath(new File("/storage/emulated/1/", NEW_FOLDER_NAME));
        testPath(new File("/storage/sdcard0/Download/", NEW_FOLDER_NAME));
        testPath(new File("/storage/sdcard1/Pictures/", NEW_FOLDER_NAME));
    }

    private void testPath(File path) {
        String TAG = …
Run Code Online (Sandbox Code Playgroud)

android file-permissions

32
推荐指数
1
解决办法
2779
查看次数

在android中以pdf格式显示sqlite数据库内容

我在Android中有一个Sqlite数据库,我希望通过按下按钮在Android中动态构建它来在PDF文件中显示其内容.

我知道iText,但我想用更简单的解决方案..任何人都可以帮助我PLZ !!

pdf sqlite android

5
推荐指数
2
解决办法
1万
查看次数

标签 统计

android ×2

file-permissions ×1

pdf ×1

sqlite ×1