**
CityMaker安卓移动端SDK入门
**
一、文章说明
本文主要讲述了CityMaker安卓移动端开发环境部署以及SDK的调用流程,方便使用人员尽快了解CityMaker移动端开发。熟悉基础软件安装的人员可以直接跳至第五部分进行SDK集成。
下载地址:链接:https://pan.baidu.com/s/14uPBRcN2kJyeycBJSDf9sg 提取码:vt1n
二、系统要求
Windows系统:Win7或更高
内存:4G+
硬盘:4G+(此处指的是需要为Android Studio准备的硬盘空间)
Java Development Kit (JDK) 8 或更高
三、软件准备(注意:下载与自己系统对应的软件版本)
Android Studio:
下载地址1:http://developer.android.com/sdk/installing/studio.html(需翻墙)
下载地址2:http://tools.android-studio.org/index.php(国内镜像网站,无需翻墙)
jdk1.7及以上
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
四、安装教程
1、安装JDK
双击下载的jdk的exe文件,选择安装路径,此处建议您选择一个没有空格的路径,比如:D:\jdk等
点击下一步即可完成jdk的安装
2、配置环境变量
在桌面上计算机点右键选属性,或是开始菜单计算机上点右键选属性, 左边点高级系统设置,点下边的环境变量
在新弹出窗口上,点系统变量区域下面的新建按钮,弹出新建窗口,变量名为JAVAHOME,变量值填JDK安装的最终路径,我这里装的地址是D:\Program Files\Java\jdk1.7.051,所以填D:\Program Files\Java\jdk1.7.0_51,点确定完成
下面需要设置Path变量,由于系统本身已经存在这个变量,所以无需新建,在原本基本上添加JDK相关的,找到Path变量双击编辑,由于每个值之间用;符号间断,所以先在末尾加上;(注意是英文格式的,不要输其他符号空格等),加上;符号后在末尾加入%JAVAHOME%\bin;%JAVAHOME%\jre\bin,点确定完成(注意:此处切记千万不要删除以前的内容,否则可能会造成其他程序的未知异常)
下面添加CLASSPATH变量,由于不存在,所以新建一个,变量名CLASSPATH,变量值%JAVAHOME%\lib\dt.jar;%JAVAHOME%\lib\tools.jar,首尾不带空格的,点确定完成,至此环境变量配置完成,点确定关掉环境变量配置窗口。
上面步骤完成后,下面验证下是否配置成功,点开始运行输入cmd打开命令行窗口,输入java -version,显示版本1.7.051,输入javac -version,也显示1.7.051,说明JDK安装及环境变量配置成功。
3、安装Android Studio
双击执行下载的Studio安装包,首先会看到欢迎页
在选择安装组件中,虚拟机可以不用安装,不过个人更建议您选择安装
一路Next直到安装完成即可
点击finish按钮即可启动Android Studio
工程创建步骤,一路Next
五、集成SDK步骤
1、导入SDK,将以下文件放到工程中对应文件夹:
CityMakerAndroidSDK\libs下所有文件并在工程中调用(核心库),放在工程libs文件夹
CityMakerAndroidSDK\assets下所有文件(控件调用的图片资源)
CityMakerAndroidSDK\src下所有文件(接口封装层 方便项目开发时重写事件)
删除_TestActivity
2、搭建工程:
在工程中res\layout中activity_main.xml中,将下列代码复制粘贴到其中,注意覆盖原有的内容,其中SurfaceView即为三维控件,代码如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<SurfaceView
android:id="@+id/surfaceview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentTop="true" />
</RelativeLayout>
在工程中src中MainActivity的OnCreate方法中,添加如下代码,添加位置如图所示:
SurfaceView surfaceView = (SurfaceView) findViewById(R.id.surfaceview);
RenderControl.get().initialize(getApplicationContext(), surfaceView, getAssets(), new RenderControlCallback() {
@Override
public void onInitialFinished() {
RenderControl.get().objectManager.getSkyBox().setDefaultSkybox();//设置天空盒
RenderControl.get().camera.setFlyTime(1);//设置飞行时间
RenderControl.get().viewport.setCompassOffset(-32.f, -64.f);
RenderControl.get().viewport.setThumbtackOffset(-32.f, -150.f);
//设置拾取 (必设)
RenderControl.get().setMouseSelectObjectMask(EnumValue.gviMouseSelectObjectMask.gviSelectRenderGeometry.getValue()| EnumValue.gviMouseSelectObjectMask.gviSelectLable.getValue()
| EnumValue.gviMouseSelectObjectMask.gviSelectFeatureLayer.getValue());
}
@Override
public void onRest() {
}
@Override
public void onDestroy() {
}
@Override
public void onTouch(View paramView, MotionEvent event) {
}
@Override
public void onCameraFlyFinished(int type) {
}
Mainfest.xml配置文件(注意:可以只添加1,2两步,对照代码位置复制进去即可;也可以复制所有的代码,覆盖原来的代码即可):
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="gvitech.it.com.test01">
<!-- 1、添加所需要的权限 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- 到此结束 -->
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity"
<!-- 2、设置屏幕横向 -->
android:configChanges="keyboardHidden|orientation"
android:screenOrientation="landscape">
<!-- 到此结束 -->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
配置gradle文件
3、按照上述步骤操作添加完成以后,编译运行项目即可看见初始的Citymaker控件了。
注意事项
1、加载so文件
libs目录中有so文件存在,在eclipse中我们只需要正常的拷贝so文件至libs文件夹即可,但是在Android Studio中还需要配置gradle文件,加入以下代码即可。(注意:此处说的gradle为app目录下的gradle):
sourceSets{
main{
jniLibs.srcDir 'libs'
}
}
2、若因开发环境或未知原因,即使配置了gradle文件还是无法正确加载so文件,
解决过程:按照网上的新建jniLibs文件夹,添加so文件->配置build.gradle文件 -> makeproject方式解决,没有解决。
解决方案:
1、新建lib文件夹
2、将so文件及外层文件夹拷贝进去,打成压缩包
3、更改压缩包文件后缀名为 .jar,将jar包导入项目libs文件夹,添加为依赖库。
备注:解决方案来自于:http://www.cnblogs.com/zhujiabin/p/6223989.html