1、把那三个方法在类里面定义为NATIVE的方法
2、将那个DLL导入到工程里面
3、使用静态块System.loadLibrary("dllName")

解决方案 »

  1.   

    艾LZ 直接找JNI的资料字写看看吧 基本的调用接口都有的
      

  2.   

    可以借助开源组件JNative:
    具体可以参考这篇文章:
    http://tvjody.javaeye.com/blog/125643
      

  3.   

    还是用native吧
     我们知道,当一个类第一次被使用到时,这个类的字节码会被加载到内存,并且只会回载一次。在这个被加载的字节码的入口维持着一个该类所有方法描述符的list,这些方法描述符包含这样一些信息:方法代码存于何处,它有哪些参数,方法的描述符(public之类)等等。
        如果一个方法描述符内有native,这个描述符块将有一个指向该方法的实现的指针。这些实现在一些DLL文件内,但是它们会被操作系统加载到java程序的地址空间。当一个带有本地方法的类被加载时,其相关的DLL并未被加载,因此指向方法实现的指针并不会被设置。当本地方法被调用之前,这些DLL才会被加载,这是通过调用java.system.loadLibrary()实现的。
    示例:    
        public class IHaveNatives
        {
          native public void Native1( int x ) ;
          native static public long Native2() ;
          native synchronized private float Native3( Object o ) ;
          native void Native4( int[] ary ) throws Exception ;
        } 
      

  4.   

    这个问题好像出现N会了。。
    static{
     System.out.loadLibrary("dllName");
    }
    将你那个方法申明为NATIVE的。。
      

  5.   

    1、把那三个方法在类里面定义为NATIVE的方法 
    2、将那个DLL导入到工程里面 
    3、使用静态块System.loadLibrary("dllName")