본문 바로가기

Android

(216)
안드로이드/Android ExpandableListView 만들기 안드로이드/Android ExpandableListView 만들기 안드로이드에서 ListView는 많이들 써보셨을 텐데요. ListView안에 또다른 List가 들어있는 ExpandableListView라는 녀석이 존재 합니다. 기본적으로 ListView를 상속받아 구현한 클래스기 때문에 ListView의 속성과 거의 유사하다고 생각 하시면 됩니다. 생각하실것은 기존의 ListView는 getView하나로 Row를 만들고 사용하였는데 ExpandableListView는 Group 과 Child 의 getView를 각각 구현해 준다는 점만 기억하시면 만드시는데는 큰 문제가 없을 거라고 생각합니다. 자 그럼, ExpandableListView 의 예제를 살펴 보겠습니다. public class TestExp..
안드로이드/Android id, layout을 못 불러 올경우 안드로이드/Android id, layout을 못 불러 올경우 안드로이드로 프로그래밍 하는 도중에 죽어도 R.id.... 다음에 Resource ID 가 안나오거나 R.layout.... 다음에 layout.xml 파일이 안나오는 경우가 있습니다. Clean 을 해주고 WorkSpace를 껏다키고 심지어는 재부팅까지 하는 경우가 있는데요!문제는 바로 요녀석 입니다. import android.R; 징글징글한 녀석 입니다. ㅎㅎ 보통 생각하기에 어! 코드에는 전혀 이상이 없는데 어디서 문제가 생긴 걸까 라는 생각에 어려운 문제들을 많이 떠올리게 되는데요.! "등잔 밑이 어둡다" 라는 말과 같이 import에 android.R 이 importing 되었는지 확인 해보기 바랍니다. 요녀석이 import 되게 ..
안드로이드/Android ArrayAdapter, BaseAdapter를 이용한 ListView 구현 안드로이드/Android ArrayAdapter, BaseAdapter를 이용한 ListView 구현 안드로이드 프로젝트를 진행하면서 ListView 를 이용한 화면 구성을 많이 하겠 됩니다. ListView란 Data를 List 형식으로 출력해주는 View 인데요. ArrayAdapter 와 BaseAdapter를 이용한 ListView 구현 방법에 대하여 알아 보겠습니다. Adapter란 ListView에 출력할 Data를 보관하는 장소라고 생각 하시면 되는데요. 실질적으로 List형식의 Data를 Adapter에 넘겨주면 Adapter가 ListView의 Row마다 List형식의 데이터를 출력 할 수 있게 도와 줍니다. TesLlistViewActivity.java public class TestL..
안드로이드/Android TelephonyManager를 이용한 단말 정보 얻어 오기 안드로이드/Android TelephonyManager를 이용한 단말 정보 얻어 오기 1. AndroidManifest.xml 에 아래 권한 추가 2. 아래와 같이 Context.getSystemService 를 통해 TelephonyManager 를 가져옴. TelephonyManager telephony = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); 3. TelephonyManager 의 메소드 들 중, getLine1Number() 메소드가 전화번호를 반환 String telPhoneNo = telephony.getLine1Number(); 출처 : http://icess.egloos.com/3279459 android.telep..
안드로이드/Android 해외 사용자 구분 ( 단말 정보 & GPS 이용 ) 안드로이드/Android 해외 사용자 구분 ( 단말 정보 & GPS 이용 ) 안드로이드 프로젝트를 진행하다 보면 해외사용자에 대한 구분을 해줘야 할 때가 있습니다. 보통 SYSTEM 언어나(현재 단말에서 사용되는 언어) 단말의 국가코드를 이용해서 비교를 많이 하게 되는데요. 사용자가 단말 구입은 미국에서하고 현재 일본이나, 한국에 거주하고 있으며, SYSTEM 언어는 중국어를 선택해 사용하는 경우가 생길수 있습니다. 그럴경우 100% 위치를 정확한 위치를 찾아내서 대응할 수 없으므로 확률을 높히는 대응을 할 수 밖에 없습니다. GPS를 이용한 현재 위치를 조회하는 코드 역시 네트워크에 접속이 되어 있어야 확인가능 하다는 큰 문제가 있습니다. 국가간의 인접한 지역에 있을 경우 또한 구분하기가 매우 까다롭습..
안드로이드/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를 ..