小编Adi*_*gam的帖子

JNI:用C代码读取文本文件并返回sdk

我试图创建一个Android应用程序,使用NDK从文本文件中读取文本.我的C代码将字符串读入变量并将字符串变量返回到java代码.但是当我运行Android应用程序时,TextView中显示的字符串显示为像@后跟一些矩形的符号.从JNI返回字符串的格式是什么?检查下面的代码.我可以在没有任何其他权限的情况下读取系统文件吗?printf()语句会做什么?

Java代码:

package com.example.openfile;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends Activity implements OnClickListener{
public native String ndkopenfile();
static{
    System.loadLibrary("mylib");
}
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    //TextView textView1 = new TextView(this);
    //textView1.setText(ndkopenfile());
    Button button1 = (Button)findViewById(R.id.button1);
    button1.setOnClickListener(this);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
} …
Run Code Online (Sandbox Code Playgroud)

java-native-interface android-ndk

1
推荐指数
1
解决办法
7825
查看次数

标签 统计

android-ndk ×1

java-native-interface ×1