package com.xupan.jni;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Vector;
import java.util.Set;
public class HelloJNI {
static {
System.loadLibrary("Hello");
}
private String m_string;
private int m_int;
private long m_long;
public HelloJNI()
{
m_string ="xupan";
m_int = 100;
m_long = 1000;
}
private void getMessage()
{
System.out.println(m_string);
System.out.println(m_int);
System.out.println(m_long);
}
public native void DisplayHello();
public native int intMethod(int num);
public native boolean booleanMethod(boolean b);
public native String stringMethod(String text);
public native int intArrayMethod(int[] intArray);
public native int[] replyIntArrayMethod();
public native String[] replyStringArray(String text);
public native MailInfo[] objectMethod(String text);
public native void accessJavaMethod();
public native ArrayList<String> arrayListMethod(ArrayList<String> ids);
public native HashMap<String,HashMap<String,String> > mapMethod(HashMap<String,String> mymap);
public static void main(String[] args) throws java.io.UnsupportedEncodingException{
HelloJNI sample = new HelloJNI();
sample.DisplayHello();
int square = sample.intMethod(10);
boolean bool = sample.booleanMethod(true);
String text = sample.stringMethod("Jave");
int sum = sample.intArrayMethod(new int[]{1,1,2,3,4,5,6});
System.out.println("intMethod:"+square);
System.out.println("booleanMethod:"+bool);
System.out.println("stringMethod:"+text);
System.out.println("intArrayMethod:"+sum);
int[] nums = sample.replyIntArrayMethod();
for(int i=0;i<nums.length;i++)
System.out.println(nums[i]);
String[] texts = sample.replyStringArray("java aaaa");
for(int i=0;i<texts.length;i++)
{
texts[i]=new String(texts[i].getBytes("ISO8859-1"),"GBK");
System.out.print( texts[i] );
}
System.out.println();
MailInfo[] mails = sample.objectMethod("Thinking In Java");
for(int i=0;i<mails.length;i++)
System.out.println(mails[i].topic);
sample.accessJavaMethod();
ArrayList<String> arr_input = new ArrayList<String>();
arr_input.add("Table1");
arr_input.add("Table2");
arr_input.add("Table3");
try
{
ArrayList<String> ret = sample.arrayListMethod(arr_input);
for(int i=0;i<ret.size();i++)
{
System.out.println(ret.get(i));
}
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
HashMap<String,String> map_input = new HashMap<String,String>();
map_input.put("ID", "10");
map_input.put("NAME", "XUPAN");
Iterator<Map.Entry<String, String>> iter = map_input.entrySet().iterator();
while (iter.hasNext())
{
Map.Entry<String,String> entry = iter.next();
Object k = entry.getKey();
Object v = entry.getValue();
System.out.println((String)k + ":"+(String)v);
}
Set<String> ss = map_input.keySet();
for(int i=0;i<ss.size();i++)
{
//System.out.println(ss.);
}
HashMap<String, HashMap<String,String> > ret = sample.mapMethod(map_input);
for(Object id : ret.keySet())
{
String s_id = (String)id;
HashMap<String,String> row_map = (HashMap<String,String>)ret.get(id);
for(Object name: row_map.keySet())
{
String k = (String)name;
String v = (String)row_map.get(name);
System.out.println(s_id + " " + k+" "+v);
}
}
}
}
评论0
最新资源