安卓学习日记——NDK开发

NDK下载地址:https://developer.android.google.cn/ndk/downloads/index.html
解压完之后配置Path
activity_main.xml




    

    

    

MainActivity

package com.example.ndk;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    private EditText editText_num1,editText_num2;
    private TextView textView_result;
    //加载动态链接库
    static
    {
        System.loadLibrary("hello");
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        editText_num1= (EditText) findViewById(R.id.editText);
        editText_num2= (EditText) findViewById(R.id.editText1);
        textView_result= (TextView) findViewById(R.id.textView);
    }
    //声明一个本地方法,该方法由C或c++实现
    public native int add(int num1,int num2);
    public void addClick(View v){
        String num1=editText_num1.getText().toString();
        String num2=editText_num2.getText().toString();
//调用本地方法
        int result= add(Integer.parseInt(num1),Integer.parseInt(num2));
        textView_result.setText("结果:"+result);
    }
}


安卓学习日记——NDK开发_第1张图片
com_example_ndk_MainActivity.h

/* DO NOT EDIT THIS FILE - it is machine generated */
#include 
/* Header for class com_example_ndk_MainActivity */

#ifndef _Included_com_example_ndk_MainActivity
#define _Included_com_example_ndk_MainActivity
#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     com_example_ndk_MainActivity
 * Method:    add
 * Signature: (II)I
 */
JNIEXPORT jint JNICALL Java_com_example_ndk_MainActivity_add
  (JNIEnv *, jobject, jint, jint);

#ifdef __cplusplus
}
#endif
#endif

hello.c

#include "com_example_ndk_MainActivity.h"
JNIEXPORT jint JNICALL Java_com_example_ndk_MainActivity_add
  (JNIEnv * env, jobject obj, jint num1, jint num2){

    return num1+num2;
  }

Android.mk

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE:= hello
LOCAL_SRC_FILES := hello.c
include $(BUILD_SHARED_LIBRARY)

安卓学习日记——NDK开发_第2张图片
安卓学习日记——NDK开发_第3张图片
安卓学习日记——NDK开发_第4张图片
安卓学习日记——NDK开发_第5张图片
安卓学习日记——NDK开发_第6张图片
效果
安卓学习日记——NDK开发_第7张图片

你可能感兴趣的:(学习用)