Java嵌入式开发讲座(第一讲)

Java嵌入式开发讲座(第一讲)[@more@]  简介使用Java编写Palm OS程序的解决方案

  现在,使用Java语言为 Palm OS编写程序的领域还没有完全统一,并且也有许多程度上的差异,目前,市面上有好几种不同的可用的应用程序接口,每种应用程序接口都给出了一个到当前的Palm OS应用程序不同程度的访问权限。也许这其中大家最熟悉的是Sun微系统出品的产品;但是能够为Palm OS写程序的绝不只有这一种产品。本文这一部分并不是介绍使用Java编写Palm程序的教程--因为每种我们将要讨论的解决方案都有自己的要求和值得注意的地方--而是一篇向开发者概括介绍开发工具的的文章,我们将纵观这一领域,找出在使用 Java语言开发 Palm OS应用程序时,你应该使用什么工具以及你又能够得到什么。

  一、Sun的解决方案: KVM、 Configuration和 Profile

  KVM是 Kilobyte Virtual Machine (千字节虚拟机),那么命名是因为它的内存大小是以千字节来量度,而不是像 Java虚拟机那样需要兆字节。 因为有这么苛刻的内存要求, KVM的功能只是完整 JVM的的子集。 你可以从 Javasoft站点上找到全部的信息,但是值得注意的是它遗漏了映射(reflection)、 JNI和自定义类装载器以及一个可变的安全机制。

  Sun已经制订一个计划,提供了 configuration和 profile来满足设备程序设计的需要。configuration是一个应用程序接口,是设计来提供一个基础,用于一类广泛的一般的设备,所有的这些设备都有相似的特性,比如说有限的内存,偶然性强的网络连接性,低电力消耗,可运行在电池上,所以,J2Me被设计得既一般又抽象。 现在 Java 2 Micro Edition(J2ME)可用的configuration有 CLDC(Connected,Limited Device Configuration)和 CDC(Connected Device Configuration)两种,后者用于比 Palm功能更强大的设备,这就超出了我们讨论的范围;而前者,代表有限连接设备配置,是像PDA,双通道呼叫器以及移动电话。 CLDC包括一个J2SE中的类的子集,但是有一些重要的差别,例如,因为小型设备中的虚拟机使用的无用单元收集机制,CLDC的 java.lang.Object不包含 finalize方法,你应当记住,这个应用程序接口中的某个特定的类可能出现但是它的某个方法却没有出现。请参考应用程序接口文档,这样的话你就会知道什么时候该用什么configuration了。

  对于许多刚开始使用 CLDC开发程序的朋友,感到奇怪的是 CLDC不支持浮点数。 这是 KVM默认的实现, KVM是使用 C编写的,它可以被移植到许多平台上,它不支持浮点运算,这是因为我们所面对的硬件一般是小型设备,有的还是使用8位的处理器,这些处理器有可能不支持浮点运算。

  profile是特殊的具体的,它的目标是一个比configuration更具体的设备的类,包括用户界面和事件处理元素,这在 configuration中是没有出现。 现在, Palm OS或 PDA没有公开可用的 profile。

  Java Community Process有一个已经开发了一段时间的 PDA Profile, 开发者们仍然在等待一个新的 PDA profile版本。与此同时,想要遵循 KVM/Sun解决方案开发者的应当做什么呢?CLDC版本包括一个可以用作 Palm OS的 最原始的profile的类的最小的集合, 据悉, Sun不赞同使用这些类开发任何商业程序,他们也不计划对这个应用程序接口做任何更新。 但是如果没有PDA profile,开发者也可以使用这些类库。通常我们所知的是Kjava,它包含了许多 GUI类:CheckBox、 RadioButton、 List等等。除了这些,还有Spotlet类,它被用于处理事件以及Palm OS捕获手写笔的输入和键盘按下的事件等等。

  下面是一个使用 kjava来显示简单的文本字符串和按钮的类:

  import com.sun.kjava.*;

  public class HelloKjava extends Spotlet
  {
   private static Button OKButton;
   public static Graphics g = Graphics.getGraphics();
   // 取得Graphics对象

   public static void main(String args[])
   {
    HelloKjava hk = new HelloKjava();
   }

   public HelloKjava() // HelloKjava类的构造方法
   {
  ??OKButton = new Button("OK", 84, 140);
    register(NO_EVENT_OPTIONS);
    drawScreen();
   }
   public void penDown(int x, int y)
  ?{
  ??if (OKButton.pressed(x,y)) {
     System.exit(1);
    }
   }
   public void drawScreen()
   {
    g.clearScreen(); // 清除屏幕
    g.drawString("Hello KJava",20, 10); // 把字符串画在屏幕上
    OKButton.paint();
   }
  }

  还有一个类 com.sun.kjava.Database,它在一种到达 Palm数据库应用程序接口的方法。 这就是说,它是非常原始的并且不提供访问存在Palm数据库中的任何内容完全的权限。它只允许设置和获得字节数组; 它不允许键入访问,除了通过记录标识号 (是一个整数 )。 因为数据库只能理解字节数组,给你的数据意味着你需要把这些字节数组解析成有含义的字段。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10901326/viewspace-965629/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10901326/viewspace-965629/

智能车大赛AURIX技术培训:从多核MCU到FOC电机控制的嵌入式开发实践 在嵌入式系统与汽车电子领域,多核微控制器(MCU)凭借其卓越的实时任务处理能力,已成为复杂控制系统的核心。其原理在于通过硬件级的多核架构与任务隔离,确保高优先级任务(如电机控制)的确定性响应,从而满足自动驾驶、工业控制等高实时性场景的需求。这种技术价值体现在能够高效协调传感器数据处理、路径规划与底层执行控制,是实现高性能智能设备的关键。以大学生智能车竞赛为典型应用场景,参赛者需要掌握从系统设计到算法实现的完整开发流程。本次培训聚焦于英飞凌AURIX TC3xx系列车规级多核MCU,深入讲解其如何为智能车提供 阅读详情

相关推荐

Java嵌入式开发教程:从入门到精通

接下来,将LED引脚初始化为输出模式,并在一个无限循环中切换LED的状态。嵌入式开发是指将软件系统嵌入到特定的硬件设备中,以控制设备的行为和功能。通过学习和实践,您可以利用Java的强大功能来开发嵌入式应用程序,并控制各种硬件设备。希望本教程对您的学习和实践有所帮助!通过这个例子,您可以了解到如何使用Java和Pi4J库来控制嵌入式设备的GPIO引脚。在掌握了基本的Java嵌入式开发之后,您可以进一步拓展和深入学习。通过不断学习和实践,您将能够在嵌入式领域中运用Java开发出更加复杂和功能丰富的应用程序。

CfgTf__的博客 1831

别再说你不会!java嵌入式开发教程

一面 1.你觉得项目中用了MQ给你带了什么好处,设计初衷是什么?会带来什么缺点嘛? (项目针对性比较强,不细说) 2.在网页键入taobao.com,到返回一个页面,这期间都发生了什么? 3.你说到了session和cookie,这两者有什么区别,应用场景是啥? 4.返回界面的文字,图片,链接,你觉得是从哪里来的,或者说储存在哪里? 5.描述一下TCP三次握手,这期间可以携带数据吗?携带了数据会造成什么后果? 6.描述一下四次分手,第二次和第三次中间处于何种状态? 7.说一下object类的所有方法以及他们

m0_57624876的博客 2996

Java嵌入式开发基础教程

Java嵌入式开发和关于SQL的HTML帮助文件,很有用

java嵌入式安装

通过jar包实现软件的一键安装部署

Interest1_wyt的博客 849

Java 嵌入式开发 教程 chm

Java 嵌入式开发 教程 chm 网络上收集的整理的Java嵌入式教程,CHM版,主要包括以下内容:   使用Java编写Palm OS程序的解决方案;J2me的体系结构、配置、概述、简表等;   使用J2ME进行开发一个简单的KJava应用程序示例;   J2ME与MIDP开发;   j2me功能入网络程序设计;   使用Waba开发Palm程序等内容。

Java嵌入式开发界面例子

一些j2me方面的界面代码,有list列表、数据输入框、提示信息等方面的代码。

学习Java多年 却回答不出面试官Java 并发模型?教你一网打尽

前言 本篇文章我们来探讨一下并发设计模型。 可以使用不同的并发模型来实现并发系统,并发模型说的是系统中的线程如何协作完成并发任务。不同的并发模型以不同的方式拆分任务,线程可以以不同的方式进行通信和协作。 并发模型和分布式系统很相似 并发模型其实和分布式系统模型非常相似,在并发模型中是线程彼此进行通信,而在分布式系统模型中是进程彼此进行通信。然而本质上,进程和线程也非常相似。这也就是为什么并发模型和分布式模型非常相似的原因。 分布式系统通常要比并发系统面临更多的挑战和问题比如进程通信、网络可能出..

weixin_49723683的博客 2577

java for palm(treo 650)

安装到palm设备后,支持中文(中文输入),可以使用ucweb、opero mini、大智慧等。 输入法推荐 掌易。

嵌入式学习Java第一课

嵌入式为什么要学习java 首先来看一下传统的嵌入式学习路线: C语言 >> 应用:C51,STM32 linux系统编程 C++ >> 应用:QT ARM开发 在系统的UI层面上: 无操作系统的裸机开发:用C语言手撕图像像素(优点:响应速度快,对硬件资源要求低。缺点:UI界面丑) 带操作系统的(linux):c、MINIGUI、GTK图像库、NCURSE -带操作系统的(linux):C++、QT 目前趋势: 安卓平台普及(刷卡机、点歌机) 鸿蒙系统:内嵌安卓 总结: 在

qq_52503627的博客 1404

嵌入式开发学习笔记( java - c/c++ :从入门到入门 )

嵌入式开发学习笔记 ( java - c/c++ :从入门到入门 ) 叙述了我从小白到入门过程中遇到的问题以及解决方法(2018更新版)。

Aruba CX交换机 初始化配置

Aruba CX 交换机 6000系列 8000系列交换机配置

Harry_Guo 1834

[转载]Java嵌入式开发讲座(第一讲)

Java嵌入式开发讲座(第一讲)简介使用Java编写Palm OS程序的解决方案??现在,使用Java语言为 Palm OS编写程序的领域还没有完全统一,并且也有许多程度上的差异,目前,市面上有好几种不同的可用的应用程序接口,每...

congji3817的博客 332

通讯模块_三菱IQ-R PLC串口通讯模块RJ71C24进行Modbus-RTU通讯

在日常的选型中,很多电气工程师咨询我,三菱iQ-R系列有没有Modbus通讯模块,我在这里可以肯定的回复您,这个肯定是有的;我们共有三种可以选择分别是RJ71C24、RJ71C24-R2、RJ71C24-R4。RJ71C24系列支持MC协议通信、通信协议通信、无顺序协议通信、双向协议通信全、MODBUS通信。当我帮助他们选型之后,他们在使用的时候,又是一头雾水。那么今天我抽一些时间讲解一RJ71...

weixin_39878549的博客 9272

Java嵌入式开发讲座(第二讲)

Java嵌入式开发讲座(第二讲)[@more@]  第一节 引言 J2ME概述   到目前为止,大部分人都已非常熟悉 Java 2平台,以及 Sun如何把 Java技术分成三个版本(标准版、袖珍版以及企业版),Sun 在1999...

cuanku6549的博客 153

2025年第十六届蓝桥杯省赛C/C++大学B组 个人题解

也是写了写部分题解,朱波也是狠狠水了个省二┭┮﹏┭┮,毕竟许多算法知识没怎么学。

2301_80173664的博客 2432

5G核心网Framed Routing功能解析:基于PFCP的帧路由机制与多终端互联实践

5G核心网Framed Routing功能解析:基于PFCP的帧路由机制与多终端互联实践

大家好,我是码农老gou,一名专注于编程技术的程序员。在这个博客中,我将与大家分享我在工作和学习中的经验、见解以及一些实用的技术干货。 1468

嵌入式学习路线与方法的一个不错的讲座

一、嵌入式开发用到哪些知识 1、编程语言: 第一层次(C语言),第二层次(ARM汇编、shell脚本、C++、Java); 2、操作系统: 第一层次(linux),第二层次(Android、RTOS(一类实时操作系统,如ucos、uclinux等,一般用在需要操作系统的单片机上)); 3、硬件方面: 会看原理图,懂得串口、I2C、USB等常见通信设备的原理及编程、懂得LCD、触摸屏等常见

潇涵的技术笔记 2468

VS Code 配置 LaTeX 写作环境完全指南

本文详细介绍了如何在 VS Code 中配置 LaTeX 写作环境,涵盖了从安装必备组件到高级功能的全面指南。首先,用户需要安装 LaTeX 发行版(如 TeX Live 或 MiKTeX)和 VS Code 插件(如 LaTeX Workshop)。接着,通过修改 settings.json 和 keybindings.json 文件,用户可以自定义编译、查看快捷键等基础配置。文章还提供了高效写作技巧,如使用代码片段和多文件项目管理,并介绍了高级功能如反向同步、公式预览和参考文献管理。此外,针对常见问题(

weixin_70043030的博客 1984

Webcast网络讲座:Windows Mobile应用程序开发系列

Webcast网络讲座:Windows Mobile系列课程主要内容是1、基于Windows Mobile的企业应用开发应用的场景2、使用.Net CF开发Smartphone应用程序3、介绍Windows Mobile 5的新特性4、如何设计友好的Windows Mobile程序 个人对嵌入式开发还是很感兴趣,不过现在在这方面的开发更多的是C,C++或Java。因为当前流行的...

Anna_0110的博客 155

深度学习驱动材料科学:晶体生成与性质预测技术综述

深度学习作为人工智能的核心技术,通过模拟人脑神经网络处理复杂数据,在多个领域展现出强大的模式识别与生成能力。其原理在于构建多层非线性变换,从海量数据中自动学习特征表示与映射关系。这一技术价值在于能够高效处理高维、非结构化数据,解决传统方法计算成本高、探索空间有限的问题。在工程实践中,深度学习已广泛应用于计算机视觉、自然语言处理等领域,并正深刻变革材料科学的研究范式。具体到材料领域,它通过学习已知材料的构效关系,实现对新材料性能的快速预测与逆向设计。应用场景包括但不限于新能源材料、半导体、催化剂等领域的高通量

weixin_28695161的博客 416

keras tensorflow 的lstm的新冠疫情感染人数预测 附完整代码数据 可直接运行

keras tensorflow 的lstm的新冠疫情感染人数预测 附完整代码数据 可直接运行

849

人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[0]

开场诗:不儒不道又不仙,非神非圣也非贤。轻吐心头寻常语,开辟文武一片天。 自表诗:北冥沉渊有鲲鹏,吞噬金乌戮真龙。一日扶摇凌天起,三千世界可横行。 小子“鹏凌三千”,欲将心头事,付与有缘人,列位看官请了。 我们都知道,目前国内游戏引擎开发领域中(请注意,我是在说游戏引擎),大体以C/C++为主导,Delphi次之,其他参差不齐。由于游戏引擎开发耗时耗力,很多人不愿意参与进来,所以一提[引擎]...

F_xhzyyx的博客 685

Codex 实战 Skills:用 Skill 自动识别并提取 PDF/图片表格数据,效率提升 10 倍

本文介绍如何构建一个多模态文件解析 Skill,用于自动识别和提取 PDF/图片中的表格数据,提升 AI 智能体处理非结构化文档的效率。文章分析了传统方法的局限性,提出分层解析架构(预处理、检测、提取推理、后处理),推荐技术栈包括 pdfplumber、OpenCV 和多模态大模型。详细说明了 Skill 的元数据定义、数据模型设计(使用 Pydantic)和核心实现流程,通过混合策略实现从复杂文档到结构化 JSON/Markdown 的转换,使 AI 代理具备"阅读"多模态文档的能力。

yueyeguzhuo的专栏 307

字节跳动大神讲座:Java开发基础知识学习总结之(上

3. 类里面包含什么? 4. 类的特性? 封装性 继承性 多态性 二、网络基础 5. DNS是什么? 6. 域名和端口? 7. CDN是什么? 8. 外网IP和内网IP区别?内网IP网段? 9. VPN是什么? ​10. Https和Http区别?默认端口号? HTTP和HTTPS的基本概念 HTTP与HTTPS有什么区别? HTTPS和HTTP的区别主要如下: 11. get 和 post 请求有哪些区别? 一、面向对象概念 ==================== 1. 面向对象和面向过程的区别?

m0_60567796的博客 230

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

优快云高校俱乐部2013年秋季北京地区第一站“编程语言的应用及其发展”—北京联合大学

2013年12月11日晚17:00。优快云高校俱乐2013年秋季北京地区第一站“编程语言的应用及其发展”在北京联合大学进行。   首先,优快云总部人员介绍优快云俱乐部的改版以及线上编程挑战赛。优快云网络平台每年聚集了大量人才,提供给大家很多知识,并给予其中优秀学生就业指导,实习和兼职的机会。通过编程挑战,还可以获得工作机会,就业指导的服务。 其次,2009年毕业于北京联合大学、现任C

北京联合大学优快云高校俱乐部 1883

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

2月书讯:终究还是来了

看这张图片,22世纪的人肯定以为他们在把玩牛皮封的可折叠笔记本电脑。恭喜小李子,终究拿下了小金人! 也恭喜各位,史上最晚书讯终究还是发布了!好书(不)少,有9本哦,静待下月上市。 嘘!不要说话!默默地当作这是2月发的。1、特别推荐 ○ Python数据科学入门作者:Joel Grus 译者:高蓉,韩波 定价:69Google数据科学家、软件工程师Joel Grus作品 用Python从零开

图灵教育 2193

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

上一篇: 12个最重要的J2EE最佳实践
下一篇: 浅析Java语言中的内部类
cuanku6549
博客等级 码龄11年 1粉丝 212原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值