Manipulating the QAndroidJniObject Array

When I return a string from the java method in MyActivity, I can print it with

QAndroidJniObject asdf = QtAndroid::androidActivity().callObjectMethod("getPath", "(I)Ljava/lang/String;", 10)

qInfo() << asdf.toString();

      

But what if I want to return an array? How can I manipulate it with C ++ and how do I print it out?

public class MyActivity extends QtActivity
{

    private String [] imagePaths = new String[100];

    @Override
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

       //some code
    }

    public String [] getPath (int index) {

        /*some code*/
        return imagePaths;
    }
}

      

+3


source to share


1 answer


For your task it is better to use

jobjectArray asdf = QtAndroid::androidActivity()
        .callMethod<jobjectArray>("getPath", "(I)Ljava/lang/String;", 10);

      



Instead

QAndroidJniObject asdf = QtAndroid::androidActivity()
        .callObjectMethod("getPath", "(I)Ljava/lang/String;", 10)

      

0


source







All Articles