开发者社区> 问答> 正文

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

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

展开
收起
爵霸 2016-03-25 09:59:46 2490 0
1 条回答
写回答
取消 提交回答
  • 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    
                }    
            }    
        }    
    }

    `/////记得导包,,,,,,
    `

    2019-07-17 19:13:33
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载