Processing on Android开发之旅——基础篇
来源:互联网 发布:淘宝店铺店标怎么弄的 编辑:程序博客网 时间:2024/06/10 07:50
Processing是一种比较新的语言。曾经被作为“Java的替代语言”被众人关注。究其原理,是利用了Java作为整体语言的解释器,再通过一些技术手段能够让Processing语言的代码经过一些简短的修饰,变成Java源代码,再通过Java进行编译。
因为语法结构非常简洁,所以Processing被广泛用于艺术与交互类应用程序之中。Processing常用的有两个函数:setup()和draw()。setup()函数类似于其他各种语言的main函数,就是程序的入口,在程序初始化之后会被执行一次。draw()函数是一个定时回调函数(每秒执行60次)。搭配这两个函数将会很容易制作出一些包含迭代、交互、动画等等的程序。
由于Processing与Java几乎无异,所以在Java中也非常用以实现Processing的代码。但毕竟从Processing到Java原本需要一个修饰的过程,所以说在Android项目中使用Processing的内容还是有一些问题需要注意。
第一点就是作为一个Android平台的专业开发者,我们所利用的更多的是Processing的架构、丰富的函数以及setup和draw函数的这种思想,而不是Processing的全部语法。
第二点就是在Processing中一部分原生函数都需要经过程序员的一些转化。具体的转化方法可以在这两个地方查询:
1:http://wiki.processing.org/w/Android
2:http://processing.googlecode.com/svn/trunk/processing/build/javadoc/core/index.html
(注:第二条中的Javadoc是针对纯Java环境而不是Android环境所编写的。所以继承关系可能会有一些问题。所以建议大家直接查看源代码)
说了这么多,Processing on Android到底有何优势呢?那我就通过一个实例为大家展示如何在Android中利用Processing进行开发。相信大家耐心看完之后一定会明白的!
第一步是下载Processing
下载地址:http://www.processing.org/
笔者所使用的是Mac OS Lion with Android SDK r16,其他系统的操作也类似。
第二步、在Eclipse中新建项目。
大家可以从截图中看到,我并没有使用向导创建Activity。具体什么原因可以在后面看到。
注意:Processing目前似乎只支持2.2(API Level 8)以上的版本。
第三步,将Processing-core包导入项目。
将图中android-core.zip直接修改后缀成.jar,得到的就是Processing-core包。
第四步,编写“PApplet”
PApplet是所有Processing的入口程序。用户所编写的程序需要继承自这个PApplet类。并且需要自己编写setup()和draw()这两个函数以共回调。
程序的内容如下:
package cn.Friskit;import processing.core.*;public class ProcessingRun extends PApplet{public void setup(){strokeWeight(5);} public void draw(){line(mouseX,mouseY,pmouseX,pmouseY);}}上面这一段程序实现的功能类似于电子白板。通过手指在设备上的拖动进行绘画。
在传统的Android平台上想要实现类似的功能可是非常麻烦的!但是在Processing框架里头只用到了几行实际代码就能达到同样的效果。可见Processing对于交互与动画等方面的先天优势。。。
第五步,注册Activity
很明显,想要让系统运行这个程序,还需要将这个ProcessingRun在AndroidManifest.xml中注册。也就是在<Application>节点中添加以下内容:
<activity android:name=".ProcessingTest"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity>
细心的读者肯定会为,这里添加的明明是一个Activity。但我们的ProcessingRun只是一个继承自PApplet的类。
在这里我们就需要剖析以下PApplet的结构了。
从Android版Processing中我们可以查到这些代码:
再通过分析PApplet的源代码能共很容易的发现,其实PApplet就是一个封装了很多功能的Activity。Processing也实现了OnCreate等等的函数为后续使用搭建了一个良好的框架。
所以说将一个继承自PApplet的类当成Activity注册到AndroidManifest.xml中也是没有问题的。
最后执行一下,效果跟咱们想象的差不多。
好了,这次的Processing on Android开发之旅就先写到这里。
现在Processing对Android的支持还不如对原生Java的支持好。甚至还没有已经成型的文档。但是我们可以通过阅读源代码来了解Processing究竟是如何工作的。好了,就先说这么多了,期待下一次的研究吧!
- Processing on Android开发之旅——基础篇
- Image Processing——图像处理教程(二)之MATLAB基础
- 翻译之Android XML Processing
- Android程序开发基础之——页面传值
- Android开发16——获取网络资源之基础应用
- Android基础——快速开发之打造万能适配器
- Android基础——快速开发之定制BaseTemplate
- android基础开发之篇一
- processing基础
- Android App开发基础篇—HttpURLConnection基础使用
- Android app开发从零开始之基础篇—布局和控件(一)— 布局
- Android App开发从零开始之基础篇—布局和控件(二)— 控件
- Android App开发从零开始之基础篇—四大组件(一)—Activity初体验
- Android App开发从零开始之基础篇—四大组件(一)—Activity再探
- Android App开发基础篇—四大组件之Broadcast-01
- Android-NDK开发之基础-
- Android基础之Launcher开发
- Android基础之输入法开发
- Android学习笔记之开启导入修复工程
- Java 向上转型和向下转型
- 异常栈展开和对象析构
- 模拟C++11的新关键字decltype
- Android开发视频7生命周期源码
- Processing on Android开发之旅——基础篇
- ANDROID JNI之JAVA域与c域的互操作
- 诡异的 Carbide.c++ 和 RVCT 组合
- zoj 1107 FatMouse and Cheese
- windowsSDK利用子窗口控件设置窗口透明
- 【欧几里得&扩展欧几里得】
- 2011.2—至今年度总结
- 更改Word2010背景色
- 热备份---非系统数据文件损坏的恢复