Flash builder 4.5支持Android平台之初体验
- 博客分类:
- 技术杂绘
Flash builder 4.5支持Android平台之初体验
2011年06月22日
Flash builder 4.5可以支持Android平台,俺尝试写了一些东西,算是第一次亲密接触。想法是这样的:将一些点的经纬度投射到Google Map上,并可浏览相关点的信息。 数据库使用MS SQL server 2008 R2 X64版本,创建数据表【Map201105】,该表描述点信息:
CREATETABLE[dbo].[Map201105](
[id][int]IDENTITY(1,1)NOTNULL,
[bianhao][int]NULL,
[zhengqibiaoshi][nvarchar](255)NULL,
[kehumingcheng][nvarchar](255)NULL,
[jiancheng][nvarchar](255)NULL,
[dengluyu][nvarchar](255)NULL,
[DVRtongdaohao][int]NULL,
[qianduangaicanshu][nvarchar](255)NULL,
[zhucedidian][nvarchar](255)NULL,
[zhushebeiID][nvarchar](255)NULL,
[jintouID][nvarchar](255)NULL,
[ADSL][nvarchar](255)NULL,
[GD163][nvarchar](255)NULL,
[GXSJ][nvarchar](255)NULL,
[BMQ][nvarchar](255)NULL,
[XSJ][nvarchar](255)NULL,
[CRMzhuangtai][nvarchar](255)NULL,
[tongduan][nvarchar](255)NULL,
[shigongfankui][nvarchar](255)NULL,
[xitonghuidanqingkuang][nvarchar](255)NULL,
[yanshou][nvarchar](255)NULL,
[beizhu][nvarchar](255)NULL,
[jingdu][float]NULL,
[weidu][float]NULL,
CONSTRAINT[PK_Map201105]PRIMARYKEYCLUSTERED
(
[id]ASC
)WITH (PAD_INDEX =OFF,STATISTICS_NORECOMPUTE =OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS =ON,ALLOW_PAGE_LOCKS =ON)ON[PRIMARY]
)ON[PRIMARY]
这里注意[jingdu]和[weidu]列,表示在GoogleMap上投点坐标,由于使用手持GPS测量数据使用度分秒表示,所有俺创建另外一个表记录这些测量的数据,【Maplatlng】,
CREATETABLE[dbo].[Maplatlng](
[id][int]IDENTITY(1,1)NOTNULL,
[Map110id][int]NULL,
[Lat][int]NULL,
[Lat_du][int]NULL,
[Lat_fen][int]NULL,
[Lat_miao][float]NULL,
[Lng][int]NULL,
[Lng_du][int]NULL,
[Lng_fen][int]NULL,
[Lng_miao][float]NULL,
CONSTRAINT[PK_Maplatlng]PRIMARYKEYCLUSTERED
(
[id]ASC
)WITH (PAD_INDEX =OFF,STATISTICS_NORECOMPUTE =OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS =ON,ALLOW_PAGE_LOCKS =ON)ON[PRIMARY]
)ON[PRIMARY]
GO
ALTERTABLE[dbo].[Maplatlng] WITHCHECKADD CONSTRAINT[FK_Maplatlng_Map201105]FOREIGNKEY([Map110id])
REFERENCES[dbo].[Map201105]([id])
GO
ALTERTABLE[dbo].[Maplatlng]CHECKCONSTRAINT[FK_Maplatlng_Map201105]
列[Map110id]是关联表【Map201105】外键。
使用Hibernate持久化数据,变成Java对象,Map201105映射文件:
Map201105">
Maplatlng映射文件:
map201105" class="com.les.Gmap.Map201105" fetch="select"> 从映射文件可以看出两个映射类之间的关系是多对一关系。
使用LCDS 3.1数据管理属性,配置文件data-management-config加入两个destination
com.les.Gmap.GMapAssembler
application
com.les.Gmap.Map201105
getOnArtist
java.lang.String,java.lang.Integer
com.les.Gmap.GMaplatlngAssembler
application
com.les.Gmap.Maplatlng
getOnArtist
java.lang.String,java.lang.Integer
第一个destination提供点的信息,特别是坐标信息,第二个destination提供经纬度数据
新建一个Flex手机项目,选定Android平台,选择"卡片式应用程序",一个卡片用于呈现地图,另一个呈现数据。
呈现Map的View:
flex/spark"
xmlns:components="spark.components.*"
xmlns:services="services.*"
xmlns:supportClasses="spark.skins.mobile.supportClasses.*"
creationComplete="application1_creationCompleteHan dler(event)" title="Map">
map:Map;
privatefunction onMapReady(event:Event):void {
this.map.addControl(new PositionControl());
this.map.addControl(new ZoomControl());
this.map.addControl(new ScaleControl());
for each (var _wx:Object in getOnArtistResult.lastResult){ //trace(_wx.jingdu); CreateSign(_wx.jiancheng,_wx.kehumingcheng,_wx.jin gdu,_wx.weidu); } } protectedfunction map_mapevent_mappreinitializeHandler(event:MapEven t):void { var myMapOptions:MapOptions = new MapOptions(); myMapOptions.zoom = 8; myMapOptions.center = new LatLng(23.0670,113.1370); myMapOptions.mapType = MapType.SATELLITE_MAP_TYPE; this.map.setInitOptions(myMapOptions); } privatefunction CreateSign(_jiancheng:String,_kehumingcheng:String ,_jingdu:Number,_weidu:Number):void { var markerA:Marker = new Marker(new LatLng(_jingdu,_weidu), new MarkerOptions({strokeStyle: new StrokeStyle({thickness: 1, color: 0xff8030, alpha: 0.7, pixelHinting: false}), fillStyle: new FillStyle({color: 0x223344, alpha: 0.8}), radius: 8, tooltip: _jiancheng, label:_kehumingcheng, hasShadow: true})); this.map.addOverlay(markerA); } protectedfunction application1_creationCompleteHandler(event:FlexEve nt):void { getOnArtistResult.token =map201105Service.getOnArtist('中国金名都', 0);
}
privatefunction listDataService_onselectresult(event:ResultEvent):void{
wx=ArrayCollection(event.result);
button01.enabled=true;
menucomment.text=wx[0].jiancheng;
map = new Map();
map.key = "Google Map key";
map.setSize(new Point(HDBox.width, HDBox.height));
map.sensor="false";
map.url="http://localhost";
map.addEventListener(MapEvent.MAP_READY, onMapReady);
map.addEventListener(MapEvent.MAP_PREINITIALIZE,ma p_mapevent_mappreinitializeHandler);
HDBox.addElement(map);
}
//处理错误函数 privatefunction onfault(event:FaultEvent):void{ trace(event.fault.faultString, 'Error'); } protectedfunction button01_clickHandler(event:Event):void { // TODO Auto-generated method stub if (textinput01.text!=''){ trace(textinput01.text); var str:String; str=textinput01.text; HDBox.removeElement(map); getOnArtistResult.token =map201105Service.getOnArtist(str, 0); button01.enabled=false; } } protectedfunction textinput01_focusInHandler(event:FocusEvent):void { // TODO Auto-generated method stub if (event.target.text=='输入建筑工地名称'){
event.target.text='';
}
}
protectedfunction textinput01_focusOutHandler(event:FocusEvent):void
{ // TODO Auto-generated method stub if (event.target.text==''){ event.target.text='输入建筑工地名称';
}
}
protectedfunction textinput01_textinputHandle(event:TextEvent):void
{ //event.target.setStyle('color',0x10DAA2); } protectedfunction combobox01_changeHandler(event:IndexChangeEvent):void { // TODO Auto-generated method stub trace(wx[event.newIndex].jintouId); var jingdu:Number; var weidu:Number; jingdu=wx[event.newIndex].jingdu; weidu=wx[event.newIndex].weidu; map.setCenter(new LatLng(jingdu,weidu)); map.setZoom(13); } ]]> 呈现数据的View:
flex/spark" xmlns:components="spark.components.*" xmlns:services="services.*" title="主页视图">
Mapview
DataView:
Flex文件比较大,生成地图时间约10秒。
发表评论
-
主流地图API比较
2012-01-20 08:52 797主流地图API比较 2010年0 ... -
Hello,Flex
2012-01-20 08:52 612Hello,Flex 2010年07月26日 ... -
Ubuntu7.04使用中遇到的问题及从网上搜集的解决办法(截止2007-11-3日) 收藏
2012-01-20 08:52 820Ubuntu7.04使用中遇到的问 ... -
OGRE关于 Demo_Ocean 例子的分析
2012-01-20 08:51 946OGRE关于 Demo_Ocean 例子的 ... -
flex 学习
2012-01-19 13:58 584flex 学习 2010年06月29日 http://b ... -
Flex网站收集
2012-01-19 13:58 500Flex网站收集 2011年07月13日 一、国外站点 ... -
FLEX学习笔记<3>
2012-01-19 13:58 559FLEX学习笔记 21小时前 FLEX之际连接数据库。 ... -
FLEX 网站
2012-01-19 13:58 669FLEX 网站 2010年09月19日 ... -
46个Flex和actionscript3开源项目
2012-01-19 13:58 53046个Flex和actionscript3开源项目 2011 ... -
大学计算机基础选择题答案!!
2012-01-17 03:46 1191大学计算机基础选择题 ... -
CMD 命令 拓展
2012-01-17 03:46 684CMD 命令 拓展 2011年12月05日 果没有一定的 ... -
《电力工程基础多媒体教学课件》制作技术详解
2012-01-17 03:46 680《电力工程基础多媒体 ... -
lib 与 obj 文件的关系 (转)
2012-01-17 03:46 1874lib 与 obj 文件的关系 (转) 2011年12月02 ... -
永不放弃 never give up 我的校园
2012-01-16 02:23 729永不放弃 never give up 我 ... -
应聘教师时的常见问题2012-1-1
2012-01-16 02:23 609应聘教师时的常见问题2 ... -
一言既出,驷马难追
2012-01-16 02:23 615一言既出,驷马难追 2012年01月12日 ... -
恶作剧之吻
2012-01-16 02:23 558恶作剧之吻 2012年01月14日 长大是一种忧伤的颜色 ...
相关推荐
Flash Builder4.5使用技巧和窍门,Flash Builder4.5使用技巧和窍门
用于eclipse 安装Adobe Flash Builder 4.5 插件...
Flash Builder 4.5支持您利用新的移动功能来流线化针对多种平台的输出。 当开始在Flash Builder 4.5中设置新的移动或Flex Hero项目时,您将会看到一组新的移动模板。在本文中,我将介绍如何使用这些新项目配置窗口,...
基于myeclipse8.5的flash builder 4.5 插件安装,前提是已经安装了flash builder 4.5!
Adobe Flash Builder 4.5 Android Air 程序开发系列 之八 照相机
FlashBuilder 4.5 官方的中文帮助手册
使用ADOBE FLASH BUILDER 4.5 目录 第 1 章: 关于 Flash Builder 可使用 Flash Builder 构建的应用程序 用于加快应用程序开发速度的功能 用于运行和调试项目的功能 Flash Builder 版本 Flash Builder 配置 ...
Adobe Flash Builder 4.5 Android Air 程序开发系列 之四 打开与关闭应用程序是的保存数据
此文档为Flash Builder 4.5 的官方中文帮助文档。希望对您有用。
flash软件开发中不是很常用到的builder可执行文件
Flashbuilder4.5 BlazeDS4 Cairngrom3 Spring 实例教程
信不信自己看一看Flash builder 4.5 plugin 安装办法
Flash Builder 4.5 官方简体中文帮助文档
flash builder4.5+myeclipse8.5.exe的具体安装步骤并有截图说明
作为一个线框工具,您可以快速创建...如果您准备将线框进一步开发为一个交互式原型,您可能还需要 Flash Builder 4.5。与 Flash Builder 结合使用时,Flash Catalyst 将成为一个可视创建 Flex Spark 外观的出色工具。
flashbuilder4.5开发的查询qq好友是否在线,如果在线,点击即可跳出qq的交谈对话框 另外还搞清楚了Sprite如果想加到mxml文件中显示,必须加到另外的可视组件中才行
Flash builder 4.5学习-通过Java持久化FB数据一文例子程序
Flash builder 4.5学习-通过Java持久化FB数据一文例子程序