Summer_xmc 2015-12-04 04:50 采纳率: 25%
浏览 1975
已采纳

Android 手机拍照sd卡不存在的问题

1.今天老板说用户反应拍照时没有提示sd卡提示sd不存在,我们的项目里就是把照片放入sd的,如果sd卡不存在就提示的。哪位大神帮解决一下呗(存内置存储卡但我不会这种呀,网上搜又没有的),
2.项目的登录号使用SharedPreference写入本地的,默认是在data—data—包名—share目录下的 是以.xml保存的,是清除不了的,但是不知道用户怎么把它清楚了,老板让保存在一个指定目录下的.txt里,不会呀
哪位大神给指条明路,小弟感激不尽……

  • 写回答

3条回答 默认 最新

  • wu_zf1234 2015-12-04 08:28
    关注

    private boolean ExistSDCard() {

    if (android.os.Environment.getExternalStorageState().equals(

    android.os.Environment.MEDIA_MOUNTED)) {

    return true;

    } else

    return false;

    }

    楼上的代码已经解决SD卡的状态!

    要想把数据保存在自定义的目录中,可以利用IO流操作!

    public class CreateFiles {

        String filenameTemp =Environment.getRootDirectory()+ "/hhaudio" + ".txt";    
    
        //创建文件夹及文件    
        public void CreateText() throws IOException {    
            File file = new File(filenameTemp);    
            if (!file.exists()) {    
                try {    
                    //按照指定的路径创建文件夹    
                    file.mkdirs();    
                } catch (Exception e) {    
                    // TODO: handle exception    
                }    
            }    
            File dir = new File(filenameTemp);    
            if (!dir.exists()) {    
                  try {    
                      //在指定的文件夹中创建文件    
                      dir.createNewFile();    
                } catch (Exception e) {    
                }    
            }    
    
        }    
    
        //向已创建的文件中写入数据    
        public void print(String str) {    
            FileWriter fw = null;    
            BufferedWriter bw = null;    
            String datetime = "";    
            try {    
                SimpleDateFormat tempDate = new SimpleDateFormat("yyyy-MM-dd" + " "    
                        + "hh:mm:ss");    
                datetime = tempDate.format(new java.util.Date()).toString();    
                fw = new FileWriter(filenameTemp, true);//    
                // 创建FileWriter对象,用来写入字符流    
                bw = new BufferedWriter(fw); // 将缓冲对文件的输出    
                String myreadline = datetime + "[]" + str;    
    
                bw.write(myreadline + "\n"); // 写入文件    
                bw.newLine();    
                bw.flush(); // 刷新该流的缓冲    
                bw.close();    
                fw.close();    
            } catch (IOException e) {    
                // TODO Auto-generated catch block    
                e.printStackTrace();    
                try {    
                    bw.close();    
                    fw.close();    
                } catch (IOException e1) {    
                    // TODO Auto-generated catch block    
                }    
            }    
        }    
    }
    
    /////记得导包,,,,,,
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 我下载图形界面重启完就变成这样了,打字也打不了,动也动不了,该怎么解决(操作系统-centos)
  • ¥15 VBA中在窗体中遍历所有checkbox控件,提取出被选中的checkbox的caption值
  • ¥15 在Ubuntu上有什么命令,或者是系统文件能告诉我链接nvme ssd的pcie槽位是不是支持热插拔功能?
  • ¥15 ansys license许可证问题
  • ¥20 QQ号和密码都能正常登录微信 QQ号和密码登录微信显示密码错误
  • ¥15 qiankun主应用注册子应用提示跨域
  • ¥15 单片机RTOS Kernel与应用分离开发,Kernel如何调起应用?
  • ¥15 快手小店商家版APP怎么第三方APP跳转到指定用户聊天界面
  • ¥15 为什么AVL fire软件仿真时的步长改变了,仿真结果也会改变
  • ¥100 如何帮我写一个java小游戏