일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- HTTP
- 파이어베이스
- android daum map
- Firebase
- 애드몹광고
- 선언형UI
- component
- android 지도
- Clean Architecture
- 안드로이드
- 안드로이드 라이브러리
- 동적 링크
- glide
- 젯팩컴포즈
- Android
- ImageView
- 애드몹배너
- android kakao map
- 컴포넌트
- 안드로이드 카카오 지도
- 클린 아키텍처
- dynamiclink
- 안드로이드광고
- 다이나믹 링크
- JetpackCompose
- 아키텍처
- Android 애드몹
- thread
- RecyclerView
- 안드로이드컴포즈
- Today
- Total
코딩스토리
[Android/안드로이드] Kakao 지도 API 연동/카카오 지도 API연동 본문
카카오 지도 API를 연동하기 위해서 SDK를 다운로드 받고, 앱 키를 발급받아야합니다.
APP KEY 발급
먼저 App key를 발급받기 위해서 kakao developer에 들어가서 로그인을 해줍니다.
로그인 후 내 애플리케이션 에서 애플리케이션 추가하기를 누르게 되면 앱을 추가할 수 있습니다.
앱을 생성했으면 이제 안드로이드 플랫폼을 설정해줘야 합니다.
왼쪽 플랫폼 탭에서 Android 플랫폼 등록을 해주게 되면
다음과 같은 창이 뜹니다.
패키지명을 입력해주고, 마켓 URL은 없으면 없음을 선택해주시면 됩니다.
키 해시의 값은 지난번에 포스팅한
2019/12/16 - [Android/유용한 기술] - [Android/안드로이드] 해시키(Hash key) 가져오는 방법
를 참조해주세요.
이제 플랫폼 등록이 완료되었습니다.
요약정보에 가시면 다양한 앱 키에 대해서 나옵니다. 저희는 안드로이드니까 네이티브 앱 키를 사용할 예정입니다.
SDK 라이브러리 추가
apis.map.kakao.com/android/guide/
에 들어가셔서
SDK를 다운받아줍니다.
다운로드를 받고 알집을 풀게되면 다음과 같이
libDaumMapAndroid.jar파일과 아키텍쳐별로 libMapEnginApi.so파일로 구성되어 있습니다.
이제 이 파일들을 안드로이드 스튜디오 프로젝트에 SDK라이브러리를 추가해줍니다.
다음과 같이
libDaumMapAndroid.jar파일은 /app/libs/에 넣어주고,
나머지 파일들은 app/source/main/jniLibs에 복사를 해주시면 됩니다.
마지막으로 build.gradle(Module:app)에 다음과 같이 아까 SDK라이브러리를 복사한 라이브러리를 추가해주면 daum map api를 사용할 수 있습니다.
implementation files('libs/libDaumMapAndroid.jar')
라이브러리 사용하기
이제 본 프로젝트로 들어와서 AndroidManifest.xml에 Permission과 앱 키를 주가해줘야합니다.
manifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<application
android:usesCleartextTraffic="true"
android:networkSecurityConfig="@xml/network_security_config"
...>
<activity android:name=".MainActivity">
...
</activity>
<meta-data android:name="com.kakao.sdk.AppKey" android:value="5416ba37b7be46d1f8bb2c4287931d7a"/>
</application>
</manifest>
지도 SDK의 지도 타일은 http 통신을 하기 때문에 http 통신에 대한 예외 처리를 해 주셔야 합니다.
res/xml 에 network_security_config.xml을 생성해줍니다.
network_security_config.xml
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<certificates src="system" />
</trust-anchors>
</base-config>
</network-security-config>
이제 네트워크와 API설정은 끝났고, 맵뷰를 생성해보겠습니다.
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<RelativeLayout
android:id="@+id/map_view"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</RelativeLayout>
MainActivity.java
package com.lakue.googlemapsample;
import android.os.Bundle;
import android.view.ViewGroup;
import androidx.appcompat.app.AppCompatActivity;
import net.daum.mf.map.api.MapView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MapView mapView = new MapView(this);
ViewGroup mapViewContainer = (ViewGroup) findViewById(R.id.map_view);
mapViewContainer.addView(mapView);
}
}
주의할점은 MapView를 Import할 때 두가지가 나오는데 'net.daum.mf.map.api.MapView'를 import해줘야합니다.
이제 KakaoMap Api연동이 완성되었습니다~
'Android > 유용한 기술' 카테고리의 다른 글
[Android/안드로이드] View 최상단으로 올리기(BringToFront) (0) | 2020.09.22 |
---|---|
[Android/android] Button 클릭 애니메이션 주기(Ripple Effect) (0) | 2020.09.21 |
[Android/안드로이드] 알람울리기/진동울리기/알림 Notification (0) | 2020.09.13 |
[Android/안드로이드] RecyclerView ItemDecoration으로 아이템 항목 구분지어주기 (0) | 2020.09.12 |
[Android/안드로이드] RecyclerView LayoutManager타입별 사용하기 (0) | 2020.09.11 |