如何使用代号一存储?

2023-12-09

我正在尝试将我的 LWUIT 应用程序移植到代号一.

我已经在 LWUIT 中使用了 RMS,现在显然我必须将其转换为存储。

我不明白存储类在代号一中是如何工作的,代号一的文档也没有任何相关内容。

1)存储文件的结构是怎样的?

--> 在 J2ME 中RecordStore,您的记录像表格一样聚集在一起。每一行,对应一个记录。每条记录都有一个唯一的记录 ID,您可以通过该记录 ID 访问该记录。每条记录都可以存储一些数据。

这如何映射到存储类?

2)我想在我的存储中存储一些记录,我该怎么做?

文档说:

static Storage  getInstance() 
          Returns the storage instance or null if the storage wasn't initialized using a call to init(String) first.

--> 在 LWUIT 中,它类似于 Storage.init(storageName)。 ;然而,代号一中没有 init!!!。如何在代号一中打开存储?

3)如果我尝试打开一个不存在的存储文件,会发生什么(RMS给出例外)?


考虑存储的最简单方法是将其视为平面文件系统(没有目录/文件夹)。

当在 RMS 之上运行时,此文件系统抽象会为您无缝映射到 RMS 数据库。

请注意init()Codename One 中的 Storage 不再需要,在 LWUIT 下它只执行基本初始化,并且名称通常被忽略。

Storage 类有几个方法:

InputStream createInputStream(String name)

创建给定存储源文件的输入流

OutputStream    createOutputStream(String name)

使用给定名称创建到存储的输出流

boolean     exists(String name)

如果给定的存储文件存在则返回 true

String[]    listEntries()

列出存储文件的名称

您可以使用它们来存储和检查数据是否存在。但是,您也可以使用以下两种方法在不使用输入/输出流的情况下将复杂对象存储在存储中:

 Object     readObject(String name)

从存储中读取对象,如果对象不存在则返回 null

 boolean    writeObject(String name, Object o)

将给定对象写入存储,假设它是可外部化类型或支持的类型之一

因此,要模拟像 byte[] 存储这样的东西,你可以这样做:

Vector p = new Vector();
byte[] myData = ...;
p.addElement(myData);
p.addElement(additionalData);
Storage.getInstance().writeObject("myStore", p);

然后将其读为:

Vector p = (Vector)Storage.getInstance().read("myStore");
// p will be null if nothing was written
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用代号一存储? 的相关文章

随机推荐

  • 如何从 Ruby 运行 Excel 宏?

    Problem 我有这本十多年前的 Excel 工作簿 其中有无数行 VBA 代码 其中一些我必须更新 所以我有了用 Ruby 编写单元测试的疯狂想法 Question 如何从 Ruby 调用 Excel 宏 到目前为止我所拥有的 I ha
  • 这个 State monad 代码是如何工作的?

    这段代码来自于此article 我一直能够遵循它直到这一部分 module Test where type State Int data ST a S State gt a State apply ST a gt State gt a St
  • 为什么我的 div 边距重叠以及如何修复它?

    我不明白为什么这些 div 的边距重叠 alignright float right header social margin top 50px header social a display inline block header soc
  • 如何异步触发JProgressBar?

    我有一个JButton swing 在里面JPanel 如果按下它 我将在其列表中的 for 循环上执行任务EDT thread 这样做时我需要更新JProgressBar 问题是 当我按下 JButton 时 任务是在事件调度线程 EDT
  • 如果我第二天打开应用程序,Firestore 是否会再次收取文档读取费用?

    我没有找到任何解决方案来避免使用 get 时从服务器读取数据 但是 我可能找到了解决方案 但我不清楚它是否有效 我发现在使用实时功能时 客户端会随着数据的变化而不断更新 所以根据我的理解 如果服务器上没有任何更改 则不会收取任何读取费用 对
  • 从受密码保护的 Access 数据库进行 Excel VBA 查询

    我目前正在尝试从 Microsoft Access 数据库 mdb 查询其中一个表 但是 当我尝试执行SELECT FROM myTable 它给出 用户定义类型未定义 我可以知道为什么吗 这是我的示例代码 Private Sub Comm
  • ValueError:lstm 层的输入 0 与该层不兼容:预期 ndim=3,发现 ndim=2。收到完整形状:[无,18]

    我是 Keras 新手 我正在尝试构建一个供个人使用 未来学习的模型 我刚刚开始使用 python 并想出了这段代码 在视频和教程的帮助下 我有 16324 个实例的数据 每个实例由 18 个特征和 1 个因变量组成 import pand
  • 如何在 .npmrc 文件中使用 GitHub 机密?

    我在 GitHub 上有一个项目 它有几个依赖项 所有这些依赖项都发布在 GitHub 包注册表上 我使用 GitHub 操作来发布我的包 我可以在我的应用程序中使用 GitHub 机密workflow yml文件但在我的中不是这样 npm
  • 找不到适用于 jdbc:h2:tcp 的驱动程序

    当我尝试使用 java Web 应用程序连接到 h2 数据库时 抛出 java sql SQLException No合适的驱动程序找到 jdbc h2 tcp localhost ZadatakDB 我可以毫无问题地使用 H2 控制台 并
  • 如何粘贴而不覆盖寄存器

    有谁知道一种方法可以粘贴到视觉上选择的区域而不将选择放置在默认寄存器中 I know I can solve the problem by always pasting from an explicit register But it s
  • IntelliJ Idea 使用错误的 git

    我无法让 git 与 IntelliJ IDEA 2022 3 1 终极版 一起使用MacOS Monterey 12 5 芯片 Apple M1 Pro git 可执行文件的路径 usr local bin git IntelliJ Id
  • 使用 Freemarker 解析 Spring MVC 中的视图 - 包括 jsp 页面

    使用 FreemarkerServlet 时 可以将 JSP 页面与 Freemarker 内容一起包含在内 但是 我在 Spring MVC 应用程序中使用 Freemarker 作为视图解析器 因此不使用 FreemarkerServl
  • 正则表达式搜索并替换为可选的复数

    我是正则表达式的新手 所以希望一些专家能够对我的问题打哈欠并给出一个简单的答案 我试图查找并替换以某个字母开头的单词 如果它们是复数 则保留它们的复数 因此 例如 我想将 boy 一词替换为 band 将 boys 替换为 bands te
  • TypeScript 导出和导入 尚未加载上下文的模块名称:_。使用 require([])

    当我尝试在浏览器中运行应用程序时 我在调试控制台窗口中收到以下消息 Module name Person has not been loaded yet for context Use require 当然 如果合并 ts 文件的内容 一切
  • PHP 安装程序脚本 [重复]

    这个问题在这里已经有答案了 可能的重复 我如何为网站创建安装程序 PHP mysql 我正在寻找使用 PHP 为稍微复杂的 Web 应用程序创建一个功能齐全的安装程序 基本上 您访问 URL setup php 系统会询问您一系列问题 在此
  • 如何将 cp1251 字节数组转换为 utf8 字符串?

    我们在手机上没有可用的 cp1251 代码页 因此 new String data cp1251 doesn t work 我们需要一个具有类似签名的函数 String ArrayCp1251toUTF8String byte data 首
  • JavaScript:我应该如何生成大量 HTML? [复制]

    这个问题在这里已经有答案了 可能的重复 是否有使用 javascript 生成 html 的最佳实践 我想用 JavaScript 生成网站的大部分内容 最简单的方法是形成一个包含所有 HTML 的大字符串 div span some te
  • MySQL - 如何限制每个 ID 一个结果?

    我有以下查询 它创建一个视图表 显示商店中最高的销售人员以及其他一些详细信息 CREATE OR REPLACE VIEW sales data AS SELECT s storename AS Store e employee name
  • event.preventDefault() 在 Chrome 和 Opera 中不起作用

    我正在使用 jQuery 验证插件 1 9 0 和 jQuery 1 7 2 我希望使用 jquery 验证插件来验证我的表单 它在 Firefox 20 0 1 和 IE 10 中运行良好 但在 Chrome 26 0 1410 64 m
  • 如何使用代号一存储?

    我正在尝试将我的 LWUIT 应用程序移植到代号一 我已经在 LWUIT 中使用了 RMS 现在显然我必须将其转换为存储 我不明白存储类在代号一中是如何工作的 代号一的文档也没有任何相关内容 1 存储文件的结构是怎样的 gt 在 J2ME