안 드 로 이 드 - NDK 개발 의 세 번 째 예 - 전달 정형 배열
예전 과 달리 이번 에는 코드 만 넣 고 절 차 를 쓰 지 않 습 니 다. 하지만 좋 은 쓰기 절 차 를 기 르 는 것 이 필요 합 니 다. 그러면 실 수 를 하기 쉽 지 않 고 절 차 를 통 해 실 수 를 찾기 쉽 습 니 다.특히 C / C + 코드 에서 오류 가 발생 했 을 때
Android.mk:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := native
LOCAL_SRC_FILES := myNative.c
include $(BUILD_SHARED_LIBRARY)
myNative.c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include<jni.h>
jintArray Java_com_geolo_android_AndoidNDKSample_getIntArray(JNIEnv* env , jobject obj){
int i = 1;
jintArray array;//
array = (*env)-> NewIntArray(env, 10);
for(; i<= 10; i++){
(*env)->SetIntArrayRegion(env, array, i-1, 1, &i);
}
return array;
}
AndoidNDKSample.java
package com.geolo.android;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class AndoidNDKSample extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView textView = (TextView)findViewById(R.id.text);
int myArray[] = getIntArray();
String myArrayStr = "";
for(int my : myArray){
myArrayStr += ("my: "+ my + "/n");
}
textView.setText("getIntArray: " + myArrayStr );
}
static{
System.loadLibrary("native");
}
public native int[] getIntArray();
}
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
</LinearLayout>
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.