안드로이드 스튜디오 네이버 지도 띄우기 - andeuloideu seutyudio neibeo jido ttuiugi

안녕하세요~ 저는 아직은 초보이지만

언젠가 초보를 벗어나고 싶은

새싹 도전쟁이입니다

저 포함 두 명이서 어플리케이션을

만들고 있는데 그 중 도움 되는 내용만

고르고 추려 올리는 포스팅입니다

많이 부족하지만 제가 다른 이들에게

도움 받은 것처럼

저도 함께 공유하고 토론하고

또 누군가에게 도움이 되고 싶어서 글 올려요

저의 프로젝트가 모자라더라도

저에게는 아주 소중한 아이이니까

무분별한 비난은 하지 말아주세요~

#안드로이드스튜디오 에서 #JAVA 언어를 사용해서

네이버 지도 띄우는 과정을 해볼거에요

모든 내용은 네이버 지도 개발자 사이트에서

자세하게 알려주고 있답니다!

https://docs.ncloud.com/ko/naveropenapi_v3/application.html

JAVA, Kotlin 언어 두 가지 모두 제공해줘서

어떤 언어를 쓰든 어려움 없이 할 수 있을 겁니다

우선 필요한 key를 발급 받기 위해 #네이버클라우드플랫폼 에 들어가셔서

회원 가입을 해주세요~

회원 가입 할 때 결제 정보를 입력 받는데

무료 서비스만 이용하면 결제할 일 없으니

너무 겁먹지 마시길 바랍니다

회원 가입이 끝나셨으면 서비스 메뉴에서

안드로이드 스튜디오 네이버 지도 띄우기 - andeuloideu seutyudio neibeo jido ttuiugi

Application Service에 있는 #Maps 를 선택해주세요

이용 신청하기와 Application 등록을 눌러줍니다

표시한 부분을 입력해줍니다

Application 이름은 아무거나 해주셔도 되구요

저는 팀 이름 AnSimE로 했답니다

Mobile Dynamic Map 선택 후,

Android 앱 패키지 이름을 써주셔야 하는데

만들 프로젝트 패키지와 동일 명을 써주셔야 해요

+추가 후 확인!

Console 창에서 인증정보를 누르면

이렇게 key가 발급된 것을 볼 수 있습니다!

이제 첫 번째 가이드에 대한 부분은 끝났어요

카카오 지도, 구글 지도, 네이버 지도

다 해봤는데 키 발급 과정은

네이버 지도가 가장 쉬웠답니다~

이제 안드로이드 스튜디오를 열고

방금 입력했던 패키지 이름과 동일하게

프로젝트를 하나 생성해주세요

안 궁금할 수 있지만 그래도 간단하니 넣어봅니다

안드로이드 스튜디오 화면 검정색으로 바꾸기!

상단의 File -> Setting에서

Appearance & Behavior 안의 Appearance를 누르면

Theme라는 부분이 있는데 Darcula로 바꿔줍니다

이제 다시 본론!

가이드를 보면 루트 프로젝트의

build.gradle 부분에

저장소 설정을 추가하라고 합니다

앱 모듈의 build.gradle에

네이버 지도 SDK 의존성을 추가하랍니다

저는 현위치까지 띄워줄 것이기 때문에

나중에 필요한 의존성까지 넣었습니다

다 하고 오른쪽 상단의 'Sync Now'를 눌러주세요

AndroidManifest.xml에 client ID를 등록하랍니다

정말 시키는 대로만 하고 있죠???

네이버 지도 개발자 가이드가 제일 친절하더라구요!

안드로이드 스튜디오 네이버 지도 띄우기 - andeuloideu seutyudio neibeo jido ttuiugi

열심히 가린 저 부분에 발급받은

Client ID를 넣어주세요

이제 세 번째 가이드로 넘어갑니다

지도 객체를 띄우는 가이드에요

MapFragment와 MapView 방법이 있는데

저는 MapFragment는 안되더라구요...

MapFragment를 권장한다고 하는데

MapView를 사용해도 문제는 없습니다!

원하는 Layout 안에 mapView를 삽입합니다

저는 fragment_map.xml 안에 삽입해주었습니다

fragment는 메뉴 창을 만들 때 만들어준 이름이라

여기서 나오는 MapFragment와는 관련이 없습니다

아무 이름이나 사용해주세요

activity에서 라이프 사이클을 호출하는 방법입니다

저는 MapFragmentActivity라는 이름의

class를 만들어서 activity를 생성해주었어요

activity를 새로 생성해 주었으니

activity를 사용하는 코드도 필요한데요

activity_main.xml과 MainActivity class를

사용하여 지도를 띄우신 분들은

다음에 나오는 과정이 필요 없답니다!

여기까지만 하면 지도가 딱! 뜰거에요

우선 MainActivity에 MapFragmentAcitivty를

호출하는 코드를 넣어줍니다

activity를 호출할 때는 intent를 사용한답니다

switch, case 부분이 뭔지 모르겠지요?

저는 메뉴 화면을 만들어서 해당 메뉴를 누르면

해당 Activity가 호출되도록 만든거라서

포스팅에서는 간단하게 button을 만들어

지도를 띄우는 activity를 호출하도록 해볼게요

<Button android:id="@+id/map_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="지도 띄우기" android:layout_centerHorizontal="true" android:layout_centerVertical="true" />

activity_main.xml 가운데에

지도 띄우기라고 적힌 button을 하나 생성했어요

public class MainActivity { private Button map_button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); map_button = findViewById(R.id.map_button); map_button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(MainActivity.this, MapFragmentActivity.class); startActivity(intent); } }); } }

MainActivity에서 지도 띄우기 버튼을 누르면

MapFragmentActivity.class를 수행하도록 합니다

map_button을 생성하고 activity_main.xml에서

id가 map_button인 애를 찾아다 연결해줍니다.

그리고 버튼을 누르면 onClick안의 코드가

수행되도록 해주는 거에요

마지막으로 manifest에 새로 만든 Activity를

인식할 수 있도록 다음 코드를 추가해주세요

<manifest> <application> <!-- 내용 생략 --> <activity android:name=".ui.Map.MapFragmentActivity"/> </application> </manifest>

제가 만든 MapFragmentActivity는

ui 디렉토리 아래에 Map 디렉토리 아래에 만든거라서

저렇게 표시해 주었답니다

디렉토리 생성 없이 MainActivity와 같은

선상에 class를 생성하였다면

".MapFragmentActivity"로 표현하면 된답니다

안드로이드 스튜디오 네이버 지도 띄우기 - andeuloideu seutyudio neibeo jido ttuiugi

이렇게 하면 어플에 네이버 지도가 딱! 뜬답니다

아직은 지도 화면만 띄운거지 아무 기능도 없어요

오늘은 네이버에서 제공해주는 개발가이드를 보고

네이버 지도 api를 사용해봤는데요

추가적으로 MainActivity 외에 새로운 activity를

만들어 사용하는 것도 해봤답니다

다음에는 naverMap 객체를 생성하고

그걸 이용해서 현재 위치도 띄워 볼거에요

그리고 제가 코드를 만들거나 작성하는 과정에서

실수가 있을 수도 있고

더 나은 코드가 분명히 존재할 수도 있어요

그럴 때는 친절하게 알려주시면

내용 확인 후 고칠 부분 수정하거나

다음 프로젝트를 만들때 참고할게요!

코딩 도전 파트만 쓰면 포스팅 길이가 너무 길어져서

최대한 TMI 없이 전할 말만 했답니다

그래도 계속 길어서 몇 번이고 수정했네요 ㅠㅠㅠ

다음에는 더 보기 편할 수 있도록

짧고 간결하지만 내용은 알차게 담아 볼게요!

오늘도 보러 와주셔서 감사합니다~

안드로이드 스튜디오 네이버 지도 띄우기 - andeuloideu seutyudio neibeo jido ttuiugi

#앱만들기 #어플리케이션만들기 #안드로이드스튜디오 #JAVA #초보코딩 #네이버지도api #네이버지도띄우기 #지도어플 #일상블로그 #곰손의도전 #코딩편