ipad air2 java开发_AIR2.0入门教程:与Java应用交互

这篇教程介绍如何使用AIR2.0的NativeProcess类与Java应用交互,通过示例展示如何启动.jar文件并进行屏幕截图。教程包括AIR项目的UI设计和Java部分的截图控制,适用于iPad Air2的Java开发。
摘要由CSDN通过智能技术生成

AIR2.0入门教程:与Java应用交互

在之前的一篇文章中,我介绍了如何使用AIR2.0新增的NativeProcess类与本地进程进行交互和通讯,在那个例子里面我们使用了C++

的代码,实际上只要是基于命令行的标准输入输出,AIR2.0的应用是可以和任何语言编写的本地进程进行交互的。在今天的例子中,我们将学习如何和

Java编写的本地进程(.jar文件)进行交互。

上一篇教程的地址:AIR2.0入门教程[三]:与本地进程的数据通讯

注:这篇文章所涉及的源码和示例来自于Mihai的一篇文章

回顾

在AIR2.0中,我们可以使用NativeProcess

和NativeProcessInfo

这两个类,来启动一个可执行文件。当进程启动后,你就可以使用标准输入和标准输入来与进程通讯。

结合Java

首先,你可以下载示例项目

,这个项目包含了两个部分:

AIR部分:是一个基于Flex4

Framework的AIR项目,实现了用户界面(UI)部分的工作,界面包含两个窗口,如下图所示,右边的窗口是主窗口,你可以看到当前的帧频,然后你

还可以控制左侧的滚动条来放大和缩小右侧的图像。左边的窗口则用来显示遮盖区域的图像。

Java部分:控制定位到屏幕的特定区域,然后捕获截图,这个部分被AIR部分所控制。

示例截图:

你可以使用Flash Builder4,将下载的示例项目导入,编译运行看一下结果,注意这个项目使用了Flex4的Framework,而且有可能需要你修改SDK的配置,参见第一篇AIR2.0教程

在AIR部分的代码中,我们需要创建一个NativeProcess的实例来注册侦听标准输出事件。首先我们需要调用Java命令,启动我们的.jar文件,然后输入“take”命令来获取屏幕截图

1

:

private

var

nativeProcess:

NativeProcess;

2

:

private

var

npInfo:

NativeProcessStartupInfo;

3

:

//启动进程,并输入参数

4

:

var

arg:

Vector.<

String>

= new

Vector.<

String>

;

5

:

arg.push

(

"-jar"

)

;

6

:

arg.push

(

File.applicationDirectory.resolvePath(

"screenshot.jar"

)

.nativePath)

;

7

:

arg.push

(

"130"

)

;

8

:

arg.push

(

"100"

)

;

9

:

10

:

npInfo = new

NativeProcessStartupInfo(

)

;

11

:

//设置Java的路径

12

:

npInfo.executable = new

File(

"/Library/Java/Home/bin/java"

)

;

13

:

npInfo.arguments

= ar

相关文档:

先来了解一下链表模式的原理:

首先写一个JavaBean,内容是要添加的元素和该元素的节点。

public class NodeBean implements Serializable

{

private Object data; //元素本身

private NodeBean next; //下一个节点

&n ......

主线程中:

InitThread initThread=new InitThread(new Semaphore(0));//初始化一个子线程,传一个初值为0的信号量给它

Display.getDefault().asyncExec(initThread);

try {//此处会挂起,直到子线程完成工作,修改了信号量的值,主线程才会继续

initThread.getSemaphore().acquire();

} catch (Inte ......

第一次写这样的博客,感觉自己做的有点像笔记,不过本来就是笔记,我做笔记一般都是把本来不知道的,感觉有用的写下来,而且我也一般用与老师接近的语句写下来,避免自己的误解导致错误。

这次我看了《传智播客_张孝祥_Java基础1_Java开发前奏》这个课程。

1.老师说JAVA的第一个特点是”一次编译,到处运行“, ......

/*作用:用户输入自己的名字,显示一句问候语。

时间:2010年4月20日。

作者:enfang.

*/

import java.io.*;

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

class KeyboardReader //作用:从键盘读入数据

{

private BufferedReader reader;

& ......

// 整数到字节数组转换

public static byte[] int2bytes(int n) {

byte[] ab = new byte[4];

ab[0] = (byte) (0xff & n);

ab[1] = (byte) ((0xff00 & n) >> 8);

ab[2] = (byte) ((0xff0000 & n) >> 16);

ab[3] = (byte) ((0xff000000 & n) >> 24);

return ab ......

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值