반응형

프로그래밍/Android 11

[Android] 경기지역화폐 지도 만들기 - 5

이번 포스트는 카카오 SDK를 이용하여 카카오 맵을 연결해보도록 하겠습니다. apis.map.kakao.com/android/guide/ 먼저 위의 URL에 접속해보도록 합시다. 지금 현재 사용하려는 SDK 버전은 1.4.1.0 입니다. 일단 다운을 받읍시다. 압축을 풀어보면 아래와 같은 파일들을 볼수 있습니다. libDaumMapAndroid.jar파일은 프로젝트 폴더에서 app/libs 폴더 내에 복사 붙여넣기 해줍시다. 나머지 3개의 arm으로 시작하는 폴더들은 app/src/main 내에 jniLibs라는 폴더를 만들고 그 안에 복사 붙여넣기 합니다. SDK만 다운받아서는 카카오맵을 사용할 수는 없습니다. 카카오에 SDK를 사용하겠다고 내 앱을 등록시켜줘야합니다. 그러기 위해선 내 앱의 hash ..

[Android] EditView에서 IP Address 입력 정규화 처리

자주 사용하는 EditView에서 정규화와 filter를 이용한 입력처리를 보여주고자 한다. 먼저 EditView에서 우리는 숫자와 점 밖에 안쓰기 때문에 숫자 키보드를 나오게 하고 다른 키 입력을 못하게 막도록 다음과 같이 선언한다. android:inputType="phone" android:digits="1234567890." 이제 MainActivity단에서 onCreate단에 아래와 같이 선언해준다. val filters = arrayOfNulls(1) filters[0] = InputFilter { source, start, end, dest, dstart, dend -> if (end > start) { val destTxt = dest.toString() val resultingTxt = ..

[Android] RecyclerView 사용하기

먼저 RecyclerView의 장점들을 설명하고 싶으나, 정말 많은 블로그에서 설명하고 있음으로 패스. 빠르게 구현하는 방법에 대해 배워보겠다. 일단 RecyclerView에 사용할 SubitemView를 만들어보겠다. layout/recycler_factory_item.xml 을 생성한다. 이제 activity_main,xml에 위에서 만든 layout을 이용하여 recyclerView를 선언해주자. RecyclerView에 표현할 내용은 공장 정보와 그에 해당하는 IP 정보임으로 이를 위한 data class를 선언해주겠다. data class Factory ( var Name: String, var Ip: String = "" ) RecyclerView를 사용하려면 Adapter를 우리가 구현해줘야..

[Android] Wifi로 Android Device 연결하여 개발하기

오늘 오전... 드디어 USB-C 케이블이 맛탱이가 가버렸습니다. 전선의 방향에 따라 연결이 되었다가 안되었다가를 반복하여 개발하다가 집어 던절뻔 하였는데 Debug를 사용하여 개발하려다보니 케이블을 붙잡고 하기 너무 어려워서 WiFi로 디버깅은 못하나 해서 찾아봤더니 이와 관련된 플러그인이 존재했습니다. Android Studio에서 File -> Settings Plugins 선택 Android WiFi ADB 설치 재시작후 다시 Android Studio를 켜보면 좌측에 Android WiFi ADB라는 탭이 생겼습니다. 클릭합시다. 이제 PC 혹은 노트북을 WiFi와 연결하고 개발할 스마트폰도 동일한 WiFi에 연결합시다. 그뒤 핸드폰을 PC에 연결하면 아래와 같은 내용이 나옵니다. 지금은 Sta..

[Android] Ndef 읽기 쓰기

이번에는 NFC를 이용하여 Ndef Message를 NFC에 읽고 쓰는 방법에 대해 알아봅시다. 일단 안드로이드에서 Empty Project를 하나 생성합니다. AndroidManifest.xml 을 열고 위쪽에 다음과 같은 내용을 넣습니다. 문법의 설명처럼 NFC의 권한을 넣고, 하드웨어에서 NFC 기능이 필요하다 라고 명시해 놓은겁니다. package com.antoine.ndef import android.app.PendingIntent import android.content.Intent import android.nfc.NdefMessage import android.nfc.NdefRecord import android.nfc.NfcAdapter import android.nfc.Tag impo..

[Android] 경기지역화폐 지도 만들기 - 4

이번 포스트 지난 포스트에서는 Retrofit을 이용해서 실제로 지역화폐 가맹점 데이터를 가져와봤다. 이번 포스트에서는 Dependency Injection(의존성 주입)을 사용하기 위해 Koin이라는 라이브러리를 적용하겠다. 의존성 주입의 이점은 대표적으로 3가지가 있다. 의존 관계 설정이 컴파일시가 아닌 실행시에 이루어져 모듈간의 결합도를 낮출 수 있다. 코드 재사용을 높혀서 작성된 모듈을 여러 곳에서 소스코드의 수정 없이 사용할 수 있다. 모의 객체 등을 이용한 단위 테스트의 편의성을 높여준다. 위와 같은 이유로 사용되어지는데, 사실상 개발을 하다보면 확실히 느끼게 되는 점 중 하나는 결합도의 문제이다. 객체 간의 결합도가 높게 되면 A 객체의 수정 시, B 객체도 수정해야하는 불상사가 생기게 되고..

[Android] 경기지역화폐 지도 만들기 - 3

이번 포스트 이번 포스트에서는 retrofit2 라이브러리를 이용하여 공공데이터 open API에서 데이터를 다운 받아보겠다. 일단 retrofit에 대해서 알아보자 https://square.github.io/retrofit/ Retrofit A type-safe HTTP client for Android and Java square.github.io 상단의 홈페이지에 가보면 사용법과 셋팅법에 대해서 기술하고 있다. public interface GitHubService { @GET("users/{user}/repos") Call listRepos(@Path("user") String user); } 위의 예제에서는 @GET 이라는 Annotation을 이용하여 RESTful service들을 이용할 ..

[Android] 경기지역화폐 지도 만들기 - 2

지난 포스트 지난 시간에는 경기도의 지역화폐 가맹점 데이터를 습득하기 위해 공공데이터포탈에서 가입 그리고 인증키를 발급받았다. 이번 포스트 이번 포스트에서는 Android Studio를 이용하여 프로젝트를 생성하고, OpenAPI에서 사용하는 데이터를 이용하기 위한 데이터 클래스를 만들도록하겠다. 이제 Android Studio를 이용하여 프로젝트를 생성하도록 하자. Empty Activity에 kotlin으로 적용하고 sdk버전은 7.0으로 셋팅하자. 컴파일도 해보고 실행도 시켜서 잘돌아가는지 확인하자. 뭔가 잘 안된다면 열심히 검색... 큰 문제는 아닐것이다. 대부분 SDK가 설치가 안되었다거나 에뮬레이터 버전 문제가 대부분이다. 이제 우리가 요청한 URL을 통해서 데이터를 받아야 하는데 일단 어떤 ..

반응형