FlashBuilder4.7更新AIR SDK方法

2013-06-15 AIR

默认情况下,Flash Builder 4.7安装了AIR SDK 3.4。如果你想使用别的SDK版本,你覆盖掉它就行了。下面就来介绍一下如何覆盖。 下载合适的AIR SDK文件:http://labs.adobe.com/downloads/asc2.html ,然后保存到AIR SDK的根目录(是SDK的根目录)。 注意了:这个AIR SDK包含了:Adobe AIR SDK、ActionScript编译器以及其它必需的组件和文件。 在进入以下步骤前,先退出Flash Builder: 在Flash Builder里更新AIR SDK的步骤: 1.(可选)备份旧的AIR SDK,把整个SDK目录都复制一份吧。AIR SDK的目录是在(因人而异,但大概一样): Windows 7: C:\Program Files (x86)\Adobe\Adobe Flash Builder 4.7\eclipse\plugins\com.adobe.flash.compiler_4.7.0.349722 Mac OS: /Applications/Adobe Flash Builder 4.7/eclipse/plugins/com.adobe.flash.compiler_4.7.0.349722 2. 在备份完后,删除SDK文件夹里的所有文件(译者注:这个SDK文件夹的名字为“AIRSDK”。只删除SDK文件夹里的文件,不要把SDK文件夹也删除了)。 3. 下载的SDK通常是一个压缩包(zip/tbz2)。解压这个包,提取所有文件,把文件复制到那个名为“AIRSDK”的文件夹。

参考Adobe 原文:http://helpx.adobe.com/flash-builder/kb/overlay-air-sdk-flash-builder.html


一个用于检测FPS和内存占用的小例子

2013-06-14 ActionScript3

用于实时检测FPS(实际上可以算是检测CPU)和内存占用情况。

使用方法,在application的Document Class(或者Application Class)上构建一个检测器实例(MonitorKit)并addChild即可,所含参数比较简单,不再一一赘述:

 var monitor:MonitorKit = new MonitorKit(MonitorKit.MKMODE_T);
addChild(monitor);
package 
{
  import flash.display.Sprite;
  import flash.display.Stage;
  import flash.events.Event;
  import flash.system.System;
  import flash.text.TextField;
  import flash.text.TextFieldAutoSize;
  import flash.text.TextFormat;
  import flash.utils.getTimer;

  public class MonitorKit extends Sprite{
    public static const MKMODE_T:String = "MKMODE_T";
    public static const MKMODE_B:String = "MKMODE_B";
    public static const MKMODE_L:String = "MKMODE_L";
    public static const MKMODE_R:String = "MKMODE_R";
    public static const MKMODE_TL:String = "MKMODE_TL";
    public static const MKMODE_TR:String = "MKMODE_TR";
    public static const MKMODE_BL:String = "MKMODE_BL";
    public static const MKMODE_BR:String = "MKMODE_BR";

    private static var stageInstance:Stage;

    private var lastTime:uint = getTimer();
    private var frames:Number = 0;
    private var monitorKitTextField:TextField;
    private var mode:String;
    private var textColor:uint;
    private var backgroundColor:uint;
    private var transparent:Boolean;
    public static var delay:Number = 0;
    public function MonitorKit(_mode:String = MKMODE_T,
        _transparent:Boolean = true,
        _textColor:uint=0xffffff,
        _backgroundColor:uint=0x000000) {
      mode = _mode;
      transparent = _transparent;
      textColor = _textColor;
      backgroundColor = _backgroundColor;
      // Initialize it when rendered on the stage.
      addEventListener(Event.ADDED_TO_STAGE, initMonitorHandler);
    }

    private function initMonitorHandler(event:Event):void {
      // Unregister the event handler
      removeEventListener(Event.ADDED_TO_STAGE, initMonitorHandler);
      stageInstance = this.stage;
      monitorKitTextField = new TextField();
      monitorKitTextField.selectable = false;
      monitorKitTextField.background = transparent;
      monitorKitTextField.textColor = textColor;
      monitorKitTextField.backgroundColor = backgroundColor;
      monitorKitTextField.autoSize = TextFieldAutoSize.LEFT;
      var format:TextFormat = new TextFormat();
      format.font = "Courier New";
      format.size = 15;
      monitorKitTextField.setTextFormat(format);
      monitorKitTextField.defaultTextFormat = format;
      monitorKitTextField.text = "[ Loading... ]";
      addChild(monitorKitTextField);
      stageInstance.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
    }

    public function enterFrameHandler(evt:Event):void {
      frames++;
      var currentTime:uint = getTimer();
      var deltaTime:uint = currentTime - lastTime;
      var fps:Number = frames / deltaTime * 1000;
      monitorKitTextField.text = "FPS: " + fps.toFixed(1);
      monitorKitTextField.appendText("\nMem: " + Number(System.totalMemory/1024/1024).toFixed(3)+"(M)");
      frames = 0;
      lastTime = currentTime;
      // Replace the monitor object
      switch (mode) {
        case MKMODE_T:
          monitorKitTextField.x = stageInstance.stageWidth / 2 - monitorKitTextField.width / 2;
          monitorKitTextField.y = 0;
          break;
        case MKMODE_B:
          monitorKitTextField.x = stageInstance.stageWidth / 2 - monitorKitTextField.width / 2;
          monitorKitTextField.y = stageInstance.stageHeight - monitorKitTextField.height;
          break;
        case MKMODE_L:
          monitorKitTextField.x = 0;
          monitorKitTextField.y = stageInstance.stageHeight / 2 - monitorKitTextField.height / 2;
          break;
        case MKMODE_R:
          monitorKitTextField.x = stageInstance.stageWidth - monitorKitTextField.width;
          monitorKitTextField.y = stageInstance.stageHeight / 2 - monitorKitTextField.height / 2;
          break;
        case MKMODE_TL:
          monitorKitTextField.x = 0;
          monitorKitTextField.y = 0;
          break;
        case MKMODE_TR:
          monitorKitTextField.x = stageInstance.stageWidth - monitorKitTextField.width;
          monitorKitTextField.y = 0;
          break;
        case MKMODE_BL:
          monitorKitTextField.x = 0;
          monitorKitTextField.y = stageInstance.stageHeight - monitorKitTextField.height;
          break;
        case MKMODE_BR:
          monitorKitTextField.x = stageInstance.stageWidth - monitorKitTextField.width;
          monitorKitTextField.y = stageInstance.stageHeight - monitorKitTextField.height;
          break;
        default:
        break;
      }
    }
  }
} 

AIR SDK 0 AIR SDK location does not exist 解决

2013-06-05 AIR

导入AS3项目时提示 “AIR SDK 0.0: AIR SDK location "D:\Program Files\Adobe Flash Builder 4.7\eclipse\plugins\com.adobe.flexbuilder.flex_4.7.0.349722\devsdks\AIRSDK\Win" does not exist.”

是AS3项目找不见AIR SDK. 打开项目配置 ActionScript Build Path ,路径出错。

他默认是去Flash Builder 4.7安装目录下的..\Adobe Flash Builder 4.7\eclipse\plugins\com.adobe.flexbuilder.flex_4.7.0.349722\devsdks\AIRSDK\Win去找。

但是 我的Builder根本没有这个Win文件

##解决步骤:

###1. 先去官网下载下载和更新SDK

可参考此文http://www.waylau.com/update-air-sdk-flash-builder

###2. 如果上述方法无效

..\Adobe Flash Builder 4.7\eclipse\plugins\com.adobe.flexbuilder.flex_4.7.0.349722\ 目录下创建 devsdks文件夹,再在devsdks创建AIRSDK,再在AIRSDK下创建Win 即创建它搜索的那个路径

###3.将下载的AIRSDK中的文件复制进新建的Win文件夹下。

###4.回到配置界面ActionScript Build Path移除之前的AIRSDK,再点击“ADD AIR SDK”


iReport 5.1.0下载、安装、创建数据源、制作报表

2013-05-22 iReport

一、ireport下载最新版

本例为5.1.0 http://sourceforge.net/projects/ireport/files/?source=navbar

二、安装,直接下一步

三、ireport连接数据库,创建数据源

默认数据源是空的 ,需要自己创建数据源,当然也可以选择他的测试数据库

 

1.点击图中按钮,弹出窗,点击 new

 

2.这里选择的是 Database JDBC Connection

 

3.iReport默认的数据库驱动为黑色字体部分,红色字体需另外导入包

 

4.工具à选项

 

5.在Classpath添加数据库驱动包

这里我们连接的是sql2000数据库,填加一个jtds-1.2.2.jar

 

6.再回到之前的那个数据源设置界面

net.sourceforge.jtds.jdbc.Driver 变成了黑色。选中它

 

7.JDBC URL中填入数据库的地址和库名,并填入正确的用户名和密码。

本例选用了一个已经存在的数据库。

点击Test,提示test succesful则说明连接成功。

输入Name, 本例为”EEMS”。

点击Save保存设置。

 

四、新增报表模版

1.文件 –>new file,选择blank A4 ,点击 launch report wizard

 

2.填入报表名称,选择输出的目录

 

3.直接填入查询sql语句,或者选择load query导入已有的sql文件

本例选用design query 采用可视化界面来设计sql语句

 

双击选中的数据库表,选择要查询的字段

 

点击OK,自动生成了sql语句

 

4.选择要参与的字段

 

这里向右移入所有字段

 

5.选择要分组的字段

这里选择loginName字段

 

6.出现下面提示,说明模版创建成功!

 

五、设计报表

 

报表的结构包括如下部分:Title、Page Header、Column Header、Detail、Column Footer、Page Footer、Summary.下面一一的介绍各个部分。

Title:为报表的标题部分,如果报表有多页,则只显示在第一页。

Page Header :为报表每页的一个头部名称,如果报表有多页,则每页都会显示。

Column Header:可以理解成表头,如果报表有多页,则每页都会显示。

Detail:详细记录,迭代列出所有的查询结果,有多少数据都会显示出来(分页)。

Column Footer:相当于表尾,如果报表有多页,则每页都会显示。

Page Footer:与Page Header对应,每页都会显示。

Summary:报表的一些统计信息。比如共有多少页,当前是第几页等信息。

设计报表的要求是:列出所有用户的信息,(查询语句决定。)

1.从组件面板中,拖出一个 Static Text 组件来,放置在报表的Title部分,输入”用户列表”。

 

2.在Page Header 也同样拖入一个 Static Text 组件,输入”管理员”

3.展开左侧的 Report Inspector,展开Fields子项,

 

将图所示的字段,拖入Detail项中,此时会发现,Column Header项中自动填充了Static Text的表头,如图所示:

 

在右侧”属性”,也可以对表头进行编辑,重命名等操作。可以调整各组件的位置、大小等信息。

 

4.选择 预览方式,这里选HLML

 

5.点击预览,选择Preview

 

6.显示数据库数据啦,成功啦。~


Activiti 5.12.1 下载、安装和运行

2013-05-18 Activiti

一、下载和安装

activiti下载:

本例子版本:activiti-5.12.1.zip

http://www.activiti.org/download.html

 

JDK 下载 JDK 6+

本例子版本:jdk7

http://www.oracle.com/technetwork/java/javase/downloads/index.html

eclipse下载 Eclipse Indigo and Juno:

本例子版本:Eclipse Juno (4.2)

http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/juno/SR2/eclipse-jee-juno-SR2-win32.zip

 

解压activiti-5.12.1.zip获取activiti-explorer.war

001

 

activiti-explorer.war 拷贝至Tomcat.(或其他java web服务器,本例为Tomcat 6.0)的webapps目录下

二、运行

启动tomcat,在浏览器打开项目(本例子tomcat端口为8089)

http://localhost:8089/activiti-explorer/

 

003

 

见到这个界面说明项目运行成功了!

默认使用的是内存数据库 H2,下面为数据库表

Table 用户和分组

UserId

Password

Security roles

kermit

kermit

admin

gonzo

gonzo

manager

fozzie

fozzie

user

 

可以使用上面的账号登入系统(本例为kermit)

004

 


Flex4.6 textArea 文字换行 示例

2013-05-13 Flex

###flex4.6 textArea 文字换行 有 几种实现形式,

####法1:在text文字里面直接加 “
”

<s:TextArea  text="这是个 TextArea 分行的例子&amp;#13; http://www.waylau.com "/>

####法2:采用了 TLF 标记 形式

<s:TextArea  width="100%" height="340"   >
		<s:content >
			flex 4.6	<s:span color="#FF0000" fontWeight="bold">这是个 TextArea 分行的例子 </s:span><s:br/>
			<s:span color="#008800"> 采用了 TLF 标记 形式  </s:span> <s:br/>

			<s:a href="http://www.waylau.com" target="_blank">技术支持:www.waylau.com </s:a>.</s:content>
	</s:TextArea>

Flex4.6项目本地右键编译正常,部署后访问不了图片资源。解决

2013-05-11 Tomcat

###问题: 如题 遇到 一个 奇怪的 问题, 项目右键运行 图片显示正常。 但 部署到 web服务器 就 显示不正常了。

PS:图片命名用了中文。 用了英文的貌似显示 都正常。

###解决 初步 认定 可能是 web 服务器 编码所致使

在tomcat/conf/server.xml中找到 Connector 在后面加上 URIEncoding=”UTF-8” 即可

<Connector port="8089" protocol="HTTP/1.1" 
           connectionTimeout="20000" 
           redirectPort="8443"  URIEncoding="UTF-8"/>

惠州(惠州学院)——大亚湾(霞冲镇\金海岸)骑行路线图

2013-05-10 Outdoor

1.惠城区出发时,先骑(新S254)惠南大道 2.到了永湖镇后,左转进入(旧S254)惠澳大道,直走 3.到大亚湾的疏港大道, 4.1 快到石化大道前的一个十字路口(有指往霞冲镇的路标),转左直走就能到达霞冲镇,这是一条新路,左边有一条绿道直达霞冲镇 4.2 或到澳霞立交 左转,进入石化大道,直达霞冲镇 5.过了霞冲镇直走约3公里就是金海岸海滨浴场