728x90 AOS20 ReactNative_ AOS 커스텀 RCTEmitter 생성 및 적용 안드로이드에서도 알람앱의 기능 중 하나인 흔들기 기능을 추가해야 했다. 흔들기 기능을 모듈화해서 ReactNative 코드 안에서 직접 사용해야 했다. 그래서 우선 흔들기 기능을 따로 모듈화코드로 java 클래스로 우선 만든다 public class ShakeDetectorModule extends ReactContextBaseJavaModule implements SensorEventListener { private final String MODULE_NAME = "ShakeDetector"; private final float SHAKE_THRESHOLD_GRAVITY = 2.7F; private final int SHAKE_SLOP_TIME_MS = 500; private fi.. 2024. 3. 5. AOS_ Webview 와 Jsp 상호작용 웹뷰 페이지를 중점으로 웹앱을 구상해야 하는 상황이었다.우선 기본적인 세팅은 했지만 어떻게 Web 과 Native 와의 상호작용을 해야할 지 자세히 몰랐었다.그리고 웹뷰의 히스토리 기록과 캐시 등 여러가지 문제점들이 발생되어 해결방법을 찾아 보았다. 우선 웹뷰를 세팅한 코드이다.setJavaScriptEnabled(true)는 자바스크립트를 사용할 수 있도록 해주는 메소드이다.setWebChromeClient 는 크롬을 주 클라이언트로 사용하겠다는 선언이고 여기에서 필요권한을 요청할 수 있다. 그리고 웹뷰 클라이언트 선언을 통해서 페이지 기능과 관련한 처리를 해줄 수 있다.여기에서 onReceivedError 가 발생되면 해당 웹뷰 히스토리를 삭제하는 명령어를 넣어 주었다. 그리고 WebSetti.. 2024. 3. 4. AOS_ 버전 업데이트 관련 에러 안드로이드 .apk 파일 뽑으려고 하는데 갑자기 밑의 사진의 에러가 나오는 것이다.이때 compileSdk 버전을 34로 올리고 다양하게 환경설정 작업 하던 중 안생기던 오류가 생긴것이다.확인해 보니 kotlin 버전이 현재 버전과 비교해서 매치가 되지 않아 발생한 문제인것 같았다. 그래서 밑에 사진처럼 버전을 1.7.20 을 맞추고 buildScript 를 아래처럼 설정해주어서 업데이트를 시켜주니 에러가 해결되었다. 요새 자바보다 코틀린으로 많이 앱을 사용하는 경우가 많다. Swift 느낌으로 변수 선언이나 메소드 구현등 자연스럽고 정말 간단하게 처리해주기 때문에 더 간결하게 코드를 짤수 있기 때문이다.그래서인지 안스에서 java, kotlin 2가지를 같이 사용할 수 있게 해주었다. 그래서 가끔.. 2024. 3. 4. ReactNative_ AOS 의 빌드 환경 분리 오늘은 Android 개발 환경 분리에 대해 작업을 해보았음.Debug , Release, ReleaseStaging 3단계로 나뉘어서 확인해야 하는 상황이 빈번하게 발생했음.React Native 로 작업하고 있었음. 디버그로 작업하고 CodePush 이후 실제 배포버전에 올리기 전 심사버전에서 잘 돌아가는지 확인을 위해서 저렇게 3가지 단계로 빌드단계를 나누고 확인해야 했었음.AOS / IOS 둘다 빌드환경을 분리해야 하는데 우선 AOS 부터 진행했음. 우선 buildTypes 에 debug 부분에서 위의 사진처럼 설정을 해준다.저렇게 resValue string 에서 app_name 을 할때는 strings.xml 의 이 부분을 지워줘야 한다. 그리고 release 버전에서도 위의 사진처럼.. 2024. 3. 4. AOS_ Rxjava 비동기와 동기 Rxjava 를 사용하면서 비동기와 동기식으로 사용하고 싶어짐.하지만 내가 쓰고 있던건 대부분 비동기적인 방법을 사용했었음.그래서 위의 사진처럼 비동기적으로 사용하고 있었기 때문에 자연스러운 화면 전환과 데이터 처리 등이 가능했던 것임.하지만 한때는 데이터를 다 처리하고 나서 화면을 보여주고 싶을때가 있었음.그래서 동기적으로 진행했어야 하는 상황이였는데 그때 이런 코드를 사용하면서 마지막에 blockingGet 으로 동기화 시켰음. 이젠 rxjava를 사용하면서 어느정도 구조가 이해되는 것 같음. == 참고 ==*동기 방식은 작업을 순차적으로 처리하며, 다음 작업을 실행하기 위해 이전 작업의 완료를 기다립니다.*비동기 방식은 작업을 독립적으로 실행하며, 다른 작업을 실행하면서 작업의 완료를 기다리지 않.. 2024. 3. 4. AOS_ SharedPreference의 commit 과 apply 차이 sharedPreference 관련 기능을 이용하여 이전 데이터를 저장 후 불러오는 기능을 만들고 있었음.하지만 editor의 commit 과 apply 의 차이가 문득 궁금했었음. commit 은 동기적으로 기능하고 apply 는 비동기적으로 기능하는 것을 알게 되었음.commit 을 할 경우 일시적으로 앱이 멈춤현상이 있었지만 , apply 는 없었기 때문.동기적으로 작업이 끝난 후 다음 작업이 이루어지므로 멈춤현상이 있었던 것임. 그래서 위의 사진처럼 비동기적으로 진행하기 위해 apply를 써줌.그리고 gson을 이용하여 객체를 toJSON 형식으로 넣어줌으로써 나중에 다시 불러올때 객체형식으로 쉽게 불러올 수 있게함.아래 사진처럼 .gson 과 type 을 통해서 원하는 객체형식으로 바로 형변환 .. 2024. 3. 4. 이전 1 2 3 4 다음 "이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다." 728x90