1.环境搭建
1.1、 安装AndroidStudio
到网站 http://www.android-studio.org/下安装包,按照提示下载安装。
安装完后,第一次运行AndroidStudio需要下载更新SDK包,可能需要翻墙:
1.2、下载JDK6
http://java.sun.com/javase/downloads/index.jsp
下载并安装Java开发包
安装后的目录,和文件,注意现在最新的JDK安装不支持winxp,建议使用win7系统:
我们安装在D:\Android\JDK 之后需要通过"我的电脑"->"属性"->"高级"->"环境变量",来新建一个JAVA_HOME的环境变量,指向JDK的目录,如下
1.3、 解压控件安装包程序
双击,从我们网站www.mxdraw.com 下载的安装自解压包文件,如下:
MxDraw6.0Android(20200628)TryVersion.exe,解压目录如下:
安装目录下 “MxAndroid6.0.chm”文件是我们所有API函数说明。
2. 运行自带Demo
在安装目录: SRC\MxDraw6.0\AndroidLibSample,下是我们的一个自带的demo,它里面有我们所有API的演示调用代码可以参考。
运行AndroidStudio打开该目录,如下:
打开工程后,可以直接点运行,我们在”逍遥模拟器”下运行效果如下:
默认把DWG图纸拷贝到sdcard/TestMxLib目录下,运行demo就能看这个文件,然后点击打开。
2.1、 MxCADAppActivity说明
该活动主要是存放CAD控件模块的地方,它会从布局资源: res/layout/cadglview.xml加载UI,直接修改该资源来修改UI。
修改public void onCreate(final Bundle savedInstanceState)函数中如下位置,可以在启动时,直接打开DWG图纸。
函数: public void mcrxEntryPoint(int iCode)的kInitAppMsg入口,是控件初始化调用位置,在这里设置控件的属性,比如是否显示浏览文件UI,或是否显示工具条等属性,如下:
2.2、 工具条说明
资源文件:assets/res/mxtool.json定义了控件工具条内容,工具条现在分两级,可以直接修改该工具条文件,来重新定义工具条,工具条显示效果如下:
文件内容如下:
查看工具条文件,可以看到点按钮执行的命令,比如画图直线,执行命令是Mx_Line,
也可以在自己的UI按钮事件中,调用: MxFunction.sendStringToExecute(“Mx_Line”);开始画直线功能。
3. 把控件移植到新的工程
3.1、 新建AndroidStudio 工程
在控件程序安装目录下新建Test目录如下,
运行AndroidStudio,新建工程:
新建工程路径设置在Test目录,如下:
使用默认值,一直点下一步,直到完成
3.2、 拷贝文件
把 SRC\MxDraw6.0\AndroidLibSample\app\src\org\mxdrawlibtest\cpp\MxCADAppActivity.java,ImageScaleUtil.java, MxDrawTest.java,MxDrawTmpTest.java,MyBitmapAdjustUtil.java,MyImagePicker.java,NewPathUtil.java文件拷到Test\app\src\main\java\com\example\mytest目录下,
把SRC\MxDraw6.0\AndroidLibSample\app目录下的,assets、lib、libs文件拷到Test\app目录下
把SRC\MxDraw6.0\AndroidLibSample\app\res\layout\cadglview.xml拷贝到Test\app\src\main\res\layout
3.3、 修改工程设置 ,并运行
修改bulid.gradle,增加相关目录设置,增加assets,和libs目录支持如下:
sourceSets.main {
jniLibs.srcDir "libs"
assets.srcDir "assets"
}
抓图:
增加mxdrawlibrary库支持
repositories {
flatDir {
dirs 'lib'
}
}
compile(name:'mxdrawlibrary', ext:'aar')
同步 Gradle File
修改MxCADAppActivity.java,ImageScaleUtil.java, MxDrawTest.java,MxDrawTmpTest.java,MyBitmapAdjustUtil.java,MyImagePicker.java,NewPathUtil.java把package
com.mxdrawlibtest.mxdraw.mxdrawlibtest;改成package com.example.mytest; 修改AndroidManifest.xml,增加:MxCADAppActivity申明
<activity android:name=".MxCADAppActivity" android:label="@string/app_name" android:screenOrientation="sensor"
android:theme="@style/Theme.AppCompat.NoActionBar" android:configChanges="orientation|screenSize">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
抓图如下:
3.4、 增加打开按钮,打开MxCAD
在界面上,放一个打开按钮,并响应按钮点击事件,
增加按钮响应代码:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btnOpenCAD = (Button)findViewById(R.id.button_opencad);
btnOpenCAD.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent myIntent = new Intent(getApplicationContext(), MxCADAppActivity.class);
String dirMxDraw = Environment.getExternalStorageDirectory() + "/" + "TestMxLib";
myIntent.putExtra("file", dirMxDraw + "/sample.dwg");
startActivityForResult(myIntent, 0);
}
});
} }
});
});
如下抓图:
到目前为止,已经可以编译运行例子
效果如下: