如何在Mono for android中添加友盟sdk,这个功能非常重要,他直接牵扯一个非常重要的问题:如何在mono for android的项目中引入jar包?考虑到android目前大量的应用都是基于java开发的,很多开源的类库和组件也是基于java开发的,所以如何在mono项目引入jar包非常关键,这是做mono for android应用开发的核心之一。我们在项目中已经成功地引入了jar包,几乎所有的包都可以引入和使用,这当然归功于xamarin公司的优秀产品。
在这里,我先介绍第一种方法:直接在app项目引入jar包,通过桥接语言调用。其实在实际项目中这种方式用得很少,但我强烈建议每一个C#程序员都尝试一次,因为他会让你对编程语言有更深一层次的理解。我以umeng_sdk.jar为例,这个包主要是用于统计app运行、安装等情况的。
step1:在项目添加现有文件,选择umeng_sdk.jar;
step2:将umeng_sdk.jar的属性Build Action,设置为AndroidJavaLibrary;
step3:创建一个类,如下所示
/// /// Java libary helper.
/// java类库
/// public static class JavaLibaryHelper
{
#region umeng class
private static IntPtr _umengHelperClass = JNIEnv.FindClass(“com/umeng/analytics/MobclickAgent”);
public static void UmengOnResume(Context context)
{
IntPtr methodId = JNIEnv.GetStaticMethodID(_umengHelperClass, “onResume”, “(Landroid/content/Context;)V”);
JNIEnv.CallStaticVoidMethod(_umengHelperClass, methodId,new JValue(context));
}
public static void UmengOnPause(Context context)
{
IntPtr methodId = JNIEnv.GetStaticMethodID(_umengHelperClass, “onPause”, “(Landroid/content/Context;)V”);
JNIEnv.CallStaticVoidMethod(_umengHelperClass, methodId,new JValue(context));
...