반응형
반응형

[JAVA] HttpURLConnection로 REST API 호출하기 

public void post(String strUrl, String jsonMessage){
		try {
			URL url = new URL(strUrl);
			HttpURLConnection con = (HttpURLConnection) url.openConnection();
			con.setConnectTimeout(5000); //서버에 연결되는 Timeout 시간 설정
			con.setReadTimeout(5000); // InputStream 읽어 오는 Timeout 시간 설정
			con.addRequestProperty("x-api-key", RestTestCommon.API_KEY); //key값 설정

			con.setRequestMethod("POST");

            //json으로 message를 전달하고자 할 때 
			con.setRequestProperty("Content-Type", "application/json");
			con.setDoInput(true);  // InputStream으로 응답 헤더와 메시지를 읽어들이겠다는 옵션
			con.setDoOutput(true); //POST 데이터를 OutputStream으로 넘겨 주겠다는 설정 
			con.setUseCaches(false);
			con.setDefaultUseCaches(false);

			OutputStreamWriter wr = new OutputStreamWriter(con.getOutputStream());
			wr.write(jsonMessage); //json 형식의 message 전달 
			wr.flush();

			StringBuilder sb = new StringBuilder();
			if (con.getResponseCode() == HttpURLConnection.HTTP_OK) {
				//Stream을 처리해줘야 하는 귀찮음이 있음.
				BufferedReader br = new BufferedReader(
						new InputStreamReader(con.getInputStream(), "utf-8"));
				String line;
				while ((line = br.readLine()) != null) {
					sb.append(line).append("\n");
				}
				br.close();
				System.out.println("" + sb.toString());
			} else {
				System.out.println(con.getResponseMessage());
			}
		} catch (Exception e){
			System.err.println(e.toString());
		}
}

 

// 요청할 파라미터의 정보를 입력한다.
String body = "id=asdf&pass=asdf";

// URL클래스의 생성자로 주소를 넘겨준다.
URL u = new URL( 주소 );

// 해당 주소의 페이지로 접속을 하고, 단일 HTTP 접속을 하기위해 캐스트한다.
HttpURLConnection  huc = (HttpURLConnection) u.openConnection();

// POST방식으로 요청한다.( 기본값은 GET )
huc.setRequestMethod("POST");

//InputStream으로 응답 헤더와 메시지를 읽어들이겠다는 옵션을 정의한다.
   huc.setDoInput(true);

// OutputStream으로 POST 데이터를 넘겨주겠다는 옵션을 정의한다.
   huc.setDoOutput(true);

// 요청 헤더를 정의한다.( 원래 Content-Length값을 넘겨주어야하는데 넘겨주지 않아도 되는것이 이상하다. )
   huc.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");

// 새로운 OutputStream에 요청할 OutputStream을 넣는다.
   OutputStream os = huc.getOutputStream();

// 그리고 write메소드로 메시지로 작성된 파라미터정보를 바이트단위로 "EUC-KR"로 인코딩해서 요청한다.

// 여기서 중요한 점은 "UTF-8"로 해도 되는데 한글일 경우는 "EUC-KR"로 인코딩해야만 한글이 제대로 전달된다.
   os.write( body.getBytes("euc-kr") );

// 그리고 스트림의 버퍼를 비워준다.
   os.flush();

// 스트림을 닫는다.
os.close();

// 응답받은 메시지의 길이만큼 버퍼를 생성하여 읽어들이고, "EUC-KR"로 디코딩해서 읽어들인다.
BufferedReader br = new BufferedReader( new OutputStreamReader( huc.getInputStream(), "EUC-KR" ), huc.getContentLength() );

String buf;

// 표준출력으로 한 라인씩 출력
while( ( buf = br.readLine() ) != null ) {
    System.out.println( buf );
}

// 스트림을 닫는다.
br.close();

 

반응형
반응형
이 중에 몇개나 할 수 있나?

반응형

'프로그래밍' 카테고리의 다른 글

프리랜서 가이드라인  (0) 2019.10.10
신입들을 위한 직장생활의 디테일 70가지  (0) 2019.09.26
개발자 구인난이 심각한가?  (0) 2019.08.21
애플에 리젝 받을때의 기분  (0) 2019.07.25
freeCodeCamp Guide  (0) 2019.06.13
반응형

[JSTL core] [c:forEach] varStatus를 활용한 변수

forEach문은 아래와 같이 활용한다.

<c:foreach items="${리스트가 받아올 배열이름}"
           var="for문 내부에서 사용할 변수"
           varStatus="상태용 변수">

	// 반복해서 표시할 내용 혹은 반복할 구문

</c:foreach>

이 때, 상태용 변수를 status라고 지정했다면 아래와 같이 활용할 수 있다.

 

${status.current} 현재 for문의 해당하는 번호

${status.index} 0부터의 순서

${status.count} 1부터의 순서

${status.first} 첫 번째인지 여부

${status.last} 마지막인지 여부

${status.begin} for문의 시작 번호

${status.end} for문의 끝 번호

${status.step} for문의 증가값

<c:foreach items="${list}" var="list" varStatus="status">
	<c:out value="${status.index}" /> / <c:out value="${status.end}" />
</c:foreach>
반응형
반응형

 

root bin]# tbsql sys/tibero  

* sys : ID
* tibero : PW

 

tbsql id/pw

@'C:\Users\___\Desktop\sql\sql_file.sql'

반응형
반응형

WindowChangeDetect extends AccessibilityService

메니페스트 파일(xml)에 서비스 클래스명 등록 필수

https://jungwoon.github.io/android/2016/10/03/Accessibility-Service/

 

Accessibility Service 사용방법 - Jungwoon Blog

안드로이드 접근성 서비스를 이용하는 방법 설정해야하는 순서 android.accessibilityservice.AccessibilityService에서 상속받는 클래스 만들기 AndroidManifest.xml에 접근성 서비스 등록하기 res/xml/accessibility_service_config.xml 만들기 res/values/strings.xml 에 accessibility_description 추가하기 MainActivity 해당 앱의 패키지

jungwoon.github.io

https://github.com/Jungwoon/AccessibilityService

 

Jungwoon/AccessibilityService

Contribute to Jungwoon/AccessibilityService development by creating an account on GitHub.

github.com

https://pluu.github.io/blog/android/droidkaigi/2017/10/20/droidkaigi-2017-AccessibilityService/

 

Pluu Dev - [번역] DroidKaigi 2017 ~ AccessibilityService 를 사용해 앱의 가능성을 넓히자

Android Studio Tips #2 Posted on 24 Jul 2019 Android Studio Tips #1 Posted on 13 Jul 2019 [요약] Android Studio/ Tips and Tricks Part 3 ~ Build&Deploy (Google I/O '19) Posted on 07 Jul 2019 [요약] Android Studio/ Tips and Tricks Part 2 ~ Navigation Editor, Res

pluu.github.io

https://jinhobak.tistory.com/428

 

AccessibilityService 예제

설정에서 접근성을 체크하면 터치, 키보드 입력 등의 다양한 이벤트를 수신할 수 있다. - 노티 영역에 수집되는 정보를 추출 가능 (카톡 등과 같은 메신저 미리보기 서비스 이용하여 메시지 캐치가 가능) - 검색어..

jinhobak.tistory.com

 

반응형
반응형

Samsung Flow : 태블릿/PC와 갤럭시 휴대폰의 연동

https://youtu.be/srj0JNbpvqw

https://www.microsoft.com/ko-kr/p/samsung-flow/9nblggh5gb0m?activetab=pivot:overviewtab

 

Samsung Flow 구매 - Microsoft Store ko-KR

Microsoft Store에서 이 Windows 10용 앱을 다운로드하세요. 스크린샷을 보고, 최신 고객 리뷰를 읽고, Samsung Flow에 대한 평점을 비교하세요.

www.microsoft.com

Samsung Flow는 태블릿/PC와 갤럭시 휴대폰의 연동을 통해 편리한 기능을 제공합니다.

1. 태블릿/PC 간편 로그인 Samsung Flow에 등록이 완료된 Galaxy 휴대폰 또는 Samsung Wearable 인증을 통해 간편하고 안전하게 Windows 태블릿/PC에 로그인 할 수 있습니다. 태블릿/PC에 등록된 생체정보를 활용한 인증도 가능합니다. (*태블릿/PC에 등록된 생체정보를 활용한 인증은 삼성 디바이스에서만 가능합니다.)

2. 휴대폰 자동 핫스팟 연결
3. 휴대폰 알림 연동 휴대폰으로 오는 메시지나 알림을 태블릿/PC에서 확인하고 바로 답할 수 있습니다. (* 일부 앱은 해당 기능이 미지원 될 수 있습니다.) 4. 편리한 컨텐츠 전달 Samsung Flow로 연결된 태블릿/PC와 휴대폰 간의 컨텐츠를 간편하게 전달 할수 있습니다. 5. 휴대폰 화면 공유 휴대폰에서 보던 화면을 Windows 태블릿/PC에서 볼 수 있습니다. Samsung Flow: 소개영상 https://www.youtube.com/watch?v=srj0JNbpvqw Samsung Flow 상세 지원 기준에 맞는 제품이 필요합니다. 1. Windows 태블릿/PC : Windows 10 OS 크리에이터 업데이트 이상 (V1703), patch build (15063.413) Galaxy TabPro S, Galaxy Book, Galaxy Book2 등) 2. Android Marshmallow OS 이상 Galaxy Tab S4, Tab S3, Tab S2, Tab A (2018, 10.5), Tab A2, Tab Active 2, Tab A 10.1, Tab A (2017) 3. Android Marshmallow OS (6.0) 이상 Samsung Galaxy 스마트폰 * 스마트폰 사양에 따라서 일부 모델은 지원이 되지 않을 수 있습니다. 4. Tizen 3.0 이상 Galaxy Watch, Samsung Galaxy Watch Active, Samsung Gear S3, Samsung Gear Sports * Samsung Flow는 삼성전자에서 배포한 정식 Software에서 정상동작합니다. * 필수지원기능 : 블루투스 (Bluetooth LE optional) 또는 Wi-Fi/LAN 연결, Wi-Fi direct (Windows OS) Windows 10 사용자는 Windows store의 Samsung Flow를 다운로드 하세요. 설치방법은 Samsung Flow의 웹페이지를 참조하세요. www.samsung.com/samsungflow 만약 태블릿/PC에 탑재 된 Samsung Flow 앱을 최신 버전으로 업데이트 하지 않았다면, 윈도우 스토어>메뉴>다운로드와 업데이트 메뉴로 가서 해당 앱을 업데이트 하세요.

 

반응형

+ Recent posts