【发布时间】:2016-02-09 23:06:40
【问题描述】:
我希望将我本机代码(C)中 printf 语句的输出打印到 Android 屏幕上。由于我希望在 android 屏幕上看到许多输出,因此我想要的不仅仅是 JNI 函数末尾的 return 语句,它为每个函数打印一个文本。怎么办?
编辑:
例如,在我的 C 代码中,如果我想在“Hello World”之类的函数中间打印一些东西,我应该怎么做?现在,我可以使用setText 方法在安卓屏幕上打印“only from return!”。
jstring Java_com_example_encryptString( JNIEnv* env, jobject thiz)
{
printf("Hello World");
return (*env)->NewStringUTF(env, "only from return!");
}
我知道一种方法,我从 Java 类中调用此方法并使用 TextViews 在 android 屏幕上打印它。但是,它只能获取并打印函数返回的值,而不能打印其他值。我不能打印函数未返回的任何其他值吗?
谢谢。
注意:我不是在 logcat 中寻找 android 日志。
【问题讨论】:
-
在你的布局中加入一个或多个
TextViews 并调用他们的setText方法。 -
@Michael:这不是打印本机函数的返回值吗?如果是这样,每次我想打印时都写一个函数会不会太累了。我是这里的新手,对我的平庸感到抱歉。
-
“这不是打印原生函数的返回值吗?”。嗯?您可以在函数中放置任意数量的日志打印(以及任意数量的
setText调用)。 -
@Michael 不太清楚你的意思。您能否提及您正在谈论的内容的示例代码?
-
@Michael:如果我不清楚,我希望从 C 中的本机代码打印,而不是 java。
标签: android android-ndk