以梦为马,不负韶华

搜索
查看: 5213|回复: 9
收起左侧

[软件交流] Android开发使用控件入门

[复制链接]
发表于 1970-1-1 08:00:00 显示全部楼层 |阅读模式
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.javapackage
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);
}
});
} }
});
});
如下抓图:

                               
登录/注册后可看大图

到目前为止,已经可以编译运行例子
效果如下:

                               
登录/注册后可看大图


                               
登录/注册后可看大图


                               
登录/注册后可看大图

发表于 1970-1-1 08:00:00 显示全部楼层
不明觉厉,是让手机也能打开CAD么?
回复 支持 反对

使用道具 举报

发表于 1970-1-1 08:00:00 显示全部楼层
厉害了楼主
回复 支持 反对

使用道具 举报

发表于 1970-1-1 08:00:00 显示全部楼层
谢谢楼主分享。
回复 支持 反对

使用道具 举报

发表于 1970-1-1 08:00:00 显示全部楼层
感谢楼主分享
回复 支持 反对

使用道具 举报

发表于 1970-1-1 08:00:00 显示全部楼层
使用太复杂了,如果是固定流程,设置批处理一气呵成就好了
回复 支持 反对

使用道具 举报

懒得打字嘛,点击右侧快捷回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|以梦为马,不负韶华

GMT+8, 2024-12-29 21:26

Powered by 以梦为马,不负韶华

© 2024-2099 Meng.Horse

快速回复 返回顶部 返回列表