从Android NativeActivity调用本机代码

时间:2014-02-11 09:25:14

标签: android android-ndk powervr-sgx

我正在尝试学习如何使用powervr insider sdk 只要我打开MainActivity.java文件,它就会扩展NativeActivity并使用super.onCreate()调用它。
这是代码:

package com.powervr.OGLES2IntroducingPOD;

import android.app.NativeActivity;
import android.os.Bundle;
import android.widget.Toast;
import android.view.Gravity;

public class MainActivity extends NativeActivity
{
    @Override
    protected void onCreate (Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
    }

    public void displayExitMessage(final String text) 
    {
        runOnUiThread(new Runnable() {
        public void run() {
            Toast toast = Toast.makeText(getApplicationContext(), text, Toast.LENGTH_LONG);
            toast.setGravity(Gravity.CENTER, 0, 0);
            toast.show();
        }
        });
    }
}

在此之后,我的本机代码开始执行。

我想知道在调用super.oncreate()后NativeActivity看到的本机cpp文件中是否定义了一些函数,或者整个事情是如何发生的。

登录,除了在每个文件中放入一个日志之外,还有什么方法可以查看执行cpp文件的顺序,因为我有太多的cpp文件而且登录时不实用所有文件。

1 个答案:

答案 0 :(得分:1)

您的代码是从PVRShellOS.cpp文件启动的,其中存在android_main(android_app *状态)。这是由本机的oncreate函数调用的