제임스딘딘의
Tech & Life

고양이의 둥지 259

[안드로이드] 안드로이드 화면이 회전될 때 어플리케이션 개발자가 주의해야할 점

안드로이드 화면이 회전될 때 어플리케이션 개발자가 주의해야할 점 안드로이드는 가속도 센서나 조도 센서와 같은 다양한 종류의 센서를 다루기 위한 API 를 제공하고 있다. 그 중 가장 일반적으로 사용되는 센서 두 가지는, 가속도 센서와 자기장 센서(나침반 센서) 이다. 어플리케이션과 디바이스는 이 두 가지 센서를 사용자 입력값으로 활용하여, 디바이스 스크린을 어느 방향으로 돌릴지 결정하는데 사용하곤 한다. 그러나, 최근 이와 관련된 새로운 문제가 발견되었다. 새로 출시된 디바이스들 중에는 (모토롤라의 CHARM 과 FLIPOUT 이라는 모델) 기본 화면 모드로 포트레이트(portrait) 모드 대신 랜드스케이프(landscape) 모드를 사용하고 있다. 따라서, 기본 화면이 세로로 길쭉하지 않고 가로로 넓..

스마트폰 ‘컴퓨터 닮기’ 종착역은?

스마트폰 ‘컴퓨터 닮기’ 종착역은? 더 큰 화면, 더 빠른 속도, 더 많이 저장… pc업체들 장점 살려 도전, 통신시장 경쟁 더 치열해져 ‘더 큰 디스플레이, 더 빠른 처리속도, 더 많은 저장공간….’ 스마트폰의 ‘피시(PC) 닮기’ 경쟁은 어디까지 갈 것인가? 델코리아는 22일 서울 광화문 올레스퀘어에서 ‘스트릭’을 연내 케이티(KT)를 통해 출시한다고 발표하며 국내 스마트폰 시장 진출을 선언했다. 갈수록 경쟁이 격화하는 스마트폰 시장에 다양한 제품이 쏟아지고 있지만, 세계 2위의 컴퓨터 제조기업인 델이 들고온 제품은 약간 다르다. 스트릭은 5인치 화면을 채택한, 세계에서 가장 큰 화면의 스마트폰이다. 휴대전화의 디스플레이는 2년 전만 해도 평균 2.2인치로 ‘경박단소’를 지향했으나 스마트폰이 나온 이..

NULL ptr/ NULL ptr 2010.12.23

[안드로이드] 카메라 해상도 바꾸기

안드로이드 카메라 해상도 바꾸기 카메라를 찍을때 촬영할 이미지의 해상도를 변경하는 방법을 보여주는 예제코드 입니다. 아래 코드는 APIDemo에 있던 Camera 소스를 약간 변경한 것입니다. Preview Class는 카메라에서 1600 * 1200 (2MP)과 가장 가까운 해상도를 찾아서, 그 해상도로 촬영을 해 주는 역할을 합니다. Activity에서 불러오는 방법은 APIDemo에 있는 Camera소스를 찾아 보시기 바랍니다. class Preview extends SurfaceView implements SurfaceHolder.Callback { private static final int IMAGE_WIDTH = 1600; // 촬영할 가로 픽셀 수 private static final in..

1인창조기업 앱 공모전 시상식

이래저래 기말고사기간이 겹쳐서 진행하는데 고생을 좀 한 공모전이었던 1인창조기업 앱 공모전 결과가 나왔다. '건강하시고 부자되세요'팀의 '맛따라 길따라' 어플리케이션. 우수상. 시상식을 다녀왔다. 이런 자리는 처음이라 어떨지 궁금했는데, 괜찮은 경험이었다. 중소기업청 보도자료 중국인 유학생 분. 순천이라고 했나.. 꽤 먼곳에서 오셨다고 했다.

[안드로이드] http에 request요청시 - redirect 하는 방법

HTTP request요청시 redirect 하는 방법 및 예제코드안드로이드 앱을 만들다보면 http로 request를 보냈는데, 서버에서 url주소를 redirect해서 response를 보내주는 경우가 있다. 그럼 개발자가 의도한 동작이나 입력한 주소로는 요청이 안되게 된다. 이걸 해결하기위해서는 java에서 redirect된 주소로 다시 요청을 해줘야 한다. 상당히 귀찮다.예제를 보여주겠다. 이를 응용하거나, 바로 가져다 사용하면 귀찮은 작업을 덜 수 있다. private InputStream openConnectionCheckRedirects(URLConnection c) throws IOException { boolean redir; int redirects = 0; InputStream in ..

한국기술교육대학교 - 안드로이드 어플리케이션

국내 여러 대학교들이 아이폰용, 안드로이드용 대학교 어플리케이션을 가지고 있습니다. 전문제작업체를 통해 만들어진 공식앱을 가지고 있는 대학도 있고, 그 대학에 소속된 학생들이 직접 제작해서 배포하고있는 대학도 있지요. 제가 재학중인 한국기술교육대학교에서도 여러 학생들이 졸업작품 등으로 아이폰, 안드로이드폰 용 한기대 어플을 제작해서 선보였었습니다. 그런데 앱스토어나 마켓에 한국기술교육대학교로 검색하면 나오는 앱은 없더군요. 제가 아이폰을 사용하지 않아서 아이폰쪽은 잘 모르겠지만, 안드로이드 마켓에는 확실히 없었습니다. 그래서 '직접 안드로이드용 한국기술대학교 앱을 만들자!' 라는 생각을 하게 되었고, 2010년 11월 중순쯤부터 제작을 시작했습니다. 저와 같은 컴퓨터공학부 소속인 학우 4명과 함께 시작했..

[안드로이드/Tip] LogCat 한글 메시지 확인하기

LogCat은 무엇인가?LogCat은 안드로이드 앱 개발환경에서, 다양한 앱과 데몬프로세스들이 생성하는 로그를 보는데 사용하는 명령어이다.이 LogCat은 Android에서 제공하는 ADB shell에서 사용할 수도 있지만, Android SDK 로써 사용하는 이클립스에서 LogCat윈도우를 통해서도 사용할 수 있다.그런데, 아직 이 이클립스를 통한 Android SDK환경이 불안정 한 것인지, 이클립스의 LogCat윈도우는 여러가지 문제를 가지고 있다.그중 한가지가 바로 한글 출력시 깨져서 보인다는 것이다. LogCat 에서 깨지는 한글 메시지 확인하기 이클립스에서 사용하는 LogCat에서는 한글이 깨져서 나온다. (윈도우 버젼 이클립스. 현재 사용중인 버젼은 헬리오스) 인코딩 문제 때문이라고 하는데,..

[안드로이드] 웹뷰를 통한 apk 파일 다운로드 및 제어

안드로이드에서 웹뷰를 통한 apk 파일 다운로드 및 제어 아래와 같은 순서로 진행하겠다. apk 파일을 다운 받을 수 있는 WAS 구축(HTML의 a 태그를 이용한다.)안드로이드 웹뷰를 통한 웹페이지 접근웹뷰 클라이언트를 오버라이딩하여 apk 파일을 sd 카드 내에 다운 받기다운 받은 apk를 안드로이드 패키지 매니저를 통해 install 하기 apk 파일을 다운 받을 WAS 구축 WAS(Web Application Server)는 톰캣을 이용했다. 톰캣의 설치는 간단하므로 이 글에서는 제외한다. 참고로 난 우분투에서 만들었다. war을 톰캣 서버에 deploy할 때 다음과 같은 html을 추가했다. war 파일 내 경로 : test/ 경로 내 포함된 파일 : test.html, HelloWorld.ap..

[안드로이드/GUI] 안드로이드의 레이아웃과 계층구조

안드로이드의 레이아웃과 계층구조 : 화면 구성요소들의 계층구조안드로이드의 기본 클래스는 Activity(android.app.Activity) 클래스이다.Activity 클래스는 아주 많은 것을 할 수 있지만 지 혼자서는 화면에 아무짓도 못한다.이 Activity 클래스에 화면기능을 하기 위해서는 View, Viewgroups 와 항상 같이 작업을 해줘야 한다. 1. Views View(android.view.View) 클래스는 화면의 사각형 영역에 있는 컨텐츠나 화면 레이아웃 을 담당한다. 즉 화면영역에 오브젝트들을 배치하고,위치를 재고,그리고,포커싱을 바꾸고,스크롤을 하는등의 일을 한다. 또한 View 클래스는 위젯(화면에 어떤 것을 그리는 모든 행위를 하는 클래스들의 집합)의 기본 클래스이며, 이 ..

[안드로이드] XML을 이용한 컬러와 스타일 지정방법

XML을 이용한 컬러와 스타일 지정방법안드로이드에서는 앱 UI를 구성할 때, java코드를 사용하는 방법 외에도, XML로 레이아웃과 색상, 스타일을 지정하는 방법이 있다.xml을 이용하여 칼라 및 스타일 지정하는 방법을 알아본다. xml에 color설정하는 법res/values/colors.xml이라는 파일을 만들고 아래와 같이 지정하면 된다. #77000000 #00000000 이렇게 지정한 color는 android:textColor="@color/dim" 과 같은 식으로 사용이 가능하다. xml에 color state list 설정하는 법color를 xml에 지정하기 위해서는 res/color라는 폴더를 만든 후 xml파일을 생성하면 된다.ex) res/color/font_set_a.xml 아래의..

1인 창조기업 앱개발 경진대회

http://www.ideabiz.or.kr/apps/appsClient/main.jsp 주최 중소기업청, 서울특별시, 대구광역시, 광주광역시, 충청남도 응모작품명 맛따라 길따라 개발기간 2010. 11. 한달 결과 우수상! 후기 힘들지만 그만큼 성취감이 큰 공모전작품 제작과정이었습니다 11월16일 오후 4시, '마이크로프로세서' 수업이 끝나고 4공학관을 나서는데, 제가 굉장히 존경하는 선배로부터 전화가 한통 걸려왔습니다. '공모전을 준비중이다, 안드로이드 앱을 만들고 있는데 데이터베이스쪽 코딩할 사람이 부족하다, 같이 하지 않겠느냐.' 이런 내용이었죠. 저는 이 선배와 같이 작업을 해보고싶어, 흔쾌히 오케이했습니다. 그런데, 11월 19일 23시 59분 마감인 공모전 이었어요. '충남 옛길 관광정보 제..

부분문자열을 얻는 방법 - Java와 SQL

JAVA의 String 메소드중 하나인 Substring 은 부분문자열을 얻을때 사용한다. Substring(int beginIndex, int endIndex) 의 형태를 가진다. beginIndex 부터 endIndex 까지를 부분문자열로 취하겠다는 뜻이다. (endIndex의 문자는 제외가 된다!!) 예) String str = "19000101-1234567" str.substring(10, 17) 하면 1234567 을 부분문자열로 반환한다. (10부터 16까지 7자리를 읽어온다) SQL에서는 부분문자열을 얻는 substr 라는게 있다. 형태는 substr(string S,int N1,int N2) 이다. 뭐냐하면 문자열 S를 N1 번째 문자부터 시작해서 N2 개 만큼 부분문자열로 취한다는 것이..

[안드로이드] HttpURLConnection을 통해 html 접근시 한글깨짐 문제 해결 방법

HttpURLConnection을 통해 html 접근시 한글깨짐 문제 해결 방법종종 안드로이드 앱에서 HTML 페이지 내용을 읽어올 필요가 있는 경우, 사용되는 HTTP 커넥션을 위한 클래스로 HttpURLConnection 라는것이 있다. 그런데 이걸 통해서 한글이 포함된 사이트의 HTML을 가져올경우 한글이 깨지는 문제를 겪게될 경우가 있을 수 있다. 내 경우에는 이 HttpURLConnection을 아래과 같이 사용하고는 했는데, 한글이 제대로 보이지 않고, 깨짐 현상이 보였다. HttpURLConnection conn = (HttpURLConnection)url.openConnection(); BufferedReader br = new BufferedReader(new InputStreamRead..

[안드로이드] 안드로이드 개발시 eclipse (helios) 죽는 문제

안드로이드 개발시 eclipse (helios) 죽는 문제 해결방법 안드로이드 개발을 하다보면 특별히 문제는 없어보이는데 eclipse가 응답없음 상태로 전환되었다가 갑자기 죽어버리는 경우가 있어요. 한참 포풍코딩하던걸 저장하지 않은 상태에서 이런일이 발생하면, 코딩내용이 모두 날아가 버리지요.(수시 저장의 중요성!!) 검색을 해보니 다음과 같은 조합으로 사용하는 경우에 이런 문제가 발생할 수 있다고 하네요 이클립스가 소리없이 크래시되는 조합이클립스가 크래시 되는 조합이 있으니, 본인이 해당하는지 확인해보시기 바랍니다.만약 해당된다면, 아래에서 제시하는 해결방법을 적용해 보세요. OS : 윈도우 7 (32bit or 64bit) JDK : jdk1.6.0_21 Eclipse : Helios 이러한 조합일..

[안드로이드] Android XML Files auto formatting With Eclipse

Android XML Files auto formatting With Eclipse XML 파일 포맷팅을 하는 방법을 소개합니다.Window-> Preferences-> XML-> XML Files-> Editor 에서 "Split multiple attributes each on a new line" 를 체크 on으로 변경해주면 XML 파일이 보기 좋게 Formatting 되요. 안드로이드 개발을 하다보면 XML 파일을 수정할 일이 많지만. 이클립스 기본 Fommater가 불만인 경우 사용해보면 좋을것 같아요 :D

대한민국 앱 공모전 1회

기간 2010. 7. ~ 2010. 9 응모작품명 스마트닥터 결과 3차 심사 탈락 요약 내가 하루 15시간씩 1주일간 JAVA를 공부하게 만든 공모전. 그후 하루 15시간씩 2개월간 안드로이드SDK 공부 + 코딩을 하게 만든 공모전. 몸은 힘들지만 내가 하고싶은것을 하면 정신적으로는 전혀 피곤하지 않다는것을 깨닫게 해준 공모전. 후기 2010년 7월이 끝나갈 무렵. 대학교 2학년 1학기를 끝내고 여름계절학기로 선형대수학을 공부하며 학교앞 원룸에서 심심한 나날을 보내던 중. 같이 선형대수학 수업을 듣던 후배로부터 공모전참여 제의를 받았다. 그 후배를 포함하여 4명의 컴퓨터공학부 학생들이 한팀이 되어 이미 공모전에 제출할 앱을 개발중인데 함께 하지 않겠느냐는 제의였다. 앱은 안드로이드용 앱을 개발 한다고 했..