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 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?
  • ¥50 需求一个up主付费课程
  • ¥20 模型在y分布之外的数据上预测能力不好如何解决