2011년 7월 31일 일요일

Android - DDMS 인식 오류, Devices 인식 못함

증상

안드로이드 스마트폰을 PC와 연결하였으나 기기 인식을 못한다.

1. 안드로이드 폰의 "설정 > 애플리케이션 > 개발 > USB디버깅"은 당연히 체크 상태이다.
2. USB 케이블에는 아무 이상이 없다.


해결방법

1. USB 드라이버가 제대로 설치되어 있는지 확인한다.
 - 제어판 에 있는 장치관리자로 이동하여 Android Phone 가 제대로 인식되어 있는지 확인한다.
 - 제대로 인식되지 않고 느낌표(!)가 떠 있다면 드라이버를 설치해줘야 한다.
 - 드라이버는 android-sdk 폴더 > extras > google > usb_driver 폴더에 있다.

2. 드라이버도 제대로 설치되어 있는데 안되면, adb 프로세스를 재 시작 한다.
 - adb kill-server 로 프로세스를 종료시키고
 - adb devices 로 프로세스를 재 시작한다.

3. 드라이버도 설치되어있고 adb 프로세스 재 시작 해도 안되면 리부팅한다.


2011년 7월 28일 목요일

Android - 이벤트시 icon 변경 (Selector 이용)

사용자 정의 버튼이나 이미지 버튼을 만드는 경우

버튼이 눌러지거나, 포커스를 받는경우

아이콘 모양을 변경시켜 이벤트가 발생함을 표시할 필요가 있다



예) 평소 왼쪽과 같은 상태이지만 터치나, 포커스를 받는 이벤트가 발생할 경우 오른쪽 모양처럼 변한다.

  -터치, 포커스->
                                        menuiconsubject.png                           menuiconsubjectselected.png
                                 


이럴경우 Selector 라는 놈을 사용한다.


기본적인 파일 위치와 정의는 아래와 같이 한다.

res/drawable/menu_item_subject.xml

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android"
    android:dither="true">

    <item android:state_pressed="true" android:drawable="@drawable/menuiconsubjectselected" />
    <item android:state_focused="true" android:drawable="@drawable/menuiconsubjectselected" />
    <item android:drawable="@drawable/menuiconsubject" />

</selector>



정의된 selector를 사용하는 방법은 아래와 같다.

<ImageView
android:id="@+id/icon" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content"  android:clickable="true" android:src="@drawable/menuiconsubject"/>


2011년 7월 26일 화요일

Android - 화면회전시 layout 설정, 다국어 설정

가로 화면방향에 대응하는 Layout은 layout-land 폴더(기본은 layout 폴더)에 작성한다고 알고있다.

아래 그림처럼 동일한 이름의 xml로 서로 다른(가로방향, 세로방향) Layout을 구성하면

보통상태일때 main.xml Layout을 사용하다가 화면을 회전시키면 layout-land 폴더에 있는 main.xml Layout을 사용하게 된다.





이와 같은 방법으로 여러가지 언어로 작성하여 다국어 지원이 가능한 어플을 만들 수도 있다.

방법은 values 폴더의 string.xml  파일을 이용하는것으로 가능하다. 

기본 언어는 values 폴더, 기타 지정된 언어는 values-"언어코드" 폴더를 만들어서 작업을 해주면된다. (예. 한글 - values-ko,  영어- values-en,  일어 - values-ja,  중국어 - values-cn)

아래와 같이 구성하면 기본적으로 영어로 나오고, 시스템 언어가 한글로 설정된 기기에서는 한글로 표시된다.






2011년 7월 24일 일요일

Android - 개발환경 세팅

Android 세팅은 크게


  1) JAVA 설치
  2) ECLIPSE 설치
  3) 안드로이드 SDK설치
  4) ADT Plugin for Eclipse 설치


순으로 실시 한다.


※ JAVA 와 ECLIPSE가 설치되어 있다면 패스해도 무관하다.



1) JAVA 설치
1. http://www.oracle.com/index.html -> Downloads -> Java SE 이동
   그냥 http://www.oracle.com/technetwork/java/javase/downloads/index.html 로 이동하여 JDK 를 다운로드 한다.


2. 다운로드된 실행파일 설치

3. 제어판 > 시스템 및 보안 > 시스템 > 고급 시스템 설정 > 환경변수

4. JAVA_HOME 설정 - 설치 java 폴더 (ie. C:\Program Files\Java\jdk1.6.0_26)
   시스템 변수 밑에 "새로만들기"버튼 > 변수 이름 "JAVA_HOME", 변수 값 설치폴더"C:\Program Files\Java\jdk1.6.0_26"

5. path설정 ";%JAVA_HOME%\bin" 추가

6. CLASSPATH 설정 ";%JAVA_HOME%\lib\tools.jar" 추가



2) eclipse org
1. www.eclipse.org 이동

2. download



3. 설치가 필요없이 압축만 풀면 끝, 원하는 폴더로 압축파일 이동 후 압축 풀기



3) 안드로이드 SDK설치
1. http://developer.android.com/sdk/index.html 이동 > os에 맞는버전 다운로드


2. 설치하고 싶은 폴더로 이동 후 압축 풀기



4) ADT Plugin for Eclipse 설치
1. eclipse 실행 > Help > Install New Software 이동

2. Add 버튼 > Name : "android ADT", Location : "https://dl-ssl.google.com/android/eclipse/"




3. eclipse 재 시작 후 에러 발생 (에러는 발생하지 않을 가능성이 더 큼)


4. Window > Preferences > Android 선택 > SDK Location 설정(에러는 발생하지 않을 가능성이 더 큼)


5. Help > Check for Updates

6. Window > Android SDK and AVD Manager

7. Available packages > 원하는 버전 선택 후 Install Selected > Eclipse 재시작

8. Virtual devices 는 입맛에 맞게 (os버전, 화면크기) 알아서 생성


2011년 7월 20일 수요일

etc - 무료 Icon

서핑중 좋은 Free Icon 사이트를 발견했다.

http://www.iconfinder.com/

자기가 원하는 아이콘을 검색할 수 도 있고 디자이너나 그룹별로 아이콘을 구경할 수도 있다.

png, ico 두가지 형식을 제공하며

매우 다양한 사이즈를 제공하지만 아이콘마다 제공하는 사이즈는 조금씩 다르다.

무엇보다 가장 좋은점은 License에 대해 명확히 기술하였다.

사실 무료 아이콘들은 많으나 상용 목적으로 사용해도 되는지 애매한적이 많아서 처음부터 쳐다도 안본 경우가 많았는데 그런 문제점이 없다.

Free for commercial use 또는 GPL 이라고 명시된 icon 들은 모두 무료로 마음껏 사용해도 된다. (..라고 알고있다.)

어플을 개발할때 더 이상 아이콘 그린다고 낑낑대지 않아도 훨씬 멋있고 깔끔한 icon들을 사용 할 수 있게 되었다.

깔끔하고 멋진 icon들이 한가득~

2011년 7월 7일 목요일

etc - Canvas Rider


CANVAS RIDER

can play GOOGLE CHROME BROWSER (APP)


draw and upload your own track

enjoy BMX !!!!



2011년 7월 2일 토요일

Android - 소스상태에서 에러가 없던 어플이 apk파일로 Export후 에러가 날때

에러 : nullpointerexception

원인 : aidl을 사용할 경우 proguard를 이용하면 발생할 수 있다.

해결 방법
 progaurd.cfg 파일을 열어 해당 aidl 파일에 대한 옵션을 걸어줘야 한다.



-keep public interface [interface]

예)
-keep public interface jh.project.widget.digital.biorhythm.service.IBiorhythmClockService





keep 옵션 외에도
keepclassmembers
keepclasswithmembers
등과 같은 옵션들이 많이 있다.


자세한 내용은 http://proguard.sourceforge.net/ 에 가서 확인을...