Tip:
Highlight text to annotate it
X
现在我将讲述bada的输入输出和系统的命名空间。
首先,让我们看一下输入输出命名空间, 让后我们看一下系统命名空间
之后,我将介绍一下开发应用程序很有用的调试宏。
IO命名空间提供了输入输出数据的功能,这些数据是以
Files, Directories, Registries 和 Databases 的方式存储的,首先让我们简短的看一下bada的文件
系统。 directory在bada里被使用是
被系统和平台操作的逻辑路径。目录被界定通过
斜线。 一个bada应用程序可以打开文件的最大数量是
100,最大目录数是30.
当前应用的目录,意味着当前正在运行应用程序的目录,
是不支持的。 bada 的文件系统大小写敏感的
现在我解释一下bada的逻辑路径。 首先,bada有个根目录在
bada的逻辑路径里。 根路径是 /home 和 /home/share
应用程序可以在根目录下读写
另外,有一个应用程序资源相关的文件夹
项目资源组的文件被保存到资源文件夹
因为这个文件夹是资源被保存的地方,你不可以 向这个文件夹写东西
共享文件夹用来与别的应用程序共享数据
有两个共享的文件夹。 第一个以 /share/[appid] 开始
第二个以/share/AppControl/开始
这些文件夹也只是只读的。 除了这些,还有多媒体文件夹
用来保存图片视频等文件 多媒体文件夹的是/Media 和
/Storagecard/Media文件夹 这些文件夹也是只读的
去存数据到这些文件夹,你可以使用Osp: :Media 或者 Osp: :Content命名空间中的类
这个例子是通过Directory类去获得一个目录下文件和 目录的名字
让我们看一下怎样使用Directory类
指定目录的名字,构造目录,枚举目录通过
ReadN函数 GetCurrentDirEntr函数
返回目录条目。 目录条目包含不同类型的
文件和目录信息
这个例子展示怎样操作目录和文件,通过 Directory和File类的静态函数
去生成一个新的目录,你可以用
Directory类的create函数
通过传递目录路径到Create函数, 你可以生成一个新的目录
你也可以重新命名一个目录,通过 Directory类的Rename函数
你也可以删除一个目录,通过Remove函数
除了这些函数File类的静态函数,比如Copy、Move
Remove 和 GetFileExtension函数也被提供
这个例子是用File类去读和写数据到一个文件
首先,构造文件的时候,我们需要指定文件的绝对路径
这里,绝对路径是系统提供的逻辑路径
打开一个文件后,你可以读或者写数据到文件通过 Read和Write
函数。 这时候,你可以通过字符数组、
字符串或者是字节buffer去获取数据。
另外,Seek函数被提供,你可以移动指针到文件的 任何位置
像用fseek函数一样。 File类提供了Tell函数
来返回指针的现在的位置
另外,File类提供了获取文件属性的函数
比如:GetDateTime, GetFileSize, GetLastModifiedTime, IsDirectory, IsHidden, IsNormalFile, IsReadOnly
和IsSystemFile。
现在让我们看一下database。 由于使用互斥,数据库是线程安全的
并且支持SQL的子集"bada-compatible SQL"
你可以像下面一样使用bada的database. 通过一个数据库名构造一个数据库
执行SQL命令去生成一个表。 然后生成一个SQL语句,绑定数据到
这个语句,执行这个语句去添加一个新项到数据库
表
通过例子让我们看一下怎样使用database
首先,你必须生成一个数据库。 构造一个数据库用一个数据库名
然后你可以获取这个数据库
这个时候,由于没有数据库表,你必须执行SQL命令 去生成
一个新的表。 这个表第一列是整形的
第二列是double类型的,第三列是文本字符串类型的
让我们看一个例子去添加一行到这个表
首先,去获取数据库的互斥,你必须执行 BeginTransaction命令
然后构造语句去插入一个数据行
绑定数据到这个语句然后执行这个语句
然后,数据库准备插入行。 最后,你完成这个事务
用CommitTransaction函数。 这个例子给我们展示怎样更新数据库
的内容 去更新数据,开始这个事务
然后执行SQL命令去
更新数据表里德数据。 这个例子是删除一数据行
一个从数据表里删除一行的SQL命令被执行
你也可以删除整个数据库
这个例子是在数据库里搜索一个指定行
根据给定的数据库名构造数据库,生成一个搜索数据 的语句
.绑定搜索的关键字符串
执行这个语句,然后你得到一个枚举
你可以获取被发现的列的数目通过调用枚举的 GetColumnCount函数
获取数据通过调用GetStringAt函数
接下来我将解释registry 注册表通常用来保存应用程序设定
bada提供包含section的注册表文件
每一个section,name-value对组可以被插入
支持的数据类型是Integer, Double, Float, String, UuId 和 Bytebuffer.
让我展示给你怎样使用注册表。 首先,去用注册表,你必须指定
一个字符串变量regName. regName是/Home/regTest.ini
section的名字被设置成"section 1" 关键字的名字被设置成 "s1key1"
然后,根据给定的注册表名字构造注册表
然后,你可以读注册表 这之后,你可以添加需要名字的section
到注册表,通过Registry的AddSection函数
去添加一个key-value对组到注册表的section,通过 调用给定section名,key名和值的AddValue函数。
去读已加入的值,通过调用GetValue函数
它返回包含值的iVal