其他分享
首页 > 其他分享> > android-模拟器与三星设备SD卡存储

android-模拟器与三星设备SD卡存储

作者:互联网

三星设备是带有Android 7.0 API 24的T810,并且具有SD卡,我们创建的其他应用程序已将该SD卡正确写入SD卡上的SQLite DB.可悲的是,我们不知道这是否是在Android 7.0更新之前.到目前为止,我们无法使用下面发布的代码来写入SD卡.在运行API 26的仿真器上,设备文件浏览器正在显示此信息
数据库仿真器
/mnt/user/0/primary/Android/data/com.androidstackoverflow.onepass/files/Documents/PassWord
存储
/storage/emulated/0/Android/data/com.androidstackoverflow.onepass/files/Documents/PassWord
SD卡模拟器
/sdcard/Android/data/com.androidstackoverflow.onepass/files/Documents/PassWord

    public String getThePath(){

    File removable = ContextCompat.getExternalFilesDirs(this,null)[0];
    if (removable.exists() && removable.canRead() && removable.canWrite()) {
        THE_PATH = String.valueOf(removable);
        THE_PATH = THE_PATH + "/Documents/";
    }else {
        Toast.makeText(getApplicationContext(),"NO SD CARD", Toast.LENGTH_LONG).show();
    }
    return THE_PATH;
}

我们需要帮助的问题是这是三星设备问题还是模拟器不是真实信息?
权限设置为READ和WRITE
我们甚至试图对路径进行硬编码.看了很多关于此主题的SO帖子.文件夹Documents / DB Name的创建没有问题

解决方法:

首先,产生此答案的信息由@CommonsWare提供
它张贴在这里,以便其他人无法学习,因此我可以获得积分
问题是如何管理三星平板电脑上的存储位置
最重要的是您了解测试是否将SD卡安装在仿真器上无法正常工作的下面是我非常奇怪的代码,用于测试是否已安装SD卡.然后是修改后的代码,可让您管理存储位置

    File fi = new File("storage/");
    File[] lst = fi.listFiles();//
    String top = String.valueOf(lst[1]);
    String bot = String.valueOf(lst[0]);

    if(bot.contains("-")){
        STORAGE_LOCATION = 1;
    }
    if(top.contains("storage/enc_emulated")){
        STORAGE_LOCATION = 0;
    }
    public String getThePath(){

    File removable = ContextCompat.getExternalFilesDirs(this,null) 
   [STORAGE_LOCATION];

    if(STORAGE_LOCATION == 1){
        THE_PATH = String.valueOf(removable);
        THE_PATH = THE_PATH + "/Documents/";
    }
    if(STORAGE_LOCATION == 0){
        THE_PATH = String.valueOf(removable);
        THE_PATH = THE_PATH + "/INTERNAL/";
        Toast.makeText(getApplicationContext(),"NO SD CARD", 
    Toast.LENGTH_LONG).show();
    }
        return THE_PATH;
}

标签:android,android-sqlite
来源: https://codeday.me/bug/20191013/1911484.html