개발자의 기록 노트/Android (37) 썸네일형 리스트형 [안드로이드] 커스텀 프로그레스바 안드로이드 기본 프로그레스바를 사용하다보면 느끼는 것이 정말 안이쁘다는 것이다. 그리고 어플리케이션 디자인에 따른 프로그레스바의 색을 지정한다면 더 좋은 디자인을 갖는 어플을 개발 할 수 있을 것이다. 안드로이드 어플을 개발하면서 나쁜 것은 디자인적인 요소이지만 좋은 것은 그 디자인적 요소를 어떻게든지 커스터마이징 할 수 있다는 것이 장점이다. 프로그레스바는 현재 어플이 어떠한 작업을 하고 있다는 것을 사용자에게 보여주는 요소로 시간이 걸리는 작업을 수행하거나 혹은 좀더 좋은 효과를 표현하는데 사용될 수 있다. 이러한 프로그레스바를 커스텀 하는 방법은 간단한다. 먼저 /res 폴더아래에 drawable이라는 폴더를 만들고 그 안에 커스텀한 프로그래스바의 이름을 정한 xml파일을 만든다. 그리고 그 xml.. [안드로이드] 안드로이드의 이미지 Canvas, Bitmap, Drawable 개요 안드로이드의 이미지 Canvas, Bitmap, Drawable 개요 안드로이드에서는 이미지를 다루기 위한 몇가지 클래스가 존재한다.Canvas, Bitmap, Drawable이 그것이다.각각의 이미지 관련 클래스들에 대해 전반적인 사항을 알아보고자 한다. Drawable, 앱의 resource 디렉토리에 저장되어 있는 이미지 다루기기본적으로 resource에 저장되어 있는 이미지의 경우에는 "Drawable" type의 객체로써 해당 이미지를 다룰 수 있다."Drawable" type을 화면에 그리는 예제 코드는 아래와 같다. Drawable drawable = getResources().getDrawable(id); drawable.setBounds(0,0, drawable.getIntrinsicWi.. [안드로이드] 안드로이드 SDK 에뮬레이터에서 웹캠영상 받기 안드로이드 SDK 에뮬레이터에서 웹캠영상 받기 안드로이드 의 에뮬에서는 직접적인 카메라 지원은 하지 않는다. 그래서 PC의 웹캠을 달고 영상을 에뮬에 전달해서 보여주는 방식을 사용하는데, 이걸 하는 방법은 다음과 같다. 카메라 영상을 Broadcasting하는 서버일단은 android 개발 환경과 SDK는 다 설치 되었다는 가정하에 시작하자. 먼저 JMF가 필요한다.. 자바 에서 웹캠을 동작시켜 주는 프로그램이다. 현재는 거의 망해서 지원이 미비 하지만.. 어쨌건 우리는 이걸 사용해야 한다. JMF는 여기서 받는다. http://www.oracle.com/technetwork/java/javase/tech/index-jsp-140239.html 받아서 설치 하고 난다음에 환경변수에서 classpath가 .. [안드로이드] Emulator: ERROR: bad config: virtual device directory lacks config.ini - 안드로이드 가상머신관련 오류 해결 안드로이드 Emulator: ERROR: bad config: virtual device directory lacks config.ini - 안드로이드 가상머신관련 오류 해결 emulator: ERROR: bad config: virtual device directory lacks config.iniemulator: could not find virtual device named 'test' 위와 같은 오류가 발생하는 이유는, 컴퓨터의 사용자 이름이 한글인 경우, 경로 인식을 제대로 하지 못해서 오류가 생긴다고 한다. 아래의 사진을 보면 커맨드라인의 폴더경로중 사용자이름 부분이 한글인 것을 확인할 수 있다. 바로 이러한 경우가 문제가 된다. 이런 문제가 생긴다고 가상머신을 사용하지 못한다면 더 이상 안드.. [안드로이드] ADT 8.0.0으로 업데이트 후의 draw9patch 에러 ADT 8.0.0으로 업데이트 후의 draw9patch 에러 Android SDK에는 draw9patch 라는 툴이 내장되어있다.이 툴은 auto resizing이 필요한 (버튼과같은) 이미지가 있을 때, 어느 영역을 resizing 할것인지를 지정하는 툴이라고 생각하면 이해가 쉽다.그런데 Android SDK버전을 진저브레드로 업데이트 이후, draw9patch 실행시 아래와같은 예외메세지를 뿌리며 프로그램이 죽는 증상이 발생할 수 있다. (스트레스!) 원인은 swing-worker.jar 파일이 ANDROID_SDK설치폴더/tools/lib 에 없기때문에 발생한다. 해결책은 해당파일을 해당위치에 넣어주면 된다. swing-worker.jar 파일은 아래에 링크해두었다. Marius Mathiesen라.. [안드로이드] Preferences 다루기 - 앱의 환경설정을 위한 Class 안드로이드 Preferences 다루기 앱을 개발하다보면 각각의 사용자별로 선호하는 값들을 저장하는 화면을 제공해야 할 때가 있다.게시물을 보여주는 앱을 예를들어 보자. 한화면에 보여지는 글의 목록을 어떤 사용자는 10개를 선호하는 반면, 어떤 사용자는 5개를 좋아한다면 앱개발자가 글 목록의 개수를 강제로 고정시킬 것이 아니라, 사용자 별로 설정을 할 수 있게 허용하는 것이다. 이것을 '환경설정' 혹은 'Preferences' 라고 하며, 안드로이드 플랫폼은 이런 것을 구현하기 편리하도록 기능을 제공한다.안드로이드 플랫폼은 Data를 저장하는 방법으로 환경설정(이하 Preferences), 파일, Local DB, 네트워크를 제공한다. 그 중 Preferences는 가장 간단하게 정보를 저장하는 방법(m.. [안드로이드] 서로다른 Activity 사이에 Parcelable사용하여 데이터/객체 전달 및 받는 방법 서로다른 액티비티(Activity) 사이에 Parcelable사용하여 데이터/객체 전달 및 받는 방법 Parcelable의 정석적인 사용방법은 아니지만, 객체의 포인터를 액티비티간 주고 받는 방식으로 보면 될 것 같다.물론 자바는 포인터가 없지만 여기서 사용한 방법은 개념상 포인터를 넘기는것과 같다고 봐도 무방할것 같다. 이미 잘 알려진것과 같이, 안드로이드에서는 서로다른 엑티비티 사이에서 객체를 주고 받기 위해서는 Intent를 이용한다.그런데 기본 데이터 형인 int, String, short, float... 등이 아니라 사용자 정의 Class의 instance를 넘겨야 하는 상황이라고 생각해보자.어떻게 해야할까?이때 사용되는 interface가 Parcelable 이다.기본 자료형 int, boo.. [안드로이드] 이미지와 텍스트가 같이 들어간 버튼 만들기 이미지와 텍스트가 같이 들어간 버튼 만들기안드로이드 SDK(1.5기중)에는 버튼을 처리하는 클래스가 Button과 ImageButton 크게 두가지 있다. ImageButton이 내부에 이미지를 가지고 있는 버튼이고, Button은 TextView를 상속하고 있기에 텍스트 버튼이라고 생각하기 쉬운데, 사실 그렇지 않다.일반적으로 버튼을 표시할때 간단하게 해당 버튼의 기능을 시각화 하여 나타내는 간단한 Icon을 함께 넣어주는 경우가 많을텐데, 그런 경우 ImageButton대신 Button을 활용해서 처리할 수 있다. 이미지의 위치는 텍스트의 상, 하, 좌, 우에 위치시킬 수 있으며, Xml에서는 각각 android:drawableTop, android:drawableBottom, android:draw.. 이전 1 2 3 4 5 다음