1、 环境搭建: 1.1、 安装AndroidStudio
安装完后,第一次运行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); } }); } } }); }); 如下抓图:
到目前为止,已经可以编译运行例子 效果如下:
|