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条)

报告相同问题?

悬赏问题

  • ¥30 Matlab打开默认名称带有/的光谱数据
  • ¥50 easyExcel模板 动态单元格合并列
  • ¥15 res.rows如何取值使用
  • ¥15 在odoo17开发环境中,怎么实现库存管理系统,或独立模块设计与AGV小车对接?开发方面应如何设计和开发?请详细解释MES或WMS在与AGV小车对接时需完成的设计和开发
  • ¥15 CSP算法实现EEG特征提取,哪一步错了?
  • ¥15 游戏盾如何溯源服务器真实ip?需要30个字。后面的字是凑数的
  • ¥15 vue3前端取消收藏的不会引用collectId
  • ¥15 delphi7 HMAC_SHA256方式加密
  • ¥15 关于#qt#的问题:我想实现qcustomplot完成坐标轴
  • ¥15 下列c语言代码为何输出了多余的空格