corner imagecorner image
IDEPlatformPluginsDocs & SupportCommunityPartners

可视 Mobile 设计器定制组件:创建移动设备文件浏览器

可视 Mobile 设计器 (Visual Mobile Designer, VMD) 是 NetBeans Mobility 中的图形界面,您可以在该界面中使用拖放式组件设计 Mobile 应用程序。通过 VMD,您可以使用 IDE 提供的组件或您自己设计的组件定义应用程序流和设计 GUI。VMD 包含很多标准用户界面 (User Interface, UI) 组件,您可以使用这些组件创建应用程序,如 "Lists"(列表)、"Alerts"(警报)、"Forms"(表单)、"Images"(图像)。它还包含一些定制组件,用于简化创建较复杂功能的过程,例如 "Wait Screen"(等待屏幕)、"Splash Screens"(闪屏)和 "Table Items"(表项)等。

"File Browser"(文件浏览器)是一个定制组件,提供了使用设备文件系统所需的用户界面。它还提供了基本功能,用以浏览设备存储内存的内容。该组件使用 FileConnection API,它包含在适用于 Java ME 平台的 PDA 可选包的 JSR-75 规范中。JSR-75 不是 MIDP 2.0 规范的一部分,这就是为什么只能在支持 JSR-75 的设备上使用该定制组件的原因。

本教程介绍如何在支持 JSR-75 的设备的 Mobile 应用程序中使用 "File Browser"(文件浏览器)组件。您将了解这些组件的基本功能,如何浏览设备内存存储的内容以及如何显示所选文本文件的内容。除了 "File Browser"(文件浏览器)定制组件以外,我们还使用其他两个 MIDP 组件:"Splash Screen"(闪屏)和 "Text Box"(文本框)。

注意:如果使用的是 NetBeans IDE 6.8,请参阅在 NetBeans IDE 6.8 中创建移动设备文件浏览器教程。

目录

本页上的内容适用于 NetBeans IDE 6.9 或更高版本

要学习本教程,您需要具备下列软件和资源。

软件或资源 要求的版本
带有 Java ME 的 NetBeans Beans 版本 6.9 或更高版本
Java Development Kit (JDK) 版本 6 或版本 7

安装并运行样例应用程序

开始之前,您可能希望查看本教程的最终结果。

请执行下列步骤以安装 FileBrowserExample 应用程序:

  1. 下载 filebrowserexample.zip
  2. 解压缩该文件。
  3. 在 IDE 中,选择 "File"(文件)> "Open Project"(打开项目),然后浏览至包含 FileBrowserExample 项目的解压缩文件的文件夹。
  4. 单击 "Open Project"(打开项目)。
    "Projects"(项目)窗口应如下所示:

    打开了 FileBrowserExample 的 "Projects"(项目)窗口

  5. 在 "Projects"(项目)窗口中,右键单击该项目节点,然后选择 "Run Project"(运行项目)(或按 F6 键)。当应用程序运行时,将会打开一个仿真器窗口,其中显示了在缺省设备仿真器中运行的应用程序。
  6. 在仿真器窗口中,单击 "Launch" 下面的按钮。
    仿真器将显示 "Splash Screens"(闪屏)组件,然后显示文件浏览器,如下所示:

    显示样例文件浏览器应用程序的 WTK 2.5 仿真器

  • 将光标上移或下移以在可用的文件和文件夹中导航。
  • 单击 "Select" 下方的按钮以打开文件夹或文件。
  • 单击 "Exit" 下面的按钮以关闭应用程序。

返回页首

使用 "File Browser"(文件浏览器)定制组件创建应用程序

现在,您已看到运行中的 "File Browser"(文件浏览器)组件,接下来让我们从头开始创建此应用程序。要创建该应用程序,请执行以下操作:

  1. 创建 FileBrowserExample 项目
  2. 在 FileBrowserExample 项目中添加包和 Visual MIDlet
  3. 在 FileBrowserExample 中添加组件
  4. 在 "Text Box"(文本框)和 "File Browser"(文件浏览器)组件中添加命令
  5. 连接组件以创建应用程序流
  6. 在源代码中插入 loadTextFile 方法
  7. 运行项目

创建 FileBrowserExample 项目

  1. 选择 "File"(文件)> "New Project"(新建项目)(Ctrl-Shift-N 组合键)。在 "Categories"(类别)下,选择 "JavaME"。在 "Projects"(项目)下,选择 "Mobile Application"(Mobile 应用程序),然后单击 "Next"(下一步)。
  2. 在 "Project Name"(项目名称)字段中输入 FileBrowserExample。将Project Location(项目位置)更改为系统中的某个目录。从现在开始,我们将此目录称为 $PROJECTHOME
  3. 取消选中 "Create Hello MIDlet"(创建 Hello MIDlet)复选框。单击 "Next"(下一步)。
  4. 将 "Sun Java Wireless Toolkit" 保留为选定的仿真器平台。单击 "Next"(下一步)。
  5. 单击 "Finish"(完成)。

    注意:该项目文件夹中包含所有源代码和项目 meta 数据,如项目的 Ant 脚本。应用程序本身显示在可视 Mobile 设计器的 "Flow"(流)设计窗口中。

在 FileBrowserExample 项目中添加包和 Visual MIDlet

  1. 在 "Project"(项目)窗口中选择 FileBrowserExample 项目,然后选择 "File"(文件)> "New File"(新建文件)(Ctrl-N 组合键)。在 "Categories"(类别)下,选择 "Java Classes"(Java 类)。在 "File Types"(文件类型)下,选择 "Java Package"(Java 包)。单击 "Next"(下一步)。
  2. 在 "Package Name"(包名)字段中输入 filebrowserexample。单击 "Finish"(完成)。
  3. 在 "Project"(项目)窗口中选择 filebrowserexample 包,然后选择 "File"(文件)> "New File"(新建文件)(Ctrl-N 组合键)。在 "Categories"(类别)下,选择 "MIDP"。在 "File Types"(文件类型)下,选择 "Visual MIDlet"。单击 "Next"(下一步)。
  4. 在 "MIDlet Name"(MIDlet 名称)和 "MIDP Class Name"(MIDP 类名)字段中输入 FileBrowserExample。单击 "Finish"(完成)。

在 FileBrowserExample 中添加组件

  1. 将 Visual MIDlet 切换至 "Flow"(流)设计器窗口。将以下组件从 "Component Palette"(组件面板)拖放至 "Flow"(流)设计器中:
    • Splash Screen(闪屏)
    • Text Box(文本框)
    • File Browser(文件浏览器)
  2. 单击 "splashScreen",然后在 "Properties"(属性)窗口中,将 "Text"(文本)属性值从 null 更改为 File Browser Example

在 FileBrowserExample 中添加命令

  1. 打开 "Flow"(流)设计器窗口。
  2. 从 "Component Palette"(组件面板)的 "Commands"(命令)类别中选择 "Exit Command"(退出命令)。将其拖放至 "Flow"(流)设计器窗口中(fileBrowser 组件)。
  3. 从 "Component Palette"(组件面板)的 "Commands"(命令)类别中选择 "Back Command"(后退命令),然后将其拖放至 textBox 组件中。

连接组件以创建应用程序流

在 "Flow"(流)设计窗口中,单击 "Mobile Device"(移动设备)上的“起点”并将其拖至 spalshScreen 组件上。采用相同的方法,按照下图所示连接各个组件。

显示包含由命令行连接的组件的 "Flow"(流)设计器

在源代码中插入操作前代码

  1. 切换至 "Source"(源)窗口。
  2. 将以下代码插入到源代码的末尾。以下方法负责读取所选的文件:
        /** 
        * Read file
        */ 
        private void readFile() {
            try {
                FileConnection textFile = fileBrowser.getSelectedFile();
                getTextBox().setString("");
                InputStream fis = textFile.openInputStream();
                byte[] b = new byte[1024];
                int length = fis.read(b, 0, 1024);
                fis.close();
                if (length > 0) {
                    textBox.setString(new String(b, 0, length));
                }
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }
        
  3. 在源代码中找到 commandAction 方法:
    readFile(); 插入到 FileBrowser.SELECT_FILE_COMMAND 的操作前代码部分中(紧靠 if (command == FileBrowser.SELECT_FILE_COMMAND)后面,其中显示 //write pre-action code here):

运行项目

按 <F6> 键以运行主项目,或者选择 "Run"(运行)> "Run Main Project"(运行主项目)。

返回页首

"File Browser"(文件浏览器)组件的 Javadoc

NetBeans IDE 提供了 "File Browser"(文件浏览器)组件以及可在 VMD 中使用的其他组件的 API Javadoc。要阅读 "File Browser"(文件浏览器)组件的 Javadoc,请完成以下步骤:

  1. 将光标放在源代码中的 FileBrowser 组件上,然后按 Ctr-Shift-空格组合键(或选择 "Source"(源)> "Show Documentation"(显示文档))。
    此时将在弹出式窗口中显示该元素的 Javadoc。
  2. 在弹出式窗口中单击 "Show documentation in external web browser"(在外部 Web 浏览器中显示文档)图标 ("Show documentation in external web browser"(在外部 Web 浏览器中显示文档)),以便在浏览器中查看有关 FileBrowser 组件的详细信息。

返回页首


另请参见

返回页首