전체보기

107개의 글

Android2022.10.29

[Native C++] 응용1. Assets을 이용한 aar 만들기 (2)

Assets 폴더를 만들고 자료를 넣었으면 이를 활용하기 위한 Assets 관련 소스를 import하겠습니다. 1. 프로젝트의 cpp 폴더에 다음과 같은 소스파일을 넣습니다. - android_fopne.cpp #include #include "android_fopen.h" #include #include static int android_read(void *cookie, char *buf, int size) { return AAsset_read((AAsset *) cookie, buf, size); } static int android_write(void *cookie, const char *buf, int size) { return EACCES; // can't provide write access ..

Android2022.10.29

[Native C++] 응용1. Assets을 이용한 aar 만들기 (1)

자신의 aar 라이브러리안에 bin이나 txt같은 파일이 있어야 한다면 Assets를 활용하면 됩니다. 기존에 만든 SampleProject를 활용하여 이어서 진행하며, 첫번째로 Assets 폴더를 만들어서 파일을 넣는 방법을 소개하겠습니다. 1. 프로젝트 창에서 [app] 을 우클릭한뒤 [new] - [Folder] - [Assets Folder]를 클릭합니다. 2. 선택 후 Finish를 누릅니다 3. 프로젝트에 assets 폴더가 생성된것을 볼 수 있습니다. assets 폴더를 우클릭하고 Open In - Explorer를 클릭합니다. 4. Assets 폴더에 넣길 원하는 파일을 넣습니다. 샘플 프로젝트에서는 다음과 같은 파일과 내용을 넣었습니다. 5. assets 폴더에 위 data.txt 파일이..

Android2022.10.28

[Native C++] 6. aar 배포용 샘플 프로젝트 만들기(또는 aar파일을 프로젝트에 포함시키는 방법)

우선 공식 홈페이지에 친절하게 설명 되어 있다는점 참고 바라며.. https://developer.android.com/studio/projects/android-library?hl=ko Android 라이브러리 만들기 | Android 개발자 | Android Developers Android 라이브러리를 생성하는 방법을 알아보세요. developer.android.com 1. 만들어낸 aar 파일을 테스트하기 위하여 SampleTest라는 프로젝트를 새로 생성하였습니다. 2. 해당 프로젝트의 app/libs에 이전에 만든 aar 파일을 복사합니다. 3. 상단의 [File] - [Project Structure] 를 클릭하고 [Dependencies]를 클릭하면 아래와 같은 창이 뜹니다 4. All D..

Android2022.10.28

[Native C++] 5. 라이브러리 동작 확인하고 aar 파일 만들기

이제 제대로 동작하는지 확인을 위한 간단한 App을 만들어보겠습니다. 1. MainActivity를 다음과 같이 수정합니다. 2. 가상 스마트폰으로 돌려봅니다 30이 출력되었음을 확인 할 수 있습니다. 샘플이라 단순하게 Log로 뿌렸지만 UI를 꾸며서 스마트폰에 출력해도 됩니다. 3. 동작이 확인되었으면 aar파일을 생성해보겠습니다. app의 build.gradle을 클릭하여 id 'com.android.application' applicationId "com.example.sampleproject" 를 주석처리하고 plugins에 id 'com.android.library' 를 추가합니다. 또한 기본 이름도 변경해보겠습니다. plugins { //id 'com.android.application' id..

[C] 가변 인수 (2) : 가변 인수 함수를 꼭 써야 가변인수를 사용할수 있는걸까?

일반 함수 매개변수의 주소값과 가변인수함수의 주소값을 살펴보았습니다. 그 두가지의 주소값 할당은 비슷한점이 많았습니다. 그럼 아래와 같이 가변인수함수를 사용하지 않아도 가변인수의 값을 가져올 수 있지 않을까요? #include int sum(int i, ...); void main() { printf("\n%d\n", sum(3, 1, 2, 3)); } int sum(int i, ...) { int sum = 0, j; int *p = &i + 1; for (j = 0; j

[C] 가변 인수 (1) : 가변 인수 함수의 주소는 어떻게 될까

일반적으로 가변인수를 사용하는 방법은 아래와 같습니다. #include #include //가변 인수를 사용하기 위한 헤더파일 int sum(int i, ...); void main() { printf("\n%d\n", sum(3, 1, 2, 3)); } int sum(int i, ...) { int j, t, sum = 0; va_list sp; //가변 인수들의 주소를 저장할 지역변수 va_list. Type은 char* va_start(sp, i); //가변 인수 바로 앞에있는 고정매개변수를 받는다. 이 함수의 매개변수에서 가변인수(...) 앞에는 int i 이므로 i를 넘긴다. for (j = 0; j < i; j++) { t = va_arg(sp, int); //int형으로 참조하여 값을 가져온..

Android2022. 10. 29.

[Native C++] 응용1. Assets을 이용한 aar 만들기 (2)

Assets 폴더를 만들고 자료를 넣었으면 이를 활용하기 위한 Assets 관련 소스를 import하겠습니다. 1. 프로젝트의 cpp 폴더에 다음과 같은 소스파일을 넣습니다. - android_fopne.cpp #include #include "android_fopen.h" #include #include static int android_read(void *cookie, char *buf, int size) { return AAsset_read((AAsset *) cookie, buf, size); } static int android_write(void *cookie, const char *buf, int size) { return EACCES; // can't provide write access ..

Android2022. 10. 29.

[Native C++] 응용1. Assets을 이용한 aar 만들기 (1)

자신의 aar 라이브러리안에 bin이나 txt같은 파일이 있어야 한다면 Assets를 활용하면 됩니다. 기존에 만든 SampleProject를 활용하여 이어서 진행하며, 첫번째로 Assets 폴더를 만들어서 파일을 넣는 방법을 소개하겠습니다. 1. 프로젝트 창에서 [app] 을 우클릭한뒤 [new] - [Folder] - [Assets Folder]를 클릭합니다. 2. 선택 후 Finish를 누릅니다 3. 프로젝트에 assets 폴더가 생성된것을 볼 수 있습니다. assets 폴더를 우클릭하고 Open In - Explorer를 클릭합니다. 4. Assets 폴더에 넣길 원하는 파일을 넣습니다. 샘플 프로젝트에서는 다음과 같은 파일과 내용을 넣었습니다. 5. assets 폴더에 위 data.txt 파일이..

Android2022. 10. 28.

[Native C++] 6. aar 배포용 샘플 프로젝트 만들기(또는 aar파일을 프로젝트에 포함시키는 방법)

우선 공식 홈페이지에 친절하게 설명 되어 있다는점 참고 바라며.. https://developer.android.com/studio/projects/android-library?hl=ko Android 라이브러리 만들기 | Android 개발자 | Android Developers Android 라이브러리를 생성하는 방법을 알아보세요. developer.android.com 1. 만들어낸 aar 파일을 테스트하기 위하여 SampleTest라는 프로젝트를 새로 생성하였습니다. 2. 해당 프로젝트의 app/libs에 이전에 만든 aar 파일을 복사합니다. 3. 상단의 [File] - [Project Structure] 를 클릭하고 [Dependencies]를 클릭하면 아래와 같은 창이 뜹니다 4. All D..

Android2022. 10. 28.

[Native C++] 5. 라이브러리 동작 확인하고 aar 파일 만들기

이제 제대로 동작하는지 확인을 위한 간단한 App을 만들어보겠습니다. 1. MainActivity를 다음과 같이 수정합니다. 2. 가상 스마트폰으로 돌려봅니다 30이 출력되었음을 확인 할 수 있습니다. 샘플이라 단순하게 Log로 뿌렸지만 UI를 꾸며서 스마트폰에 출력해도 됩니다. 3. 동작이 확인되었으면 aar파일을 생성해보겠습니다. app의 build.gradle을 클릭하여 id 'com.android.application' applicationId "com.example.sampleproject" 를 주석처리하고 plugins에 id 'com.android.library' 를 추가합니다. 또한 기본 이름도 변경해보겠습니다. plugins { //id 'com.android.application' id..

[C] 가변 인수 (2) : 가변 인수 함수를 꼭 써야 가변인수를 사용할수 있는걸까?

일반 함수 매개변수의 주소값과 가변인수함수의 주소값을 살펴보았습니다. 그 두가지의 주소값 할당은 비슷한점이 많았습니다. 그럼 아래와 같이 가변인수함수를 사용하지 않아도 가변인수의 값을 가져올 수 있지 않을까요? #include int sum(int i, ...); void main() { printf("\n%d\n", sum(3, 1, 2, 3)); } int sum(int i, ...) { int sum = 0, j; int *p = &i + 1; for (j = 0; j

[C] 가변 인수 (1) : 가변 인수 함수의 주소는 어떻게 될까

일반적으로 가변인수를 사용하는 방법은 아래와 같습니다. #include #include //가변 인수를 사용하기 위한 헤더파일 int sum(int i, ...); void main() { printf("\n%d\n", sum(3, 1, 2, 3)); } int sum(int i, ...) { int j, t, sum = 0; va_list sp; //가변 인수들의 주소를 저장할 지역변수 va_list. Type은 char* va_start(sp, i); //가변 인수 바로 앞에있는 고정매개변수를 받는다. 이 함수의 매개변수에서 가변인수(...) 앞에는 int i 이므로 i를 넘긴다. for (j = 0; j < i; j++) { t = va_arg(sp, int); //int형으로 참조하여 값을 가져온..

반응형