操作 QAndroidJniObject 数组
Posted
技术标签:
【中文标题】操作 QAndroidJniObject 数组【英文标题】:Manipulating QAndroidJniObject array 【发布时间】:2017-09-24 02:07:41 【问题描述】:当我从 MyActivity 中的 java 方法返回一个字符串时,我可以用
打印它QandroidJniObject asdf = QtAndroid::androidActivity().callObjectMethod("getPath", "(I)Ljava/lang/String;", 10)
qInfo() << asdf.toString();
但是如果我想返回一个数组呢?如何用C++操作,如何打印出来?
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;
【问题讨论】:
【参考方案1】:为了你的任务更好地使用
jobjectArray asdf = QtAndroid::androidActivity()
.callMethod<jobjectArray>("getPath", "(I)Ljava/lang/String;", 10);
相反
QAndroidJniObject asdf = QtAndroid::androidActivity()
.callObjectMethod("getPath", "(I)Ljava/lang/String;", 10)
【讨论】:
以上是关于操作 QAndroidJniObject 数组的主要内容,如果未能解决你的问题,请参考以下文章
Qt 和 Android Gallery - 使用 QAndroidJniObject 的 MediaStore
无法使用 QAndroidJniObject 调用 PowerManager.WakeLock.newWakeLock
如何使用 QAndroidJniObject 从 Qt 内部调用 Java 代码?