我不想将我的Android应用程序图像存储在内部或外部设备存储中,这样它将对库可见。

现在,我正在外部设备存储中保存我的应用程序图像。但是我想把图像保存到应用程序的私有目录中。我怎样才能做到这一点?

活动

代码:

public void onActivityResult(int requestCode, int resultCode, Intent data) {

super.onActivityResult(requestCode, resultCode, data);

if (resultCode == Activity.RESULT_OK) {

if (requestCode == REQUEST_CAMERA) {

Uri selectedImageUri = data.getData();

if (null != selectedImageUri) {

// Get the path from the Uri

String path = getPathFromURI(selectedImageUri);

File file = new File(path);

Bitmap bmp = CommonMethod.compressImage(file, getContext());

Log.e(TAG, "onActivityResult --: " + String.format("Size : %s", getReadableFileSize(file.length())));

mCustomerImage = CommonMethod.bitmapToByteArray(bmp);

imageTemplateStr = Base64.encodeToString(mCustomerImage, Base64.DEFAULT);

Log.e(TAG, "image: " + imageTemplateStr);

//CommonMethod.SaveImage(bmp);

imageCustomer.setImageBitmap(bmp);

CommonMethod.SaveImage(bmp);

}

} else if (requestCode == SELECT_FILE) {

Uri selectedImageUri = data.getData();

if (null != selectedImageUri) {

// Get the path from the Uri

String path = getPathFromURI(selectedImageUri);

File file = new File(path);

Bitmap bmp = CommonMethod.compressImage(file, getContext());

Log.e(TAG, "onActivityResult --: " + String.format("Size : %s", getReadableFileSize(file.length())));

mCustomerImage = CommonMethod.bitmapToByteArray(bmp);

imageTemplateStr = Base64.encodeToString(mCustomerImage, Base64.DEFAULT);

//CommonMethod.SaveImage(bmp);

Log.e(TAG, "image: " + imageTemplateStr);

imageCustomer.setImageBitmap(bmp);

CommonMethod.SaveImage(bmp);

}

}

}

}

SaveImage方法

public static void SaveImage(Bitmap finalBitmap) {

String root = Environment.getExternalStorageDirectory().toString();

File myDir = new File(root + "/.safco_private_pics");

if (!myDir.exists()) {

myDir.mkdirs();

}

File newFile = new File(root,".nomedia");

try {

FileWriter writer = new FileWriter(newFile);

writer.flush();

writer.close();

} catch (IOException e) {

e.printStackTrace();

}

Random generator = new Random();

int n = 10000;

n = generator.nextInt(n);

String fname = "Image-"+ n +".jpg";

File file = new File (myDir, fname);

if (file.exists ())

file.delete ();

try {

FileOutputStream out = new FileOutputStream(file);

finalBitmap.compress(Bitmap.CompressFormat.JPEG, 90, out);

out.flush();

out.close();

} catch (Exception e) {

e.printStackTrace();

}

}

public String getPathFromURI(Uri contentUri) {

String res = null;

String[] proj = {MediaStore.Images.Media.DATA};

Cursor cursor = getActivity().getContentResolver().query(contentUri, proj, null, null, null);

if (cursor.moveToFirst()) {

int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);

res = cursor.getString(column_index);

}

cursor.close();

return res;

}

android 存储私有文件,是否可以只在Android应用程序的私有目录中保存图像,而不是设备的内部或任何外部存储?...相关推荐

  1. java文件按时间排序_如何按日期在java目录中排序文件?

    参见英文答案 > Best way to list files in Java, sorted by Date Modified?                                 ...

  2. 三星服务器链接在哪个文件夹,三星手机无线连接,访问局域网电脑共享目录中的电影照片设置教程...

    原标题:三星手机无线连接,访问局域网电脑共享目录中的电影照片设置教程 有时候我们在刷手机的时候需要把手机的资料等传到电脑上,或者把电脑上的资料电影等传到手机上,用软件传又慢,用数据线又麻烦,那么在同局 ...

  3. android 没有gen文件,关于eclipse:对于Android项目,Gen文件夹为空

    我开始在Eclipse中学习Android. 但是每次我尝试创建一个项目时,gen文件夹都是空的. 所以我没有得到R文件(或该文件夹中的其他文件,如果有的话). 清洁不起作用. 从来没有R开头. 我需 ...

  4. android将pdf文件转换成Bitmap,并将bitmap以图片的 方式保存到相册。

    背景: 公司项目要求用户可以在手机端查看发票并将发票已图片的形式保存到相册,以便打印,问题来了,因为发票是.pdf,android不支持直接查看pdf,所以要下载下来然后在手机上看,当时的需求是要下载 ...

  5. android app.build文件_网易友品 Android 客户端组件化演进

    原文作者:简书 - 四单老师 项目背景 主站业务经历了长期的迭代维护,业务的增长同时带来每个版本业务量繁重,迭代周期很快.同时团队也在不断的扩张,对应拆分了组内不同的业务线对接不同业务线的需求,最初的 ...

  6. Android上传文件到服务器500,使用WebUploader解决安卓微信浏览器上传图片中遇到的bug...

    摘自个人博客:走啊走的记录,欢迎点击查看,效果更佳! 微信浏览器上传图片bug的原因 微信在新版本中采用的是自己的X5内核浏览器,而在较老的版本中还有可能是安卓的原生浏览器.具体的环境我也不太了解,但 ...

  7. linux名词解释目录文件,Linux文件系统的文件都按其作用分门别类地放在相关的目录中,对于外部设备文件,一般应将其放在()目...

    从电商的增速来看,网上零售的增长速度呈现逐年下降的趋势. 篮球双手反弹传球的击地点应在距离接球人2/3的地方 有抗震设防要求的框架结构,对一二级抗震等级,纵向受力钢筋的屈服强度实测值与强度标准值的比值 ...

  8. Android官方开发文档Training系列课程中文版:数据存储之文件存储

    原文地址:http://android.xsoftlab.net/training/basics/data-storage/files.html Android使用的文件系统和其它平台的磁碟式文件系统 ...

  9. Android内部存储与外部存储(私有目录与公共目录)图文详解

    目录 一.存储空间概述 二.存储空间的划分 1.存储划分 2.内部存储 2.1 内部存储概述 2.2 内部存储 - 私有目录 3. 外部存储 3.1 外部存储概述 3.2 外部存储 - 私有目录 3. ...

最新文章

  1. Fiddler使用技巧:强大的数据文本编解码功能
  2. Windows XP硬盘安装Ubuntu 11.10双系统全程图解
  3. 最优化——分析线性规划的对偶问题的等价性
  4. Intellij IDEA设置忽略部分类编译错误
  5. android 文字fly动画,超好看的下拉刷新动画Android代码实现
  6. 博客园是个大金矿,管理员不挖掘有些可惜:给博客园提一些双赢的建议
  7. 群签名和环签名的区别_超级签名和TF签名使用个人开发者账号的区别是什么?...
  8. 摈弃 Windows 低效率的工作方式,发掘 Linux 身上的 UNIX 气质
  9. Hadoop学习之MapReduce
  10. (十二)linux内核定时器
  11. 关于web服务器性能书籍,图书商城系统的Web服务器性能优化研究与实现
  12. 数据库备份checksum选项你会用么?
  13. 基于arduino的光控窗帘_分别基于STM32和Arduino的智能窗帘硬件分析与程序设计
  14. vue之自行实现派发与广播-dispatch与broadcast
  15. 如何使用qtp检查网页中显示的文字颜色为指定的颜色
  16. netmeeting 英文开源实例
  17. IEEE的论文哪里可以下载?
  18. 全国哀悼日,黑白网页CSS滤镜代码
  19. 选择服务器托管时应该注意什么?
  20. C++ Combo Box控件用法

热门文章

  1. IAAS云计算产品畅想-云主机产品内涵
  2. S5700日志查看与清空
  3. tomcat 5 comcat 6 区别
  4. Android的Dalvik虚拟机的一个小BUG
  5. Vue开启Gzip打包异常:webpack打包报错Cannot read property ‘emit‘ of undefined
  6. NodeJS开源系统Mili简介
  7. 了解git的命令行使用
  8. 【Java】判断某值是否在数组中,使用Arrays类
  9. 【Python】斐波那契数列
  10. C#LeetCode刷题之#700-二叉搜索树中的搜索(Search in a Binary Search Tree)