안드로이드 앱 개발 프로젝트1

1일차 - 파일 매니징 앱 Pile manager 개발 착수

원준킹 2021. 1. 11. 16:35

현재 구상한 어플의 기능을 구체화 시키는 단계

 

대략적인 첫 액티비티 화면
1차적으로 구현해보고자 하는 액티비티, 주 기능이 이뤄지는 액티비티

 

안드로이드에서 사용자 데이터를 저장하고 사용하는 방법 선택하기

 

- SharedPreferences를 사용하여 앱의 설정 정보와 같은 간단한 데이터를 보관하는 방법

- 파일 입출력 API를 통해 기기의 저장소(storage)에 데이터를 직접 읽고 쓰는 방법

- SQL을 사용하여 로컬 데이터베이스에 데이터를 관리하는 방법

- 인터넷을 통해 연결된 서버와 데이터를 주고받는 방법 

- 그 외 여러가지

 

그 중에 난 - SQL을 사용하여 로컬 데이터베이스에 데이터를 관리하는 방법을 택할 것인데,

SharedPreferences의 키-값(key-value) 저장 형식의 한계점 극복, 파일 입출력 방법의 저장 형식 설계에 따른 복잡성 해소, 서버 통신 방법에서 요구되는 서버 구축 비용 절감 등의 장점을 획득

 

요약하자면 내 앱에서 많은 데이터와 많은 조건들을 토대로 검색을 수행하기에는 시간적 측면이나 관리 용이성에 있어 SQL 사용이 가장 합리적

 

SQLite를 위한 API 함수를 호출하는 것만으로 데이터베이스를 위한 기능을 사용할 수 있으며, 데이터베이스 API를 통해 관리되는 모든 데이터는 하나의 파일에 저장 (그래서 SQLite의 데이터베이스를 백업하는 작업은 하나의 데이터베이스 저장 파일을 복사하는 것으로 끝남)

-> 본래 계획은 암호화된 텍스트파일 형태로 데이터베이스 백업 기능을 구상 중 이었으나 SQLite의 데이터베이스 저장 파일 백업으로 더 간소화 할 수 있을 듯

 

 

SQLite

안드로이드에서 기본적으로 제공하는 SQLite는 관계형 데이터베이스 관리 시스템(Relatinoal Database Management System, RDBMS)의 한 종류

 

 

 

 

데이터베이스 간단 스케치

NUM(유일) ID 경로+파일명(유일) 등록일 영상길이 태그 별점 시청 횟수 기타
1 720p.mp4 ../720p.mp4 2021-01-01-00:00 860 <동영상><720p> -1 0  
2 1080.mp4 ../1080.mp4 2021-01-01-06:00 16800 <동영상>
<1080p>
<60fps>
<영화>
4.5 2  
3 다크나이트 ../360.mp4 2021-01-01-10:00 13200 <동영상>
<영화>
<360p>
5 12  
4 movie.mp4 ../movie.mp4 2021-01-03-21:00 32 <동영상>
<영화>
0 36  
5 초원 ../picture.jpeg 2021-01-10-00:00 -1 <사진> 4.5 2  

NUM : 1번 부터 등록 순서대로 +1씩 증가

 

ID : 초기엔 경로명과 같게 설정, 후에 사용자 임의로 수정 가능

 

경로+파일명 : 파일 경로, 후에 인터넷 링크 관리 기능 추가 시 링크명도 보관

 

등록일 : db에 등록될 시의 시간정보

 

영상 길이 : 파일 등록 시 영상 길이 정보 초단위로 변환 후 삽입, 사진의 경우 -1

 

태그 : <내용> 식으로 저장

- 한 번의 검색에 태그 하나만 검색

- <순두부><해물순두부> 식으로 저장되어 있을 때 순두부를 검색했을 때 문자열 좌 우에 <와 > 둘 중 하나라도 없으면 검색 대상에서 제외하는 조건 추가할 것

- 위 조건 없으면 검색하는 문자열이 포함된 다른 태그 또한 선택될 것 ex) 순두부 검색 시 해물순두부를 출력할 것임

 

별점 : 0.5 단위로 0~5 중의 정수 저장, 미지정 시 -1

 

시청 횟수 : 0 이상의 정수

 

기타 : 미정

참고

 recipes4dev.tistory.com/118

 

안드로이드 데이터베이스(DB) 프로그래밍 1. [관계형 데이터베이스] (Android Database 1) [Relational Databa

1. 데이터베이스 (Database, DB) 안드로이드 앱에서 사용자 데이터를 저장하고 로드하는 경우는 매우 흔한 일입니다. 앱 실행 중 메모리에 저장된 데이터는 앱의 실행이 종료되면 모두 사라지기 때

recipes4dev.tistory.com

 

 

'안드로이드 앱 개발 프로젝트1' 카테고리의 다른 글

6일차  (0) 2021.01.17
5일차  (0) 2021.01.14
4일차  (0) 2021.01.13
3일차  (0) 2021.01.13
2일차 - 개발 언어 코틀린 도전, 자바와 다른 점 공부  (0) 2021.01.11