Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在android中处理C#sdk_Java_C#_Android_Dll_Sdk - Fatal编程技术网

Java 在android中处理C#sdk

Java 在android中处理C#sdk,java,c#,android,dll,sdk,Java,C#,Android,Dll,Sdk,我正在使用android应用程序控制一些外部设备,为了控制这个设备,它提供了一个sdk,它是一个C(.dll)文件,我知道如何将.dll库加载到java中,以及如何使用它,但我无法访问这些库中的很多方法,因为它采用了Java中不可用的C#本机参数,如structs,我尝试在类似Java的类中使用公共元素来表示struct的等价物,但它总是给我一个错误:Java.lang.IllegalArgumentException:不支持的参数类型 这就是我处理库的方式(使用jna): 这就是我如何创建My

我正在使用android应用程序控制一些外部设备,为了控制这个设备,它提供了一个sdk,它是一个C.dll)文件,我知道如何将.dll库加载到java中,以及如何使用它,但我无法访问这些库中的很多方法,因为它采用了Java中不可用的C#本机参数,如
structs
,我尝试在类似Java的类中使用公共元素来表示
struct
的等价物,但它总是给我一个错误:
Java.lang.IllegalArgumentException:不支持的参数类型

这就是我处理库的方式(使用jna):

这就是我如何创建MyClass.Class的方法:

public class MyClass() {
      public String Id = "myDevice";
      public String UserName = "admin";
      public int password = 1234;
}// also tried declaring the values inside a constructor but nothing changed
这就是sdk中定义结构的方式:

typedef struct _DEVICEINFO
{
    char id[64];
    char user[64];
    int pw; 
}DEVICEINFO,*LP_DEVICEINFO;

p、 我知道有一些方法可以使用VisualBasic(例如)编写带有C代码的android应用程序,但这在我的情况下不起作用,因为该应用程序已经用java编写并运行,而且它与许多其他功能主义者一起非常庞大,因此无法重写。

android一般不运行C或Windows DLL。为什么要尝试与移动设备上的桌面(?)DLL集成?我想回答以下问题:@Rohit5k2不客气;)@ElliottFrisch这是因为我买了一个NVR设备,它应该通过我的android应用程序控制,这个设备有一个sdk,以便任何第三方都可以处理它,这个sdk是C#,正如我所说的,我可以处理这个sdk的方法,但只能处理使用android提供的参数的方法,但是使用参数的方法,比如struts,我无法处理。
typedef struct _DEVICEINFO
{
    char id[64];
    char user[64];
    int pw; 
}DEVICEINFO,*LP_DEVICEINFO;