본문 바로가기

전체 글

(626)
안드로이드/Android 단말 모델 정보 얻어 오기 안드로이드/Android 단말 모델 정보 얻어 오기 TestPhoneStateActivity.java package arabiannight.tistroy.com.phonestate; import android.app.Activity; import android.os.Build; import android.os.Bundle; import android.util.Log; public class TestPhoneStateActivity extends Activity { private static final String TAG = "PhoneState"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstance..
안드로이드/Android DB 생성 및 관리 ( Cursor , Query ) 안드로이드/Android DB 생성 및 관리 ( Cursor , Query ) 안드로이드 프로젝트를 진행하다 보면 DATA를 보관하고 사용하게 되는 경우가 자주 발생하게 됩니다. 보통 회원가입을 통해 회원정보를 저장할때 많이 사용하는데요. 그럴경우 DATA를 계속적으로 보관하고 사용해야 하기 때문에 DATABASE(=DB) 라는 저장공간에을 사용하게 되는 것 입니다. 안드로이드에서는 이러한 경우를 대비해 SQLiteDatabase라는 DATABASE 를 제공해 주는데요. 만약 DATA를 저장해서 사용하게 되는 경우가 생길 경우 SQLiteDatabase 와 DatabaseHelper(DB생성 및 관리를 도와준다.) 를 사용해서 좀더 편리하게 DATABASE를 관리 할 수 있습니다. DB를 사용하기 위해서..
안드로이드/Android Handler 와 Timer(TimerTask) 를 활용한 Intro 화면 구성 안드로이드/Android Handler 와 Timer(TimerTask) 를 활용한 Intro 화면 구성 안드로이드 화면구성을 할 때, 가장 먼저 구현해야하는 화면이 바로 Intro 화면 일 것 입니다. Intro 화면이란 현재 실행되는 어플의 첫 화면이 보여지는 화면을 말하는데요, 말 그대로 해당 어플의 성격과 컨셉을 대변해 주는 아주 중요한 화면 입니다. 이렇게 Intro 화면을 보여주고, 실제 Main 화면으로 이동할 경우, 보통의 경우 Handler에 postDelayed(Runnable r , long delayMillis) 란 메서드를 활용 하는데요. Handler를 사용한 방법 말고도 Timer와 TimerTask를 이용하여 화면을 이동 할 수 가 있습니다. 자 그럼 우선, Handler를 ..
안드로이드/Android Background와 src 이미지 동시에 삽입 하기 안드로이드/Android Background와 src 이미지 동시에 삽입 하기 XML 작성시에 Background에 selector를 이용해서 이미지를 넣는 경우가 많을 것 입니다. 하지만 Background안에 또다른 Text 이미지가 들어갈 경우(해상도때문에 안좋은 방법이지만 사용해야 할 경우라면) 에는 어떻게 해야 할까요? 이럴경우에는 ImageButton의 Src 속성을 이용하면 Background 속성의 이미지를 넣고 그안에 또다른 이미지를 링크 할 수 있습니다. 주의할 점은 Button View는 Src속성이 없다는 점입니다. 그러므로 이미지안에 이미지를 넣는 경우가 생길경우 처음부터 ImageButton을 사용하는게 두번 작업을 피하는 방법 입니다.
자바/Java String[]을 List , List를 String[] 배열로 변환 자바/Java String[]을 List , List를 String[] 배열로 변환 배열을 활용한 개발을 하게되면 String[] 배열을 List로 , List를 String[] 배열 형태로 변환 해야 하는 경우가 생기게 됩니다. 그럴 경우 이용하게 되는 방법 입니다. String[] -> List = Arrays.asList List -> String[] = List.toArray 를 이용 하는 방법 입니다. package arabiannight.tistory.com; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class TestArrayToStingClass { public static void ..
안드로이드/Android 루팅 여부 확인 하기 안드로이드/Android 루팅 여부 확인 하기 안드로이드 프로젝트를 진행하면서 루팅에 대한 체크 여부를 확인해야 할때가 있습니다. 그런데 루팅이란 무었일까요? 루팅이란 '안드로이드 기기에서 최고관리자 권한을 얻는 것'으로 생각하시면 됩니다. 어쩌면 아이폰에서의 탈옥(Jail Break)과 비슷하다 생각하셔도 될 것 같습니다. 아이폰에서 탈옥을 한다고 해도 당장 아무것도 달라지는 것은 없습니다. 시디아(Cydia)를 통해 앱스토어에서는 지원되지 않는 어플을 다운받고 나서야 비로소 탈옥의 이점을 느낄 수 있습니다. 마찬가지로 안드로이드 기기에서 루팅을 한다고 해서 당장 달라지는 것은 없습니다. 특정한 어플을 다운받아 실행시켰을 때 해당어플이 -루팅 이전에는 접근할 수 없었던- 시스템 영역을 임의로 수정하는 ..
자바/Java ArrayList<T> 제네릭스(Generics)란? 자바/Java ArrayList 제네릭스(Generics)란? 자바로 코딩을 하면서 ArrayList 다음 에 ,,, 라고 쓰여진 형식을 많이 접해 보셨을 겁니다. 저도 처음 자바 공부를 시작하면서 저게 뭐지? 라는 의문을 상당히 길게 품었었던 적이 있습니다. 물론 지금도 없지 않아 있을까요? ㅎㅎ 그럼 과연 제네릭스란 무엇일까요? 제네릭스란 쉽게말해서 ArrayList(컬렉션 클래스에서 사용가능하지만 쉬운 설명을 위해 대표적인 컬렉션 클래스인 ArrayList를 가지고 설명 하겠습니다.) 가 다룰 객체를 미리 명시해줌으로써 형변환을 하지 않고 사용하는 것입니다. 즉 ArrlayList가 사용할 객체의 타입이란 이야기 입니다. 예를 들어 우리가 현실에서 갤럭시S2블랙 를 공동 구매 한다고하면 사람들이 1..
이클립스/Eclipse SVN 업로드중 ...is already under version control 에러 발생 이클립스/Eclipse SVN 업로드중 ...is already under version control 에러 발생 이클립스 SVN에 commit 도중, ...is already under version control 라는 메세지가 뜨는 경우가 있습니다. 그럴 경우는 이미 다른 SVN Repositorie에 연결되어 있거나 SVN에 파일이 꼬여 있는 경우가 있을 수 있습니다. 이럴 경우에는 SVN 연결을 다시 해줘야 하는데요, 아래와 같이 연결을 해줘야 합니다. 1. 해당 프로젝트에서 우클릭 후 Team -> Disconnect... 를 선택 합니다. Disconnect...를 선택하면 아래와 같은 팝업창이 발생 합니다. (만약 SVN에 연결이 되어있지 않다면 , 프로젝트에서 우클릭 후 Team -> ..
안드로이드/Android 안드로이드 Intent 그리고 PendingIntent 와 Intent Sender 안드로이드/Android 안드로이드 Intent 그리고 PendingIntent 와 Intent Sender 안드로이드 인텐트 관련해서, 두 가지 신기한 클래스가 제공됩니다. 이름만 들어서는 그 쓸모가 무엇인지 애매한, PendingIntent 와 IntentSender 가 바로 그 주인공입니다. 개발자 사이트에 서술된 내용을 살펴보아도 두 가지가 하는일이 정확히 무엇인지, 그리고 특히, 둘 사이의 차이점이 무엇인지 좀 헷갈립니다. 두 가지 클래스는 어떤 역할을 수행하고, 어떤 차이점이 있으며, 안드로이드 어플리케이션을 개발할 때, 어떻게 유용하게 사용될 수 있는지 간단하게 정리해 보았습니다. 1.PendingIntent PendingIntent 은 비교적 이해하기 쉽습니다. 커뮤니케이션에는 세 가지 기..
안드로이드/Android XML Selector 사용 하기 안드로이드/Android XML Selector 사용 하기 안드로이드 버튼을 만들때 background 이미지를 사용하여 버튼을 만듭니다. 그런데 버튼이 클릭 시와 클릭이 아닐시 이미지를 다르게 가져가고 싶다면 어떻게 해야 할까요? onTouchEvent로 터치했을때와 터치를 벋어날 경우를 따로 구현 해주어야만 할까요? 아닙니다. ㅎㅎ 그럴 경우 selector라는 속성을 이용하면 되는데요. selector는 이미지의 상태의 따라 값을 설정해주고 컨트롤 해주는 기능을 가지고 있습니다. 그러므로 selector를 이용한 작업을 할 경우 코드가 훨씬가 더 간결해지고 불필요한 코드를 줄일 수 있습니다. 자 그럼 지금부터 selector를 사용 하는 방법을 알아 보겠습니다. 해당Project -> res폴더 -..
안드로이드/Android getResources() 함수 API 정리 안드로이드/Android getResources() 함수 API 정리 안드로이드에서 getResources() 메서드를 호출해서 리소스 상에 작업들을 처리해 주는데요, 특별한 객체 생성 없이 getResources()를 호출함으로써 리소스에 관한 다양한 작업 들을 처리 해주고 있습니다. 왜 객체를 생성하지 않고 이러한 작업들을 사용할 수 있을까요? 그렇습니다. ㅎㅎ 요녀석은 바로 Context가 지원해주는 메서드 입니다. 우리가 안드로이드 프로젝트를 만들면 기본으로 상속받게 되는 Activity가 Context의 자식 이므로 부모의 기능들을 모두 사용할 수 있겠죠? ------------------------------------------------------------------------------..
안드로이드/Android XML include 속성 사용 방법 안드로이드/Android XML include 속성 사용 방법 레이아웃을 작성할 때 Title 이나 Bottom에 똑같은 기능을 가지는 Layout을 여러 Activity에서 사용하는 경우가 생기는 경우가 많습니다. 그럴 경우 Activity 마다 같은 형식의 Layout을 만들어 주는 것보다 'include' 라는 속성을 이용하면 하나의 Title 혹은 Bottom 레이아웃을 작성한후 그것을 모든 Activity에 적용 시킬 수 있습니다. > 모든 Activity에 들어갈 Title Layout 입니다. include_top.xml Title 레이아웃을 Main.xml 에서 include해서 사용한 경우 입니다. main.xml include를 사용하여 배치한 Layout은 일반 View처럼 width..
이클립스/Eclipse Project Build 시 Unable to open sync connection! 에러 이클립스/Eclipse Project Build 시 Unable to open sync connection! 에러 Unable to open sync connection! 이라는 에러가 나는 경우는 USB 포트가 연결이 재대로 되어있지 않거나 인식을 하지 못하는 경우 입니다. 특히 USB 허브나 멀티잭 등에서 Build 할 경우 Build가 실패하는 경우가 많은데 그럴 경우에는 노트북 USB 포트에 직접 케이블을 연결하여 Build를 할경우 정상 작동하는 것을 볼 수 있습니다.
이클립스/Eclipse SVN 기본 명령어 이클립스/Eclipse SVN 기본 명령어 Subversion SVN 사용시 기본 명령어 입니다. commit : SVN에 내 소스를 올린다. update : SVN 소스를 받는다. mark as merged : SVN과 내소스를 합병 한다. (화살표 쌍방향일때 사용하면 내가 올릴것만 남는다.) revert : SVN 소스로 내 소스를 교체 한다.
안드로이드/Android 부모의 속성을 동일 하게 가져 가자! 안드로이드/Android 부모의 속성을 동일 하게 가져 가자! 안드로이드 XML을 개발하면서 List나 뷰의 이벤트 발생에 따라 화살표(Arrow)버튼 이미지도 Press 처리 해야 할 경우가 많은데요. 이런 경우게 onTouchEvent로 터치 했을 경우에 Pressed 처리하거나 터치를 종료할 경우 Normal 처리 해주는 경우가 있었을 겁니다. 하지만 부모 뷰의 속성에 따라 Child뷰의 속성들이 이벤트를 받는 XML 속성이 있는데요. 이 속성을 쓰면 훨씬더 간결하고 편하게 코드를 작성할 수 있습니다. 그 속성의 이름은 바로 요놈 입니다. android:duplicateParentState="true" 보통 요즘의 화면 구성에는 하나의 레이아웃에 여러개의 뷰들이 들어가는 경우가 많은데요. dupli..