λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

Etc/Android

[Android]곡곡데이터 'λ―Όλ°©μœ„ λŒ€ν”Όμ†Œμ •λ³΄ μ„œλΉ„μŠ€' API νŒŒμ‹±ν•˜κΈ°

728x90
λ°˜μ‘ν˜•
 

[Android] T-Map API을 μ‚¬μš©ν•˜μ—¬ 지도 λ„μ›Œλ³΄κΈ°

[πŸ‘¨‍πŸŽ“ν•™κ΅ μˆ˜μ—…πŸ‘¨‍πŸŽ“/[3-2]Android] - [Android] μžλ°”λ‘œ μ•ˆλ“œλ‘œμ΄λ“œ μ•± λ‹€μŒ 지도 APIμ‚¬μš©ν•˜μ—¬ 지도 λ„μ›Œλ³΄κΈ° [Android] μžλ°”λ‘œ μ•ˆλ“œλ‘œμ΄λ“œ μ•± λ‹€μŒ 지도 APIμ‚¬μš©ν•˜μ—¬ 지도 λ„μ›Œλ³΄κΈ° λ‹€μŒμ§€λ„ API ν‚€ 발..

sungmin.dev

 

[Android] μžλ°”λ‘œ μ•ˆλ“œλ‘œμ΄λ“œ μ•± λ‹€μŒ 지도 APIμ‚¬μš©ν•˜μ—¬ 지도 λ„μ›Œλ³΄κΈ°

λ‹€μŒμ§€λ„ API ν‚€ λ°œκΈ‰ 1. 지도 API을 λ°œκΈ‰ λ°›κΈ° μœ„ν•΄μ„œλŠ” Kakao Developers(https://developers.kakao.com/)μ‚¬μ΄νŠΈμ— λ°©λ¬Έν•˜μ—¬ 개발자 등둝을 ν•œν›„ μ•± 등둝을 ν•˜μ—¬μ•Ό ν•œλ‹€. 2. μ•± SDK을 μ‚¬μš©ν•˜κΈ°μœ„ν•΄μ„œλŠ” ν”Œλž«νΌ..

sungmin.dev

졜근 곡곡데이터λ₯Ό ν™œμš©ν•œ μ•± κ²½μ§„λŒ€νšŒ 및 아이디어 κ²½μ§„λŒ€νšŒκ°€ 많이 개졜되고, 각 μ‹œλ„μ²­μ—μ„œλ„ 곡곡데이터λ₯Ό 많이 ν™œμ„±ν™” ν•˜κΈ° μœ„ν•΄ 곡곡데이터λ₯Ό κ°œλ°©ν•˜κ³  μžˆλ‹€.

ν˜„μž¬ λ‚˜ μ—­μ‹œλ„  μΆ©λ‚¨λ„μ²­ 곡곡데이터 μ„œν¬ν„°μ¦ˆ 1기둜 ν™œλ™μ„ ν•˜λ©΄μ„œ 2019λ…„ 3ν•™λ…„ 2ν•™κΈ° μΊ‘μŠ€ν†€λ””μžμΈ κ³Όλͺ©μΈ λͺ¨λ°”일 ν”„λ‘œκ·Έλž˜λ° κ³Όλͺ©μ—
곡곡데이터λ₯Ό ν™œμš©ν•˜μ—¬ 결과물을 λ§Œλ“€κΈ° μœ„ν•΄ ν–‰μ •μ•ˆμ „λΆ€(μ΄ν•˜ ν–‰μ•ˆλΆ€)μ—μ„œ κ³΅κ°œν•œ 'λ―Όλ°©μœ„ λŒ€ν”Όμ†Œμ •λ³΄ μ„œλΉ„μŠ€' λΌλŠ” 곡곡데이터λ₯Ό Android에 νŒŒμ‹±ν•˜κΈ° μœ„ν•΄ 검색도 많이 해보고 2μ£Όκ°„ μ‚½μ§ˆν•œ κ²°κ³Όλ₯Ό 기반으둜 글을 μ“°λ €κ³  ν•œλ‹€.

ν•΄λ‹Ή ν”„λ‘œμ νŠΈλŠ” Kotlin μ–Έμ–΄κ°€ μ•„λ‹Œ Java κΈ°λ°˜μž„μ„ λ¨Όμ € 밝히고 μž‘μ„±μ„ ν•œλ‹€.

μš°μ„  κ³΅κ³΅λ°μ΄ν„°λŠ” 곡곡데이터포털에 μ ‘μ†ν•˜μ—¬ μ‹ μ²­ν•˜κ³ , λ§ˆμ΄νŽ˜μ΄μ§€μ—μ„œ APP KEYλ“± 기술 λ¬Έμ„œλ“±μ„ 확인 ν•  수 μžˆλ‹€.

곡곡데이터 μ‹ μ²­ ν™”λ©΄

 

* ν•΄λ‹Ή 기술 λ¬Έμ„œλŠ” μ΅œμ‹ ν™”κ°€ μ•ˆλ˜μ–΄ μžˆμ–΄μ„œ End PointλŠ” 신청화면에 λ‚˜μ˜€λŠ” μ£Όμ†Œλ₯Ό μž…λ ₯ν•΄μ•Ό νŒŒμ‹±μ΄ κ°€λŠ₯ν•˜λ‹€.

μ•± 신청이 μ™„λ£Œ 되면 μ•ˆλ“œλ‘œμ΄λ“œ ν”„λ‘œμ νŠΈλ₯Ό μƒμ„±ν•œλ‹€.

ν”„λ‘œμ νŠΈλ₯Ό 생성 ν•œν›„ 

AndroidManifest.xml νŒŒμΌμ— μ•„λž˜μ™€ 같은 인터넷 κΆŒν•œμ„ λ„£μ–΄μ€€λ‹€.

 <uses-permission android:name="android.permission.INTERNET" />
 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

 

κ·Έ 이후 activavity_main.xml νŒŒμΌμ— 뢈러온 API ν…μŠ€νŠΈλ₯Ό ν™•μΈν•˜κΈ° μœ„ν•΄ μ•„λž˜μ™€ 같이 TextView을 λ„£μ–΄μ€€λ‹€.

 <TextView
 	android:id="@+id/result"
	android:layout_width="match_parent"
	android:layout_height="match_parent"/>

 

κ·Έ 이후 MainActivity.java νŒŒμΌμ„ μ—΄μ–΄ μ•„λž˜μ™€ 같이 μ½”λ“œλ₯Ό μž‘μ„±ν•΄μ£Όλ©΄ νŒŒμ‹±μ΄ λ˜λŠ”κ²ƒμ„ 확인 ν•  수 μžˆλ‹€.

package dev.sungmin;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.os.StrictMode;
import android.widget.TextView;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class MainActivity extends AppCompatActivity {
    String AppKey = "API Key"; //κ³΅κ³΅λ°μ΄ν„°ν¬ν„Έμ—μ„œ 뢀여받은 API ν‚€

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        StrictMode.enableDefaults();

        TextView status1 = (TextView) findViewById(R.id.result); //νŒŒμ‹±λœ 결과확인!
        BufferedReader br = null;
        try{
            String urlstr = "http://apis.data.go.kr/1741000/CivilDefenseShelter2/getCivilDefenseShelterList?ServiceKey=" + AppKey;
            URL url = new URL(urlstr);
            HttpURLConnection urlconnection = (HttpURLConnection) url.openConnection();
            urlconnection.setRequestMethod("GET");
            br = new BufferedReader(new InputStreamReader(urlconnection.getInputStream(),"UTF-8"));
            String result = "";
            String line;
            while((line = br.readLine()) != null) {
                result = result + line + "\n";
            }
            status1.setText(result);
            System.out.println(result);
        }catch(Exception e){
            System.out.println(e.getMessage());
        }
    }
}

 

νŒŒμ‹±λœ κ²°κ³Ό

728x90
λ°˜μ‘ν˜•