如何使用代号一存储?

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(使用前将#替换为@)

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

  • 在源代码中隐藏密码内容

    有谁知道如何在j2me程序的源代码中隐藏密码内容 也就是说 人们无法将 DBT 视为阅读源代码的密码 public void validateUser String user String Password if user equals N
  • SQLite DB 的 MIDP Java 实现

    是否有任何 SQLite db 的 MIDP 实现可用于在 MIDlet 中使用 sqlite db 而不是使用 RMS 当然 还有Floggy http floggy sourceforge net and OpenBaseMovil h
  • 如何在 CN1 中编写 iPhone 风格的弹出菜单?

    以前可能已经介绍过了 但我无法用谷歌搜索任何内容 制作 iPhone 风格的弹出选择菜单 如附图 的最佳方法是什么 我尝试过Dialog 但我还没有找到一种优雅的方式来添加Commands所以它们看起来很漂亮 并且都触发操作并同时关闭对话框
  • 是否可以更改 Java ME 中的垃圾收集行为?

    我想知道是否可以调整垃圾收集器在 JavaMe 上的工作方式 以某种方式提高性能 可能会减少段落数量 我看过一些关于它的文章 但大多是针对 Java SE 的 其中大多数都说 GC 高度依赖于制造商 那会是多少呢 垃圾收集器何时被触发在很大
  • j2me - 列表是否有任何属性来跟踪标识项目的“密钥”

    您通常如何处理列表以及它们没有明确标识特定项目的属性这一事实 到目前为止 我能想到的唯一解决方案是将我使用的密钥放在开头 后跟连字符和每个项目上显示的文本 这样 当我从所选项目中检索文本时 我可以获得该项目的密钥 我就是这样做的 但肯定有更
  • 代号一号如何运作?

    我正在寻找针对多个移动平台进行开发的替代方案 并发现代号一 http www codenameone com 使用 Java 作为通用语 而不是 HTML CSS JS 或脚本语言 我找不到的是它是如何工作的 它是否将 JVM 与 iOS
  • 开发黑莓应用程序的好工具包是什么? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 寻找用于一般 Blackberry 开发或应用程序工具包的工具包 SDK 有类似 MVC 框架的东西吗
  • Java ME 日历不显示

    我一直在这里关注本教程 教程链接 http www developer nokia com Community Wiki Building a Java ME Canvas based calendar date picker 但我似乎无法
  • 绘制自定义组件

    这是两个问题 1 是最重要的paint的成员Component使用代号为 1 的简单 2D 图形游戏的最佳方法是什么 或者我什至不应该尝试它 2 为什么下面的代码会画出我的Component只是立即删除它 我像这样初始化我的组件 prote
  • 在j2me中从收件箱读取短信

    我正在使用j2me技术 我的应用程序用于发送和接收短信 发件人无法在特定端口上发送短信 短信始终会发送到收件箱 j2me 可以从收件箱读取短信吗 不 您无法从 J2ME 中的收件箱读取 SMS 但是 您可以使用 AT 命令来执行此操作 如我
  • 黑莓操作系统版本

    如果我为操作系统版本 6 0 开发 Blackberry 应用程序 该应用程序是否与操作系统版本 4 5 兼容 如果没有 是否有某种方法可以轻松移植应用程序 如果您针对特定 SDK 例如 6 0 进行开发 您的应用程序将只能部署到使用匹配操
  • 将 Web 服务器与数据库和 J2ME 连接

    我做了一个移动应用程序 用户可以使用它获取所需地点的号码 用户必须选择适当的城市和类别才能获取该地点的信息 所有信息都存储在数据库中 我想知道的是 1 网络服务有什么好处 2 如何连接Web服务和MySQl数据库 3 如何连接Web服务和移
  • 是否可以在 Codename One 中通过 css 自定义滑块?

    我的应用程序有一个进度条 需要更改背景和缩略图 我发现拇指图像可以通过设计器中的常量进行更改 但我在 Constants 段落中找不到该常量CSS 选择器页面 https github com shannah cn1 css wiki Su
  • 按下退出按钮时最小化移动应用程序

    我正在使用 J2ME 和 LWUIT 开发移动应用程序 每当默认退出时Button 红色 在装有 symbian 操作系统的手机上按下 我希望我的应用程序最小化并且不退出 我该如何实现这一目标 根据诺基亚文档http library dev
  • CLDC 1.0 / MIDP 2.0 应用中的三角学

    如何在 CLDC 1 0 MIDP 2 0 应用程序中使用三角函数 我需要标准数学库中的 sin cos tan asin acos atan atan2 函数 Thanks 蚊子知道 http forums sun com thread
  • 在 Blackberry 开发中检查电池状态

    我正在为 8900 9000 Blackberry 开发应用程序 在我的应用程序中 我需要检查电池是否连接到充电器 特别是车载充电器 我使用以下方法检查电池是否正在充电 if DeviceInfo getBatteryStatus Devi
  • 黑莓中的队列线程

    我查看了 BB API 5 0 但找不到任何串行执行一批线程的方法 我知道 BB 对启动的线程数量有限制 所以如果用户点击速度足够快但我找不到像线程池这样的东西 我不想启动 7 是否有一个简单的解决方案 或者我是否必须创建一个数据结构 如果
  • 如何更改诺基亚全触摸 lwuit 表单标题颜色

    我想更改基于诺基亚 lwuit 的全触摸表单的标题颜色 我尝试过 setTitleComponent 方法 但它不起作用 另请检查以下链接http projects developer nokia com LWUIT for Series
  • 使用 Codenameone 的 Oauth2 类获取 Dropbox Core API 的 OAuth2 访问令牌

    我正在尝试使用 codenameone 的 Oauth2 类来获取 Dropbox 核心 API 的访问令牌 我使用的代码如下 Oauth2 auth new Oauth2 https www dropbox com 1 oauth2 au
  • 如何通过j2me api解析包含负数的字符串?

    我有一个带有数字的字符串 我必须解析这个字符串并将这些数字存储在 int float 等中 相应地 String str 100 2 0 100 19 99 0 我可以这样做Integer parseInt and Float parseF

随机推荐

  • 如何从 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