Android导出文件位置讨论

    • 一、系统定义的文件夹或者自定义文件夹?
    • 二、如何命名文件?
    • 三、覆盖或者连续编号?
    • 四、Finally

前面的几篇文章讨论了共享功能的一些技术问题。

这篇文章讨论一下共享的图片、文本、Markdown保存位置的问题。

一、系统定义的文件夹或者自定义文件夹?

Android定义了以下一些通用目录。在Environment中可以找到这些常量定义。

常量名 含义
DIRECTORY_PICTURES Pictures 图片
DIRECTORY_DOCUMENTS Documents 文档
DIRECTORY_DOWNLOADS Download 下载
DIRECTORY_MUSIC Music 音乐
DIRECTORY_MOVIES Movies 电影
DIRECTORY_DCIM DCIM 拍照及摄像
……

导出的数据文件是应该保存在系统定义的目录之内?或者创建自己的顶级目录存放文件?

神马笔记采用的系统预定义的目录。

使用自定义的顶级目录,会在根目录中创建一堆APP相关的文件夹。

这些文件夹本身没有太多的含义,只是表示XXX应用的文件夹而已。

因此,神马笔记倾向与在系统预定义的目录中创建自身的顶级目录。

例如:

  • Pictures/WhatsNote:图片

  • Documents/WhatsNote/Text:文本

  • Documents/WhatsNote/Markdown:Markdown(包括Hexo)

图片在Pictures文件夹内,文本及Markdown在Documents文件夹内。

之后再创建WhatsNote目录,表示由神马笔记管理的目录。

二、如何命名文件?

几种常见的文件命名方式

  1. 用户定义的名称——Title

  2. 保存时的时间——Time

  3. 数据表中的唯一编号——ID

  4. 通用唯一识别码——UUID

第1种方式是由用户定义。

另外3种方式由应用定义,通常为避免重复文件名使用的技巧。

既然是共享文档,优先考虑用户容易找到文件这一需求。

因此,采用第1种方式,使用用户定义的名称命名文件。

三、覆盖或者连续编号?

有几种情况下,会出现文件同名的情况。

  1. 用户命名了同名笔记;
  2. 连续导出同一个笔记;

目前,神马笔记在这2种情况下会出现同名文件。

这种情况下,是采用覆盖方式,或者连续编号方式导出文件?

神马笔记采用了覆盖方式。

考虑到导出文件的临时性,以及用户可以再次导出以获取新的导出文件。

覆盖的方式更有能方便用户定位文件。

连续编号方式则可能导致用户定位到错误的文件。

综合考虑下,覆盖方式更适用于导出情况。

四、Finally

~人生若只如初见~何事秋风悲画扇~

更多相关文章

  1. Android系统文件夹结构详细解析
  2. Android群英传笔记——第二章:Android开发工具新接触
  3. Android(安卓)SDK开发包国内下载地址
  4. Android(安卓)提高显示布局文件的性能[Lesson 2 - 使用include标
  5. Android(安卓)Studio 使用SlidingMenu侧滑菜单
  6. Android(安卓)语言资源库的添加
  7. Android中对多媒体操作阶段总结
  8. Android(安卓)Signature V2 Scheme签名下的新一代渠道包打包神器
  9. Android(安卓)AppLink功能实现,原理和干货,包教会

随机推荐

  1. Android学习笔记3:使用日志工具
  2. 堆排序就这么简单
  3. 阻塞队列 BlockingQueue
  4. redis集群教程(二)
  5. 由浅入深,走进Python装饰器-----第五篇:
  6. SharePoint 解决方案:如何获取Library或者
  7. 希尔排序就这么简单
  8. Druid数据库连接池就是这么简单
  9. Ruby和Python哪个更强大?学习分析
  10. Java面试题全集(12)