Xamarin.Android 入门之:Bind java的jar文件+Android显示gif图片

一、引言

在xamarin开发的时候,有时我们想要做一个功能,但是这个功能已经有人用java写好了,并且打包成了jar文件。那么我们可以直接把对方的jar文件拿过来用而不是重新用c#写代码。

关于bind jar更详细的内容可以查看https://developer.xamarin.com/guides/android/advanced_topics/binding-a-java-library/ ,这边只是做最简单的绑定。

二、Bind JAR

现在我想做一个功能,使在手机中显示gif图片,普通的Android控件是没有办法显示的,于是我去百度搜索,最后搜到了,找到一个别人做好的代码并编译成了jar文件,于是我需要把他的jar文件bind到我的vs项目中。

1.新建一个项目,在resource文件夹的drawable子文件夹下放入一个gif文件

2.在当前解决方案中再新建一个项目,但在项目选项中选中“binding library”

会创建如下项目。

3.找到jars文件夹,把jar文件放进去,并设置其属性的“生成操作”为“EmbeddedJar”。然后重新生成项目,如果不报错表示bind成功。

4.在我们的第一个创建的项目中引用用来bind的项目

引用之后双击引用名称可以看到命名空间和里面的类和方法名称。

三、完成demo

1.在main.axml文件中加入以下代码,com.ant.liao.GifView表示引用com.ant.liao的 GifView控件

<?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">
    <com.ant.liao.GifView
        android:id="@+id/gif1"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:paddingRight="14px"
        android:enabled="false"
        android:visibility="visible" />
    <TextView
        android:id="@+id/tsxt"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:paddingRight="4px"
        android:enabled="false"
        android:text="click the Angel" />
</LinearLayout>

2.在MainActivity.cs文件中添加以下代码

using System;
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
using Com.Ant.Liao;
namespace GifDemo
{
    [Activity(Label = "GifDemo", MainLauncher = true, Icon = "@drawable/icon")]
    public class MainActivity : Activity, ImageView.IOnClickListener
    {

        private Com.Ant.Liao.GifView gif;//定义gif控件
        private Boolean f = true;
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            SetContentView(Resource.Layout.Main);
            gif = FindViewById<Com.Ant.Liao.GifView>(Resource.Id.gif1);
            //gif.SetShowDimension(500, 500);
            gif.SetGifImageType(Com.Ant.Liao.GifView.GifImageType.Cover);
            gif.SetGifImage(Resource.Drawable.demo);
            gif.SetOnClickListener(this);//设置点击暂停
        }

        public void OnClick(View v)
        {
            if (f)
            {
                gif.ShowCover();
                f = false;
            }
            else
            {
                gif.ShowAnimation();
                f = true;
            }
        }
    }
}

3.效果图

时间: 2024-08-25 07:34:25

Xamarin.Android 入门之:Bind java的jar文件+Android显示gif图片的相关文章

Java对Jar文件的操作[转]

原文地址:http://www.cnblogs.com/mailingfeng/archive/2012/04/24/2122160.html 一些文件路径补充知识: URI uri = new URI("file:/D:/workspace-home/JavaDemo/conf/"); File dirFile = new File(uri);  String dirPath = System.getProperty("user.dir") + "\\c

C#调用java的jar文件的方法(转)

一.将已经编译后的java中Class文件进行打包: Eclipse或myeclipse进行Export选择jar即可.或者使用命令 如:将某目录下的所有class文件夹全部进行打包处理: 使用的命令:jar cvf test.jar -C com/ . 其中test.jar为要生成的jar包:com/ . 为指定的当前目录下的文件夹,该文件夹包括子文件夹及class文件: cmd->到java class文件目录下->jar  cvf    要生成的jar包名称.jar    java类文件

android studio使用gradle自定义导出jar文件

在android studio中导出jar文件并不像在eclipse那样简单,不过也不是太复杂.需要用到gradle脚本来导出jar文件. 我们不希望导出的jar文件带有R.class和BuildConfig.class这样的类,所以我们需要编写gradle脚本来实现自定义jar文件内容. 先打开module项目下的build.gradle文件,在android{}标签下编写task命令,如下是我的gradle文件: apply plugin: 'com.android.application'

Java 从Jar文件中动态加载类

由于开发的需要,需要根据配置动态加载类,所以简单测试了一下JAVA动态加载类 定义接口 package loader; public interface HelloIface {     public String hello();          public String sayHi(); } 实现接口 在其他插件类实现此接口,并导出为jar,如D:/tmp/test.jar package loader; public class HelloImpl implements HelloIf

java 打包jar文件以在没有安装JDK或JRE的机子上运行

前言: java号称“一次编译,到处运行”,但这有个前提,那就是你的机子上得安装java环境.对于开发人员或其他一些比较懂计算机的人来说这没什么,但是对于一些不懂计算机的人来说这会很麻烦,他们更希望的是东西拿来就能用,而不用另外安装其他软件.我们可以通过把jre和导出的jar文件封装在一起来实现这个效果. 方法其实很简单,就是配置好第三方库路径,再用自己的JRE里的javaw -jar xxx.jar 命令运行jar文件.详情如下: 1.把工程导出为jar文件,可借助Eclipse完成.本例为E

通过java打开jar 文件

JAR文件是许多信息经过封装后形成的捆绑体.也就是一个压缩文件. JAR 文件格式提供了许多优势和功能,其中很多是传统的压缩格式如ZIP或者RAR所没有提供的,JAR文件 还用于安排和封装库.组件和插件过程,并可被像编译器和 JVM 这么的工具直接利用.安装java软件就可以打开,具体方法是右键-打开方式-选择程序-找到装的java即可. 原文地址:https://www.cnblogs.com/benpao1314/p/10265977.html

【Android】数据存储-java IO流文件存储

1.数据持久化:将在内存中的瞬时数据保存在存储设备中.瞬时数据:设备关机数据丢失.持久化技术提供一种机制可以让数据在瞬时状态和持久状态之间转换. 2.Android中简单的三种存储方式:文件存储.SharedPreference 存储以及数据库存储. 1.文件存储 :不对数据作任何处理,将数据原封不动地存储到文件中,适合存储一些简单的文本数据和二进制数据. a.将数据存储到文件中 Context类提供了一个openFileOutput()方法,可以用于将数据存储到文件中.这个方法接收两个参数,第

windows计划任务后台定时执行java的jar文件

前提是你已经安装jdk windows计划任务正常情况下不能执行jar,我们用vbs调用就可以 vbs调用jar的代码: Set ws = CreateObject("Wscript.Shell") ws.run "cmd /c C:\Users\wuGroup\Desktop\mysql_back.jar",vbhide jar包路径和以上代码的路径对应起来即可 下面可以参考http://blog.csdn.net/kakarot5/article/details

小猪的Android入门之路 Day 8 part 4

小猪的Android入门之路 Day 8 part 4 Android网络编程浅析--Android网络数据的上传 --转载请注明出处:coder-pig 本节引言: 在part 3中我们已经学习了Android网络数据的下载,难点是多线程断点续传下载; 有下载,当然也有上传啦,本节就来研究下Android中的网络数据的上传! 1.使用GET或者Post方式上传数据给服务器 2.使用开源框架HttpClient上传数据到服务区 3.发送xml数据给服务器 4.通过Http协议上传文件 5.Web