상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
이별 후 새로운 시작을 위한 여행을 계획하는 방법은?
이별 후 새로운 사람을 만날 때 가장 중요한 것은 무엇인가요?
음식 칼로리와 운동량은 어떤 관계가 있나요?
남자 이별 후 일주일, 주변과의 관계가 회복될 수 있을까?
서클CI에서 크로스 플랫폼 빌드는 어떻게 하나요?
진달래를 이식하는 방법은 무엇인가요?
수돗물과 생수의 차이점은 무엇인가요?
수돗물을 보관할 때 주의해야 할 점은 무엇인가요?
수돗물의 종류에는 어떤 것들이 있나요?
수돗물의 지속 가능성을 높이기 위한 국제 사례는?
악성 댓글이 성별이나 인종에 따라 다르게 나타나는가요?
악성 댓글이 청소년에게 미치는 영향은 어떻게 다른가요?
Previous
Next
수정하기 - 리액트 네이티브에서 네이티브 모듈을 만드는 방법은 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
리액트 네이티브(React Native)는 <a href='https://sangseek.com/sangseeks/자바/ko'>자바</a>스크립트로 모바일 애플리케이션을 개발할 수 있게 해주는 프레임워크입니다. 그러나 때때로 자바스크립트로는 구현하기 어려운 기능이나 성능이 필요한 경우가 있습니다. 이럴 때 네이티브 모듈을 만들어 리액트 네이티브와 네이티브 코드(안드로이드의 경우 자바/Kotlin, iOS의 경우 Objective-C/Swift)를 연결할 수 있습니다. 아래는 리액트 네이티브에서 네이티브 모듈을 만드는 방법에 대한 단계별 가이드입니다. 1. 프로젝트 설정 리액트 네이티브 프로젝트를 생성합니다. 아래 명령어를 사용하여 새로운 프로젝트를 생성할 수 있습니다. ```bash npx react-native init MyProject cd MyProject ``` 2. 네이티브 모듈 생성 안드로이드 1. <a href='https://sangseek.com/sangseeks/Java/ko'>Java</a>/Kotlin 파일 생성 : `android/app/src/main/java/com/myproject` 디렉토리 내에 새로운 Java/Kotlin 파일을 생성합니다. 예를 들어, `MyNativeModule.java` 또는 `MyNativeModule.kt`를 생성합니다. 2. 모듈 코드 작성 : ```java package com.myproject; import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.bridge.ReactContextBaseJavaModule; import com.facebook.react.bridge.ReactMethod; import com.facebook.react.bridge.Promise; public class MyNativeModule extends ReactContextBaseJavaModule { MyNativeModule(ReactApplicationContext context) { super(context); } @Override public String getName() { return "MyNativeModule"; } @ReactMethod public void myNativeMethod(String message, Promise promise) { // 네이티브 코드 로직 promise.resolve("Received: " + message); } } ``` 3. 패키지 등록 : `MyNativeModule`을 포함하는 패키지를 생성합니다. ```java package com.myproject; import com.facebook.react.ReactPackage; import com.facebook.react.bridge.NativeModule; import com.facebook.react.bridge.JavaScriptModule; import com.facebook.react.uimanager.ViewManager; import java.util.A<a href='https://sangseek.com/sangseeks/rrayList/ko'>rrayList</a>; import java.util.Collections; import java.util.List; public class MyNativeModulePackage implements ReactPackage { @Override public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) { List<NativeModule> modules = new ArrayList<>(); modules.add(new MyNativeModule(reactContext)); return modules; } @Override public List<Class<? extends JavaScriptModule>> createJSModules() { return Collections.emptyList(); } @Override public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) { return Collections.emptyList(); } } ``` 4. 패키지 등록 : `MainApplication.java` 파일에서 패키지를 등록합니다. ```java @Override protected List<ReactPackage> getPackages() { return Arrays.<ReactPackage>asList( new MainReactPackage(), new MyNativeModulePackage() // 추가 ); } ``` iOS 1. Objective-C/Swift 파일 생성 : `ios/MyProject` 디렉토리 내에 새로운 Objective-C 또는 Swift 파일을 생성합니다. 예를 들어, `MyNativeModule.m` 또는 `MyNativeModule.swift`를 생성합니다. 2. 모듈 코드 작성 : ```objective-c import <React/RCTBridgeModule.h> @interface RCT_EXTERN_MODULE(MyNativeModule, NSObject) RCT_EXTERN_METHOD(myNativeMethod:(NSString *)message resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) @end ``` Swift의 경우: ```swift import Foundation import React @objc(MyNativeModule) class MyNativeModule: NSObject { @objc func myNativeMethod(_ message: String, resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) { resolver("Received: \(message)") } } ``` 3. 모듈 등록 : `MyProject-Bridging-Header.h` 파일을 생성하고 Objective-C와 Swift 간의 브리징을 설정합니다. 3. 자바스크립트에서 모듈 사용 이제 자바스크립트 코드에서 네이티브 모듈을 사용할 수 있습니다. ```javascript import { NativeModules } from 'react-native'; const { MyNativeModule } = NativeModules; MyNativeModule.myNativeMethod('Hello from React Native!') .then(response => { console.log(response); // "Received: Hello from React Native!" }) .catch(error => { console.error(error); }); ``` 4. 빌드 및 실행 모듈을 추가한 후, 프로젝트를 빌드하고 실행합니다. ```bash npx react-native run-android ``` 또는 ```bash npx react-native run-ios ``` 5. 디버깅 및 테스트 모듈이 정상적으로 작동하는지 확인하기 위해 콘솔 로그를 사용하여 디버깅합니다. 또한, 다양한 입력값을 테스트하여 모듈의 안정성을 확인합니다. 결론 리액트 네이티브에서 네이티브 모듈을 만드는 과정은 자바스크립트와 네이티브 코드 간의 상호작용을 가능하게 하여, 성능을 최적화하고 특정 기능을 구현할 수 있는 강력한 방법입니다. 위의 단계들을 따라하면 자신만의 네이티브 모듈을 쉽게 만들 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기