嵌入式Linux中文站

Bada系统学习-文件系统


每个bada应用都会在终端文件系统中分配一个私有的存储区域,即该应用的根目录

以下为文件系统的访问规则:

  • C++/FLASH应用可以使用 Osp::Io命名空间方法 .
  • web应用访问文件路径也遵循相同规则; 但是  WAC device APIs支持的虚拟根目录不相同
  •  在整个系统范围内bada API的路径参数仅支持绝对路径形式.不支持CWD (Current Working Directory).
  • 以下特殊字符不允许出现在路径参数中: \\, ", *, :, <, >, ?, or |.
  • 文件系统路径参数区分大小写
    注意
    尽管文件系统目前是大小写敏感的,以后也许会改变.为了避免今后可能变化的情况,在创建应用时请把下列情况列入考虑范畴
  • 路径分隔符为单斜杠 ("/").
  • 对不同操作的上限规定:
    • 文件和数据库操作: 150
    • 目录操作: 30
    • 部件注册操作: 无限制
  • 应用只能访问下表列出的前缀开头的路径
Table: bada path prefix and access permissions
Path prefix Namespace: Permissions Description Examples
/Home Io: Read and Write 默认的bada应用根目录  
/Home/Share Io: Read and Write 用于与其他应用共享数据.为最大化系统存储空间,建议你的应用清空此文件夹下未使用的数据.  
/Home/Share2 Io: Read and Write 用于与受信任的应用进行数据共享.你必须在项目配置中指明被信任访问此目录的应用  
/Share/<appId> Io: Read-only 用于读取其他应用的数据,位于其它拥有指定应用ID的应用路径/Home/Share(这里提到的其它应用的应用ID号必须提前被获知 )  
/Share2/<appId> Io: Read and Write 用于读取其他应用的数据,位于其它拥有指定应用ID的应用路径/Home/Share2下.其它提供共享数据的应用必须在其项目配置中指明受信任并可访问本目录的应用  
/Res Io: Read-only 用于读取资源文件,例如与应用包一同发布的ICON文件  
/HomeExt Io: Read and Write bada应用的二级根目录.(要使用这个目录,系统必须支持可扩展存储卡,或者你能保证你的数据已经被安全的加密了)  
/HomeExt/Share Io: Read and Write 用于与其它应用共享数据  
/HomeExt/Share2 Io: Read and Write 用于与受信任的应用进行数据共享.你必须在项目配置中指明被信任访问此目录的应用  
/ShareExt/<appId> Io: Read-only 用于读取其他应用的数据,位于其它拥有指定应用ID的应用路径/HomeExt/Share(这里提到的其它应用的应用ID号必须提前被获知 )  
/Share2Ext/<appId> Io: Read and Write

用于访问其他应用的数据,位于其它拥有指定应用ID的路径/HomeExt/Share2下.其它提供共享数据的应用必须在其项目配置中指明受信任并可访问本目录的应用

 
/Share/AppControl/<appcontrol_name> Io: Read and Write 用于访问 AppControl提供的数据  
/Clipboard Io: Read-only 用于在剪贴板上临时存储复制粘贴操作时产生的文件  
/SystemFS/Media

Io: Not supported

Media: Read-only

互联网系统区域,用于读取多媒体文件,例如铃声  
/Media

Io: Read-only

Media: Read and Write

Content: Read and Write

用于读取多媒体文件的路径或者文件本身

For example,

 create a media 

file to the directories 

as follows:

Correct: 
/Media/bada.jpg
/Media/Images/bada.jpg

Incorrect: 
/Media/Image/bada.jpg
/Media/MyImage/bada.jpg 
(A media file can 

only be created in t

he root directory 

or in the applicable 

predefined sub-directory 

under Media.)

/Media/Images 用于读取图片数据
/Media/Sounds 用于读取声音数据
/Media/Videos 用于读取视频数据
/Media/Themes 用于读取主题数据
/Media/Others 用于读取其它媒体数据
/Storagecard/Media 用于读取媒体文件路径或者外部存储中的文件

For example, create

 a media file to the 

directories as follows:

Correct: 
/Storagecard/Media/bada.jpg
/Storagecard/Media/Images/bada.jpg

Incorrect: 
/Storagecard/Media/Image/bada.jpg
/Storagecard/Media/MyImage/bada.jpg
(A media file can 

only be created in 

the root directory 

or in the applicable

 predefined sub-directory 

under Media.)

/Storagecard/Media/Images 用于读取外部存储中的图片数据
/Storagecard/Media/Sounds 用于读取外部存储中的声音数据
/Storagecard/Media/Videos 用于读取外部存储中的视频数据
/Storagecard/Media/Themes 用于读取外部存储中的主题数据
/Storagecard/Media/Others 用于读取外部存储中的其它媒体数据
注意

 /Clipboard 路径前缀是2.0版本才新增的

/Home/Share2/Share2/<appId>/HomeExt/HomeExt/Share/HomeExt/Share2,/ShareExt/<appId>, 以及/Share2Ext/<appId> 路径前缀是 1.2版本新增的, 剩余其它的则是版本1.0中的.

下面的表单列出了一些系统限制,全路径或者文件名比特值的最大长度.存储卡上在模拟器上的最大文件路径长度通常要小于在目标终端上的长度,这取决于模拟器的网络文件地址.

Table: Length limitations
Path prefix Maximum full path length Maximum length of directory name or file name
/Home 228 (2021) 208 (1822)
/Home/Share 233 (2071) 213 (1872)
/Home/Share2 229 (2031) 209 (1832)
/Share 238 (2121) 218 (1922)
/Share2 234 (2081) 214 (1882)
/Res 228 (2021) 208 (1822)
/HomeExt 194 174
/HomeExt/Share 199 179
/HomeExt/Share2 195 175
/ShareExt 204 184
/Share2Ext 200 180
/Media 256 236
/Media/Images 256 236
/Media/Sounds 256 236
/Media/Videos 256 236
/Media/Themes 256 236
/Media/Others 256 236
/Storagecard/Media 264 244
/Storagecard/Media/Images 264 244
/Storagecard/Media/Sounds 264 244
/Storagecard/Media/Videos 264 244
/Storagecard/Media/Themes 264 244
/Storagecard/Media/Others 264 244

1 安装在外部存储卡上的应用的全路径最大长度
2 安装在外部存储卡上的应用文件名或目录名全路径最大长度

本文永久更新链接:http://embeddedlinux.org.cn/emb-linux/system-development/201110/30-1794.html



分享:

评论