midlet_如何在J2ME中创建MIDlet

midlet

总览

Java移动应用程序称为J2ME。 通常,当我们在移动技术领域工作时,我们必须考虑J2ME应用程序。 通过这种方式,我们可以开发我们的移动应用程序,也可以通过jad或jar文件将其安装在我们的设备中。 近年来,手机开发中最大的增强是JavahostedMIDlet的引入。 MIDlet在Java虚拟机上执行,该Java虚拟机对底层硬件进行了抽象,并使开发人员可以创建在通常支持Java运行时系统的各种设备上运行的演示文稿。 不方便地,这种便利是以限制访问设备硬件为代价的。 现在,在移动开发中,第三方应用程序通常会获得与电话制造商编写的本机应用程序不同的硬件访问和执行权,这被认为是正常的。 Java MIDlet的引入和实现扩大了开发人员的受众。 但是缺乏底层硬件访问和沙箱执行,意味着大多数移动应用程序对于设计用于在较小屏幕上呈现的桌面程序或网站都是常规的。

在本文中,将详细讨论MIDlet的创建。

介绍

J2ME缩写为Java 2,微型版。 它是被困在处理能力和存储能力有限以及交替或相当低带宽的网络连接系统的设备上的Java的功能版本。 这些系统还包括我们日常生活中通常使用的手机,寻呼机,无线设备。 MIDlet是移动电话系统小程序的一部分。 这里的小程序可以在受保护的沙箱中运行。 该系统在该过程中非常受限制。 当前在大多数支持Java的手机上都可以找到MIDP()1.0,它相当不错。 例如,KVM不允许我们处理浮点数,并且为MIDP 1.0编写的MIDlet在没有电话制造商专有API(应用编程系统)的情况下无法访问沙箱之外的任何内容。 现在,我们可以梦想成真地开发带有钩子的最终MIDlet,并将其插入到backburner的电话操作系统的每个部分中。 基本上,当我们想确切地了解MIDP 1.0的局限性时,我们应该在这里阅读规格。 如果我们这样做,那么它可能想签出MIDP 2.0版本,并且它的等级更高。 目前,我们将要编写第一个MIDlet –功能齐全的“ Hello MIDlet”应用程序。

MIDlet生命周期

每个系统都应该有生命周期,通过这个生命周期,我们可以逐步了解系统的过程。 在这里,我们简短地讨论MIDlet生命周期移动设备,例如模拟器或真实设备,它们可以使用称为应用程序管理软件(简称为AMS)的自己的软件技术过程与MIDlet进行交互。 AMS负责初始化,启动,暂停,恢复和销毁MIDlet。 AMS可能负责安装和删除MIDlet。 为了简化此生命周期管理,MIDlet可以处于三种状态之一,该状态通过每个MIDlet扩展和覆盖的MIDlet类方法进行控制。 这些状态分为活动,暂停和破坏等不同部分。

虚拟机

通常,这些类型的编程模型虚拟机或虚拟设备在软件开发部分中也起着至关重要的作用。 现在,由于更改了内存并显示了功能,因此CLDC(J2ME连接的受限设备配置)和CDC(J2ME连接的设备配置)需要使用自己的虚拟机。 CLDC虚拟机小于CDC所需的虚拟机,并且支持较少的功能。 从这种意义上讲,CLDC的虚拟机称为Kilo虚拟机(KVM),而CDC的虚拟机称为CVM。

J2ME Con​​nected,受限设备配置:

  • 它用于为手机,寻呼机和无线设备指定Java环境,也支持其他设备。
  • CLDC设备通常是无线的,这意味着通过CLDC支持移动系统
  • 内存需求在该特定设备中非常重要,因此Java可以使用160 – 512k的内存。
  • 节能系统的电源或电池供电能力有限。
  • 沟通过程在这里非常重要。 网络连接为无线,间歇性,低带宽(9600bps或更小)。

J2ME连接的设备配置:

  • 通常,它描述了用于数字电视机顶盒,移动,高端无线设备和汽车遥测系统的Java环境。
  • 该设备由32位处理器支持的系统供电。
  • Java平台可使用2MB或更多的内存。
  • 经常是无线,不连续,低带宽(9600bps或更小)的网络连接

在Net Beans中创建我们自己的MIDlet的过程

通常,当我们在Net Beans字段中工作时,由于这个原因,我们必须安装Java SE Development Kit(JDK),因此必须首先下载并安装最新的32位版本的Java SE Development Kit(JDK)。 需要JDK来编译Java类以执行代码。 《 Net Beans安装指南》要求在安装过程中用来浏览到本地驱动器上的JDK位置。

ð请记住这一点,当我们安装Net Beans时,我们选择自定义安装并清除“功能随需应变”选项。 然后下载并安装支持Java ME(微型版)的软件开发套件(SDK)。 SDK提供了IDE涉及的Java ME类库,用于为特定设备平台构建MIDlet。

实际上,当我们为Series 40设备生成MIDlet时,我们使用的是适用于Java的诺基亚SDK(软件开发工具包)。 现在,如果我们要为40系列,第6版或更早的40系列设备创建MIDlet,请使用相应的40系列SDK。

ð请记住,SDK已与IDE正确集成,并且将SDK安装在与IDE部分相同的逻辑驱动器上。

配置Net Bean的过程

安装所需的软件后,将Net Beans与安装的SDK集成在一起。
在这里,我们将逐步讨论创建项目的过程:

  1. Open Net Beans(版本7.2.1,可以根据软件更新过程进行更改
  2. 选择工具-> Java平台
  3. 单击添加平台
  4. 选择Java ME CLDC Platform Emulator ,然后单击下一步 。 Net Beans在我们的计算机上搜索支持Java ME的SDK。
  5. 选择“ 文件”>“新建项目”
  6. 选择Java ME-> Mobile Application ,然后单击下一步
图1:选择Java平台类型

图1:选择Java平台类型

  1. 如果我们在Net Beans IDE中找不到SDK(软件开发工具包),请单击“查找更多Java ME平台文件夹”,然后选择安装SDK的文件夹。 Net Beans在选定的文件夹中搜索支持Java ME(微型版)的SDK(软件开发工具包)。
  2. 选择SDK,然后单击Next-> Net Beans检测SDK功能。
图2:添加Series 40软件开发套件

图2:添加Series 40软件开发套件

  1. 完成后,单击配置->单击完成,然后关闭。
  2. 现在,您的开发环境已设置好,您可以在Net Beans中创建MIDlet。

要创建HelloBCEI MIDlet:

  1. 下载并安装Netbeans(选择支持Java Micro Edition的安装包)。

在此项目名称字段中,输入“ HelloBCEI”。

图3:在Net Beans中创建第一个MIDlet

图3:在Net Beans中创建第一个MIDlet

  1. 清除“创建默认包和主要可执行 ”复选框。
  2. 点击下一步。 MIDlet设置将继续进行设备平台选择。
  3. 在“仿真器平台”下拉菜单选项中,选择要为其创建MIDlet的设备平台:

对于那些40系列设备,我们在这里选择诺基亚Java软件开发套件。

图4:为MIDlet选择设备平台

图4:为MIDlet选择设备平台

  1. 选择CLDC-1.1和MIDP-2.0。 我们也可以选择MIDP-2.1并单击Finish 。 NetBeans为我们设置了MIDlet项目。

现在,我通过以下方式创建程序。

  1. 要为MIDlet创建主类,请选择File-> New File。
  2. 选择CLDC-> MIDlet,然后单击下一步。
  3. 在“ MIDlet名称”字段中,输入“ HelloBCEI”。
  4. 在“ MIDP类名”字段中,输入“ HelloBCEIMIDlet”。
  5. 点击完成

HelloBCEI MIDlet类是在默认程序包中创建的。 在这里,我们记下在程序中生成代码的代码。

清单1:显示MIDlet类

import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.midlet.MIDlet;public class HelloMIDlet extends MIDlet
{
public HelloWorldMIDlet()
{}
// Sets the MIDlet’s current Display to a HelloScreen object.
public void startApp()
{
Displayable current = Display.getDisplay(this).getCurrent();
if (current == null)
{
HelloScreen helloScreen = new HelloScreen(this, “Hello, BCEI!”);
Display.getDisplay(this).setCurrent(helloScreen);
}
}
public void pauseApp()
{}
public void destroyApp(boolean unconditional)
{}
}

要创建HelloBCEIScreen类:

  1. 选择文件->新文件
  2. 选择Java-> Java类 ,然后单击下一步。
  3. 在“类名”字段中,输入“ HelloBCEI”。
  4. 点击完成 。 HelloBCEI类在默认包中创建。

清单2:在默认包中创建的显示类

import javax.microedition.lcdui.*;class HelloBCEIScreen extends Form implements CommandListener
{
private final HelloBCEIMIDlet midlet;
private final Command exitCommand; //Exit command for closing the MIDlet in the device UI.public HelloBCEIScreen(HelloWorldMIDlet midlet, String string)
{
super(“”);
StringItem helloText = new StringItem(“”, string);
super.append(helloText);
this.midlet = midlet;
exitCommand = new Command(“Exit”, Command.EXIT, 1);
addCommand(exitCommand);
setCommandListener(this);
}public void commandAction(Command command, Displayable displayable)
{
if (command == exitCommand)
{
midlet.notifyDestroyed();
}
}
}

选择File-> Save All保存项目。

在“项目”窗格中,右键单击HelloBCEI项目,然后选择“ 部署选项” 。 选择部署选项后,程序即可安装在设备中。

NetBeans构建MIDlet,并创建用于将MIDlet部署到设备的JAR和JAD文件。 您也可以在dist文件夹下的“文件”窗格中找到生成的文件。

图5:在“项目”窗格中查看的HelloBCEI项目

图5:在“项目”窗格中查看的HelloBCEI项目

调试MIDlet

在调试MIDlet之前,我们必须具有MIDP可执行文件的版本以及在其类文件中具有调试密码的MIDlet。 要查看我们是否具有可接受的midp可执行文件版本,并在-help选项的中间运行midp命令。 如果生成的可执行文件具有Java调试功能,那么我们将看到下面列出的-debugger选项。 例如:

C:\midp2.0fcs> bin\midp -helpUsage: midp [<options>]Run the Graphical MIDlet Suite Manager….or midp [<options>] -debugger …

我们正在使用的midp可执行文件版本不支持Java编程语言调试。 要生成包含调试符号的MIDlet版本,我们对javac(Java的编译器)命令使用–g选项。

要调试MIDlet,应遵循以下步骤:

1.首先打开命令提示符或终端窗口。

2.将当前目录更改为midpInstallDir。

为了说明起见,如果目录中安装了MIDP Reference成就

c:\midp2.0fcs we can run the command:c:\> cd midp2.0fcs

3.在调试模式下启动MIDP Reference完成并可执行文件。

在-debugger和-port开关中间使用midp命令。 端口号应为2800。此处,KVM调试代理期望调试器在其上运行的端口号。

参考实施可执行文件。 例如:

c:\midp2.0fcs\> bin\midp -debugger -port 2800 -classpath classes

4.现在启动KVM调试代理。

查看KVM文档以获取有关正确语法,参数和选项的信息。 对于标本,以下命令使KVM调试代理连接到我们在上一步中启动的midp可执行文件,然后在端口5000处侦听与Java™平台调试器体系结构过程兼容的软件:

c:\midp2.0fcs\> java -jarc:/kvm/bin/kdp.jar kdp.KVMDebugProxy –l 5000 -p -r localhost 2800 -cp

包含MIDletClassFiles的路径

5.从任何与Java平台调试器体系结构兼容的调试器连接到KVM调试代理。 兼容的调试器包括jdb,Sun™ONE Studio(以前称为Java的Forte™),JBuilder,Code Warrior,VisualCafé等。

部署项目

现在,我们将讨论部署过程。 我们已经可以直接在移动设备上部署MIDlet并运行它。 基本上有两种方法可以做到这一点。 首先,自然是通过我们的计算机和手机之间的网络连接。 此过程可以通过USB(通用串行总线)电缆或蓝牙无线连接进行,具体取决于我们的设备。 大多数支持Java的设备将允许我们通过此连接安装J2ME应用程序。

其次,这一章更具启发性,因为它通过互联网系统将我们的MIDlet开放给外界。 通常,这意味着我们的设备应该能够使用其内部浏览器连接到Internet。

<HTML>
Click <a href=”DateTimeAppliction.jad”>here</a> to download DateTimeApplication MIDlet!
</HTML>

处理以在我们自己的设备中获取代码:

当我们创建了华丽的小MIDlet并确保一切都能在仿真器中顺利进行之后,下一步就是使它在实际设备上运行。

空中(OTA)设置:

OTA配置,允许用户使用手机(移动设备)中内置的WAP浏览器无线下载我们的应用程序。 首先,我们需要看一下使用J2ME Wireless Toolkit打包MIDlet时生成的Java Application Descriptor(JAD)文件。 当我们通过Wireless Toolkit编辑JAD文件时,我们必须打开我们的项目,然后单击Settings选项。 这将打开一个包含多个选项卡的新窗口-API选择,必需,可选,用户定义,MIDlet,推送注册表和权限。

所有这些类型的应用程序在我们的工作领域中都至关重要。 下表给出了简要的想法。

结论:

在上面的讨论中,我们了解了Java Micro Edition。 我们知道该版本适用于移动软件开发平台。 因为当我们研究基于移动软件的技术时,J2ME非常可靠并且对我们有帮助。 如果我们作为移动软件开发人员从事该特定领域的工作,那么Java平台是高度安全的。

希望您对MIDlet的创建及其实际实现有所了解。 继续在TechAlpine看!

翻译自: https://www.javacodegeeks.com/2014/06/how-to-create-midlet-in-j2me.html

midlet

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/341649.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网关到底是什么?协议转换器是网关吗?

网关(Gateway)又称网间连接器、协议转换器。网关在网络层以上实现网络互连&#xff0c;是最复杂的网络互连设备&#xff0c;仅用于两个高层协议不同的网络互连。网关既可以用于广域网互连&#xff0c;也可以用于局域网互连。那么&#xff0c;网关到底是什么呢&#xff1f;接下来…

穿越JUnit流

关于JUnit 5迁移的好处之一是&#xff0c;您可以在老式模式下运行JUnit 4测试&#xff0c;并且所有内容仍然兼容。 不利的一面是&#xff0c;某些注释和方法在JUnit 4和JUnit 5中具有相同的名称&#xff0c;并且当两组库依赖项都可用时&#xff0c;很容易导入错误的内容并产生不…

协议转换器安全使用须知

协议转换器能使处于通信网上采用不同高层协议的主机仍然互相合作&#xff0c;完成各种分布式应用。可以将IEEE802.3协议的以太网或V.35数据接口同标准G.703协议的2M接口之间进行相互转换。也可以在232/485/422串口和E1、CAN接口及2M接口进行转换。那么&#xff0c;我们在使用协…

怎么安装协议转换器?协议转换器安装方法解析

协议转换器是有很多种的&#xff0c;多数基本上是个2层设备&#xff0c;经常碰见的一种RAD的协议转换器是将2M的E1线路转换成V.35的数据线路连接路由器的设备&#xff0c;当然也有&#xff0c;2M转双绞线以太的&#xff0c;借助2M通信线路可以实现局域网范围的远程接入和扩大。…

关于协议转换器的分类以及工作原理的详细介绍

现如今&#xff0c;随着互联网的广泛应用&#xff0c;我们国内的网民也是突破了8.29亿&#xff0c;相信&#xff0c;大家对于网络这块是非常的熟悉了&#xff0c;它是一种虚拟的东西&#xff0c;但是它几乎存在于我们生活的各个角落&#xff0c;在很大程度的让我们的日常生活变…

ElasticSearch-Hadoop:从Hadoop到ElasticSearch索引产品视图计数和客户顶部搜索查询

这篇文章涵盖了如何使用ElasticSearch-Hadoop从Hadoop系统读取数据并在ElasticSearch中对其进行索引。 它涵盖的功能是在最近n天中为每个客户的产品浏览量计数和热门搜索查询编制索引。 可以在网站上进一步使用分析后的数据来显示最近浏览过的客户&#xff0c;产品浏览次数和热…

协议转换器是怎么分类的?主要有哪些类别?

工业通信采用的通信接口各不相同&#xff0c;需要多个设备之间的信息共享和数据交换&#xff0c;而常用的工控设备通信口有RS-232、RS-485、CAN和网络&#xff0c;由于各种通信结构的协议不兼容&#xff0c;使得异构网络之间的操作和信息交换难以进行&#xff0c;通过多协议转换…

协议转换器的特点有哪些?

现如今&#xff0c;随着计算机网络技术的迅猛发展&#xff0c;我们建立了大量的多种多样的网络系统&#xff0c;导致各种网络之间如何互连的问题。一个办法是推行国际标准&#xff0c;051网络体系结构及通信协议的国际标准已越来越成熟。但是&#xff0c;要把大量已存在的非051…

协议转换器的作用有哪些?

协议转换器一般用一个ASIC芯片就可以完成&#xff0c;成本低&#xff0c;体积小。它可以将IEEE802.3协议的以太网或V.35数据接口同标准G.703协议的2M接口之间进行相互转换。也可以在232/485/422串口和E1、CAN接口及2M接口进行转换&#xff0c;那么协议转换器的作用有哪些呢&…

协议转换器主要是应用在哪些地方?

协议转换器也叫接口转换器&#xff0c;它能使处于通信网上采用不同高层协议的主机仍然互相合作&#xff0c;完成各种分布式应用&#xff0c;它工作在传输层或更高。那么&#xff0c;协议转换器的作用有哪些呢&#xff1f;主要是应用在什么地方的呢&#xff1f;接下来就跟随飞畅…

协议转换器指示灯的含义

很多对协议转换器了解不是很深的朋友&#xff0c;对协议转换器上面的各个指示灯可能会区分不清&#xff0c;很多情况下会搞不清各个指示灯的含义&#xff0c;接下来杭州飞畅科技的小编就来带大家详细了解下协议转换器上各个指示灯的含义&#xff0c;一起来看看吧&#xff01; …

V.35协议转换器指示灯告警常见故障以及排除方法解析

我们在使用协议转换器的时候&#xff0c;可能常常会遇到一些故障问题&#xff0c;这个可能会困扰到很多朋友&#xff0c;在这里&#xff0c;杭州飞畅的小编专门整理了V.35系列协议转换器在使用过程中的一些常见的故障问题及解决方法&#xff0c;感兴趣的朋友可以一起来看看吧&a…

飞畅科技V.35协议转换器指示灯告警说明详细介绍

飞畅V.35系列协议转换器实现了E1接口与V.35接口之间的相互转换&#xff0c;是杭州飞畅科技推出的又一款广泛使用、备受好评的设备。此转换器的E1接口支持成帧和透明两种模式&#xff0c;广泛应用于计算机网络互连、DDN数据网接入、移动电话网的传输优化和基于E1的PCM网络的各种…

计算机图形学论文_论图计算

计算机图形学论文自从机械计算开始以来&#xff0c;图形概念就已经存在&#xff0c;并且在纯数学领域已经存在了数十年。 由于数据库的黄金时代&#xff0c;图形在软件工程中变得越来越流行。 图形数据库提供了一种持久化和处理图形数据的方法。 但是&#xff0c;图形数据库并不…

2M线路保护实现与应用

由于传输电路是出于最底层的物理传送平面&#xff0c;目前这些传输电路调度工作仍然停留在手工调度&#xff0c;即耗费大量的人力物力&#xff0c;又花费大量的宝贵时间&#xff0c;尤其在紧急故障发生的时候&#xff0c;严重影响故障的抢修速度&#xff0c;从而影响通信网络恢…

E1倒换保护设备知识详解

E1倒换是一款针对于国内重要部门而开发的保护设备&#xff0c;针对某些重要用户要求&#xff0c;E1倒换设备除了可以满足主、备两个传输路由间无损伤自动切换外&#xff0c;还可以满足主、备用户设备间自动切换。那么&#xff0c;什么是E1倒换&#xff0c;E1倒换保护怎么分类&a…

E1 PCM复用设备常见故障及处理方法

目前国内PCM设备技术发展非常迅速&#xff0c;PCM设备在通信系统中也是使用最多最常用到的。但是不少用户在使用PCM设备时会遇到各种故障&#xff0c;那么&#xff0c;我们该如何解决呢&#xff1f;接下来就由飞畅科技的小编来为大家介绍下E1 PCM复用设备常见故障及处理方法。 …

E1 PCM复用设备作用

Pulse Code Modulation&#xff08;PCM&#xff09;&#xff0c;中文称脉码调制或PCM复用设备&#xff0c;PCM复用设备的目的就是使交换机之间一条中继线不是只传送一条电话信号。 PCM复用设备也就是将语音&#xff0c;数据信号复接成2M信号的设备&#xff0c;直白一点就是将如…

变色龙功能

在《神秘博士》中&#xff0c;卡梅利恩&#xff08;Kamelion&#xff09;角色是可以采取任何形式的机器人。 据称&#xff0c;他们使用的物理道具非常麻烦&#xff0c;只有其创建者才能理解&#xff0c;而该创建者并没有帮助纠正它。 因此&#xff0c;Chamelion功能... 考虑以…

PCM复用设备的安装和使用注意事项

PCM设备在通信系统中的是一种很常用的设备&#xff0c;但是不少用户在购买了PCM设备后&#xff0c;都不懂怎么去安装使用PCM复用设备。下面&#xff0c;飞畅科技的小编来为大家详细介绍下PCM复用设备的安装和使用注意事项&#xff0c;一起来看看吧&#xff01; PCM复用设备的安…