본문 바로가기

고양이의 둥지

(255)
[안드로이드] 이미지와 텍스트가 같이 들어간 버튼 만들기 이미지와 텍스트가 같이 들어간 버튼 만들기안드로이드 SDK(1.5기중)에는 버튼을 처리하는 클래스가 Button과 ImageButton 크게 두가지 있다. ImageButton이 내부에 이미지를 가지고 있는 버튼이고, Button은 TextView를 상속하고 있기에 텍스트 버튼이라고 생각하기 쉬운데, 사실 그렇지 않다.일반적으로 버튼을 표시할때 간단하게 해당 버튼의 기능을 시각화 하여 나타내는 간단한 Icon을 함께 넣어주는 경우가 많을텐데, 그런 경우 ImageButton대신 Button을 활용해서 처리할 수 있다. 이미지의 위치는 텍스트의 상, 하, 좌, 우에 위치시킬 수 있으며, Xml에서는 각각 android:drawableTop, android:drawableBottom, android:draw..
[안드로이드] Bitmap 과 ByteArray 상호변환 Bitmap 과 ByteArray 상호변환 이 포스팅은 Bitmap 데이터 형을 ByteArray로 변환하거나, 혹은 그 역, ByteArray -> Bitmap으로 변환하는 방법을 예제코드와 함께 다룬다. 안드로이드 카메라와 이미지를 다루다보면, 종종 데이터 형(type)이 달라서 형변환을 해야 하는 상황이 발생한다. 그때 필요한 내용이다. 방법을 간단히 요약하자면 아래 두줄만 보면 된다. Bitmap -> ByteArray : ByteArrayOutputStream 인스턴스를 생성한 후, Bitmap의 compress 메서드를 통해 비트맵을 압축하여 stream에 담는다. ByteArray -> Bitmap : BitmapFactory의 decodeByteArray 메서드를 통해 byte Array를..
[안드로이드] 인터넷에서 이미지 비동기 다운로드 안드로이드 인터넷 이미지 비동기 다운로드보통, 인터넷에서 이미지를 다운로드 하는 코드를 아래와 같이 사용하는 경우가 종종 있었다.그러나 잘못된 사용방법이라고 한다. 잘못된 사용 예URL url = new URL(imageUrl); bitmap = BitmapFactory.decodeStream(url.openStream()); 이미지 주소로 URL 객체를 만든 후, BitmapFactory의 decodeStream( )의 인자로써 생성한 URL객체의 openStream( ) 메서드를 호출하고 있다.그러나, 아래와 같은 방법으로 사용하는 것이 올바른 사용 방법이라고 한다. 올바른 사용 예 HttpGet httpRequest = new HttpGet(URI.create(imageUrl) ); HttpClie..
[안드로이드] 증강현실 구현을 위한 기초 개념, 벡터(Vector)와 노름(Norm) 증강현실 구현을 위한 기초 개념, 벡터(Vector)와 노름(Norm) 노름(Norm)은 일종의 '벡터의 크기'를 일반화시킨 것이라고 생각하면 쉽다.선형대수학 및 함수해석학 등의 분야에서 쓰인다. 선형대수학 및 함수해석학에서는, 노름(영어: norm 놈[*])은 벡터 공간의 원소들에 대하여 일종의 ‘길이’ 또는 ‘크기’를 부여하는 함수 라고 정의한다.0 벡터의 노름은 0 이며, 그 외의 모든 벡터는 양의 실수 노름을 갖는다.한편, 반노름(半norm, 영어: seminorm 세미놈[*])이라 하는 개념이 있는데, 이는 영 벡터 이외의 벡터도 노름이 0 이 될 수 있도록 조건을 약화한 것이다. 노름(Norm)은 다음 조건을 만족시켜야 한다. Lp노름은 다음과 같이 정의된다. 한마디로 말하면, 각 성분들의 절..
[안드로이드] 안드로이드 화면이 회전될 때 어플리케이션 개발자가 주의해야할 점 안드로이드 화면이 회전될 때 어플리케이션 개발자가 주의해야할 점 안드로이드는 가속도 센서나 조도 센서와 같은 다양한 종류의 센서를 다루기 위한 API 를 제공하고 있다. 그 중 가장 일반적으로 사용되는 센서 두 가지는, 가속도 센서와 자기장 센서(나침반 센서) 이다. 어플리케이션과 디바이스는 이 두 가지 센서를 사용자 입력값으로 활용하여, 디바이스 스크린을 어느 방향으로 돌릴지 결정하는데 사용하곤 한다. 그러나, 최근 이와 관련된 새로운 문제가 발견되었다. 새로 출시된 디바이스들 중에는 (모토롤라의 CHARM 과 FLIPOUT 이라는 모델) 기본 화면 모드로 포트레이트(portrait) 모드 대신 랜드스케이프(landscape) 모드를 사용하고 있다. 따라서, 기본 화면이 세로로 길쭉하지 않고 가로로 넓..
스마트폰 ‘컴퓨터 닮기’ 종착역은? 스마트폰 ‘컴퓨터 닮기’ 종착역은? 더 큰 화면, 더 빠른 속도, 더 많이 저장… pc업체들 장점 살려 도전, 통신시장 경쟁 더 치열해져 ‘더 큰 디스플레이, 더 빠른 처리속도, 더 많은 저장공간….’ 스마트폰의 ‘피시(PC) 닮기’ 경쟁은 어디까지 갈 것인가? 델코리아는 22일 서울 광화문 올레스퀘어에서 ‘스트릭’을 연내 케이티(KT)를 통해 출시한다고 발표하며 국내 스마트폰 시장 진출을 선언했다. 갈수록 경쟁이 격화하는 스마트폰 시장에 다양한 제품이 쏟아지고 있지만, 세계 2위의 컴퓨터 제조기업인 델이 들고온 제품은 약간 다르다. 스트릭은 5인치 화면을 채택한, 세계에서 가장 큰 화면의 스마트폰이다. 휴대전화의 디스플레이는 2년 전만 해도 평균 2.2인치로 ‘경박단소’를 지향했으나 스마트폰이 나온 이..
[안드로이드] 카메라 해상도 바꾸기 안드로이드 카메라 해상도 바꾸기 카메라를 찍을때 촬영할 이미지의 해상도를 변경하는 방법을 보여주는 예제코드 입니다. 아래 코드는 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급.한개 학기의 등록금 전액을 지원해주는 것에 해당하는 장학 등급이다. 내가 살다살다 이런걸 받게 되는 날이 올줄은 몰랐다.세상은 오래살고 볼일이다. 뿌듯하다.