본문 바로가기

전체 글

(385)
에니메이션 처리하기 * 안드로이드에서의 에니메이션은 전통적인 프레임 방식 에니메이션과 Tweening 을 통한 에니메이션 방식이 있다. * 에니메이션안드로이드는 아이폰과 같이 뷰의 간단한 변형에 관련한 에니메이션 처리를 지원한다. 레이아웃 에니메이션과 각 구성요소의 에니메이션으로 나눌수 있다. 처리할 수 있는 에니메이션은 아래와 같으며, 코드상에서의 클래스명이다.AlphaAnimation - 투명도 변환RotateAnimation - 회전ScaleAnimation - 크기 변환TranslateAnimation - 위치 이동 * 이 클래스들은 android.view.animation.Animation 의 하위 클래스이다. 즉, Animation 객체를 상속받아 다양한 에니메이션을 구현할 수 있다.이번 포스트에서는 이미 구현되..
투명한 레이아웃 만들기 투명 레이아웃이야 android:background="#80RRGGBB"이렇게 설정하면 투명한 레이아웃 바탕이 만들어진다.헌데, 요것만으론 좀 밋밋한 맛이~ ㅎㅎ -_-;; 요걸 커스텀한 모습으로 구현하려면 무얼 해야 하나? 레이아웃 구현 : 별다른 사항은 없으며 dispatchDraw() 메쏘드를 오버라이드해구현해 주면 된다. 레이아웃은 onDraw를 호출하지 않으며 배경을 그리기위한 dispatchDraw를호출한다. 따라서, 이 메쏘드를 오버라이드해서 별도의 처리를 더해주면 끝. 정확히 말하자면 레이아웃(ViewGroup)은 onDraw()를 호출하지 않도록 설정되어있다.레이아웃에서 onDraw 메쏘드를 사용하려면 setWillNotDrawEnabled(false); 를 호출해 주면 된다.레이아웃은 ..
메시지 핸들러 사용하기 Handler 는 내부적으로 쓰레드를 생성해 메시지큐의 데이터의 입출력을 처리하는 녀석이다.메시지큐에 메시지를 전송하거나 해당 메시지를 얻어올수 있다.메시지를 전송할때 지연시간을 두어 전송토록 하는 메쏘드도 포함되어 있어쓰레드간 메시지 스케줄링시 이래저래 많이 사용된다. 1. 메시지를 수신할 녀석을 설정한다.public Handler handler = new Handler() {@Overridepublic void handleMessage(Message msg){ }}; 별거읍넹.. 이렇게 설정하면 해당 쓰레드의 메시지 큐에 메시지가존재하는 경우 handleMessage() 메쏘드가 호출된다. switch( msg.what ) { } 과 같이 handleMessage() 메쏘드에 메시지 처리루틴을 넣어주..
리시버를 통한 sms데이터 가져오기 SMS 가져오기 브로드캐스트 리시버를 생성하고, android.provider.Telephony.SMS_RECEIVED 액션을 사용한다. manifest.xml 에 리시버 설정.... 퍼미션 추가
이클립스(갈릴레오) SVN 설정 . Subversive 설치 이클립스 갈리레오에는 Subversive 라는 svn 플러그인이 이클립스 프로젝트에 포함되어 있습니다. 이클립스가 subclipse 라는 프로젝트를 버리고 subversive 를 선택한것은 좀 의외이긴 하나 암튼 우리는 프로젝트에 포함된 녀석을 사용하기로 합니다. (요건 자유사항) Help > Install New Software Work with 에서 갈리레오 사이트를 선택합니다. Collaboration 을 확장하면 Subversive SVN Team Provider( Incubation) 항목을 체크한뒤 설치합니다. (현재 subversive 는 이큐베이팅 단계에 있습니다.) 대강 설치 후 이클립스 재시작을 하게 되면 일단 subversive 는 설치된것입니당... 2...
Broadcast/BroadcastReceiver 브로드캐스팅~ 각각의 어플은 이 기능을 통해 자신의 상태를 공지하거나 특정 액션을 얻어올 수 있다. 1. 전송할 액션 설정 : String 으로 패키지명을 포함해 임의로 지정한다.public static final String MY_ACTION = "kr.package.action.MY_ACTION" 2. 전송할 인텐트를 정의한다.(어느녀석이 받아서 처리할지 모르므로 묵시적 호출)Intent intent = new Intent( MY_ACTION , Uri.parse(""));추가정보도 필요하면 넣고~intent.putExtra("value", value ); 3. 브로드캐스팅으로 전송sendBroadcast( intent ); * 브로드캐스트 리시버BroadcastReceiver 를 상속받아 onRec..
쓰레드 기본 java 에서의 쓰레딩 자바에서 쓰레드를 생성하는 방법은 2가지이다.Thread 객체 / Runnable interface 뭐 이 두가지가 있으니 extends 나 implements 나 입맛대로 구현하면 되것다.단, Runnable 은 워커쓰레드의 동작에 해당되는 run() 메쏘드만을 포함하고 있으므로,실제 수행단계에서 Thread( Runnable ) 로 객체를 생성해 사용한다. Thread 객체를 상속받아 필요한 ( run() 같은 ) 메쏘드를 오버라이딩해구현해 주면 된다. * 생성자Thread() : 일반적으로 생성. 쓰레드명은 Thread-카운트 형태로 구성됨Thread( String ) : 특정 쓰레드명으로 생성Thread( Runnable ) : Runnable 객체를 사용해 생성Thread..
AlarmManger 사용 스케줄과 관련한 내용~쓰레드를 통해 구현가능하나 쓰레드는 아무래도 데드락에 대한 고민이 뒤따른다. AlarmManager는 일정 간격으로 스케줄링을 하고 싶을때 사용하는 서비스이다.서비스 이므로, 현재 객체나 해당 객체가 동작 중일 필요없이 항상 활성화 시킨다. 어플리케이션 종료나 비활성화시 해제해주지 않으면? ^^ 계속 뜬다!!! BroadcastReceiver 에 관해서는 별도로 포스팅 한다~ 설정하기 1. 명시적 인텐트 설정Intent intent = new Intent( MyClass.this, AlarmService.class ); 2. 브로드캐스트 송신자 설정PendingIntent sender = PendingIntent.getBroadcast( MyClass.this, 0, intent, ..