본문 바로가기
반응형

ANDROID/Android 앱 프로그래밍35

[Android] 데이터베이스(Database)와 내용 제공자(Content Provider) 모든 내용은 Do it! 안드로이드 앱 프로그래밍을 바탕으로 정리한 것입니다. 내용 제공자(Content Provider) : 앱에서 관리하는 데이터를 다른 앱에서 접근하도록 돕는 것 앱 구성요소이므로 시스템에서 관리하며 Manifest 파일에 등록해야 사용 가능함 내용 제공자가 필요한 이유? 앱의 보안 각 앱은 자신의 프로세스와 권한 안에서만 데이터에 접근할 수 있음 A 앱과 B 앱은 각각 독립된 프로세스를 가지며, A는 A의 데이터를 B는 B의 데이터만 사용해야 함 가끔 서로 다른 앱의 데이터에 접근해야 할 때 내용 제공자를 사용하는 것 ⭐ 내용 제공자의 동작은 CRUD 동작을 기준으로 함 CRUD : Create(생성), Read(조회), Update(수정), Delete(삭제) → 내용제공자는 i.. 2021. 7. 6.
[Android] 모바일 데이터베이스(Database)와 테이블(Table) 생성 모든 내용은 Do it! 안드로이드 앱 프로그래밍을 바탕으로 정리한 것입니다. 모바일 데이터베이스 많은 양의 데이터를 체계적으로 관리하기 위해서 사용 (↔ SharedPreferences는 데이터를 간단하게 저장할 때!) 표준 SQL 문으로 데이터를 조회하는 관계형 DB를 단말에서 사용할 수 있다면 적은 양의 데이터라도 접근이 가능하므로 더 효율적! SQLite 안드로이드는 임베디드 데이터베이스(Embedded Database)로 개발된 경량급 관계형 데이터 베이스 SQLite를 가짐 파일로 만들어진 하위 수준의 구조를 가지면서 DB의 기능까지 그대로 사용할 수 있도록 만든 것 저장될 때는 파일로 저장되므로 DB의 복사, 이동, 삭제가 매우 쉬움 데이터 조회 속도가 빠름 표준 SQL을 지원함 기존의 웹이.. 2021. 7. 4.
[Android] Retrofit2를 사용한 API 통신 OkHttp3를 사용해 본 경험만 있었는데, 요즘엔 Retrofit2 라이브러리를 사용한다고 해서 공부해보았다. 네트워킹을 공부하기도 했고, 예전에 진행했던 프로젝트에서 사용했던 라이브러리를 복습을 위해 정리한다! Retrofit2 라이브러리 Square에서 제공하고 있는 Type-safe HTTP 통신을 위한 라이브러리 Rest API : 서버와 클라이언트 간 HTTP 통신을 위한 라이브러리 Type safe : 어떤 연산을 통해서도 예측 불가능한 결과가 나오지 않는 것 AsyncTask 없이 Background Thread에서 실행되며 콜백을 통해 Main Thread에서의 UI 업데이터를 간단하게 할 수 있도록 제공함 OkHttp와 함께 사용됨 Retrofit을 사용하는 이유? AsyncTask로 .. 2021. 7. 4.
[Android] JSON 데이터를 RecyclerView로 다루기 모든 내용은 Do it! 안드로이드 앱 프로그래밍을 바탕으로 정리한 것입니다. JSON JavaScript Object Notation 자바스크립트 객체 포맷 데이터를 주고받을 때 사용할 수 있도록 문자열로 표현한 것 → 자바스크립트 객체 포맷과 거의 동일하며 속성의 이름과 문자열에 큰 따옴표를 사용하는 것에 차이가 있음 중괄호를 이용하여 객체를 만들 수 있음 각각의 속성은 콤마(,)로 구분되며, 각각의 속성 자체는 속성 이름(key)과 속성 값(value)이 콜론(:) 기호로 구분되어 한 쌍을 이룸 콜론 뒤에 값은 문자열이나 숫자와 같은 기본 자료형 뿐만 아니라 중괄호로 쌓인 객체가 올 수 있음 문자열 값에는 큰 따옴표를 붙이고 숫자에는 붙이지 않음 배열을 사용할 경우, 대괄호를 사용하며 그 안에 쉼표.. 2021. 7. 2.
[Android] Volley 사용하기 모든 내용은 Do it! 안드로이드 앱 프로그래밍을 바탕으로 정리한 것입니다. Volley 라이브러리 웹 요청과 응답을 단순화하기 위해 만들어진 라이브러리 사용법 요청(Request) 객체를 만들고 이 요청 객체를 요청 큐(RequestQueue)라는 곳에 넣어줌 요청 큐(RequestQueue)가 알아서 웹서버에 요청하고 응답까지 받아줌. 응답을 받을 수 있도록 메서드를 만들어두기만 하면 응답이 왔을 때 자동으로 해당 메서드 호출 장점 스레드(Thread)를 신경쓰지 않아도 됨 요청 큐가 내부에서 스레드를 만들어 웹서버에 요청하고 응답받는 과정 진행 응답을 처리할 수 있는 메서드를 호출할 때는 메인 스레드에서 처리할 수 있도록 만듦 → 핸들러(Handler) 사용할 필요 없음 [ 예제 ] build.g.. 2021. 7. 1.
[Android] 웹으로 요청하기 모든 내용은 Do it! 안드로이드 앱 프로그래밍을 바탕으로 정리한 것입니다. 웹으로 요청하기 비연결성(stateless)인 HTTP 프로토콜은 페이지 정보를 요청할 때마다 소켓을 새로 연결하고 응답을 받은 다음에는 일반적으로 소켓 연결을 끊음. 그리고 그 소켓 연결 위에서 HTTP 프로토콜에 맞는 요청을 보내고 응답을 받아 처리함. HTTP로 웹 서버에 접속하기 자바에서 HTTP 클라이언트를 만드는 가장 간단한 방법(소켓과 마찬가지로 표준 자바 방식 그대로 사용 가능)은 URL 객체를 만들고 이 객체의 openConnection() 메서드를 호출하여 HttpURLConnection 객체를 만드는 것! public URLConnection openConnection() URL 객체에 들어있는 문자열이 ".. 2021. 6. 30.
반응형