[Java] 2차원 리스트 다루기
아래 형태와 같은 2차원 배열을 다루는 방법에 대해 정리해보려 한다. [[0],[1],[3, 5]] int[][] input = {{0}, {1}, {3, 5}};List> graph = new ArrayList();for(int i = 0; i ());}// graph: [[], [], []]for(int i = 0; i
아래 형태와 같은 2차원 배열을 다루는 방법에 대해 정리해보려 한다. [[0],[1],[3, 5]] int[][] input = {{0}, {1}, {3, 5}};List> graph = new ArrayList();for(int i = 0; i ());}// graph: [[], [], []]for(int i = 0; i
컴포넌트의 규모가 커지며 props로 state를 전달하는 방식으로 상태를 관리하는 것은 적합하지 않다는 생각을 하게되었다.(전달하는 과정의 코드가 더럽고 복잡) 따라서 간편하게 전역 상태를 관리할 수 있는 recoil을 도입하기로 하였다. 또한, React는 단방향으로 바인딩하는 라이브러리여서, 부모 -> 자식 방향으로만 state를 props로 전달할 수 있고, 자식의 props를 부모에게 전달하는 방법은 존재하지 않는다. 하지만! 상태 관리 툴을 이용하면 자식 component에서 부모 component의 state를 바꿀 수 있다. Recoil: Facebook에서 발표한 React 상태관리 라이브러리 1️⃣ recoil 설치npm install recoil 2️⃣ recoil 사용하기 🔎 R..
https://reactnative.dev/docs/native-modules-android 2024년 1월에 작성된 공식 문서를 참고하여 작성한 글입니다. React Native를 사용하여 안드로이드의 네이티브 기능을 활용하려면 해당 기능을 제공하는 네이티브 모듈이 필요합니다. React Native(JavaScript) 에서 Android(Kotlin) 코드를 활용할 수 있는 방법에 대해 알아보겠습니다. 1️⃣ RN에 안드로이드 모듈 등록 /android/app/src/main/java/com/{패키지명}에 커스텀 모듈과 패키지를 추가합니다. JavaScript에서 필요한 기능을 구현할 클래스 입니다. 해당 모듈은 java/kotlin을 활용할 수 있는 ReactContextBaseJavaModule..
1️⃣ 요구사항 노란 박스에 담긴 상단 탭바를 개발해보자! (* 안드로이드 기준) 2️⃣ 라이브러리 설치 react-navigation에서 제공하는 material-top-tabs를 사용하여 상단 탭 바를 개발할 수 있다. https://reactnavigation.org/docs/material-top-tab-navigator/ npm install @react-navigation/material-top-tabs react-native-tab-view npm install react-native-pager-view 3️⃣ 코드 보기 TabBar 라는 컴포넌트로 만들어보겠습니다. import React from 'react'; import { createMaterialTopTabNavigator } fr..
1. https://code.google.com/archive/p/android4me/downloads 에서 AXMLPrinter2.jar 설치 2. 분석할 apk 파일 압축해제 후 AXMLPrinter2.jar 붙여넣기 3. cmd 접속 후 디렉토리 경로 이동 후 아래 명령어 입력 java -jar AXMLPrinter2.jar AndroidManifest.xml > AndroidManifest.txt 4. AndroidManifest.txt 확인 URL Scheme의 형식은 다음과 같습니다. {android:scheme}://{android:host} ex) test-app://action
문제 설명 github에 첫 push를 했을 때에는 폴더명이 Login 이었다가 로컬에서 login으로 수정하였습니다. 그런데 폴더명을 login으로 수정한 부분이 반영이 되지 않아 import 하는 부분에서 오류가 발생했었습니다. 문제 해결 1. 변경할 폴더명의 상위폴더로 이동합니다. (제 경우에는 components 폴더로 이동했습니다.) 2. git mv 명령어를 이용합니다. (두번의 과정을 거친 이유는,, 대소문자를 변경하는 경우는 같은 폴더명으로 인식하기 때문입니다.) git mv Login login2 git mv login2 login