이전에는 HttpUrlConnection을 통해 네트워크 작업이 이루어지는 코딩을 했었습니다. 서버와 통신하는 코드를 작성하는 부분이 복잡하고, 관리 포인트가 많았습니다. 이번에는 라이브러리를 이용해 서버와 통신하는 방법을 알아봅니다. 안드로이드에서 네트워크 라이브러리로 자주 사용되는 것은 Volley, Retrofit 등이 있습니다. Retrofit 라이브러리를 이용해서 서버와 통신할 수 있도록 알아봅니다. 우선 build.gradle의 앱 단위 dependencies 부분에서 Retrofit 라이브러리를 implementation 합니다. 그리고 Buffer를 읽고 난후 Gson 라이브러리를 통해서 서버로 부터 받은 응답을 원하는 데이터 타입으로 바꿔주는 역할을 자동으로 해주는 라이브러리도 추가합니다..
안드로이드에서 Manifest.xml 파일에 아래의 코드를 추가하면 네트워크 작업을 실행할 수 있습니다. 일반적인 네트워크의 개념은 안드로이드에서도 동일하게 적용됩니다. 동기화 및 상호작용의 한계점을 지닌 로컬 데이터베이스 보다는 네트워크 작업을 통해서 DB 서버 클라이언트(앱/웹)가 서로 통신할 수 있습니다. 저희가 앱이나 웹으로 티스토리 홈페이지에 접속한다고 가정하면, 해당 클라이언트(앱/웹)가 인터넷 URL 주소를 티스토리 서버에 요청을 보냅니다. 해당 URL 주소를 담당하는 티스토리 서버는 보낸 요청에 응답을 하게 되고, 티스토리 첫 화면을 클라이언트 쪽에 띄우도록 합니다. 서버는 이미지, 텍스트, JSON 파일 등을 포함한 여러 리소스를 클라이언트에 보내고, 클라이언트는 전달받은 여러 리소스를 ..
동기(Sync) 및 비동기(Async) 방식의 차이를 알아보고, 안드로이드 앱 개발 시 비동기 방식을 어떻게 구현하는지 알아봅니다. 동기 방식은 어떤 작업을 순서대로 진행하는 것을 말하며, 비동기 방식은 순서대로 진행하지 않는 것을 의미합니다. 비동기 방식은 스레드를 따로 만들어서 작업을 처리합니다. 메인 스레드가 일을 처리할 때, 스레드를 만들어서 작업을 따로 처리하게 됩니다. 비동기 방식의 장점은 메인 스레드의 작업을 기다리게 할 필요가 없도록 합니다. 특히 비동기 방식은 네트워크 작업에 적합합니다. 서버에서 어떤 요청을 처리하는 사이 다른 작업이 발생할 때, 동기 방식이라면 순서를 기다려야 하지만, 비동기 방식을 기다릴 필요 없이, 별도의 스레드가 그 작업을 처리합니다. 비동기 방식의 단점은 재사용..
안드로이드에서 기본으로 제공하는 SharedPreference는 키-밸류 방식으로 데이터를 저장하는데 복잡한 DB는 구현하기 어렵습니다. 안드로이드에서 복잡한 DB를 구현하는데 많이 사용되는 RDB 방식의 데이터 베이스는 Realm입니다. * Realm 최신 버전 https://docs.mongodb.com/realm/tutorial/android-kotlin/#std-label-android-kotlin-tutorial Android Kotlin Tutorial — MongoDB Realm Create a Task Tracker App Android Kotlin TutorialIn this tutorial, you will create a task tracker app that allows users ..
데이터 베이스는 데이터를 저장하는 곳을 말합니다. 데이터를 저장하는 방식에는 RDB(Relational Database) 방식 및 키-밸류(Key-Value) 방식이 있습니다. 관계형 데이터 베이스라고 일컫는 RDB 방식은 엑셀 형태처럼 데이터를 저장하며, 행과 열로 데이터를 찾을 수 있습니다. RDB 형태의 데이터를 관리하는 툴을 RDBMS(Relational Database Management System)이라고 합니다. 이러한 툴에는 MySQL, Oracle, PostreSQL 등이 있습니다. RDBMS에서 사용되는 데이터 베이스용 언어를 SQL 언어라고 부릅니다. 키-밸류 방식의 데이터 베이스는 'Not Only SQL'의 약자인 NoSQL 언어로 이루어져 있습니다. NoSQL의 종류와 툴로는 다..
이전에 작성한 탭레이아웃은 프래그먼트를 이용해서 만들었던 탭레이아웃입니다. 뷰를 프래그먼트로 이용해서 그려줄 경우, 탭의 갯수가 많은 경우 그만큼 리소스를 많이 잡아먹고 관리포인트가 많아집니다. 프래그먼트를 사용하지 않고 탭레이아웃을 코딩하는 법을 알아봅니다. 먼저 액티비티 파일을 생성합니다. 생성된 액티비티 파일에 우선 어댑터를 만들어줍니다. NonFragPageAdapter 클래스에서 받는 변수는 layoutInflater이고, 이 클래스는 PagerAdapter( )를 상속 받습니다. class NonFragPageAdpater( val layoutInflater: LayoutInflater ) : PagerAdapter() { } 메소드 오버라이딩을 위해 implement 해주면, getCount..
- Total
- Today
- Yesterday
- RecyclerView
- 인텐트
- 리스트뷰
- 메소드 오버라이딩
- 안드로이드 스튜디오 에러
- 상대적 레이아웃
- bmi 계산기 만들기
- 안드로이드 어댑터
- tabLayout
- 리사이클러뷰
- lazy init
- notifyDataSetChanged
- Bmi Calculator
- view binding
- ToDo List 앱 만들기
- 탭레이아웃
- 애드뷰
- 대한민국 미제사건
- 자바스크립트 배열
- 안드로이드 프로젝트
- 2019년 사건사고
- 선형 레이아웃
- findViewById
- 미제사건
- 안드로이드 앱 만들기
- 2021년 사건사고
- android adapter
- 2007년 사건사고
- addView
- 뷰 바인딩
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |