Skip to content

Instantly share code, notes, and snippets.

@oxisols
Created December 25, 2016 13:44
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save oxisols/5ed6bab0a849520c6ece34e95833b447 to your computer and use it in GitHub Desktop.
Save oxisols/5ed6bab0a849520c6ece34e95833b447 to your computer and use it in GitHub Desktop.
안드로이드 후잉 API 호출 JAVA 코드 예제
package com.example.android;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
/**
* 메인 스레드
*/
@Override
protected void onResume() {
super.onResume();
// GET/DELETE 스레드 생성
new GET_DELETE().execute();
// POST/PUT 스레드 생성
new POST_PUT().execute();
}
/**
* GET/DELETE 스레드 정의
*/
private class GET_DELETE extends AsyncTask<Void, Void, String> {
@Override
protected String doInBackground(Void... params) {
String results = null;
try {
// 메소드, 리소스, 파라미터, X-API-KEY 입력
String method = "GET";
String resource = "https://whooing.com/api/entries.json_array";
String parameters = "section_id=s12345&start_date=20160101&end_date=20161231";
String X_API_KEY = "app_id=123,token=1q2w3e4r5t,signiture=1q2w3e4r5t,timestamp=" + System.currentTimeMillis();
// API 호출
URL url = new URL(resource + "?" + parameters);
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
httpURLConnection.setRequestMethod(method);
httpURLConnection.setRequestProperty("X-API-KEY", X_API_KEY);
InputStream inputStream = httpURLConnection.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
results = bufferedReader.readLine();
inputStream.close();
bufferedReader.close();
httpURLConnection.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
return results;
}
/**
* API 응답 결과로 수행할 작업 코드를 작성합니다.
*
* @param results = API 응답 결과
* example: {"code":200,~,"results":{~}}
*/
@Override
protected void onPostExecute(String results) {
super.onPostExecute(results);
// 작업 코드
}
}
/**
* POST/PUT 스레드 정의
*/
private class POST_PUT extends AsyncTask<Void, Void, String> {
@Override
protected String doInBackground(Void... params) {
String results = null;
try {
// 메소드, 리소스, 파라미터, X-API-KEY 입력
String method = "POST";
String resource = "https://whooing.com/api/entries.json_array";
String parameters = "section_id=s12345&l_account=expenses&l_account_id=x12&r_account=assets&r_account_id=x123&money=12345";
String X_API_KEY = "app_id=123,token=1q2w3e4r5t,signiture=1q2w3e4r5t,timestamp=" + System.currentTimeMillis();
// API 호출
URL url = new URL(resource);
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
httpURLConnection.setRequestMethod(method);
httpURLConnection.setRequestProperty("X-API-KEY", X_API_KEY);
httpURLConnection.setDoOutput(true);
OutputStream outputStream = httpURLConnection.getOutputStream();
outputStream.write(parameters.getBytes());
outputStream.flush();
outputStream.close();
InputStream inputStream = httpURLConnection.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
results = bufferedReader.readLine();
inputStream.close();
bufferedReader.close();
httpURLConnection.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
return results;
}
/**
* API 응답 결과로 수행할 작업 코드를 작성합니다.
*
* @param results = API 응답 결과
* example: {"code":200,~,"results":{~}}
*/
@Override
protected void onPostExecute(String results) {
super.onPostExecute(results);
// 작업 코드
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment