[Xamarin] 從Xamarin中呼叫 *.jar 的 library - 呼叫篇 (转帖)
上篇文章我們建立一個很簡單的Library : com.example.blackfactory.UtilFunc 現在我們要在Xamarin 中呼叫囉!
首先我們要先成立一個橋接的專案 JARBridge ,這邊請注意 需要開 Java Bindings Library
接下來預設在專案中有一個Jars的檔案夾,我們就嵌入上篇文章中的 blackfactory.jar
很重要一點請將該檔,在property 中 Build Action 設定成 Embeddedjar
這時候我們建立一支 Util.cs 來做轉介呼叫
C# Code :
using Com.Example.Blackfactory;
namespace JARBridge
{
public class JARUtil
{
/// <summary>
/// 將美金換台幣
/// </summary>
/// <param name="d"></param>
/// <returns></returns>
public double ConvertUS2NTFormJAR(double d)
{
//轉呼叫JAR 中的Method
return UtilFunc.ConvertUSToNT(d);
}
/// <summary>
/// 取得貨幣轉換資訊
/// </summary>
/// <param name="nation"></param>
/// <returns></returns>
public CurrencyInfo GetCurrencyInfoFormJAR(string nation)
{
return UtilFunc.GetCurrencyInfo(nation);
}
}
}
記得要using Com.Example.Blackfactory 你放心這些東西Xamarin 很溫馨的都有 intelligence sense
接下來建立一個主要的專案,剛剛那專案只是負責拿來橋接得而已 請注意,新建立好主要的專案記得設成Default Project 不然你會發現怎麼都執行不起來
Layout Code :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:id="@+id/btnCallJar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="呼叫JAR METHOD" />
</LinearLayout>
Main Actiivity C# Code :
using Android.App;
using Android.Widget;
using Android.OS;
namespace TestCallJar
{
[Activity(Label = "TestCallJar", MainLauncher = true, Icon = "@drawable/icon")]
public class Activity1 : Activity
{
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.Main);
var btnCallJar = FindViewById<Button>(Resource.Id.btnCallJar);
btnCallJar.Click += delegate
{
var jarProvider = new JARBridge.JARUtil();
Toast.MakeText(this,
" 100美金轉臺幣為 " + jarProvider.ConvertUS2NTFormJAR(100) + "," +
jarProvider.GetCurrencyInfoFormJAR("en").NationName + "!!", ToastLength.Long).Show();
};
}
}
}
記得不要忘記去reference JARBridge 這專案
測試結果:
[Xamarin] 從Xamarin中呼叫 *.jar 的 library - 呼叫篇 (转帖)的更多相关文章
- [Xamarin] 從Xamarin中呼叫 *.jar 的 library -建立.jar篇 (转帖)
嗯,這篇我們來聊聊如何從Xamarin 中來呼叫,已經包好的.jar ,首先因為要讓測試順利,我們開一個Android Java 的專案 當然是Eclipse ,然後我們簡簡單單寫一個測試用的libr ...
- Xamarin.Android 调用原生的Jar包
我们有时候会从Android原生开发(Java)转移到Xamarin.Android开发时,需要将过去写好的Android Class Library直接嵌入到Xamarin.Android底下使用, ...
- Xamarin.Froms项目中包含的文件
Clearly, the program created by the Xamarin.Forms template is very simple, so this is an excellent o ...
- 在Xamarin.iOS项目中使用预设数据库
在Xamarin.iOS项目中使用预设数据库 当开发者准备好一个预设数据库文件后,就可以将这个数据库文件添加到创建的项目中了.本节将分别在Xamarin.iOS和Xamarin.Android项目中使 ...
- Xamarin iOS开发中的编辑、连接、运行
Xamarin iOS开发中的编辑.连接.运行 创建好工程后,就可以单击Xamarin Studio上方的运行按钮,如图1.37所示,对HelloWorld项目进行编辑.连接以及运行了.运行效果如图1 ...
- XamarinSQLite教程在Xamarin.Android项目中提取数据库文件
XamarinSQLite教程在Xamarin.Android项目中提取数据库文件 由于不能直接打开该文件,开发者需要先将数据库文件从Android系统中提取出来.操作步骤如下. (5)选择MyDoc ...
- XamarinSQLite教程在Xamarin.Android项目中定位数据库文件
XamarinSQLite教程在Xamarin.Android项目中定位数据库文件 实际开发中,经常需要验证数据库操作的正确性.这个时候,需要打开数据库文件,进行确认.下面是如何找到MyDocumen ...
- XamarinSQLite教程在Xamarin.Android项目中使用数据库
XamarinSQLite教程在Xamarin.Android项目中使用数据库 在Xamarin.Android项目中使用预设数据库的具体操作步骤如下: (1)创建一个Xamarin.Android项 ...
- XamarinSQLite教程Xamarin.iOS项目中打开数据库文件
XamarinSQLite教程Xamarin.iOS项目中打开数据库文件 以下是打开MyDocuments.db数据库的具体操作步骤: (1)将Mac电脑上的MyDocuments.db数据库移动到W ...
随机推荐
- JAVA中获得一个月最大天数的方法(备忘)
Calendar 类是一个抽象类,为日历字段之间的转换提供了一些方法.其中有一个重要方法 getActualMaximum ,该方法用于返回指定日历字段实际的最大值. 利用这个方法(Calendar. ...
- #include <cstdio>
#include <cstdio> using namespace std; int main() { int gx; gx=6; printf("%d\n",gx); ...
- 十大开源的.NET用户界面框架 让GUI设计不再犯难
选择一款合适的GUI框架是.NET开发中比较重要但又很棘手的问题,因为用户界面相当于一款应用的"门面",直接面向用户.好的UI更能吸引用户,有时甚至成为决定一款应用成败的关键.下面 ...
- C# this和base的使用
namespace THISORBASE { //参考地址:http://blog.sina.com.cn/s/blog_7300c7d90100rs20.html /*这个时候,派生类和基类的_st ...
- netload 加载程序集抛异常----无法加载程序集解决办法
netload 加载程序集抛异常----无法加载程序集 错误信息如下: 无法加载程序集.错误详细信息: System.BadImageFormatException: 未能加载文件或程序集“file: ...
- lambda 表达式 比较时间大小
data.Orderdetails.Where(r => r.orderstatus == id && DateTime.Compare((DateTime)r.OrderTim ...
- 深入浅出UML类图(一)
在UML 2.0的13种图形中,类图是使用频率最高的UML图之一.Martin Fowler在其著作<UML Distilled: A Brief Guide to the Standard O ...
- js 字符串格式化方法
String.prototype.format = function(args) { var result = this; if (arguments.length > 0) { if (arg ...
- Fire
Fire 分析: 首先,明确题意:b1,b2,--,bn 交换为b2,--,bn,b1,但这并不是意味着只能从b1开始交换,(这点从样例中可以看出),并且也不意味着交换的必须是连续的一串,可以是几个单 ...
- http协议性能相关的技术要点
1.http协议介绍 HTTP是一种请求/响应式的协议,基于TCP协议来进行数据传输. HTTPS是HTTP协议和安全套借口层(SSL)的结合,即安全增强版的HTTP. HTTP请求由三部分组成:请求 ...