728x90
728x90

Android 10

안드로이드] 안드로이드에서 HttpURLConnection을 이용해 POST 방식으로 데이터 전송하기

HttpURLConnection 클래스를 이용하면 URL 요청하고 POST 방식으로 데이터를 전송하여 응답을 받을 수 있다. 기본적으로 Http 통신에서 지원하는 GET, POST 방식 등을 제공한다. try { URL url = new URL(uri); String result = ""; HttpURLConnection conn = (HttpURLConnection)url.openConnection(); conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); conn.setRequestProperty("Accept-Charset","UTF-8"); conn.setUseCaches(false); conn.setReques..

코틀린(Kotlin)으로 작성한 안드로이드 블루투스 리모컨 예제

https://twinparadox.tistory.com/132 위 링크에 올린 블루투스 리모컨으로 조종하는 아두이노 선풍기에 어플리케이션 코드가 없었다. 프로젝트를 정리해 올리면서 아두이노 스케치 코드는 올렸는데, 어플리케이션 코드는 찾지 못해서 올리지 못한 상태였는데 최근 코틀린을 배우면서, 코틀린도 연습할 겸, 잃어버린 프로젝트의 주권(?)을 되찾을 겸, 리모컨을 다시 만들었다. 소스에 대해 간략히 설명하자면, SelectDeviceActivity는, 블루투스 장치를 검색 및 선택하는 액티비티고, ControlActivity는 해당 장치를 컨트롤하는 액티비티로, 여기서는 리모컨 역할을 하는 액티비티다. 깃허브 주소 : https://github.com/Twinparadox/ArduinoFan-wit..

코틀린(Kotlin)을 이용하면 findViewById()를 사용할 필요가 없다

코틀린에서는 더 이상 findViewById()를 사용하지 않아도 된다.정확히는 Kotlin Android Extension만 적용시키면, 레이아웃을 import 시키는 것만으로도 XML에서 정의내린 위젯들을 Id로 읽어들여 하나하나 변수로 만들어줄 필요가 없어졌다. textviewID라는 ID를 가지는 요소를 XML에서 정의했다고 치자.자바에서는 말할 것도 없이 findViewById()를 사용하는 방법부터 써먹을 것이고, 코틀린에서도 전통적인 자바의 방식을 사용하는 사람들이 많을 것이다. TextView textViewID = findViewById(R.id.ui_text_hello) as TextView textViewID.text = "기존의 방식"이 방식이 아예 틀린 방식이거나 구 시대의 잔재라..

안드로이드 예제 - 코틀린으로 로그인-메뉴 화면 만들기

코틀린으로 처음 모바일 프로그래밍을 입문하는 사람들은 관련 책을 참고하는 것을 추천한다.필자가 참고하는 책은 Do It! 안드로이드 앱 프로그래밍으로, 꽤 오래 전에 산 책이라서 코틀린이 아닌 자바로 써진 책이다. 코틀린으로 써진 책은 아니지만 이렇게 간단한 어플 만들기 예제들이 많이 있어서 예제 아이디어를 얻는 용도로 사용하고 있다. 책으로 코틀린 관련 지식들을 습득할 수 없으니, 부족한 부분들은 자바의 소스들을 가져다 넣고 코틀린으로 바꿔서 해당 기능이 어떻게 사용되는지 확인하거나, 구글링으로 해결하고 있다. 이번 예제는 '로그인 화면과 메뉴 화면 간단 만들기'라고 되어 있다. 서버/클라이언트 통신을 통해서 로그인 확인을 하지는 않고, 앱에 미리 저장해둔 아이디와 비밀번호를 비교하는 작업으로 간단하게..

코틀린(Kotlin) 함수, 변수 정의

코틀린을 입문하는 사람들이 기존 Java로 안드로이드 개발을 하던 사람이거나, C#을 이용해 자마린을 쓰는 사람 등 다양한 사람이 있을 것 같다. 앞서 말한 두 언어와 코틀린의 가장 큰 차이점이라면 아무래도 세미콜론(;)을 사용하지 않는다는 것이다. 함수 정의 방법함수는 fun 키워드로 정의하며 함수 몸체 자체가 식(Expression)일 때는 return을 생략할 수 있음. fun sum(a: Int, b: Int) Int {return a + b}fun sum(a: Int, b: Int) = a + b 리턴 타입을 지정하는 방식이나, 기존의 인자 선언 방식이 C++, Java 같은 언어와는 방식이 약간 다르지만 형식 지정이 없는 것은 아니다. 경우에 따라서 함수의 리턴 값이 없는 경우에는 Unit(O..

[Android] 자마린 안드로이드 가이드 따라가기 #2

지금까지 애플리케이션을 구동시키는 소스를 작성했다.이것이 정상적으로 작동하게 하기 위해서는 한 가지 해줘야 하는 작업이 있는데, 바로 '퍼미션 설정'이다.앱 개발을 해본 사람들은 알겠지만, 스마트폰의 어떤 것에 접근하기 위해 권한 요청을 하는 작업이다. 참고로, 접근 권한에 대해서 좀 더 엄격해졌다. 과거에는 앱이 설치되는 즉시 명시해놓은 접근 권한에 대해서는 암묵적으로 동의하는 것으로 간주하고 앱 설치 이후에는 명시해놓은 정보들에 무차별 접근했으나, 최근 법이 바뀌어, 사용자가 설치하더라도 해당 권한에 접근하려는 경우 반드시 거기에 따른 권한 허가를 받아야만 한다. 퍼미션에 대한 것은 안드로이드 스튜디오에서와 마찬가지로 AndroidManifest.xml에서 관리한다. 이외에도 xml에 직접 코드를 넣..

[Android] 자마린 안드로이드 가이드 따라가기 #1

자마린 안드로이드 가이드는 다른 가이드처럼 Hello, Android로 시작한다.Hello, Android 가이드는 두 파트로 나뉘어져 있다. 일단 하라는 대로 따라가면서 먼저 만들고 보는 Quickstart와 세부사항들에 대해서 다루고 있는 Deep Dive 두 가지로 나뉘어져 있다. 이번 포스트에서 다룰 가이드는 Quickstart로 드디어 처음으로 C#을 이용해 안드로이드 어플리케이션을 만들어 볼 차례다. 이 가이드를 보고 따라가기 앞서 두 가지 시스템 요구 사항이 존재한다. Windows 7 이상Visual Studio 2013 프로페셔널 혹은 그 이상 버전(커뮤니티도 가능) 자 이제 프로젝트를 생성해보자.여타 다른 프로젝트와 다를 것 없이 프로젝트를 생성해주면 된다. Visual C#>Andro..

Visual Studio(비쥬얼 스튜디오)에서 Android SDK 경로 설정 방법

아는 사람들은 알겠지만, 꽤 오래 전부터 Visual Studio(비쥬얼 스튜디오)에서도 안드로이드 어플 개발이 가능했다.그뿐만 아니라 iOS, Windows Mobile까지 훌륭한 이식성을 바탕으로 크로스 플랫폼 개발이 누구나 가능한데, 이 모든 것은 Xamarin(자마린)이 만들어 낸 결과다. 거기에, 자마린을 인수해 그것을 무료로 풀어버린 마이크로소프트의 기여 정신까지 더해진 결과. 안드로이드 스튜디오를 배척하는 것은 아니지만 좀 더 새로운 것을 해보고 싶고, 자주 다루는 C#을 이용하고 싶어서 자마린을 시작했다. 안드로이드와 함께 양대 모바일 OS라 불리는 iOS는 테스트할 환경조차 없지만 말이다. 안드로이드 개발을 해본 사람들이라면 알겠지만 다양한 버전의 SDK를 막 설치하다 보면 설치 경로의 ..

Android] 블루투스 프로토콜 UUID

블루투스 모듈이랑 안드로이드 기기 간 통신을 해야하는데,사용하는 프로토콜에 맞는 UUID를 사용해야 한다.모르고 했다간 괜한 부분에서 삽질하게 된다. BASE UUID = '{00000000-0000-1000-8000-00805F9B34FB}'; SDP_PROTOCOL_UUID = '{00000001-0000-1000-8000-00805F9B34FB}';UDP_PROTOCOL_UUID = '{00000002-0000-1000-8000-00805F9B34FB}';RFCOMM_PROTOCOL_UUID = '{00000003-0000-1000-8000-00805F9B34FB}';TCP_PROTOCOL_UUID = '{00000004-0000-1000-8000-00805F9B34FB}';TCSBIN_PROTOC..

안드로이드 스튜디오, 한글 깨짐 현상(인코딩 변환)

안드로이드 스튜디오, 한글 깨짐 현상(인코딩 변환) 안드로이드 스튜디오를 이용하면인코딩 방식의 차이가 있어 종종 한글이나 한문 등이 깨지는 현상을 발견할 수 있다.이 경우, 인코딩 설정을 바꿔주면 해결할 수 있는데 'File->Settings' 혹은 단축키 'Ctrl+Alt+S'를 누르면 'Settings'창이 열린다. 설정창에 그려져 있는 빨간색 박스(검색란)에'File Encodings'를 검색하면 오른쪽과 같이 인코딩 정보와 관련된 옵션들을 볼 수 있다.노란색 박스로 표시된 부분을 전부 'UTF-8' 방식으로 변경하면 문제는 해결된다.

728x90