public class TestActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //使用Log.v();或者System.out.println()都可以,如果你是用Eclipse开发,那么可以在DDMS控制台的Logcat里查看,如果你是记事本的话,在命令行里输入adb shell,连接到手机,输入logcat命令查看 } }
main方法不会被调用啊android中 写在 oncreate里吧
坑爹了!当时没想就贴上 main 了!!这个要输出可以用 Log.i(); Log.m(); 等。或者把获得的参数更新到界面上,比如一个 TextView 。public class HelloJni extends Activity { static {
System.loadLibrary("hello");
} @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView tv = new TextView(this); tv.setText( stringFromJNI() ); setContentView(tv); } public native String stringFromJNI();
import android.os.Bundle;
import android.app.AlertDialog;public class HelloJni extends Activity {
static
{
System.loadLibrary("hello-jni");
}
public static native String dispHelloJni();
public static void main(String[] args) {
String str = dispHelloJni();
System.out.println(str);
}
}
c 里面改下,java 的我一般用静态的了
Java_com_example_hellojni_HelloJni_stringFromJNI( JNIEnv* env,
jclass thiz )
这是个android jni demo.写的很详细,包括java代码那部分。
你仔细看下Activity的生命周期图,详细你很快就能明白了
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//使用Log.v();或者System.out.println()都可以,如果你是用Eclipse开发,那么可以在DDMS控制台的Logcat里查看,如果你是记事本的话,在命令行里输入adb shell,连接到手机,输入logcat命令查看
}
}
写在 oncreate里吧
static {
System.loadLibrary("hello");
}
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState); TextView tv = new TextView(this);
tv.setText( stringFromJNI() );
setContentView(tv);
} public native String stringFromJNI();
}
大概就是这个样子。上次正忙,没仔细看。