본문 바로가기

Study/Android99

현재 연결된 AP(WIFI) 정보가져오기 스마트 플러그류를 개발할때 현재 플러그에 연결되어 있는지, 아니면 일반 AP에 연결되어 있는지 체크를 하여, 2가지의 행동을 할 수 있습니다. 디바이스에 연결이 되어있다면, 디바이스에 SSID와 PWD를 입력해서 STA모드로 바꿔주면 되고, AP에 연결이 되어 있다면, 디바이스를 제어하는 곳으로 바로 넘어가면 됩니다. 그러기 위해서는 현재 연결된 AP의 이름을 가져와서 무선 AP인지 디바이스 AP인지를 구분해야 합니다. 이전 포스트에서 디바이스의 SSID를 "JME Plug + MAC주소"로 하였으니 JME Plug라는 이름이 있는지만 확인하면 됩니다. 1234567public String getWiFiSSID(Context mContext){ WifiManager manager = (WifiManage.. 2016. 1. 14.
socket통신 outputstream 할때 이상한 문자출력 ESP8266과 android 간의 소켓통신시에 특수문자가 전달되어 ESP8266이 리붓이 되는 현상 발생 할 수 없이 PC용 소켓프로그램에 연결해서 봤더니 이상한 특수문자들이 앞에 포함되어 있네요. 검색해 보니 IP주소와 포트번호라는 말이 있습니다. socket프로 데이터를 쓸때 ObjectOutputStream으로 해서 그렇다는 군요. OutputStream으로 전달하면 해결 된다고 합니다.^^ 코드를 변경 후 PC프로그램에서 확인해 봤습니다. 앞의 특수문자들이 사라졌습니다. 정상적으로 전달되어 station모드로 변경되었네요^^ 2015. 12. 21.
한글URL으로 XML parsing시 한글 깨질때 한글변수를 넣어서 파싱 xml로 파싱을 해올때가 있습니다. XML 파싱을 할때 보통은 아래와 같이 url을 UTF-8로 인코딩 해 줍니다. 12InputStream is=url.openStream();xpp.setInput(is,"UTF-8"); cs 테스트 해보니 5.0(롤리팝) 이상버전에서는 한글 URL이 인코딩이 잘 되서 전달됩니다. 하지만 킷캣까지는 한글이 깨지게 됩니다. 디버깅을 해보면 이런식으로 깨집니다. 이럴때는 한글URL 자체를 먼저 인코딩을 해주고 URL에 넣어주어야 합니다. 12345try { dongName = URLEncoder.encode(dong, "utf-8");}catch (Exception e){ e.printStackTrace();}Colored by Color Scrip.. 2015. 12. 10.
JSON Array parsing JSON은 속성(key)와 값(value)이 쌍으로 이루어진 데이터 포맷입니다. 예를 들면 1{"Manufacturer":"LG","Device_Type":"Aircon","Device_Name":"FNQ167VBHW","MACAddress":"4439c47ed870"}cs 위와 같은 형태로 되어있습니다. 값을 읽을때에 JSon Object로 넣어 1JsonObject.getString("Manufacturer");cs 라고 하면 "LG"라는 값을 읽어오게 됩니다. 풀파서(pull parser)에 비해 사용법도 간단하고 읽기도 쉬운 장점이 있습니다. 1234567String result={"Manufacturer":"LG","Device_Type":"Aircon","Device_Name":"FNQ167V.. 2015. 11. 24.
android에서 mysql 데이터 가져오기 안드로이드 소스코드 PHP 소스코드(0510) 안드로이드로 서버랑 통신해서 로그인하는 프로그램을 만들려면 sql을 사용해야 합니다. 하지만 안드로이드에서는 sql에 직접적으로 접근을 할 수는 없습니다.ㅠ php나 jsp같은 웹언어를 이용해야 합니다. 먼저 아래와 같이 로그인 페이지를 만들었습니다. 그리고 ID와 비밀번호를 입력해서 로그인 버튼을 누르면 ID와 PW를 서버를 통해 확인해야 합니다. 전체적인 구조를 보시면 아래와 같습니다. android에서는 http로 php를 요청하면 php에서 db을 읽어와 json으로 값을 전달해 줍니다. 먼저 가져올 table구조를 보겠습니다. 사용자정보(User_Info)테이블에 보시면 ID와 PW, Name등 정보들이 저장되어 있습니다. 일단 암호화에 대해서는 생.. 2015. 11. 18.
custom Notification (커스텀 알림창) 안드로이드에서는 기본적으로 제공하는 알림창외에도 사용자가 임의로 만들 수 있는 커스텀뷰를 알림창으로 만들 수 있습니다. 먼저 일반적인 알림창입니다. 표현할 수 있는게 별로 없습니다. 그렇다고 버튼을 달 수 도 있습니다. 물론 알림창을 클릭하면 다른 화면으로 이동은 가능합니다. 좀 더 자유로운 레이아웃을 구성하려면 remoteview를 사용해야 합니다. 먼저 레이아웃을 하나 구성합니다. 위 아래로 늘어나서 이상하게 보이지만 나중에 띄워보면 제대로 나옵니다. 저는 제일 왼쪽에 아이콘을 두고 두번째에는 텍스트 뷰를 3개 오른쪽에는 텍스트 뷰 1개와 이미지 버튼 하나를 배치했습니다. 그리고 구현된 자바 코드입니다. 123456789101112131415161718192021222324NotificationCom.. 2015. 11. 18.

인기글