用Visual Studio写Android程序的一点体验

嘎子 Android, C# 2017-04-05 643 次浏览 , 没有评论

之前也写过类似的文章,当时只是测试,最近这几天用Visual Studio写了一个小程序,再谈一下自己的感受。

先说说自己的初忠。要写一个数据处理的Android小程序,自己之前都是用C#的,所以C#的数据处理部分自己手里还是比较完备的。Android方面主要是界面,再就是通信问题。

自己一开始选了两个备选方案:

1、将自己数据处理部分的C#代码转成java。

2、用Visual Studio来写Android程序。

一、先谈谈代码的相互转化问题

不同代码之间写的东西能相互转化是最好的,特别是现在对于多种设备,多种语言的现场。基本每一种语言都带了相关的功能,好不好用,能不能用是个大问题。

1.1 C#代码在java中调用

java中有个东东叫JNI,主要就是用来代码间相互转换的。在网络上找了一些资料,发现大家多用的是C/C++在java中调用,关于C#在java中的调用讨论的非常少。也找到了几种工具,感觉都不是很靠谱的样子,所以这种方式果断放弃。

1.2 是C#中调用java代码

用的技术还是JNI,但是,Visual Studio现在知道在Android开发中绕不开java语言,所以微软果断的出了一个自动将java封闭的JNI工具。此工具可以自动生成代码,只要经过几步的设置,一个java的类库就变成了C#的类库。使用方法与java基本保持一致,同时又具有C#的方便、可用性高的特点。

我只想说有微软真的是太好了!!!此功能在Visual Studio中叫做Bindings Library,不仅能够绑定jar库,还能绑定aar。此次我也使用了这个功能,具体下面再介绍。

二、谈谈自己写的小程序用了哪些功能

自己写的这个小程序用的功能还是不少的,每一种功能我都会简单的写一个小教程,希望大家也能越来越不受语言限制,自由的写程序。

2.1 用Visual Studio设计了界面

用Visual Studio来设计界面,个人感觉体验并没有Android Studio,但相去不远。而且基本和Android Studio相近。但有一点感觉用C#来做事件处理要简单不少(这可能不太算是界面方面的东东)。

2.2 使用了Android Library库BluetoothSPPLibrary

BluetoothSPPLibrary是Github上关于蓝牙SPP协议实现的一个非常经典的类库,写的非常完善加好用。在Visual Studio中找到这样的代码的可能性很小,所以只能使用Visual Studio的Bindings Library功能。使用完之后感觉体验太爽了。

写一个简单的教程:

2.2.1 新建Bindings Library

具体怎么新建就不多说了,不会的话。。。你还是换回Android Studio吧!!开玩笑的,可以在文章后留言来问我。

2.2.2 导入aar库

这里说点题外话,就是如何下载aar。如果Github上提供了,那么直接下载,不用我教。

但Github上多是源码,要自己编译,这是一个非常麻烦的过程。我们可以不用源码编译,而用Gradle来进行库的下载。我的做法是新建一个Android Studio工程,然后在gradle.build中加入库的下载。这样gradle就会自动去下载aar文件了。下载后你找到复制出来就可以了。

导入aar库的详细教程可以参考:Binding a Java Library – Xamarin。简单一点就是分成下面几个步骤:

1、新建Binding Library。

2、将aar文件放到新建库的“Jars”文件夹下,并将其包含到项目中。具体方法是右键点击Jars文件夹,选择Add > Existing Item就可以了。

3、然后是最重要的一步。将aar文件的Build Action设成LibraryProjectZip。Build Action可以在属性面板中设置。

4、最后设置一下Complie Using Android Version,这个设置是在Binding Library的项目属性中进行设置。

然后你就可以像普通的dll库一样使用aar了,当然,在使用之前不要忘记Build一下。

2.3 使用了之前用.Net 3.5写的数据处理类库

这个真没有什么可写的,和普通的WinForm是一样一样的。

三、程序大小及总结

自己最后编译了一个可以安装的apk文件,大小为4.65MB,虽然说对于这么点功能来讲属于一个非常大的文件了,但完全在可以接受的范围内。

上一次在用Visual Studio写Android时自己还是有点抵触的,并不看好Visual Studio。但这一次却是一个非常不错的体验。在短时间内Visual Studio可能还不存在谁替代谁的问题,但从长远来看,Visual Studio真是走了一步好棋。

个人觉得,在PC机上,Windows系统在短时间之内还是有统治地位的。Android在短时间之内在手机方面地位也很难动摇。所以如果Visual Studio在这两方面都稍有优势,那么必然会带来十分巨大的好处。对于一些想用更少的成本,兼容更多系统的用户来讲,这是一个非常好的选择。

原创文章,转载请注明: 转载自TsonTec:测量解决方案提供者

本文链接地址: 用Visual Studio写Android程序的一点体验

相关主题

说点什么

您将是第一位评论人!

提醒
avatar
wpDiscuz
回顶部