苏州中科图新网络科技有限公司 客服电话 LSViewer-Android 开发指南 V2.0 撰写单位 最后修订日期 苏州中科图新网络科技有限公司 2016 年 12 月 1

Size: px
Start display at page:

Download "苏州中科图新网络科技有限公司 客服电话 LSViewer-Android 开发指南 V2.0 撰写单位 最后修订日期 苏州中科图新网络科技有限公司 2016 年 12 月 1"

Transcription

1 LSViewer-Android 开发指南 V2.0 撰写单位 最后修订日期 2016 年 12 月 1

2 法律说明 版权所有 本文档包含的所有内容除特别声明之外 版权均属于所 有 图新可在不作任何申明的情况下对本文档内容进行修改 本文档中所使用的商标所有权属于该商标的所有者 2

3 目录 目录... 3 概述... 5 LSViewer-Android SDK 功能介绍...5 一 简介 LSViewer Android SDK JAVA 功能介绍 面向的读者 问题解答 文档结构介绍...8 二 Hello World Eclipse 创建过程 Android Studio 创建过程 开发进阶-添加图层和地形 三 基本操作控制 缩放 旋转 翻转 飞行 跳转 设置视图状态 设置指南针样式...47 四 图层 几个概念 添加图层 删除图层 图层显示 图层隐藏 图层可见距离 图层不透明度 图层渲染顺序 图层范围 图层类型 图层遍历...51 五 点 线 面标注 添加点 点样式设置 添加线 线样式设置 添加面 面样式设置 Feature 的删除

4 5.8 Feature 的显隐性控制 六 模型数据 添加模型数据 调整模型位置 删除模型数据 属性设置...60 七 倾斜摄影 倾斜摄影简介 根据倾斜摄影数据生成图层文件 倾斜摄影图层文件参数说明 八 Server 连接 连接指定地址的服务器 获取连接服务器成功后的图层信息 九 量测 平面距离量测 三角测量 关闭量测...68 十 事件 要素点击事件 回调事件

5 概述 LSViewer-Android SDK2.0 LSViewer AndroidSDK 是一套基于 Android 2.1 及以上版本设备的应用程序接口 您 可以使用该套 SDK 开发适用于 Android 系统移动设备的三维地图相应应用 通过调用 SDK 接口 您可以轻松访问各种在线地图数据 加载本地图层数据 连接 server 服务 构建功 能丰富 交互性强的三维地图类应用程序 LSViewer AndroidSDK 需要申请许可后方能正常使用 如需申请 SDK 请在手机上运行 示例工程下面的 apk 文件 获取机器码 提交给中科图新技术支持人员获取许可吗 也可自 行编译示例工程通过代码的方式获取机器码 功能介绍 1.三维地球 提供三维地球渲染 触控操作功能 地图加载包括 在线地图 离线地图 栅格数据 矢量数据 地形数据 模型 数据 地图操作包括 点击 双击 缩放 旋 转 改变视角等 图1 2.在线地图 提供各种在线地图的无缝接入 在线图源包括 谷歌影像 谷歌地形 天地图地图 OSM 地图 微软地图 1 5 万地质图 气象地图等等 自定义图源包括 自定义瓦片规则的地 图服务 图2 5

6 3.离线地图 支持各种格式的栅格 矢量 地形等数 据 栅格数据包括 lrc lrp tif img 等 示例数据包括 lgd kml kmz vec shp 等 地形数据包括 lrp tif grd img 等 图3 4.倾斜摄影数据 支持多种厂家生产的倾斜摄影数据的直 接加载显示 倾斜摄影场景支持包括 PhotoScan Smart3d Pixel4D 图4 5.模型数据 支持各种格式的传统三维模型数据 模型数据格式包括 obj fbx osgb stl 等等 图5 6.点 线 面标注 LSViewer SDK 支持多种地图标注类型 标注类型支持包括 marker 点 线 面 Marker 标注支持 图像 文字 图6 6

7 7.Server 端连接 支持直接加载 Server 端发布的任意格式 的数据图层 图7 8.三角测量 LSViewer 独有的三角测量 不仅可以直 接量测地表面积 长度 也可以量测模型的 高度做到基于模型的测量 图8 7

8 一 简介 1.1 LSViewer Android SDK JAVA 功能介绍 LSViewer Android SDK 由纯 C++编写 针对 Android 平台进行 JAVA 接口封装 构成 jar 包 能够帮助您在 Android 平台上快速创建三维交互地图应用 包含了构建三维地图基本功 能的各种借口 提供了诸如在线地图加载 本地数据加载 点线面标注 模型数据加载 服 务器连接等基本功能和服务 功能介绍 基本地图功能 点线面标注功能 图层功能 工具类功能 手势交互功能 要素选中功能 倾斜摄影数据加载功能 Server 端连接功能 量测功能 1.2 面向的读者 SDK 是提供给有一定 Android 编程经验和了解面向对象概念的读者使用 此外读者还应该对 三维地图产品有一定的了解 在使用中遇到任何问题 都可以通过论坛或者 QQ 交流群反馈给我们 1.3 问题解答 如果您在使用 LSViewer Android SDK 时遇到问题 请尝试通过以下途径解决 确认使用了最新版本的 SDK 访问论坛查找问题 或者发布问题到论坛 查看常见问题指南 加入用户交流 QQ 群 文档结构介绍 二次开发包里包含的内容如下图所示 8

9 其中 FAQ 是常见问题集锦 里面记录了常见的问题以及解决办法 LSViewer-Android 开发包 是依赖库 里面包含.o 格式的库文件和资源文件 示例工程 下面 包含了文档里面所列出的所有示例工程的源码以及编译好的 apk 文件 在线图层 提供了几种 lrc 格式的在线图源的示例 LSViewer(Android)API.pdf 是引擎库的详细 api 接口文档 LSViewer-Android 开发指南 pdf 为本文档 二 Hello World LSViewer 三维地球的 Hello World 向地球 say hello 2.1 Eclipse 创建过程 新建工程 注 确保所有安卓开发环境已经安装完成 设置工程名称 sdk 版本 完成后点击 Next 9

10 无特殊需求点击 Next 即可 10

11 设置 apk 图标样式 无特殊需求点击 Next 11

12 设置工程初始样式 无特殊需求 选择 Empty Activity 点击 Next 12

13 工程创建完成 13

14 2.1.2 添加库文件引用 打开开发包 复制 libs 文件夹到工程根目录 复制后的效果如下图 包含 armeabi 文件夹和 GlobeControl v4 v7 三个 jar 包 14

15 15

16 2.1.3 添加资源库文件 GSRResource.rrs 说明 该 rrs 资源文件是引擎正常运行所必需的资源文件 从开发包中复制 GSRResource.rrs 和 DroidSansFallback.ttf 字库文件 到工程根目录下的 assets 文件夹下 16

17 2.1.4 配置 jar 包到 build path 在 jar 包上右击选择如下图所示选项 所有 jar 包都需要进行如下操作包括 android-support-v4.jar android-support-v7-appcompat.jar GlobeControl.jar 17

18 在工程名上右击 执行如下图所示操作 18

19 2.1.5 配置权限 其中 SD 卡权限必须开启 为工程添加权限和设置应用属性 如下 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android=" package="com.example.helloworld" android:versioncode="1" android:versionname="1.0" > <uses-sdk android:minsdkversion="14" android:targetsdkversion="21" /> <!-- 在SDCard中创建与删除文件权限 --> <uses-permission android:name="android.permission.mount_unmount_filesystems" /> <!-- 往SDCard写入数据权限 --> <uses-permission android:name="android.permission.write_external_storage" /> <!-- 连接网络权限 --> <uses-permission android:name="android.permission.internet" /> <application 19

20 android:allowbackup="true" android:allowclearuserdata="true" android:hardwareaccelerated="false" > <activity android:name=".mainactivity" > <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> </application> </manifest> 创建三维地球实例 在 MainActivity.java 中添加如下代码 在类 MainActivity 中定义三位球控件 文档中所有示例均以此命名 //声明类型为 LSJGlobeControl 三位球控件的对象 mglobecontrol private LSJGlobeControl mglobecontrol; // protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); // ///////////////示例代码//////////////////// // 实例化三维球控件 mglobecontrol = new LSJGlobeControl(this); // 用控件对象创建视图 setcontentview(mglobecontrol); // 用控件对象的getDeviceKey方法得到设备机器码 String strdevicekey = mglobecontrol.getdevicekey(this); // 判断许可是否有效 if (!mglobecontrol.islicvalid(this)) { // 无效的原因可能因为试用版许可过期了 如果出现过期 请及时联系工作人员 if (mglobecontrol.islicexpired(this)) { // 注册许可 在添加三维球控件之后 20

21 mglobecontrol.setserialkey(this, " #961K PS943JLJLJL53I8600C JL UX U Q0JL 01699,0x1206b677,0x f,0x131d3607,0x1346bb99,0xffff,0x0,0x1,0x1,0x1,0x1,0x1,0x1"); if (!mglobecontrol.islicvalid(this)) { // //////////////////////////////////////// /////////////////////////////////////////////////// 运行工程 到此为止 一个三维地球就创建成功了 运行截图如下 21

22 2.2 Android Studio 创建过程 新建工程 依次选择 File New New Project 创建工程名和工程路径 22

23 选择 sdk 版本 23

24 选择初始界面类型 24

25 创建完成 25

26 2.2.2 添加 jar 包 和 Eclipse 的方法不同 将 Android 模式改为 Project 模式 26

27 依次打开 HelloWrold app 选项 将开发包中的 GlobeControl 包和 armeabi 文件夹复制到 libs 文件夹下 右键 GlobeControl 包 点击 Add as Library 选项 27

28 点击 ok 添加资源文件 依次打开 HelloWorld app src main 右击 main 文件夹 选择 new Floder Assets Floder 28

29 勾选 Change 选项 必须 点击 Finish 将开发包中的添加资源库文件 GSRResource.rrs 和 DroidSansFallback.ttf 文件复制到 assests 文 29

30 件夹下 依次打开 Helloworld app src build.gradle 文件的 sourcesets 中,配置下列代码 sourcesets { main { jnilibs.srcdirs = ['libs'] assets.srcdirs = ['src/main/assets', 'src/main/assets/'] 点击 Build Make Project 选项 配置完成 30

31 2.2.4 配置权限 为工程添加权限和设置应用属性 如下 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android=" package="com.example.helloworld" android:versioncode="1" android:versionname="1.0" > <uses-sdk android:minsdkversion="14" android:targetsdkversion="21" /> <!-- 在SDCard中创建与删除文件权限 --> <uses-permission android:name="android.permission.mount_unmount_filesystems" /> <!-- 往SDCard写入数据权限 --> <uses-permission android:name="android.permission.write_external_storage" /> <!-- 连接网络权限 --> <uses-permission android:name="android.permission.internet" /> <application android:allowbackup="true" android:allowclearuserdata="true" android:hardwareaccelerated="false" 31

32 > <activity android:name=".mainactivity" > <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> </application> </manifest> 创建三维球体示例 在 MainActivity.java 中添加如下代码 在类 MainActivity 中定义三位球控件 文档中所有示例均以此命名 public class MainActivity extends Activity { //声明类型为 LSJGlobeControl 三位球控件的对象 mglobecontrol private LSJGlobeControl protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); // ///////////////示例代码//////////////////// // 实例化三维球控件 mglobecontrol = new LSJGlobeControl(this); setcontentview(mglobecontrol); //为引擎配置字库 Android Studio 必须添加 mglobecontrol.setappconfigpath(environment.getexternalstoragedirectory().getabsolutepath() + "/LocaSpace/DroidSansFallback.ttf"); // 用控件对象的 getdevicekey 方法得到设备机器码 String strdevicekey = mglobecontrol.getdevicekey(this); // 判断许可是否有效 if (!mglobecontrol.islicvalid(this)) { // 无效的原因可能因为试用版许可过期了 如果出现过期 请及时联系工作人员 if (mglobecontrol.islicexpired(this)) { // 注册许可 在添加三维球控件之后 mglobecontrol.setserialkey(this, " #Z JLJLJL53I8600C JL UX ,0x1206abf1,0x f,0x131d3607,0x1346bb99,0xffff,0x0,0x1,0x1,0x1,0x1,0x1,0x1" ); 32

33 if (!mglobecontrol.islicvalid(this)) { // //////////////////////////////////////// /////////////////////////////////////////////////// 运行工程 到此为止 一个三维地球就创建成功了 运行截图如下 33

34 2.3 开发进阶-添加图层和地形 在原工程的基础之上 增加谷歌图层和谷歌地形 代码如下 package com.example.helloworld; import android.app.activity; import android.os.bundle; import android.os.environment; import android.view.menu; import android.view.menuitem; import com.locaspace.globe.enumaltitudemode; import com.locaspace.globe.lsjglobe; import com.locaspace.globe.lsjglobecontrol; import com.locaspace.globe.lsjglobecontrol.isurfacecreatedevent; import com.locaspace.globe.lsjlayers; public class MainActivity extends Activity { // /////////////示例代码//////////////////// // 声明类型为LSJGlobeControl三位球控件的对象mGlobeControl private LSJGlobeControl mglobecontrol; // protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); // ///////////////示例代码//////////////////// // 实例化三维球控件 mglobecontrol = new LSJGlobeControl(this); // 用控件对象创建视图 setcontentview(mglobecontrol); // 用控件对象的getDeviceKey方法得到设备机器码 String strdevicekey = mglobecontrol.getdevicekey(this); // 判断许可是否有效 if (!mglobecontrol.islicvalid(this)) { // 无效的原因可能因为试用版许可过期了 如果出现过期 请及时联系工作人员 if (mglobecontrol.islicexpired(this)) { // 注册许可 在添加三维球控件之后 mglobecontrol.setserialkey(this, " #961K PS943JLJLJL53I8600C JL UX U Q0JL 01699,0x1206b677,0x f,0x131d3607,0x1346bb99,0xffff,0x0,0x1,0x1,0x1,0x1,0x1,0x1"); 34

35 if (!mglobecontrol.islicvalid(this)) { BackEvent(); // //////////////////////////////////////// // ///////////////////////////////////////////////// /** * 后台事件 视图的创建和显示 */ private void BackEvent() { // 创建界面 mglobecontrol.setonsurfacecreated(new ISurfaceCreatedEvent() public void onsurfacecreated() { // 判断视图是否加载 if (mglobecontrol!= null && mglobecontrol.getglobe()!= null) { // 跳转到对应位置 绝对地点 既初始视图 mglobecontrol.getglobe().jumpto(0, 0, 0, 0, 0, , EnumAltitudeMode.Absolute); // 添加本地图层 添加本地地形 lrc文件需要预先放入手机相应文件夹 lrc 文件可以从开发包找到 更多的lrc文件请联系工作人员 mglobecontrol.getglobe().getlayers().addlayer( Environment.getExternalStorageDirectory().getAbsolutePath() + "/LocaSpace/googleLayer lrc"); mglobecontrol.getglobe().getterrains().addterrain( Environment.getExternalStorageDirectory().getAbsolutePath() + "/LocaSpace/googleTerrain lrc"); mglobecontrol.getglobe().setstatusbarvisible(true); ); 35

36 经过上述图层的添加 已经可以看到起伏的地形 高耸的山头 深深的沟 全球的卫星影像 如下图所示 三 基本操作控制 三维地球的基本操作控制 介绍对三位地球的底图进行放大 缩小 旋转 平移等操作 具体工程请查阅示例工程的 LSV-BasicControl 36

37 3.1 缩放 功能描述 缩放当前视图 方法 mglobecontrol.globezoom(boolean) boolean 值为 true 时为放大 false 时为缩小 mglobecontro.stop( 停止当前动作 具体代码如下 public class MainActivity extends Activity implements OnTouchListener { // /////////////示例代码//////////////////// // 声明类型为 LSJGlobeControl 三位球控件的对象 mglobecontrol private LSJGlobeControl mglobecontrol; // protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); // ///////////////示例代码//////////////////// // 实例化三维球控件 mglobecontrol = new LSJGlobeControl(this); // 设置标题栏 requestwindowfeature(window.feature_no_title); // 用控件对象创建视图,用于加载三维球 setcontentview(r.layout.activity_main); 37

38 RelativeLayout globe = (RelativeLayout) findviewbyid(r.id.globe); globe.addview(mglobecontrol); // 初始化所有控件 initwidget(); BackEvent(); // //////////////////////////////////////// private void initwidget() { findviewbyid(r.id.big).setontouchlistener(this); findviewbyid(r.id.small).setontouchlistener(this); // ///////////////////////////////////////////////// /** * 后台事件 视图的创建和显示 */ private void BackEvent() { // 创建界面 mglobecontrol.setonsurfacecreated(new ISurfaceCreatedEvent() public void onsurfacecreated() { // 判断视图是否加载 if (mglobecontrol!= null && mglobecontrol.getglobe()!= null) { // 跳转到对应位置 绝对地点 既初始视图 mglobecontrol.getglobe().jumpto(0, 0, 0, 0, 0, , EnumAltitudeMode.Absolute); mglobecontrol.getglobe().setstatusbarvisible(false); ); // public boolean ontouch(view v, MotionEvent event) { switch (v.getid()) { // 放大 case R.id.big: switch (event.getaction()) { case MotionEvent.ACTION_DOWN: mglobecontrol.globezoom(true); break; case MotionEvent.ACTION_UP: mglobecontrol.stop(); 38

39 break; default: break; break; // 缩小 case R.id.small: switch (event.getaction()) { case MotionEvent.ACTION_DOWN: mglobecontrol.globezoom(false); break; case MotionEvent.ACTION_UP: mglobecontrol.stop(); break; default: break; break; default: break; return false; 3.2 旋转 功能描述 绕当前屏幕中线点旋转 方法 mglobecontrol.globemov(boolean) boolean 值为 true 时为右旋 false 时为左旋 mglobecontrol.stop() 停止当前动作 具体代码如下 39

40 // 左旋 case R.id.left: switch (event.getaction()) { // 手指按下时 下同 case MotionEvent.ACTION_DOWN: mglobecontrol.globemove(false); break; // 手指抬起时 下同 case MotionEvent.ACTION_UP: mglobecontrol.stop(); break; default: break; break; // 右旋 case R.id.right: switch (event.getaction()) { case MotionEvent.ACTION_DOWN: mglobecontrol.globemove(true); break; case MotionEvent.ACTION_UP: mglobecontrol.stop(); break; default: break; break; 3.3 翻转 功能描述 绕当前屏幕中线点翻转 方法 mglobecontrol.globetilt(boolean) boolean 值为 true 时为上翻 false 时为下翻 mglobecontrol.stop() 停止当前动作 具体代码如下 // 上旋 case R.id.up: 40

41 switch (event.getaction()) { case MotionEvent.ACTION_DOWN: mglobecontrol.globetilt(true); break; case MotionEvent.ACTION_UP: mglobecontrol.stop(); break; default: break; break; // 下旋 case R.id.down: switch (event.getaction()) { case MotionEvent.ACTION_DOWN: mglobecontrol.globetilt(false); break; case MotionEvent.ACTION_UP: mglobecontrol.stop(); break; default: break; break; 41

42 3.4 飞行 具体工程请查阅示例工程的 LSV-FlyTo 功能描述 从当前点飞行到目标点 方法 mglobecontrol.getglobe().flyto(dlon,dlat,dalt,dheading,dtilt,ddistance,intaltmode); 具体代码如下 public class MainActivity extends Activity implements OnClickListener { // /////////////示例代码//////////////////// // 声明类型为 LSJGlobeControl 三位球控件的对象 mglobecontrol private LSJGlobeControl mglobecontrol; // protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); // ///////////////示例代码//////////////////// // 实例化三维球控件 mglobecontrol = new LSJGlobeControl(this); // 设置标题栏 requestwindowfeature(window.feature_no_title); 42

43 // 用控件对象创建视图,用于加载三维球 setcontentview(r.layout.activity_main); RelativeLayout globe = (RelativeLayout) findviewbyid(r.id.globe); globe.addview(mglobecontrol); // 初始化所有控件 initwidget(); BackEvent(); private void initwidget() { findviewbyid(r.id.beijing).setonclicklistener(this); findviewbyid(r.id.hongkong).setonclicklistener(this); /** * 后台事件 视图的创建和显示 */ private void BackEvent() { // 创建界面 mglobecontrol.setonsurfacecreated(new ISurfaceCreatedEvent() public void onsurfacecreated() { // 判断视图是否加载 if (mglobecontrol!= null && mglobecontrol.getglobe()!= null) { // 跳转到对应位置 绝对地点 既初始视图 mglobecontrol.getglobe().jumpto(0, 0, 0, 0, 0, , EnumAltitudeMode.Absolute); // 添加本地图层 添加本地地形 lrc 文件需要预先放入手机相应文件夹 lrc 文件 可以从开发包找到 更多的 lrc 文件请联系工作人员 mglobecontrol.getglobe().getlayers().addlayer( Environment.getExternalStorageDirectory().getAbsolutePath() + "/LocaSpace/googleLayer lrc"); mglobecontrol.getglobe().getterrains().addterrain( Environment.getExternalStorageDirectory().getAbsolutePath() + "/LocaSpace/googleTerrain lrc"); mglobecontrol.getglobe().setstatusbarvisible(false); ); // public void onclick(view v) { switch (v.getid()) { // 跳转到北京 case R.id.beijing: 43

44 // 创建一个点的对象 LSJPoint3d point = new LSJPoint3d(); point.setvalue( , , ); // 设置飞行速度 mglobecontrol.getglobe().setflytopointspeed(60000); // 飞行到设定好的点的位置 mglobecontrol.getglobe().flytoposition(point, EnumAltitudeMode.Absolute); break; // 跳转到香港 case R.id.hongkong: mglobecontrol.getglobe().setflytopointspeed(60000); // 直接飞行到点的坐标 mglobecontrol.getglobe().flyto(114, 22, , 0, 0, 0, EnumAltitudeMode.RelativeToGround); break; default: break; 44

45 3.5 跳转 具体工程请查阅示例工程的 LSV-JumpTo 功能描述 从当前点跳转到目标点 没有飞行过程 方法 mglobecontrol.getglobe().jumpto(dlon,dlat,dalt,dheading,dtilt,ddistance,intaltmode); 具体代码如下 public class MainActivity extends Activity implements OnClickListener { // /////////////示例代码//////////////////// // 声明类型为 LSJGlobeControl 三位球控件的对象 mglobecontrol private LSJGlobeControl mglobecontrol; // protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); // ///////////////示例代码//////////////////// // 实例化三维球控件 mglobecontrol = new LSJGlobeControl(this); 45

46 // 设置标题栏 requestwindowfeature(window.feature_no_title); // 用控件对象创建视图,用于加载三维球 setcontentview(r.layout.activity_main); RelativeLayout globe = (RelativeLayout) findviewbyid(r.id.globe); globe.addview(mglobecontrol); // 初始化所有控件 initwidget(); BackEvent(); private void initwidget() { findviewbyid(r.id.xian).setonclicklistener(this); findviewbyid(r.id.aomen).setonclicklistener(this); /** * 后台事件 视图的创建和显示 */ private void BackEvent() { // 创建界面 mglobecontrol.setonsurfacecreated(new ISurfaceCreatedEvent() public void onsurfacecreated() { // 判断视图是否加载 if (mglobecontrol!= null && mglobecontrol.getglobe()!= null) { // 跳转到对应位置 绝对地点 既初始视图 mglobecontrol.getglobe().jumpto(0, 0, 0, 0, 0, , EnumAltitudeMode.Absolute); // 添加本地图层 添加本地地形 lrc 文件需要预先放入手机相应文件夹 lrc 文件 可以从开发包找到 更多的 lrc 文件请联系工作人员 mglobecontrol.getglobe().getlayers().addlayer( Environment.getExternalStorageDirectory().getAbsolutePath() + "/LocaSpace/googleLayer lrc"); mglobecontrol.getglobe().getterrains().addterrain( Environment.getExternalStorageDirectory().getAbsolutePath() + "/LocaSpace/googleTerrain lrc"); mglobecontrol.getglobe().setstatusbarvisible(false); public void onclick(view v) { switch (v.getid()) { // 跳转到西安 case R.id.xian: 46

47 mglobecontrol.getglobe().jumpto(108.56, 34.15, , 0, 0, 0, EnumAltitudeMode.RelativeToGround); break; // 跳转到澳门 case R.id.aomen: mglobecontrol.getglobe().jumpto(113.5, 22.2, , 0, 0, 0, EnumAltitudeMode.RelativeToGround); break; default: break; 3.6 设置视图状态 具体工程请查阅示例工程的 LSV-FlyTo LSV-JumpTo LSV-CameraState 功能描述 LocaSpace 提供了对 Camera 的属性进行访问的接口 可以获取或修改 Camera 的 参数 保存或改变当前的场景 Camera 的属性有 具体代码如下 mglobecontrol.getglobe().getcamerastate().setlatitude(value); //视点的经度 mglobecontrol.getglobe().getcamerastate().setlongitude(value); //视点的纬度 mglobecontrol.getglobe().getcamerastate().setaltitude(value); //视点离地面的垂直距离 mglobecontrol.getglobe().getcamerastate().setheading(value); //视线的方向与正北的夹角 0 度表示正北 90 度表示正东 180 度表示正南 mglobecontrol.getglobe().getcamerastate().settilt(value);//视线与铅垂线的夹角 0 度表示垂 直向下看 90 度表示沿水平方向看 mglobecontrol.getglobe().getcamerastate().setaltitudemode(enum);//高度模式 支持 3 种模 式 绝对高度 相对地面高度 贴地 3.7 设置指南针样式 具体工程请查阅示例工程的 LSVDemo-Compass 功能描述 LocaSpace 提供了对指南针的属性进行设置 方 法 mglobecontrol.getglobe().setnavicompass(enumalign align, float offsetx, float offsety,float width, float height,boolean bpixeloffset,boolean bpixelsize); 参数说明 EnumAlignalign 是指南针以屏幕哪个位置对齐 float offsetx, offsety 是指南针区域起始点相对 align 位置的偏移量 float width, height 是指南针区域的大小,0 和负数的话表示取纹理原始像素 大小 boolean bpixeloffset 表示偏移量是像素大小还是比例大小 true 表示像素大 47

48 小 boolean bpixelsize 表示指南针区域是像素大小还是比例大小 true 表示像素 大小 具体代码 // 指南针位于底部居中向右 10 个像素的位置 大小为 100*100 mglobecontrol.getglobe().setnavicompass(enumalign.bottomcenter, 10,0, 100, 100, true, true); mglobecontrol.getglobe().refresh();//球体刷新 四 图层 LSViewer Android SDK 支持多种格式的图层 包括在线图层 本地图层 矢量数据 栅 格数据 地形数据等等 具体工程请查阅示例工程的 LSV-LayerManager LSV-LayerErgodic 4.1 几个概念 在线图层 在线图层指地图瓦片数据是从互联网上获取的地图图层 这样的图层数据 可以通过配置 lrc 文件的方式来支持各种在线地图服务 此类数据的使用需要连接互联网 本地图层 指把地图数据直接放在手机存储空间的地图数据 此类数据的使用可以不用 连接互联网 栅格数据 指以真彩色形式存储的地图数据 具体表现形式包括 tif img lrp 等 Lrp 是 LSV 独有的一种自带分级的栅格数据图源 地形数据 常见的用于创建三维地形显示效果的地形数据 多为 tif grd 等格式 矢量数据 lgd kml shp gpx 等以矢量坐标形式存储的地图数据 模型数据 指常见的 3ds obj osgb osg 等三维模型数据 gcm 是 LSV 所独有的模型 文件格式 比传统的 obj 3ds 等格式的数据体积小 加载速度快 需要通过 builder 工具对 数据格式进行转换 可以把 obj 格式的数据转换为 gcm 对于图层可以控制其显示 隐藏 可见距离 不透明度 渲染顺序 格式转换等等 具 体接口如下 4.2 添加图层 功能描述 添加一个图层到三维地球 具体代码如下 mglobecontrol.getglobe().getlayers().addlayer(layerpath); 4.3 删除图层 功能描述 添加一个图层到三维地球 具体代码如下 48

49 //通过图层名删除图层 mglobecontrol.getglobe().getlayers().removelayerbyname(strname); //通过标题删除图层 mglobecontrol.getglobe().getlayers().removelayerbycaption(strcaption); //通过 ID 删除图层 mglobecontrol.getglobe().getlayers().removelayerbyid(nid); //通过索引删除图层 mglobecontrol.getglobe().getlayers().removelayerbyindex(nindex); 4.4 图层显示 功能描述 修改图层从不可见状态到可见状态 具体代码如下 // 显示图层 mglobecontrol.getglobe().getlayers().getlayerbyname(layerpath).setvisible(true); 4.5 图层隐藏 功能描述 隐藏一个图层 具体代码如下 //隐藏图层 mglobecontrol.getglobe().getlayers().getlayerbyname(layerpath).setvisible(false); 4.6 图层可见距离 功能描述 设置图层可见距离 超过此范围 则图层不可见 具体代码如下 //设置最大可见距离 mglobecontrol.getglobe().getlayers().getlayerbyname(layerpath).setobjectmaxvisibledistance( dval); //设置最小可见距离 mglobecontrol.getglobe().getlayers().getlayerbyname(layerpath).setobjectminvisibledistance( dval); 4.7 图层不透明度 功能描述 控制图层的不透明度 具体代码如下 49

50 //设置图层不透明度 mglobecontrol.getglobe().getlayers().getlayerbyname(layerpath).setopaque(fval); 4.8 图层渲染顺序 功能描述 设置图层在三维球体上渲染的顺序 参数说明 index 图层序号 表示移动的是第几个图层 具体代码如下 //设置图层上移 mglobecontrol.getglobe().getlayers().moveup(index); //设置图层下移 mglobecontrol.getglobe().getlayers().movedown(index); 4.9 图层范围 功能描述 获取图层的位置范围 包括经纬度 具体代码如下 //得到图层范围 mglobecontrol.getglobe().getlayers().getlayerbyname(layerpath).getbounds(); double x=bounds.getcenter().getx();得到图层中心点的经度坐标 double y=bounds.getcenter().gety();得到图层中心点的纬度坐标 4.10 图层类型 影像数据 LocaSpace 中支持的影像数据格式包括 tif img 等 另外 LocaSpace 的原始影像数据 格式是 LRP LRP 是一种高压缩比的二进制栅格文件 可以使用 LocaBuilder 这个程序把 tif img 等数据转换成 LRP LRP 内建了金字塔文件 读取速度更快 mglobecontrol.getglobe().getlayers().addlayer( /mnt/sdcard/locaspace/appdata/beijing.lrp ); 地形数据 LocaSpace 中支持的地形数据格式包括 tif img 等 另外 LocaSpace 的原始地形数据 格式是 LRP LRP 是一种高压缩比的二进制文件 可以使用 LocaBuilder 这个程序把 tif img 等数据转换成 LRP LRP 内建了金字塔文件 读取速度更快 mglobecontrol.getglobe().getterrains().addterrain( /mnt/sdcard/locaspace/appdata/dem.lrp ) 矢量数据 目前 LocaSpace 对矢量的支持情况为 可以直接支持 lgd 文件 支持 shp 一 Lgd 格式数据 mglobecontrol.getglobe().getlayers().addlayer( /mnt/sdcard/locaspace/appdata/globebkima 50

51 ge.lgd ); 二 Shapefile 格式数据 LocaSpace 可以直接加载经纬度的 Shapefile 矢量数据 mglobecontrol.getglobe().getlayers().addlayer( /mnt/sdcard/locaspace/appdata/pipeline.shp ); 4.11 图层遍历 //获取所有图层 LSJLayers layers = mglobecontrol.getglobe().getlayers(); //图层数量 int length = layers.getcount(); //遍历图层 for (int i = 0; i < count; i++) { LSJLayer layer = layers.getlayerbyindex(i) 51

52 五 点 线 面标注 5.1 添加点 具体工程请查阅示例工程的 LSV-Marker 功能描述 添加点 具体代码如下 //添加点 LSJFeature feature = new LSJFeature(); LSJGeoMarker marker = new LSJGeoMarker(); // 位置 double x = mglobecontrol.getglobe().getcamerastate().getlongitude(); double y = mglobecontrol.getglobe().getcamerastate().getlatitude(); double z = 0; marker.setposition(x,y,z); marker.setaltitudemode(enumaltitudemode.relativetoground); feature.setgeometry(marker); feature.setdescription("我的地标"); feature.setname("地标 1"); // 添加到图层 mglobecontrol.getglobe().getmemorylayer().addfeature(feature); mglobecontrol.getglobe().refresh(); mglobecontrol.getglobe().flytofeature(feature); 52

53 5.2 点样式设置 具体工程请查阅示例工程的 LSV-Marker 功能描述 设置点的样式 具体代码如下 LSJGeoMarker marker = new LSJGeoMarker(); LSJMarkerStyle3D style = new LSJMarkerStyle3D(); style.settextvisible(true);// 是否显示文字 LSJTextStyle textstyle = new LSJTextStyle();// 显示文字大小 textstyle.setfontsize(20);// 显示文字位置 textstyle.setalignment(enumalign.topcenter);// 显示是否有下划线 textstyle.setunderlined(true);// 显示文字颜色 textstyle.setforecolor("#cd2626"); style.settextstyle(textstyle); // 显示图标 style.seticonpath(environment.getexternalstoragedirectory().getabsolutepath() + "/LocaSpace/" + "marker.gif");// 图标的路径 style.seticonscale(10); // 图标的缩放 1 代表原本大小 style.seticonvisible(true);// 是否显示图标 marker.setstyle(style); //为图标添加样式 53

54 5.3 添加线 具体工程请查阅示例工程的 LSV-Line 功能描述 添加线 具体代码如下 //添加线 LSJGeoPolyline3D line = new LSJGeoPolyline3D(); // 创建线对象 LSJPoint3d[] pnts = new LSJPoint3d[4]; // 创建点数组 pnts[0] = new LSJPoint3d(116.6, 9.9, 1000); // 把点添加到点数组中 pnts[1] = new LSJPoint3d(16.62, 9.9, 3000); pnts[2] = new LSJPoint3d(16.62, 45, 2000); pnts[3] = new LSJPoint3d(116.6, 45, 2500); line.addpart(pnts); // 把点数组添加到线上 // 创建几何对象并设置属性 LSJFeature f = new LSJFeature(); f.setgeometry(line); // 把线对象添加到几何对象上 f.setname("线 01"); // 设置几何对象的名称 // 把几何要素添加到内存图层中 mglobecontrol.getglobe().getmemorylayer().addfeature(f); mglobecontrol.getglobe().refresh(); mglobecontrol.getglobe().flytofeature(f);// 刷新场景 54

55 5.4 线样式设置 具体工程请查阅示例工程的 LSV-Line 功能描述 设置线的样式 具体代码如下 LSJGeoPolyline3D line = new LSJGeoPolyline3D(); // 创建线 LSJSimpleLineStyle3D style = new LSJSimpleLineStyle3D(); // 创建线的风格 style.setlinecolor("#cd2626"); // 显示线的颜色为黑色 style.setlinewidth(3); // 设置线宽 line.setstyle(style); // 把风格添加到线上 5.5 添加面 具体工程请查阅示例工程的 LSV-Polyon 功能描述 添加一个面 具体代码如下 //添加面 LSJGeoPolygon3D geopolygon = new LSJGeoPolygon3D(); // 创建多边形对象 // 创建点数组对象 55

56 LSJPoint3d[] polygonpnts = new LSJPoint3d[4]; polygonpnts[0] = new LSJPoint3d(116.7, 9.8, 1000); polygonpnts[1] = new LSJPoint3d(16, 9.8, 2000); polygonpnts[2] = new LSJPoint3d(16, 39.8, 3000); polygonpnts[3] = new LSJPoint3d(116.7, 39.8, 6000); geopolygon.addpart(polygonpnts); // 把点数组添加到多边形对象上 // 创建几何对象并设置属性 LSJFeature f = new LSJFeature(); f.setgeometry(geopolygon); f.setname("多边形 01"); mglobecontrol.getglobe().getmemorylayer().addfeature(f); // 把几何要素添加到内存图层中 mglobecontrol.getglobe().refresh(); mglobecontrol.getglobe().flytofeature(f); 5.6 面样式设置 具体工程请查阅示例工程的 LSV-Polyon 功能描述 设置面的样式 具体代码如下 LSJGeoPolygon3D geopolygon = new LSJGeoPolygon3D(); // 创建多边形对象 LSJPolygonStyle3D stylepolygon = new LSJPolygonStyle3D(); // 创建风格 stylepolygon.setfill(true); // 是否填充 stylepolygon.setoutlinevisible(true); // 显示多边形的边缘线 geopolygon.setstyle(stylepolygon); // 把风格添加到多边形上 5.7 Feature 的删除 具体工程请查阅示例工程的 LSV-Marker, LSV-Line, LSV-Polyon 功能描述 点线面数据都要放在 feature 几何要素中添加到图层才能展示 删除点线面的时 候也要删除对应的集合对象才能删除 方法 removeallfeatures();删除所有的集合对象 removefeaturebycustomid(nid);根据自定义的 id 删除对象 removefeaturebyid(nid);根据引擎自带的 id 删除对象 removefeaturebyindex(nindex);根据编号删除对象 removefeaturebyname(strname);根据名称删除对象 参数在添加点线面对象的时候设置 //删除点 mglobecontrol.getglobe().getmemorylayer().removefeaturebyname("地标 1"); //删除线 mglobecontrol.getglobe().getmemorylayer().removefeaturebyname("线 01"); //删除面 56

57 mglobecontrol.getglobe().getmemorylayer().removefeaturebyname("多边形 01"); mglobecontrol.getglobe().refresh(); 5.8 Feature 的显隐性控制 具体工程请查阅示例工程的 LSV-Marker, LSV-Line, LSV-Polyon 功能描述 点线面数据都要放在 feature 几何要素中添加到图层才能展示 删除点线面的时 候也要删除对应的集合对象才能设置是否可见 方法 mglobecontrol.getglobe().getmemorylayer().getfeaturebyname(strname, bequel).getat(0).setvisible(false);根据对象名称设置显示或隐藏 getfeaturebycustomid(nid).setvisible(false);根据对象自定义 id 设置显示或隐藏 getfeaturebydescription(strdescription, bequel).getat(0).setvisible(false);根据 对象描述设置显示或隐藏 getfeaturebyid(nid).setvisible(false);根据引擎自带 id 设置显示或隐藏 getfeaturebyindex(nindex).setvisible(false);根据对象编号设置显示或隐藏 参数在添加点线面对象的时候设置 //点线面 Demo 中的隐藏 mglobecontrol.getglobe().getmemorylayer().getallfeatures().getat(0).setvisible(false); //点线面 Demo 中的显示 mglobecontrol.getglobe().getmemorylayer().getallfeatures().getat(0).setvisible(true); 六 模型数据 具体工程请查阅示例工程的 LSV-Model 57

58 6.1 添加模型数据 功能描述 添加模型数据 添加模型数据前 应先将模型放在手机存储目录下 并记下存储路径 具体代码如下 // 创建模型 LSJGeoModel model = new LSJGeoModel(); // 创建模型 LSJPoint3d pt = new LSJPoint3d(); // 创建点 pt.setx( ); // 设置点的 x 值 单位为度 pt.sety( ); // 设置点的 y 值 单位为度 pt.setz( ); // 设置点的高度 单位为米 // 模型可以是 3ds gcm 格式的三维模型 // 模型所在路径 用户可根据实际情况进行设置 String filepath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/LocaSpace/bone_blade/bone_blade.3ds"; // 设置模型 LSJEntityStyle3D style = new LSJEntityStyle3D(); style.setpolygonmode(enumpolygonmode.wireframe); style.setentitycolor("#fff68f"); style.setusingbothface(false); style.setusinglight(true); 58

59 style.setusingtexture(false); model.setfilepath(filepath); model.setstyle(style); model.setposition(pt); model.setaltitudemode(enumaltitudemode.clamptoground); // 把几何体放到地面上 LSJFeature f = new LSJFeature(); // 创建几何要素 f.setgeometry(model); f.setname("坦克"); f.setdescription("95 式"); f.setvisible(true); // 设置 feature description 的值 mglobecontrol.getglobe().getmemorylayer().addfeature(f); // 把几何要素添加到内存图层中 // 双面渲染 mglobecontrol.getglobe().setbothfacerendered(true); // 不透明度 mglobecontrol.getglobe().setgroundopaque(100); mglobecontrol.getglobe().refresh(); // 刷新场景 mglobecontrol.getglobe().flytofeature(f); 6.2 调整模型位置 功能描述 调整模型的位置 方法 model.move(dx,dy,dz) 具体代码如下 // 移动模型 LSJFeature ff = mglobecontrol.getglobe().getmemorylayer().getfeaturebyname("坦克", false).getat(0); ff.getgeometry().move(100, 100, 100); mglobecontrol.getglobe().refresh(); 6.3 删除模型数据 功能描述 删除模型数据 具体代码如下 // 删除模型 mglobecontrol.getglobe().getmemorylayer().removefeaturebyname("坦克"); mglobecontrol.getglobe().refresh(); 59

60 6.4 属性设置 功能描述 对模型的参数进行设置 具体代码如下 LSJGeoModel model = new LSJGeoModel(); // 创建模型 // 设置模型 LSJEntityStyle3D style = new LSJEntityStyle3D(); style.setpolygonmode(enumpolygonmode.wireframe);//渲染模式 style.setentitycolor("#fff68f");//模型顔色 style.setusingbothface(false);//是否双面渲染 style.setusinglight(true);//是否高亮 style.setusingtexture(false);//是否显示纹理 model.setfilepath(filepath); model.setstyle(style); 七 倾斜摄影 7.1 倾斜摄影简介 具体工程请查阅示例工程的 LSVDemo-QX 工程效果 package com.example.helloworldqx; import android.app.activity; 60

61 import android.os.bundle; import android.os.environment; import android.view.menu; import android.view.menuitem; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; import android.widget.relativelayout; import android.widget.toast; import com.locaspace.globe.enumaltitudemode; import com.locaspace.globe.lsjglobecontrol; import com.locaspace.globe.lsjglobecontrol.isurfacecreatedevent; import com.locaspace.globe.lsjlayer; import com.locaspace.globe.lsjlinestyle3d; import com.locaspace.globe.lsjstyle; public class MainActivity extends Activity implements OnClickListener { // /////////////示例代码//////////////////// // 声明类型为 LSJGlobeControl 三位球控件的对象 mglobecontrol private LSJGlobeControl mglobecontrol; // 声明按钮对象 private Button add; // 判断按钮点击次数 private boolean isfirst = true; // 添加的倾斜摄影文件路径 private String Path = Environment.getExternalStorageDirectory().getAbsolutePath() + "/dysmodel/data/dayangshan.lfp"; // protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); // ///////////////示例代码//////////////////// // 实例化三维球控件 mglobecontrol = new LSJGlobeControl(this); // 用控件对象创建视图 setcontentview(r.layout.activity_main); try { // 将 assets 资源文件中的资源写入到手机中 this.getassets(); LocaSpaceData data = new LocaSpaceData(MainActivity.this); data.oncreate(); catch (Exception e) { Toast.makeText(MainActivity.this, "写入数据失败 ", Toast.LENGTH_SHORT).show(); 61

62 // 用控件对象的 getdevicekey 方法得到设备机器码 String strdevicekey = mglobecontrol.getdevicekey(this); // 判断许可是否有效 if (!mglobecontrol.islicvalid(this)) { // 无效的原因可能因为试用版许可过期了 如果出现过期 请及时联系工作人员 if (mglobecontrol.islicexpired(this)) { // 注册许可 在添加三维球控件之后 mglobecontrol.setserialkey(this, " #961K PS943JLJLJL53I8600C JL UX U Q0JL01699,0x1206b677,0x f,0x131d3607,0x1346bb99,0xffff,0x0,0x1,0x1,0x1,0x1,0x1,0x1"); if (!mglobecontrol.islicvalid(this)) { initview(); BackEvent(); // 设置按钮点击事件 add = (Button) findviewbyid(r.id.add); add.setonclicklistener(this); // //////////////////////////////////////// // ///////////////////////////////////////////////// /** * 后台事件 视图的创建和显示 */ private void BackEvent() { // 创建界面 mglobecontrol.setonsurfacecreated(new ISurfaceCreatedEvent() public void onsurfacecreated() { // 判断视图是否加载 if (mglobecontrol!= null && mglobecontrol.getglobe()!= null) { // 跳转到对应位置 绝对地点 既初始视图 mglobecontrol.getglobe().jumpto(0, 0, 0, 0, 0, , EnumAltitudeMode.Absolute); // 添加本地图层 添加本地地形 lrc 文件已经打包到工程文件 更多的 lrc 文件请联系工作人员 mglobecontrol.getglobe().getlayers().addlayer( Environment.getExternalStorageDirectory().getAbsolutePath() + "/LocaSpace/googleLayer lrc"); mglobecontrol.getglobe().getterrains().addterrain( Environment.getExternalStorageDirectory().getAbsolutePath() + "/LocaSpace/googleTerrain lrc"); // 打开状态栏 62

63 mglobecontrol.getglobe().setstatusbarvisible(false); ); private void initview() { // 自定义一个 View 把地球控制视图传递进去 RelativeLayout globe = (RelativeLayout) findviewbyid(r.id.globe); public void onclick(view v) { switch (v.getid()) { case R.id.add: if (isfirst == true) { // 得到已有图层数量 int layercount = mglobecontrol.getglobe().getlayers().getcount(); //遍历已有图层 查找是否有重复项 for (int i = 0; i < layercount; i++) { if (mglobecontrol.getglobe().getlayers().getlayerbyindex(i).getname().equals(path)) { Toast.makeText(this, "图层已添加", Toast.LENGTH_SHORT).show(); else { // 将倾斜摄影添加到图层 mglobecontrol.getglobe().getlayers().addlayer(path); add.settext("飞行"); isfirst = false; // 刷新三维地球 mglobecontrol.getglobe().refresh(); else { // 得到目标图层 LSJLayer layer = mglobecontrol.getglobe().getlayers().getlayerbyname(path); // 飞行到指定图层 mglobecontrol.layerflytoposition(layer); add.settext("添加倾斜摄影"); isfirst = true; break; default: 63

64 break; 7.2 根据倾斜摄影数据生成图层文件 // 将倾斜摄影添加到图层 文件路径可自己修改 mglobecontrol.getglobe().getlayers().addlayer( Environment.getExternalStorageDirectory().getAbsolutePath() + "/dysmodel/data/dayangshan.lfp"); // 得到用于飞行的目标图层 既刚添加的倾斜摄影 LSJLayer layer = mglobecontrol.getglobe().getlayers().getlayerbyname( Environment.getExternalStorageDirectory().getAbsolutePath() + "/dysmodel/data/dayangshan.lfp"); 7.3 倾斜摄影图层文件参数说明 可以通过 layer.setstyle(style)方法设置图层样式 LSJLineStyle3D style=new LSJLineStyle3D(); 具体参数设置详见 API 文档 八 Server 连接 功能介绍 连接特定服务器 查看服务器上的在线图层 具体工程请查阅示例工程的 LSV-Server 64

65 8.1 连接指定地址的服务器 方法 mglobecontrol.getglobe().connectserver(strip, nport, struser, strpsw); 参数说明 strip IP 地址, nport 端口号, struser 用户名, strpsw 密码 具体代码如下 // 连接服务器 try { boolean bool = mglobecontrol.getglobe().connectserver( "\"" + "data1.locaspace.cn" + "\"", 1500, "admin","admin"); if (bool == true) { Toast.makeText(MainActivity.this, "连接服务器成功 ", Toast.LENGTH_SHORT).show(); else { Toast.makeText(MainActivity.this, "连接服务器失败 ", Toast.LENGTH_SHORT).show(); catch (Exception e) { e.printstacktrace(); 8.2 获取连接服务器成功后的图层信息 功能描述 查看图层信息并飞行 65

66 具体代码如下 // 查看数据 LSJLayers layers = mglobecontrol.getglobe().getlayers(); int count=layers.getcount(); Random r = new Random(); LSJLayer layer = mglobecontrol.getglobe().getlayers().getlayerbyindex(r.nextint(count)); mglobecontrol.layerflytoposition(layer); 九 量测 功能描述 对三维球体及其加载的图层模型等进行距离量测 地面距离 地球表面两点间的球面距离 空间距离 立体几何中三维空间中点 线 面之间的距离 具体工程请查阅示例工程的 LSV-Measure 通过改变 mglobecontrol.getglobe().setaction()的参数值 使 LSJGlobeControl 视图的操作 动作进入测量状态 mglobecontrol.getglobe().setaction(enumaction3d.measuredistance); //进入距离测量状态 mglobecontrol.getglobe().setaction (EnumAction3D.MeasureHeight); //进入高度测量状态 mglobecontrol.getglobe().setaction (EnumAction3D.MeasureArea);//进入面积测量状态 66

67 9.1 平面距离量测 具体代码如下 //进入距离量测状态 mglobecontrol.getglobe().setaction(enumaction3d.measuredistance); //平面距离量测模式 mglobecontrol.getglobe().getdistanceruler().setmeasuremode(enumdistancemeasuremode.groun dlinemeasure); 67

68 9.2 三角测量 功能描述 打开三角测量 具体代码如下 //进入距离量测状态 mglobecontrol.getglobe().setaction(enumaction3d.measuredistance); //三角量测模式 mglobecontrol.getglobe().getdistanceruler().setmeasuremode(enumdistancemeasuremode.hvslineme asure); 9.3 关闭量测 具体代码如下 mglobecontrol.getglobe().setaction(enumaction3d.actionnull);//关闭量测状态 mglobecontrol.getglobe().clearmeasure();//清理量测数据 mglobecontrol.getglobe().refresh();//球体刷新 68

69 十 事件 具体工程请查阅示例工程的 LSV-Listener 10.1 要素点击事件 功能描述 点击了三维球体或者球上的要素触发的事件 具体代码如下 // 长按监听 mglobecontrol.setonscenelongpressup(new ISceneLongPressUpEvent() public void onscenelongpressup(lsjpoint3d arg0, float arg1,float arg2) { Toast.makeText(MainActivity.this, "触发了要长按事件监听", Toast.LENGTH_SHORT).show(); ); // 要素点击 mglobecontrol.setonfeatureclick(new IFeatureClickEvent() public void onfeatureclick(lsjfeature arg0, LSJPoint3d arg1,float arg2, float arg3) { Toast.makeText(MainActivity.this, arg0.getdescription(), Toast.LENGTH_SHORT).show(); ); 10.2 回调事件 功能描述 触发了某个条件后的回调事件处理 比如创建了三维球体 开始和结束绘制 具体代码如下 // 创建界面 mglobecontrol.setonsurfacecreated(new ISurfaceCreatedEvent() public void onsurfacecreated() { Toast.makeText(MainActivity.this, "创建了界面", Toast.LENGTH_SHORT).show(); ); //开始绘制 mglobecontrol.setondrawbeginevent(new IDrawBeginEvent() { 69

70 @Override public void ondrawbegin(lsjfeature arg0, LSJLayer arg1) { Toast.makeText(MainActivity.this, "触发了开始绘制事件监听", Toast.LENGTH_SHORT).show(); ); //结束绘制 mglobecontrol.setondrawendevent(new IDrawEndEvent() public void ondrawend(lsjfeature arg0, LSJLayer arg1) { Toast.makeText(MainActivity.this, "触发了绘制结束事件监听", Toast.LENGTH_SHORT).show(); ); 70

新・解きながら学ぶJava

新・解きながら学ぶJava 481! 41, 74!= 40, 270 " 4 % 23, 25 %% 121 %c 425 %d 121 %o 121 %x 121 & 199 && 48 ' 81, 425 ( ) 14, 17 ( ) 128 ( ) 183 * 23 */ 3, 390 ++ 79 ++ 80 += 93 + 22 + 23 + 279 + 14 + 124 + 7, 148, 16 -- 79 --

More information

用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應

用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應 專題進度 老師 : 趙啟時老師 學生 : 陳建廷 2013/10/13 用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應 程式碼 : package com.example.phone; import java.util.arraylist;

More information

res/layout 目录下的 main.xml 源码 : <?xml version="1.0" encoding="utf 8"?> <TabHost android:layout_height="fill_parent" xml

res/layout 目录下的 main.xml 源码 : <?xml version=1.0 encoding=utf 8?> <TabHost android:layout_height=fill_parent xml 拓展训练 1- 界面布局 1. 界面布局的重要性做应用程序, 界面是最基本的 Andorid 的界面, 需要写在 res/layout 的 xml 里面, 一般情况下一个 xml 对应一个界面 Android 界面布局有点像写 html( 连注释代码的方式都一样 ), 要先给 Android 定框架, 然后再在框架里面放控件,Android 提供了几种框架,AbsoluteLayout,LinearLayout,

More information

0511-Android程式之GPS應用_專題週記4

0511-Android程式之GPS應用_專題週記4 逢甲大學通訊工程學系專題研究 Android 程式之 GPS 應用 專題週記 0511 學生姓名 陳彥儒 D0035131 廖元譽 D0077791 指導老師 楊豐瑞老師繳交日期 2014.05.11 1 匯入 GoogleMap 1.1 取得授權步驟 目前進度 取得 Google 授權鑰匙 實作程式尚未成功 1.1.1 建立個人的 keystore 1.1.2 由個人的 keystore 查詢 SHA1

More information

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入 100 年 特 種 考 試 地 方 政 府 公 務 人 員 考 試 試 題 等 別 : 三 等 考 試 類 科 : 資 訊 處 理 科 目 : 系 統 分 析 與 設 計 一 請 參 考 下 列 旅 館 管 理 系 統 的 使 用 案 例 圖 (Use Case Diagram) 撰 寫 預 約 房 間 的 使 用 案 例 規 格 書 (Use Case Specification), 繪 出 入

More information

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new ListView 自訂排版 主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new int[]{r.drawable.dog1, R.drawable.dog2,

More information

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 odps-sdk 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基 开放数据处理服务 ODPS SDK SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基础功能的主体接口, 搜索关键词 "odpssdk-core" 一些

More information

單步除錯 (1/10) 打開 Android Studio, 點選 Start a new Android Studio project 建立專案 Application name 輸入 BMI 點下 Next 2 P a g e

單步除錯 (1/10) 打開 Android Studio, 點選 Start a new Android Studio project 建立專案 Application name 輸入 BMI 點下 Next 2 P a g e Android Studio Debugging 本篇教學除了最基本的中斷點教學之外, 還有條件式中斷的教學 條件式中斷是進階的除錯技巧, 在某些特定情況中, 我們有一個函數可能會被呼叫數次, 但是我們只希望在某種條件成立時才進行中斷, 進而觀察變數的狀態 而條件式中斷這項技巧正是符合這項需求 本教學分兩部分 單步除錯 (Page2~11, 共 10) 條件式中斷點 (Page12~17, 共 6)

More information

Android Service

Android Service Android Service- 播放音樂 建國科技大學資管系 饒瑞佶 2013/7 V1 Android Service Service 是跟 Activity 並行 一個音樂播放程式若沒使用 Service, 即使按 home 鍵畫面離開之後, 音樂還是照播 如果再執行一次程式, 新撥放的音樂會跟先前撥放的一起撥, 最後程式就會出錯 執行中的程式完全看不到! 但是, 寫成 Service 就不同了

More information

预览图 : (2) 在 SelectCity.java 中增加控件, 用于绑定 select_city 文件的 ListView, TextView,EditTest 等控件 代码和注释如下 :

预览图 : (2) 在 SelectCity.java 中增加控件, 用于绑定 select_city 文件的 ListView, TextView,EditTest 等控件 代码和注释如下 : EditText 实现城市搜索 1801210778 邹宇航 摘要 : 使用 EditText 实现搜索城市的功能, 以此为依据更新 ListView 1. 效果图 : 2. 主要步骤 (1) 在 select-city.xml 布局文件中中添加 EditText 控件用作搜索框, 然后添加 ListView 控件用来显示城市名字内容 代码如下 : 预览图 : (2) 在 SelectCity.java

More information

untitled

untitled 1 Outline 數 料 數 數 列 亂數 練 數 數 數 來 數 數 來 數 料 利 料 來 數 A-Z a-z _ () 不 數 0-9 數 不 數 SCHOOL School school 數 讀 school_name schoolname 易 不 C# my name 7_eleven B&Q new C# (1) public protected private params override

More information

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP:  ******************* * 关于 Java 测试试题 ****** ******************* * 关于 Java 测试试题 ******************* 問 1 运行下面的程序, 选出一个正确的运行结果 public class Sample { public static void main(string[] args) { int[] test = { 1, 2, 3, 4, 5 ; for(int i = 1 ; i System.out.print(test[i]);

More information

Microsoft Word - 01.DOC

Microsoft Word - 01.DOC 第 1 章 JavaScript 简 介 JavaScript 是 NetScape 公 司 为 Navigator 浏 览 器 开 发 的, 是 写 在 HTML 文 件 中 的 一 种 脚 本 语 言, 能 实 现 网 页 内 容 的 交 互 显 示 当 用 户 在 客 户 端 显 示 该 网 页 时, 浏 览 器 就 会 执 行 JavaScript 程 序, 用 户 通 过 交 互 式 的

More information

第四章 102 图 4唱16 基于图像渲染的理论基础 三张拍摄图像以及它们投影到球面上生成的球面图像 拼图的圆心是相同的 而拼图是由球面图像上的弧线图像组成的 因此我 们称之为同心球拼图 如图 4唱18 所示 这些拼图中半径最大的是圆 Ck 最小的是圆 C0 设圆 Ck 的半径为 r 虚拟相机水平视域为 θ 有 r R sin θ 2 4畅11 由此可见 构造同心球拼图的过程实际上就是对投影图像中的弧线图像

More information

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit Tomcat Web JUnit Cactus JUnit Java Cactus JUnit 26.1 JUnit Java JUnit JUnit Java JSP Servlet JUnit Java Erich Gamma Kent Beck xunit JUnit boolean JUnit Java JUnit Java JUnit Java 26.1.1 JUnit JUnit How

More information

建模与图形思考

建模与图形思考 C03_c 基 於 軟 硬 整 合 觀 點 JNI: 从 C 调 用 Java 函 数 ( c) By 高 煥 堂 3 How-to: 基 於 軟 硬 整 合 觀 點 从 C 调 用 Java 函 数 如 果 控 制 点 摆 在 本 地 C 层, 就 会 常 常 1. 从 本 地 C 函 数 去 调 用 Java 函 数 ; 2. 从 本 地 C 函 数 去 存 取 Java 层 对 象 的 属 性

More information

幻灯片 1

幻灯片 1 Delivering accurate maps to Chinese Android users 为中国安卓用户提供准确的地图服务 Work at Mapbox includes: Android apps, demos, starter kits, documentation, support, syncing Android team with other departments, etc.

More information

DU Ad Platform_SDK 安卓接入指南 DU Ad Platform_SDK for Android 接入手册 ( 触发式广告 ) DUAd_SDK_Trigger v1.0 百度在线网络技术 ( 北京 ) 有限公司 百度在线网络技术 ( 北京 ) 有限公司 - 1 -

DU Ad Platform_SDK 安卓接入指南 DU Ad Platform_SDK for Android 接入手册 ( 触发式广告 ) DUAd_SDK_Trigger v1.0 百度在线网络技术 ( 北京 ) 有限公司 百度在线网络技术 ( 北京 ) 有限公司 - 1 - DU Ad Platform_SDK for Android 接入手册 ( 触发式广告 ) DUAd_SDK_Trigger v1.0-1 - 目录 1. 获取身份... 1 2. 加载与配置... 2 2.1 加载 SDK 文件... 2 2.2 配置 AndroidManifest.xml... 2 2.3 混淆代码... 3 3. 初始化... 4 4. 功能使用... 4 第 1 页共 1

More information

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页 第 1 页共 32 页 crm Mobile V1.0 for IOS 用户手册 一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页 二 crm Mobile 界面介绍 : 第 3 页共 32 页 三 新建 (New) 功能使用说明 1 选择产品 第 4 页共 32 页 2 填写问题的简要描述和详细描述 第 5 页共

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc Java C++ Pascal C# C# if if if for while do while foreach while do while C# 3.1.1 ; 3-1 ischeck Test() While ischeck while static bool ischeck = true; public static void Test() while (ischeck) ; ischeck

More information

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 ->

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 -> 目录 1 大概思路... 1 2 创建 WebAPI... 1 3 创建 CrossMainController 并编写... 1 4 Nuget 安装 microsoft.aspnet.webapi.cors... 4 5 跨域设置路由... 4 6 编写 Jquery EasyUI 界面... 5 7 运行效果... 7 8 总结... 7 1 1 大概思路 创建 WebAPI 创建 CrossMainController

More information

概述

概述 OPC Version 1.6 build 0910 KOSRDK Knight OPC Server Rapid Development Toolkits Knight Workgroup, eehoo Technology 2002-9 OPC 1...4 2 API...5 2.1...5 2.2...5 2.2.1 KOS_Init...5 2.2.2 KOS_InitB...5 2.2.3

More information

目录 一 功能介绍 功能列表 使用限制...3 二 Android studio 如何导入 SDK SDK 文件结构 导入必要文件 工程配置...6 三 调用 SDK 初始化 如何开始预览...1

目录 一 功能介绍 功能列表 使用限制...3 二 Android studio 如何导入 SDK SDK 文件结构 导入必要文件 工程配置...6 三 调用 SDK 初始化 如何开始预览...1 PISOFTTECH 圆周率全景相机 Android SDK 使用指南 版本 :V0.9.0.DOUBLE Louise 本文主要指导用户如何将本公司的 Android SDK 集成到自己的 Android 项目中, 及提供 API 说明 目录 一 功能介绍...3 1. 功能列表...3 2. 使用限制...3 二 Android studio 如何导入 SDK... 3 1. SDK 文件结构...

More information

Database_001

Database_001 作者 : 林致宇日期 :2011/10/26 主要參考來源 : http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applicat ions/ 問題 : 如在存取一個已經建立好的資料庫? 解答 : 有一些應用程式會需要讀取已經建立好的資料庫, 例如一個試題測驗應用程式, 裡面的試題可能已經於電腦上, 使用任何的

More information

ShareText

ShareText 作者 : 林致宇 日期 :2012/1/23 問題 : 如何分享分享文字資訊給其它的應用程式? 解答 : 有時候我們可能會希望 我們的應用程式的資訊 能夠讓使用者分享出去, 讓使用者能夠將此資訊傳送簡訊給其好友或寄電子郵件的方式寄給其好友, 這份文件將示範如何寫出這樣的應用程式 本文件將產出兩個 App, 第一個 App 是 分享資料的來源, 名為 CopyPaste_Source, 功能非常簡單,

More information

_banneradview.settest(true); _banneradview.setuserkeywords("swimming"); _banneradview.setusercategories("1,3,4"); _banneradview.setusergender(jdbanner

_banneradview.settest(true); _banneradview.setuserkeywords(swimming); _banneradview.setusercategories(1,3,4); _banneradview.setusergender(jdbanner 京东 APP 联盟 SDK Android 版接口说明文档 1.0 1. 嵌入 SDK 1.1 添加 SDK Android Studio 环境 : 菜单 New->New Module->Import.jar or.aar package, 然后选中 App 联盟 SDK 所带的 jar 文件 Eclipse+ADT 环境 : 将 App 联盟 SDK 所带的 jar 文件拷贝到 libs/ 目录下

More information

获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复

获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复 获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复 获取将导致上次获取的 access_token 失效 接入方可以使用 AppID 和 AppSecret

More information

Microsoft Word zw

Microsoft Word zw 第 1 章 Android 概述 学习目标 : Android Android Android Studio Android Android APK 1.1 1. 智能手机的定义 Smartphone 2. 智能手机的发展 1973 4 3 PC IBM 1994 IBM Simon PDA PDA Zaurus OS 1996 Nokia 9000 Communicator Nokia 9000

More information

LEFT, RIGHT // 左 // 右 (2) 当图片移动后, 按钮的坐标发生改变, 此操作通过 setloca tion() 方法实现 setlocation() 方法是从 Component 类继承的, 其定义如下 : public void setlocation(int x, int y

LEFT, RIGHT // 左 // 右 (2) 当图片移动后, 按钮的坐标发生改变, 此操作通过 setloca tion() 方法实现 setlocation() 方法是从 Component 类继承的, 其定义如下 : public void setlocation(int x, int y 拼图游戏 任务说明 本实例实现了拼图游戏的开发 运行程序, 单击 开始 按钮将打乱图片的位置, 效果如图 1 所示, 然后通过鼠标单击图片进行移动, 直到将所有图片都移动到正确位置, 游戏过关, 过关后的效果如图 2 所示 图 1 打乱图片位置的效果图 2 图片移动到正确位置的效果 关键技术 本程序主要通过 Swing 与枚举类实现, 程序将一幅完整的图片平均分成 9 部分, 每一部分为一个正方形,

More information

使用MapReduce读取XML文件

使用MapReduce读取XML文件 使用 MapReduce 读取 XML 文件 XML( 可扩展标记语言, 英语 :extensible Markup Language, 简称 : XML) 是一种标记语言, 也是行业标准数据交换交换格式, 它很适合在系统之间进行数据存储和交换 ( 话说 Hadoop H ive 等的配置文件就是 XML 格式的 ) 本文将介绍如何使用 MapReduce 来读取 XML 文件 但是 Had oop

More information

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6 www.brainysoft.net 1.JasperReport ireport...4 1.1 JasperReport...4 1.2 ireport...4 2....4 2.1 JDK...4 2.1.1 JDK...4 2.1.2 JDK...5 2.1.3 JDK...5 2.2 ant...6 2.2.1 ant...6 2.2.2 ant...6 2.3 JasperReport...7

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 310-065Big5 Title : Sun Certified Programmer for the Java 2 Platform, SE 6.0 Version : Demo 1 / 14 1. 35. String #name = "Jane Doe"; 36. int

More information

百度xx SDK用户手册

百度xx SDK用户手册 社会化登录 Android 组件 用户手册 (1.1 版 ) 发布日期 : 2013 年 7 月 3 日 百度开发者中心 ( 版权所有, 翻版必究 ) 目录 第 1 章 概述... 3 第 2 章 运行环境... 3 第 3 章 使用说明... 3 3.1 新建工程... 3 3.2 引入社会化登录 JAR 包... 4 3.3 配置 ANDROIDMANIFEST.XML... 4 3.4 配置支持平台类型...

More information

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 Java V1.0.1 2007 4 10 1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 6.2.10 6.3..10 6.4 11 7.12 7.1

More information

Microsoft Word - Hibernate与Struts2和Spring组合指导.doc

Microsoft Word - Hibernate与Struts2和Spring组合指导.doc 1.1 组合 Hibernate 与 Spring 1. 在 Eclipse 中, 新建一个 Web project 2. 给该项目增加 Hibernate 开发能力, 增加 Hibernate 相关类库到当前项目的 Build Path, 同时也提供了 hibernate.cfg.xml 这个配置文件 3. 给该项目增加 Spring 开发能力, 增加 spring 相关类库到当前项目的 Build

More information

EJB-Programming-4-cn.doc

EJB-Programming-4-cn.doc EJB (4) : (Entity Bean Value Object ) JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Session Bean J2EE Session Façade Design Pattern Session Bean Session

More information

iConnector打通REST服务共用的界限

iConnector打通REST服务共用的界限 轻松搭建轻量级移 动端应用 北京超图软件股份有限公司 陆国伟 P1 提纲 认识移动 GIS SuperMap 移动 GIS 平台轻量级移动端应用总结 P2 认识移动 GIS 移动 GIS 概念 核心技术 关键问题 P3 认识移动 GIS--- 概念 GIS 服务 移动平台 移动 GIS P4 认识移动 GIS--- 概念 GIS 服 务 移动 端 移动 GIS GIS 服务 移动平台 移动 GIS

More information

國家圖書館典藏電子全文

國家圖書館典藏電子全文 EAI EAI Middleware EAI 3.1 EAI EAI Client/Server Internet,www,Jav a 3.1 EAI Message Brokers -Data Transformation Business Rule XML XML 37 3.1 XML XML XML EAI XML 1. XML XML Java Script VB Script Active

More information

mvc

mvc Build an application Tutor : Michael Pan Application Source codes - - Frameworks Xib files - - Resources - ( ) info.plist - UIKit Framework UIApplication Event status bar, icon... delegation [UIApplication

More information

中 文 摘 要 智 慧 型 手 機 由 於 有 強 大 的 功 能, 以 及 優 渥 的 便 利 性, 還 能 與 網 路 保 持 隨 時 的 鏈 結 與 同 步 更 新, 因 此 深 受 廣 大 消 費 者 喜 愛, 當 然, 手 機 遊 戲 也 成 為 現 代 人 不 可 或 缺 的 娛 樂 之

中 文 摘 要 智 慧 型 手 機 由 於 有 強 大 的 功 能, 以 及 優 渥 的 便 利 性, 還 能 與 網 路 保 持 隨 時 的 鏈 結 與 同 步 更 新, 因 此 深 受 廣 大 消 費 者 喜 愛, 當 然, 手 機 遊 戲 也 成 為 現 代 人 不 可 或 缺 的 娛 樂 之 臺 北 市 大 安 高 級 工 業 職 業 學 校 資 訊 科 一 百 零 一 學 年 度 專 題 製 作 報 告 ------ 以 Android 製 作 ------ ----- 連 線 塔 防 遊 戲 ------ Tower defense game using Internet technology 班 級 : 資 訊 三 甲 組 別 : A9 組 組 員 : 葉 冠 麟 (9906129)

More information

Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7.

Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7. Kubernetes 包管理理 工具 Helm 蔺礼强 Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7. Kubernetes

More information

1. 2. Flex Adobe 3.

1. 2. Flex Adobe 3. 1. 2. Flex Adobe 3. Flex Adobe Flex Flex Web Flex Flex Flex Adobe Flash Player 9 /rich Internet applications/ria Flex 1. 2. 3. 4. 5. 6. SWF Flash Player Flex 1. Flex framework Adobe Flex 2 framework RIA

More information

FY.DOC

FY.DOC 高 职 高 专 21 世 纪 规 划 教 材 C++ 程 序 设 计 邓 振 杰 主 编 贾 振 华 孟 庆 敏 副 主 编 人 民 邮 电 出 版 社 内 容 提 要 本 书 系 统 地 介 绍 C++ 语 言 的 基 本 概 念 基 本 语 法 和 编 程 方 法, 深 入 浅 出 地 讲 述 C++ 语 言 面 向 对 象 的 重 要 特 征 : 类 和 对 象 抽 象 封 装 继 承 等 主

More information

云数据库 RDS SDK

云数据库 RDS SDK 云数据库 RDS SDK SDK SDK 下载 SDK 下载 最新版本 java_sdk.zip python_sdk.zip php_sdk.zip c#_sdk.zip 历史版本 2015-11-3 java_sdk.zip python_sdk.zip php_sdk.zip c#_sdk.zip JAVA 教程 JAVA 创建 Access Key 登陆阿里云账号 打开 我的 Access

More information

建立Android新專案

建立Android新專案 Android 智 慧 型 手 機 程 式 設 計 Android WebService 建 國 科 技 大 學 資 管 系 饒 瑞 佶 2012/4 V1 2012/8 V2 2013/5 V3 2014/10 v4 提 醒 這 節 的 內 容 針 對 的 是 MS 的 Web Service 或 是 使 用 SOAP(Simple Object Access Protocol) 標 準 建 立

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 70-536Chinese(C++) Title : TS:MS.NET Framework 2.0-Application Develop Foundation Version : DEMO 1 / 10 1. Exception A. Data B. Message C.

More information

百度xx SDK用户手册

百度xx SDK用户手册 社会化分享 Android 组件 用户手册 (1.1.0 版 ) 发布日期 : 2013 年 5 月 10 日 百度开发者中心 ( 版权所有, 翻版必究 ) 目录 第 1 章 概述... 3 第 2 章 运行环境... 3 第 3 章 使用说明... 3 3.1 新建工程... 3 3.2 引入社会化分享 JAR 包... 4 3.3 配置 ANDROIDMANIFEST.XML... 4 3.4

More information

《大话设计模式》第一章

《大话设计模式》第一章 第 1 章 代 码 无 错 就 是 优? 简 单 工 厂 模 式 1.1 面 试 受 挫 小 菜 今 年 计 算 机 专 业 大 四 了, 学 了 不 少 软 件 开 发 方 面 的 东 西, 也 学 着 编 了 些 小 程 序, 踌 躇 满 志, 一 心 要 找 一 个 好 单 位 当 投 递 了 无 数 份 简 历 后, 终 于 收 到 了 一 个 单 位 的 面 试 通 知, 小 菜 欣 喜

More information

Dynamic Layout in Android

Dynamic Layout in Android Dynamic Layout in Android 建國科技大學資管系 饒瑞佶 2013/5 V1 Layout 多半都透過 res/layout/xml 格式設定來達成 Android 是 OOP, 所以可以動態產生 Layout 重點是 Layout 的階層關係 (Hierarchy) 需要處理對應事件 最後一樣用 setcontentview 加入 Layout 一 加入現有 Layout 中

More information

付宝容器 jsapi 档 册 PDF 版本 本版本为实验版本, 为线下独 查看使, 受制于 成 PDF 程序的限制, 样式问题还没有很好的解决, 例如分 切图 代码 亮 推荐使 在线版本, 便实时查看 jsapi 运 效果 如需搜索, 使 阅读 PDF 软件 带功能即可 更多细节样式调整和 录索引探

付宝容器 jsapi 档 册 PDF 版本 本版本为实验版本, 为线下独 查看使, 受制于 成 PDF 程序的限制, 样式问题还没有很好的解决, 例如分 切图 代码 亮 推荐使 在线版本, 便实时查看 jsapi 运 效果 如需搜索, 使 阅读 PDF 软件 带功能即可 更多细节样式调整和 录索引探 付宝容器 jsapi 档 册 PDF 版本 本版本为实验版本, 为线下独 查看使, 受制于 成 PDF 程序的限制, 样式问题还没有很好的解决, 例如分 切图 代码 亮 推荐使 在线版本, 便实时查看 jsapi 运 效果 如需搜索, 使 阅读 PDF 软件 带功能即可 更多细节样式调整和 录索引探索建设中 成时间 : 2017-07-20 12:13:21 Since 8.6 定义键盘 定义键盘使

More information

Microsoft Word - PHP7Ch01.docx

Microsoft Word - PHP7Ch01.docx PHP 01 1-6 PHP PHP HTML HTML PHP CSSJavaScript PHP PHP 1-6-1 PHP HTML PHP HTML 1. Notepad++ \ch01\hello.php 01: 02: 03: 04: 05: PHP 06:

More information

内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指

内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指 内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指 导 你 搭 建 Linux 平 台 下 的 JAVA 开 发 环 境, 包 括 JDK 以 及 集

More information

untitled

untitled 1 Outline 料 類 說 Tang, Shih-Hsuan 2006/07/26 ~ 2006/09/02 六 PM 7:00 ~ 9:30 聯 ives.net@gmail.com www.csie.ntu.edu.tw/~r93057/aspnet134 度 C# 力 度 C# Web SQL 料 DataGrid DataList 參 ASP.NET 1.0 C# 例 ASP.NET 立

More information

Eclipse C C++, or

Eclipse C C++,  or Eclipse C C++, Emailctchen@pl.csie.ntut.edu.tw or s1669021@ntut.edu.tw, s2598003@ntut.edu.tw http://pl.csie.ntut.edu.tw/~ctchen, http://www.ntut.edu.tw/~s2598003/ 2004/9/10 (0.02 ) Eclipse http://www.eclipse.org

More information

题目

题目 开发 Android 应用 目的 : 帮助大家了解 Android 平台开发 作者 : 王威威 技术爱好 : linux,qt, 嵌入式开发 MSN : wangweiweicdma@hotmail.com Email : wang.weiwei1@ztenc.com.cn wangjiecdma@126.com 下载开发资源 1 下载最新的 Android SDK http://code.google.com/android/download.html

More information

Microsoft Word - QTP测试Flex.doc

Microsoft Word - QTP测试Flex.doc TIB 自动化测试工作室 http://www.cnblogs.com/testware 使用 QTP 进行 Flex 自动化测试 自动化测试工具与 Flex 应用程序之间是通过代理 (Agent) 来交互的, 如图所示 : 这也就是为什么后面在使用 QTP 进行 Flex 自动化测试之前要先安装 Flex 插件 配置和编译 Flex 程序的原因 前提条件 在使用 QTP 进行 Flex 4 的测试之前,

More information

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款 JAVA 程 序 设 计 ( 肆 ) 徐 东 / 数 学 系 使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款 使 用 Java class 代 表 保 险 箱 public class SaveBox 类 名 类 类 体 实 现 封 装 性 使 用 class SaveBox 代 表 保

More information

新版 明解C++入門編

新版 明解C++入門編 511!... 43, 85!=... 42 "... 118 " "... 337 " "... 8, 290 #... 71 #... 413 #define... 128, 236, 413 #endif... 412 #ifndef... 412 #if... 412 #include... 6, 337 #undef... 413 %... 23, 27 %=... 97 &... 243,

More information

Photoshop CS6 艺术设计案例教程 ( 第二版 ) 1.1 Photoshop 的应用领域 Photoshop,,, Photoshop Photoshop 的用途 Photoshop CIS ( ) ( ) 案例展现 ~ 1

Photoshop CS6 艺术设计案例教程 ( 第二版 ) 1.1 Photoshop 的应用领域 Photoshop,,, Photoshop Photoshop 的用途 Photoshop CIS ( ) ( ) 案例展现 ~ 1 Chapter 01 Photoshop CS6 的基本操作 本章内容 1.1 Photoshop 的应用领域 1.6 控制面板的显示与隐藏 1.2 位图和矢量图的特性 1.7 新建 打开与保存文件 1.3 像素和分辨率的关系 1.8 图像的缩放 1.4 色彩模式 1.9 屏幕显示模式 1.5 Photoshop CS6 界面 1.10 计算机图形图像常用的色彩模式 Photoshop CS6 艺术设计案例教程

More information

untitled

untitled JavaEE+Android - 6 1.5-2 JavaEE web MIS OA ERP BOSS Android Android Google Map office HTML CSS,java Android + SQL Sever JavaWeb JavaScript/AJAX jquery Java Oracle SSH SSH EJB+JBOSS Android + 1. 2. IDE

More information

图形学 Project 2 要求 任意两个多边形, 求出其相交的区域 使用说明 例 1 第一步, 与 Project 1 画多边形的方法相同, 画一个多边形 ; 第二步, 单击 INTERSECT WITH, 随后画出第二个多边形 ; 第三步, 单击 FILL 进行填充

图形学 Project 2 要求 任意两个多边形, 求出其相交的区域 使用说明 例 1 第一步, 与 Project 1 画多边形的方法相同, 画一个多边形 ; 第二步, 单击 INTERSECT WITH, 随后画出第二个多边形 ; 第三步, 单击 FILL 进行填充 图形学 Project 2 要求 任意两个多边形, 求出其相交的区域 使用说明 例 1 第一步, 与 Project 1 画多边形的方法相同, 画一个多边形 ; 第二步, 单击 INTERSECT WITH, 随后画出第二个多边形 ; 第三步, 单击 FILL 进行填充 例 2 单击 CLEAR, 重新回到初始状态, 下面让我们看一下自交多边形的情况 当单击数次后, 出现左图的情况, 之后我们单击

More information

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double

More information

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF Chapter 2 WF 2.1 WF 2.2 2. XAML 2. 2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF WF WF WF WF EDI API WF Visual Studio Designer 1 2.1 WF Windows Workflow Foundation 2 WF 1 WF Domain-Specific

More information

Android 编程基础 Android 开发教程 & 笔记 1

Android 编程基础 Android 开发教程 & 笔记 1 Android 开发教程 & 笔记 1 多式样 ProgressBar 撰写 : 地狱怒兽 联系 :zyf19870302@126.com 普通圆形 ProgressBar 该类型进度条也就是一个表示运转的过程, 例如发送短信, 连接网络等等, 表示一个过程正 在执行中 一般只要在 XML 布局中定义就可以了

More information

使用Cassandra和Spark 2.0实现Rest API服务

使用Cassandra和Spark 2.0实现Rest API服务 使用 Cassandra 和 Spark 2.0 实现 Rest API 服务 在这篇文章中, 我将介绍如何在 Spark 中使用 Akkahttp 并结合 Cassandra 实现 REST 服务, 在这个系统中 Cassandra 用于数据的存储 我们已经见识到 Spark 的威力, 如果和 Cassandra 正确地结合可以实现更强大的系统 我们先创建一个 build.sbt 文件, 内容如下

More information

Guava学习之Resources

Guava学习之Resources Resources 提供提供操作 classpath 路径下所有资源的方法 除非另有说明, 否则类中所有方法的参数都不能为 null 虽然有些方法的参数是 URL 类型的, 但是这些方法实现通常不是以 HTTP 完成的 ; 同时这些资源也非 classpath 路径下的 下面两个函数都是根据资源的名称得到其绝对路径, 从函数里面可以看出,Resources 类中的 getresource 函数都是基于

More information

Android Android Android SDK iv

Android Android Android SDK iv Android Market Google Android SDK Apple Google Microsoft b2c b 2010 Internet Android how why iii Android 240... Android Android SDK iv Android Market Google Android SDK Visual C++ Java N-tier J2EE Unix/Linux

More information

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO CHAPTER 使用 Hadoop 打造自己的雲 8 8.3 測試 Hadoop 雲端系統 4 Nodes Hadoop Map Reduce Hadoop WordCount 4 Nodes Hadoop Map/Reduce $HADOOP_HOME /home/ hadoop/hadoop-0.20.2 wordcount echo $ mkdir wordcount $ cd wordcount

More information

Microsoft Word - 新1-12.doc

Microsoft Word - 新1-12.doc 实训 5 面向对象编程练习 实训 5 面向对象编程练习 5.1 实训目的 通过编程和上机实验理解 Java 语言是如何体现面向对象编程基本思想 以及如何创建类 和对象 了解成员变量和成员方法的特性 5.2 实训要求 编写一个体现面向对象思想的程序 编写一个创建对象和使用对象的方法的程序 5.3 实训内容 5.3.1 创建对象并使用对象 1 定义一个 Person 类 可以在应用程序中使用该类 成员属性

More information

建模与图形思考

建模与图形思考 F06_c 观摩 :ContentProvider 基於軟硬整合觀點 架构與 DB 引擎移植方法 ( c) By 高煥堂 4 通用性基类 ContentProvider 基於軟硬整合觀點 的使用范例 刚才的范例里, 我们直接使用 DataPersist 类的接口来与 SQLite 沟通 本节将替 DataPersist 配上 ContentProvider 基类, 让 Client 能透过 ContentProvider

More information

01_Service

01_Service 移动平台应用软件开发 Service 主讲 : 张齐勋 zhangqx@ss.pku.edu.cn 移动平台应用软件开发 课程建设小组 北京大学 二零一七年 什么是 Service 与 Activity 一样, 同属 Android 基本组件 后台运行, 不与用户交互, 没有可视化界面 最常见的 Service 如 : 在后台播放歌曲 后台执行文件的下载 同样需在 AndroidManifest.xml

More information

任務二 : 產生 20 個有炸彈的磚塊, 放在隨機的位置編輯 Block 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) Write a description of class

任務二 : 產生 20 個有炸彈的磚塊, 放在隨機的位置編輯 Block 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) Write a description of class 踩地雷遊戲 高慧君南港高中 開啟專案 MineSweep 任務一 : 產生 30X20 個磚塊編輯 Table 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) import java.util.arraylist; Write a description of class MyWorld

More information

BOOL EnumWindows(WNDENUMPROC lparam); lpenumfunc, LPARAM (Native Interface) PowerBuilder PowerBuilder PBNI 2

BOOL EnumWindows(WNDENUMPROC lparam); lpenumfunc, LPARAM (Native Interface) PowerBuilder PowerBuilder PBNI 2 PowerBuilder 9 PowerBuilder Native Interface(PBNI) PowerBuilder 9 PowerBuilder C++ Java PowerBuilder 9 PBNI PowerBuilder Java C++ PowerBuilder NVO / PowerBuilder C/C++ PowerBuilder 9.0 PowerBuilder Native

More information

untitled

untitled 1 行 行 行 行.NET 行 行 類 來 行 行 Thread 類 行 System.Threading 來 類 Thread 類 (1) public Thread(ThreadStart start ); Name 行 IsAlive 行 行狀 Start 行 行 Suspend 行 Resume 行 行 Thread 類 (2) Sleep 行 CurrentThread 行 ThreadStart

More information

腾讯社交广告转化追踪 Android SDK 接入说明文档 V1.2

腾讯社交广告转化追踪 Android SDK 接入说明文档 V1.2 腾讯社交广告转化追踪 Android SDK 接入说明文档 V1.2 文档 腾讯社交广告转化追踪 Android SDK 接入说明文档 V1.2 必读 1. SDK 嵌入 1.1 步骤 1: 添加 SDK 到工程中 1.2 步骤 2: 修改 AndroidManifest.xml 文件 2. 接入代码 2.1 激活事件统计接口 2.1.1 接入代码示例 2.1.2 激活事件主要 API 2.2 更多转化类型统计接口

More information

一、

一、 2015 年 6 月 30 日 卓易广告平台 SDK1.0 二 申请流程...7 卓易广告平台 SDK1.0 一 简介 卓易移动推广 SDK(Android) 是卓易官方推出的移动推广 SDK 在 Android 平台上的版本 ( 以下简称 SDK) SDK 的发行版本 ( 完整下载包为 Adroi_MobAds_SDK.zip) 中包括 JAR 包 javadoc 文档 示例以及您正在阅读的用户手册

More information

目 錄 版 次 變 更 記 錄... 2 原 始 程 式 碼 類 型 之 使 用 手 冊... 3 一 安 裝 軟 體 套 件 事 前 準 備... 3 二 編 譯 流 程 說 明... 25 1

目 錄 版 次 變 更 記 錄... 2 原 始 程 式 碼 類 型 之 使 用 手 冊... 3 一 安 裝 軟 體 套 件 事 前 準 備... 3 二 編 譯 流 程 說 明... 25 1 科 技 部 自 由 軟 體 專 案 原 始 程 式 碼 使 用 手 冊 Source Code Manual of NSC Open Source Project 可 信 賴 的 App 安 全 應 用 框 架 -App 應 用 服 務 可 移 轉 性 驗 證 Trusted App Framework -Transferability Verification on App MOST 102-2218-E-011-012

More information

Android Robert C.C. Huang Oscar F.Y. Liu Peter C.L. Hsieh 2011/03/21

Android Robert C.C. Huang Oscar F.Y. Liu Peter C.L. Hsieh 2011/03/21 Android Robert C.C. Huang Oscar F.Y. Liu Peter C.L. Hsieh 2011/03/21 Outlines for Today Future Planning Review System Architecture Dev. Tools & Making the First App Project Structure & File Details Application

More information

Android 开发教程

Android 开发教程 封面 1 文件存取编程基础 文件 文件可以用来存储比使用引用更大数量的数据 Android 提供方法来读 写文件 只有本地文件可以被访问 优点 : 可以存储大容量的数据 缺点 : 文件更新或是格式改变可能会导致巨大的编程工作 文件操作 读文件 Context.openFileInput(String name) 打开一个与应用程序联系的私有文件输入流 当文件不存在时抛出 FileNotFoundException

More information

C/C++ - 字符输入输出和字符确认

C/C++ - 字符输入输出和字符确认 C/C++ Table of contents 1. 2. getchar() putchar() 3. (Buffer) 4. 5. 6. 7. 8. 1 2 3 1 // pseudo code 2 read a character 3 while there is more input 4 increment character count 5 if a line has been read,

More information

_banneradview.setuserkeywords("swimming"); _banneradview.setusercategories("1,3,4"); _banneradview.setusergender(jdbanneradview.gender_male); _bannera

_banneradview.setuserkeywords(swimming); _banneradview.setusercategories(1,3,4); _banneradview.setusergender(jdbanneradview.gender_male); _bannera 京东与 AdView APP 联盟 SDK Android 版接口说明文档 1.5 1. 嵌入 SDK 1.1 添加 SDK Android Studio 环境 : 菜单 New->New Module->Import.jar or.aar package, 然后选中 App 联盟 SDK 所带的 jar 文件 Eclipse+ADT 环境 : 将 App 联盟 SDK 所带的 jar 文件拷贝到

More information

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File 51 C 51 51 C C C C C C * 2003-3-30 pnzwzw@163.com C C C C KEIL uvision2 MCS51 PLM C VC++ 51 KEIL51 KEIL51 KEIL51 KEIL 2K DEMO C KEIL KEIL51 P 1 1 1 1-1 - 1 Project New Project 1 2 Windows 1 3 N C test

More information

无类继承.key

无类继承.key 无类继承 JavaScript 面向对象的根基 周爱 民 / aimingoo aiming@gmail.com https://aimingoo.github.io https://github.com/aimingoo rand = new Person("Rand McKinnon",... https://docs.oracle.com/cd/e19957-01/816-6408-10/object.htm#1193255

More information

<4D6963726F736F667420506F776572506F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074>

<4D6963726F736F667420506F776572506F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074> 程 序 设 计 实 习 INFO130048 3-2.C++ 面 向 对 象 程 序 设 计 重 载 继 承 多 态 和 聚 合 复 旦 大 学 计 算 机 科 学 与 工 程 系 彭 鑫 pengxin@fudan.edu.cn 内 容 摘 要 方 法 重 载 类 的 继 承 对 象 引 用 和 拷 贝 构 造 函 数 虚 函 数 和 多 态 性 类 的 聚 集 复 旦 大 学 计 算 机 科 学

More information

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc References (Section 5.2) Hsuan-Tien Lin Deptartment of CSIE, NTU OOP Class, March 15-16, 2010 H.-T. Lin (NTU CSIE) References OOP 03/15-16/2010 0 / 22 Fun Time (1) What happens in memory? 1 i n t i ; 2

More information

Hive:用Java代码通过JDBC连接Hiveserver

Hive:用Java代码通过JDBC连接Hiveserver Hive: 用 Java 代码通过 JDBC 连接 Hiveserver 我们可以通过 CLI Client Web UI 等 Hive 提供的用户接口来和 Hive 通信, 但这三种方式最常用的是 CLI;Client 是 Hive 的客户端, 用户连接至 Hive Server 在启动 Client 模式的时候, 需要指出 Hive Server 所在节点, 并且在该节点启动 Hive Server

More information

3.1 num = 3 ch = 'C' 2

3.1 num = 3 ch = 'C' 2 Java 1 3.1 num = 3 ch = 'C' 2 final 3.1 final : final final double PI=3.1415926; 3 3.2 4 int 3.2 (long int) (int) (short int) (byte) short sum; // sum 5 3.2 Java int long num=32967359818l; C:\java\app3_2.java:6:

More information

附录J:Eclipse教程

附录J:Eclipse教程 附 录 J:Eclipse 教 程 By Y.Daniel Liang 该 帮 助 文 档 包 括 以 下 内 容 : Eclipse 入 门 选 择 透 视 图 创 建 项 目 创 建 Java 程 序 编 译 和 运 行 Java 程 序 从 命 令 行 运 行 Java Application 在 Eclipse 中 调 试 提 示 : 在 学 习 完 第 一 章 后 使 用 本 教 程 第

More information

// HDevelopTemplateWPF projects located under %HALCONEXAMPLES%\c# using System; using HalconDotNet; public partial class HDevelopExport public HTuple

// HDevelopTemplateWPF projects located under %HALCONEXAMPLES%\c# using System; using HalconDotNet; public partial class HDevelopExport public HTuple halcon 与 C# 混合编程之 Halcon 代码调用 写在前面 完成 halcon 与 C# 混合编程的环境配置后, 进行界面布局设计构思每一个按钮所需要实现 的功能, 将 Halcon 导出的代码复制至相应的 C# 模块下即可 halcon 源程序 : dev_open_window(0, 0, 512, 512, 'black', WindowHandle) read_image (Image,

More information

Microsoft Word - 第4章 3D相册.doc

Microsoft Word - 第4章 3D相册.doc 第 4 章 3D 相册 学习目标 u 掌握相册界面的开发, 实现相册的立体与倒影效果 在现实生活中, 我们浏览照片时, 不同的相册软件有不同的浏览效果 本章主要实现了一个 3D 效果的相册, 该相册中的图片可以循环滑动展示 4.1 3D 相册 任务综述 相册界面主要是展示一组图片的立体效果, 并显示每个图片的倒影, 左右滑动可以切换不同的图片到 界面的中间位置, 同时在图片下方显示当前图片的标题,

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 310-055Big5 Title : Sun Certified Programmer for the Java 2 Platform.SE 5.0 Version : Demo 1 / 22 1. 11. public static void parse(string str)

More information

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6:

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6: Chapter 15. Suppressed Exception CH14 Finally Block Java SE 7 try-with-resources JVM cleanup try-with-resources JVM cleanup cleanup Java SE 7 Throwable getsuppressed Throwable[] getsuppressed() Suppressed

More information

Microsoft PowerPoint - ch6 [相容模式]

Microsoft PowerPoint - ch6 [相容模式] UiBinder wzyang@asia.edu.tw UiBinder Java GWT UiBinder XML UI i18n (widget) 1 2 UiBinder HelloWidget.ui.xml: UI HelloWidgetBinder HelloWidget.java XML UI Owner class ( Composite ) UI XML UiBinder: Owner

More information

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d

More information

Microsoft Word - ch04三校.doc

Microsoft Word - ch04三校.doc 4-1 4-1-1 (Object) (State) (Behavior) ( ) ( ) ( method) ( properties) ( functions) 4-2 4-1-2 (Message) ( ) ( ) ( ) A B A ( ) ( ) ( YourCar) ( changegear) ( lowergear) 4-1-3 (Class) (Blueprint) 4-3 changegear

More information

百度xx SDK用户手册

百度xx SDK用户手册 社会化分享 Android 组件 用户手册 (1.2.0 版 ) 发布日期 : 2013 年 5 月 24 日 百度开发者中心 ( 版权所有, 翻版必究 ) 目录 第 1 章 概述... 3 第 2 章 运行环境... 3 第 3 章 使用说明... 3 3.1 新建工程... 3 3.2 引入社会化分享 JAR 包... 4 3.3 配置 ANDROIDMANIFEST.XML... 4 3.4

More information

Microsoft Word - 第1章 Android基本概念.docx

Microsoft Word - 第1章 Android基本概念.docx Android 系 统 下 Java 编 程 详 解 作 者 : 华 清 远 见 第 1 章 Android 基 本 概 念 本 章 简 介 本 章 主 要 介 绍 Android 基 本 概 念 方 面 的 内 容, 包 括 Android 平 台 特 性 Android 系 统 架 构 Android 开 发 框 架 和 Android 开 发 环 境 搭 建 1.1 Android 简 介 Android

More information

untitled

untitled How to using M-Power Report API M-Power Report API 力 了 M-Power Report -- Java (Library) M-Power Report API 行 Java M-Power Report M-Power Report API ( 30 ) PDF/HTML/CSV/XLS JPEG/PNG/SVG 料 料 OutputStream

More information

基于ECO的UML模型驱动的数据库应用开发1.doc

基于ECO的UML模型驱动的数据库应用开发1.doc ECO UML () Object RDBMS Mapping.Net Framework Java C# RAD DataSetOleDbConnection DataGrod RAD Client/Server RAD RAD DataReader["Spell"].ToString() AObj.XXX bug sql UML OR Mapping RAD Lazy load round trip

More information