mirror of https://github.com/kivy/pyjnius.git
Add example of nested arrays and Python tuple/list as func arg
This commit is contained in:
parent
01c2590298
commit
6a59b4eb06
|
@ -0,0 +1,48 @@
|
|||
// javac arraylist.java
|
||||
// java arraylist
|
||||
|
||||
import java.lang.String;
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
import java.util.ArrayList;
|
||||
|
||||
|
||||
public class arraylist {
|
||||
public static void main(String[] args) {
|
||||
// Object based empty ArrayList
|
||||
ArrayList<Object> jlist = new ArrayList<Object>();
|
||||
System.out.println(jlist);
|
||||
System.out.println(jlist.size());
|
||||
|
||||
// String array
|
||||
String[] str_array = {"a", "b", "c"};
|
||||
System.out.println(str_array.toString());
|
||||
System.out.println(str_array.length);
|
||||
|
||||
// add the array of strings to the list
|
||||
jlist.add(str_array);
|
||||
System.out.println(jlist.toString());
|
||||
System.out.println(jlist.size());
|
||||
|
||||
// create a new ArrayList from String array
|
||||
ArrayList<Object> str_list = new ArrayList<Object>(
|
||||
Arrays.asList(str_array.toString())
|
||||
);
|
||||
jlist.add(str_list);
|
||||
System.out.println(jlist.toString());
|
||||
System.out.println(jlist.size());
|
||||
|
||||
// add an empty Object to ArrayList
|
||||
jlist.add(new Object());
|
||||
System.out.println(jlist.toString());
|
||||
System.out.println(jlist.size());
|
||||
|
||||
// new ArrayList to wrap everything up
|
||||
ArrayList plain_list = new ArrayList();
|
||||
plain_list.add(str_array);
|
||||
plain_list.add(str_list);
|
||||
plain_list.add(jlist);
|
||||
System.out.println(plain_list.toString());
|
||||
System.out.println(plain_list.size());
|
||||
}
|
||||
}
|
|
@ -0,0 +1,54 @@
|
|||
# pylint: disable=invalid-name
|
||||
'''
|
||||
Example of nested ArrayList and passing empty tuple/list to Java functions.
|
||||
'''
|
||||
|
||||
from __future__ import unicode_literals, print_function
|
||||
from jnius import autoclass, cast # pylint: disable=import-error
|
||||
|
||||
String = autoclass('java.lang.String')
|
||||
List = autoclass('java.util.List')
|
||||
Arrays = autoclass('java.util.Arrays')
|
||||
ArrayList = autoclass('java.util.ArrayList')
|
||||
JavaArray = autoclass('java.lang.reflect.Array')
|
||||
Object = autoclass('java.lang.Object')
|
||||
|
||||
|
||||
def sep_print(*args):
|
||||
'''
|
||||
Separate args because in <80char console (e.g. Windows)
|
||||
is the output barely readable with [[, @, ;, ,, ...
|
||||
'''
|
||||
print(*args)
|
||||
print('-' * 10)
|
||||
|
||||
|
||||
# Object based empty ArrayList
|
||||
jlist = ArrayList()
|
||||
sep_print(jlist, jlist.toString(), len(jlist))
|
||||
|
||||
# String array
|
||||
str_array = JavaArray.newInstance(String, 3)
|
||||
for i, item in enumerate(('a', 'b', 'c')):
|
||||
str_array[i] = String(item)
|
||||
sep_print(str_array, len(str_array))
|
||||
|
||||
# add the array of strings to the list
|
||||
jlist.add(str_array)
|
||||
sep_print(jlist, jlist.toString(), len(jlist))
|
||||
|
||||
# create a new ArrayList from String array
|
||||
str_list = ArrayList(Arrays.asList(str_array))
|
||||
jlist.add(str_list)
|
||||
sep_print(jlist, jlist.toString(), len(jlist))
|
||||
|
||||
# add an empty Object to ArrayList
|
||||
jlist.add(Object())
|
||||
sep_print(jlist, jlist.toString(), len(jlist))
|
||||
|
||||
# new ArrayList to wrap everything up
|
||||
plain_list = ArrayList()
|
||||
plain_list.add(str_array)
|
||||
plain_list.add(str_list)
|
||||
plain_list.add(jlist)
|
||||
sep_print(plain_list, plain_list.toString(), len(plain_list))
|
Loading…
Reference in New Issue