RichBox-富盒子工作室
专业的RIA解决方案实现团队,承接Flash/Flex/ActionScript3/AIR/HTML5/CSS项目

关于Sourcemate的介绍就不多说了,看这里

安装方式也很简单,打开FlashBuilder,选择Install a new software,然后输入插件的地址:

http://updates.elementriver.com/sourcemate/v1

安装后,修改Host文件,添加:

127.0.0.1 services.elementriver.com

然后重启Flash Builder,输入Sourcemate的序列号:

email:随便

序列号 :X777-C111-Z999-Y888

该插件是需要付费的,本文仅供学习和参考,如果您喜欢此软件,请支持正版。


Tags:

Spring ActionScript对于Module开发有无支持?

一般在小规模的RIA应用中,所需的配置量也很少,我们直接写一个XML配置文件,一次性载入就可以了。但如果涉及到大规模应用,比如在Flex项目开发中,会将若干模块做成Flex Module来实现模块的分离,这样因为主应用和Module的加载时间不一致,势必导致我们需要为他们各自编写独立的XML配置(这种情况也适用于我们开发Flash项目,分为多个SWF进行加载)。那么Spring ActionScript对此有无支持呢?答案是肯定的,Spring ActionScript作为一个成熟的解决方案,也考虑到了这个因素,这也是Spring ActionScript在社区大受欢迎的原因。

使用Application上下文和Module上下文

假设这样一个情景,有两个上下文。一个是在主应用中创建的,另一个则是在需要延迟加载的模块中创建的。第一个我们称之为Application上下文,另一个称之为Module上下文。

现在假设Application上下文的配置如下:



 

 



Module上下文的配置如下:



 



当Module上下文创建的时候,我们设置Application上下文为它的父级(parent):

var moduleContext:XMLApplicationContext = new XMLApplicationContext("module-context.xml");
moduleContext.parent = applicationContext;

这样做的结果就是,当你在Application上下文中请求一个id是myOtherObject的对象,你会得到一个类型是com.myclasses.MyOtherObject的实例。然而,当你是在Module上下文中请求同一个对象,你会得到一个类型是com.myclasses.moduleimplementations.MyOtherObject的实例。

下面,我们稍微更改一下两个配置,添加一些依赖并展示如何在Module上下文中覆写这些依赖。

Application上下文的配置:



 

 

 

 



现在从Application上下文中请求id是myOtherObject的对象,你会得到一个类型是com.myclasses.MyOtherObject的实例,和它的依赖(类型是com.dependencies.MyDependency).然后我们更改Module上下文的配置如下:



 



当我们再次从Module上下文中请求id是myOtherObject的对象,我们会得到类型是com.myclasses.MyOtherObject的实例,它的依赖则变成了类型是com.moduledependencies.MyDependency的一个实例。

注意:像这样的重写引用对象,前提条件是对象的scoped属性设置为prototype。

重写外部属性值也将遵循同样的逻辑(即更改value而不是ref),所以你是可以更改从父级的上下文中获得的属性的。

如果Application上下文中有一个外部配置的属性叫做prop1,你可以在Module上下文中引用:



 

 



在使用IoC框架,比如Spring ActionScript的时候,因为代码中没有对类的引用,Flex并不会自动将所需的类编译到主SWF中去,这就会产生一个问题,即运行时找不到所需 的类,这也是困惑Spring ActionScript新手的一个问题。那么如何解决呢,以下内容译自Spring ActionScript的官方文档。

1.在你的代码中任何位置加入对类的引用:

{
 Myclass1, Myclass2
}

2.创建变量或数组加入对类的引用:

private var _includeClass:Array = [Myclass1,Myclass2];

3.使用Frame metadata:

package com.myclasses
{
	[Frame(extraClass="com.myclasses.Myclass1")]
	[Frame(extraClass="com.myclasses.Myclass2")]
	public class MyMainClass

4.使用resource bundle:

在你的项目中创建一个名为 classreferences.properties 的文件并添加你的类进入,比如:

Class1   = ClassReference("com.myclasses.Myclass1")
Class2   = ClassReference("com.myclasses.Myclass2")

然后在你的代码中添加对资源的引用:

[ResourceBundle("classreferences")]
private var _classReferences:ResourceBundle;

5.使用ANT工具作为一个预加载器生成编译配置文件

6.使用Maven。你需要先点击这里下载mojo文件,然后打开运行”mvn install”将它加入到你的本地仓库。

全文已发表在RIAMeeting,请点击这里查看:

http://www.riameeting.com/node/700


在RIAMeeting之前的一篇文章中介绍过Merapi,如果你还不太了解,请点击这里

简单说来,Merapi就是基于Socket沟通Flex/Flash/AIR项目与Java的桥梁,这样我们就可以通过Java扩展原先Flash平台所不具备的功能,比如与系统深层次的整合,调取电脑外设等等,在上面那篇文章中对Merapi的工作机制有详细的介绍,这里不再阐述。

现在我们通过一个例子,来直观的体验一下Merapi所带来的便捷(目前仍是Beta版,还是有这样那样的问题,对Byte的支持似乎也不够好,字 符串完全没有问题)。这个例子里我们直接使用Flex建立的Web项目来进行(当然你也可以使用AIR),通过一个Java应用截取系统的屏幕,并返回给 Flex端显示。

步骤一:配置

首先是工具,因为要写两个项目(Flex项目和Java项目),准备好你喜欢的IDE吧,我这里是Flash Builder和MyEclipse。

然后要下载Merapi的类库,下载地址在:

http://code.google.com/p/merapi/source/browse/#svn/binaries/merapi-core-0.1.8-beta

注意还要下载Java项目依赖的Jar包,地址在:

http://code.google.com/p/merapi/source/browse/#svn/trunk/java/merapi-core/libs%3Fstate%3Dclosed

步骤二:建立Java项目

代码过程参见:

http://www.riameeting.com/node/673

步骤四:运行

首先将我们刚才建立的Java项目Run起来,然后Run Flex项目,在浏览器显示的Flash界面上点击鼠标,不出意外的话,可以看到自己屏幕的截图。

点击看大图

图1:运行效果,点击看大图

谨以此例抛砖引玉,欢迎大家讨论!


Tags:

前几天Adobe公布了针对移动平台的Flash Player 10.1,这个消息想必大家都知道了(如果你还不 了解Flash Player 10.1,请参阅这篇文章:Flash Player 10.1为移动设备带来了什么)。这样无论是对传统的桌面Flash应用开发人员,还是移动开发人员,都无疑多了一个选择,即: 基于AS3和现有Flash资源积累(素材,第三方类库,开发经验等等),快速开发或移植具备丰富表现力的手机应用。

那么,一个传统的桌面Flash应用开发人员如果进入移动开发领域,应该注意什么事项?或者说,虽然都是基于Flash Player 10.1的开发,但运行于桌面和运行于移动设备的区别在哪里?下面笔者将根据自己的经验和心得写出几点总结,藉以抛砖引玉,欢迎大家讨论。

总体而言,我们在开发针对Flash Player 10.1的移动应用过程中,以往的代码经验和架构还可以继续沿用,没有什么不同,只是要针对移动平台的特殊性,从UI设计,交互方式,和性能优化方面需要 做出相关的调整。

完成案例:m.adobe.com

经验分享:http://www.riameeting.com/node/664


其实Adobe原先在Max大会上就通过一个演示表达了态度,支持HTML5,这次就更明确了。

网络上的HTML5和Flash之争没有什么意义,我觉得不应该只用竞争的眼光看待两者之间的关系,通过CS5或许会发现两者比较好的结合点。

以下内容摘自Jinni的博客

Adobe 的 CTO Kevin Lynch 在刚刚进行的 Google I/O 大会的 Keynote 上演示了 Adobe CS5 对 HTML5 的多种支持,同时 Adobe Labs 放出了 Dreamweaver CS5 的 HTML5 扩展包

通过该扩展包,DW CS5 将获得以下新特性:

  • 多屏幕预览面板,适用于同时为不同设备开发 HTML 应用
  • 支持对 HTML 5 新增的标签库的代码提示
  • 支持对 CSS 3 代码提示
  • 增加 Video 和 Audio 标签的实时预览
  • 改进 CSS 3 实时预览效果
  • 改进设计视图下对 HTML 5 新增标签的渲染效果

点击这里下载。

详细说明:

http://labs.adobe.com/technologies/html5pack/


Tags:

这年头流行物理,先看看我搞的这个:结合Thinkpad APS技术和AIR2实现重力加速度监测

教程稍后会写在RIAMeeting.com


Tags:
十一
17.

  1. 支持大容量存储设备检测。
  2. 高级网络可用性监测比如sockets,UDP支持,并能监听sockets
  3. 支持本机代码集成
  4. 打开一个文件按照它的默认应用程序类别。
  5. 多点触摸和手势的支持。
  6. 新的API获取原始麦克风数据。
  7. Webkit浏览与HTML5/CSS3支持
  8. 全局的错误处理。
  9. 改进的跨平台打印
  10. 改进的安全和为企业和政府支持的标准


你是否正在关注AIR或者正在进行AIR开发,但苦于没有一本书籍指点迷津?网上的资源分散且杂乱让你无所适从?那么这本《AIR完整入门与开发实录》将带你进入AIR的殿堂。

AIR 一方面提供与Flash等量齐观的API,一方面拥抱市场上大批的UI框架,如何将这二者合二为一将对开发者的参考价值很大。教学第一,该书不是API文 档乏味的复述,并有大量的例子与视频教学,学习AIR起来就可达到事半功倍的效果。实际上,AIR横跨Flex与Ajax的解决方案已为许多项目所青睐, 甚至一些项目就是这两种方案混搭而成的。如果你想打造全方位的AIR的应用程序,又想轻松地透过视频、例子的学习,该书是您的首选!

本书全面讲解Adobe AIR(Adobe Integrated Runtime)技术知识体系和开发实践。

在RIA开发领域,AIR无疑是一个独特的、弥补Web和桌面鸿沟的一项新技术,如何将这项技术详尽地介绍给国内的开发者呢?这是让作者和编者都感 到身负重大责任的事情。所以我们推出这本“实例+讲解”的特色图书,希望更容易被读者接受。事实证明,在枯燥的学习过程中,只有精彩实例可以让读者更快地 学习,更有效率地进步。

本书主要通过详细的实例讲解,向读者介绍AIR的特性和开发技巧。通过阅读本书,读者会了解到AIR的优势,以及如何快速有效地开发AIR应用。

基于AIR不同的开发模式,本书可分为两部分。传统的HTML+Ajax开发人员可以重点阅读Ajax部分;Flash/Flex开发人员可以重点 阅读 Flash/Flex部分。本书将以这两种开发模式为主线,将读者引入AIR的开发殿堂。其中的Ajax部分重点介绍AIR开发与现有Ajax框架的无缝 整合;而Flash/Flex细分为Flash和Flex两个部分,讲解应用不同的开发环境开发AIR应用的技巧。

购书地址:

http://www.china-pub.com/196053

本书书友会地址:

http://www.riameeting.com/community/forumdisplay.php?fid=24&page=1


Tags:

这是之前发布的中国地图Flash版的优化版,具备如下的功能:

  1. 按照省份划分行政区域,显示每个省份的详细信息(内容通过XML自定义)
  2. 支持HTML显示
  3. 支持点击省份,打开网页链接
  4. 支持事件监听(AS和JavaScript)

演示地址:

http://www.richbox.net/Files/demo.html

使用方式:

将这个Flash插入到网页中并配置相应的参数即可(需要设置地图的标题,和数据源的XML地址,如果你希望Flash回调你的JavaScript方法,请参见第三个参数的配置),推荐使用SWFObject,示例代码:

<script type="text/javascript">

function eventHandler(e) {
alert(e.value);
}

var s1 = new SWFObject("ChinaMap.swf","ply","600","500","10","#FFFFFF");
s1.addParam("allowscriptaccess","always");
s1.addVariable("title","中国地图");
s1.addVariable("xmlurl","d.xml");
s1.addVariable("jsHandler","eventHandler");
s1.write("container");
</script>

数据XML的配置示例:

http://www.richbox.net/Files/d.xml

你也可以将这个地图应用到你的Flash或Flex项目中,并可以监听地图点击的Event,代码示例:


public class ChinaMapDemo extends Sprite
{
public function ChinaMapDemo()
{
super();
var mapLoader:Loader = new Loader();
mapLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,init);
mapLoader.load(new URLRequest("ChinaMap.swf"));
addChild(mapLoader);
}

private function init(e:Event):void {
e.currentTarget.content.loaderInfo.parameters.title = "中国地图";
var demoMap:ChinaMap = e.currentTarget.content as ChinaMap;
demoMap.addEventListener(MapEvent.ITEMCLICK,clickHandler);
}

private function clickHandler(e:MapEvent):void {
trace(e.value);
}

}

你可以从这里下载这个地图的文件:

http://code.google.com/p/chinamapforflash/downloads/list

源码已经提供在Google Code上,你可以随意修改并使用:

http://code.google.com/p/chinamapforflash/source/browse/



Powered by Wordpress
Theme © 2005 - 2009 FrederikM.de
BlueMod is a modification of the blueblog_DE Theme by Oliver Wunder