[Android] Room이란?
·
개발 | 프로젝트/Android
Room이란? Room은 Android Jetpack의 일부인 지속성 라이브러리입니다. Room은 SQLite 데이터베이스 위에 있는 추상화 레이어입니다. SQLite는 특수 언어(SQL)를 사용하여 데이터베이스 작업을 실행합니다. SQLite를 직접 사용하는 대신 Room은 데이터베이스 설정, 구성, 앱과의 상호작용과 같은 작업을 간소화합니다. Room은 SQLite 문의 컴파일 시간 확인도 제공합니다. 간단한 @Entity, @Dao, @Database 선언만으로 테이블 정의, 쿼리 작성, 데이터베이스 연결까지 대부분을 처리할 수 있습니다. 기본 구성요소Room에는 다음 3가지 주요 구성요소가 있습니다. - 데이터베이스 클래스: 데이터베이스를 보유하고 앱의 영구 데이터와의 기본 연결을 위한 기본..
[android] SharedPreferences란?
·
개발 | 프로젝트/Android
애플리케이션 제작 중 로그인 유무를 저장하기 위해 SharedPreferences을 사용하였습니다. 필요한 데이터를 앱에 저장하는 것이라고만 알고 있지만 정확한 개념이 궁금하여 찾아보았습니다. 공식 안드로이드 개발자 문서를 참고하였습니다. SharedPreferences로 단순 데이터 저장하기 | App data and files | Android Developers이 페이지는 Cloud Translation API를 통해 번역되었습니다. SharedPreferences로 단순 데이터 저장하기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 저장하려는 키-developer.android.com SharedPreferences란?SharedPreferences는 안드로..
[android-RN] gradle 에러 , gradlew clean 시 에러 Error: Unable to deserialize cloned data
·
개발 | 프로젝트/Android
앱 개발 중 npm 캐시 삭제 후 npm install 후 android 파일에서 gradlew clean 후 다시 실행시키려고 했는데 Error: Unable to deserialize cloned data. 에러가 떴다. 이건 리액트 네이티브 Metro가 내부 캐시 파일을 디스크에서 읽다가 손상된 캐시 파일을 파싱하지 못해 발생하는 문제라고 한다. 이후 모든 캐시를 삭제하고 node_modules, package-lock 삭제 후 재설치하면 해결이 될 것이라고 해서 진행했는데 npm install 후 gradlew clean을 하니까 FAILURE: Build failed with an exception. * Where: Settings file 'C:\Users\User\reactn\Catch..
[Error] 리액트 네이티브 안드로이드 가상 디바이스 연결 오류 No apps connected. sending "reload" to all react native apps failed. make sure your app is running in the simulator or on a phone connected via usb.
·
개발 | 프로젝트/Android
안드로이드 가상 디바이스로 확인하며 리액트 네이티브 개발 중에 갑자기 아래와 같이 애뮬레이터를 찾지 못하는 에러가 발생했다.하지만 adb devices로 확인하면 디바이스가 연결되어 있다고 떴다.. 앱을 재실행 해보고, 안드로이드 스튜디오를 껐다 켜봐도 똑같은 에러가 발생했다.캐시 문제이거나 가끔 포트 연결이 안될 때 이러한 문제가 발생한다고 한다. 따라서 아래 명령어로 adb 포트 연결을 수동으로 설정하고adb reverse tcp:8081 tcp:8081 cd android // android 디렉토리로 이동 후gradlew clean // 안드로이드 빌드 캐시 삭제 안드로이드 빌드 캐시 삭제 후 npx react-native start --reset-cache으로 기존 캐시 삭제하고 리액트 네이티..
[android] 레이아웃 (LinearLayout / FrameLayout / RelativeLayout)
·
개발 | 프로젝트/Android
LinearLayout - 수평 또는 수직의 방향성을 가지고 있는 레이아웃 (객체를 만들면 겹치지 않고 수평 또는 수직으로 나열됨)- 은 방향성을 가지고 있기 때문에 속성을 항상 선언해주어야 한다 (horizontal, vertical) ​(width / height) 속성1) match_parent나를 포장하고 있는 부모(parent)의 너비에 꽉 채워서 작성하여 보여준다= 보여지는 화면 길이에 맞춰서 보여준다​2) wrap_content부모와 관계없이 text 속성의 작성한 내용만큼 보여준다= 객체의 이름의 길이 만큼 보여진다. FrameLayout- 수평/수직으로 정하는 방향성이 없다 ( 객체를 만들면 나열되지 않고 왼쪽 위에서 모두 겹쳐진다) (layout_gravity)객체의 위치를 지정하여 ..