본문 바로가기

전체 글

(626)
안드로이드/Android packagemanager를 이용한 설치된 package명 확인 하기 안드로이드/Android packagemanager를 이용한 설치된 package명 확인 하기 package arabiannight.tistory.com.packagemanager; import android.app.Activity; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.os.Bundle; import android.widget.Toast; public class TestPackageManagerActivity extends Activity { // 확인하고 싶은 패키지명 String private static final Str..
안드로이드/Android Service 예제 안드로이드/Android Service 예제 Service = Deamon = Background Program 말그대로 화면없이 뒤에서 실행되는 기능을 말합니다. 예를 들어 음악재생 처럼 다른 작업을 하고 있는 도중에도 계속 노래를 재생해야 하는 작업 등 을 말합니다. 현재 사용자가 화면(Activity) 을 보고 있지 않아도 백그라운드에서 실행 되는 것이 바로 Service 입니다. Service로 Activity 처럼 생명주기를 가지고 있는데요. 생명주기에 관한 내용은 아래에서 알아보도록 하겠습니다. 아래는 음악을 재생하는 간단한 예제를 만들어 볼텐데요, Android res폴더 하위에 raw라는 폴더를 만들고 재생하고자 하는 goaway.mp3파일을 넣어 줍니다. 이에 대한 접근은 다음처럼 R.r..
IT/용어 HTTP 대 HTTPS : 뭐가 다른가? IT/용어 HTTP 대 HTTPS : 뭐가 다른가? 웹 브라우저의 주소창을 자세히 보면 http://나 https://로 시작한다. 사실 http://는 하도 흔해서 생략하고 주소를 쳐도, 웹 브라우저가 알아서 http://를 넣어 준다. 어제 인터넷에서 GMail 옵션 중에 항상 https를 사용하도록 하는 옵션이 있다고 그걸 쓰라는 글을 보았다. 거기 달린 답글 중에 두 개가 뭐가 다른지 모르겠다고 하는 글이 있었다. 그럼 이 두 개의 차이는 뭘까? 이름도 비슷한데. html하고 http는 다른 건가? 나도 예전에는 헛갈렸었다. 그럼 이들에 대해서 내가 아는 범위 내에서 간단히 설명을 하겠다. HTML이란 우리가 보는 웹 페이지의 대부분은 확장자가 html이다. htm인 것도 있는데, 그것은 예전 도..
안드로이드/Android 기본 Dialog, inflate Dialog 안드로이드/Android 기본 Dialog, inflate Dialog AlertDialog를 사용한 기본 Dialog 예제 입니다. package arabiannight.tistory.com.simpledialog; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class TestSimpleD..
이클립스/Eclipse 어플리케이션 Keystore 생성 및 사인하기 이클립스/Eclipse 어플리케이션 Keystore 생성 및 사인하기 애플리케이션을 릴리즈하기 위해 키를 사인하는 과정도 이클립스에서 간단하게 처리할 수 있습니다. 사인뿐 아니라 ZipAlign등의 과정도 알아서 처리하므로 편리하게 사용할 수 있습니다. 쉽게 말해서 현재 버젼으로 배포중인 어플리케이션을 새로운 버젼으로 업데이트 하려고 하는데, 같은 Keystore에서 sign 이 되어있지 않으면 재설치가 되지 않습니다. 같은 sign이 되어있어야만 같은 것으로 인식하고 재설치 등 작업이 이루어 집니다. 1. Package Explorer에서 사인된 apk를 생성할 프로젝트를 선택해서 오른쪽 버튼을 클릭합니다. 팝업메뉴에서 Android Tools를 선택하고 Export Signed Application ..
IT/용어 POC, Pilot, BMT 란? IT/용어 POC, Pilot, BMT 란? POC, Pilot, BMT 이 세가지에 대한 IT업계에서 통용되는 의미에 대해 정리를 해 봤습니다. 물론, 약간의 이견과 분야별로 다르게 해석될 수 있으나, 최대한 공통적인, 일반화된 의미로 해석해봤습니다. 1. POC (Proof Of Concept : 기술 검증, 개념 검증) 기존에 시장에서 사용돼지 않던, 신기술을 프로젝트에 도입하기에 앞서, 검증하기 위한 목적으로 사용. 사업과 관계가 약간은 동떨어진 기술 검토를 위한 프로젝트고객사에서 하고, 업무는 아주 간단한 것을 수반. 신기술 여부는 중요치 않음 2. Pilot 이미 검증된 기술을 가지고, 대규모 프로젝트 진행에 앞서 소규모로 진행해보는 시험 프로젝트를 말함. 본사업(프로젝트) 진행을 위한 수행안..
안드로이드/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..
자바/Java 자바 HashMap 이란? 자바/Java 자바 HashMap 이란? 자바를 사용하면서 HashMap이란 용어를 한번쯤을 들어 보셨을 텐데요. 그 HashMap에 대해서 알아보는 시간을 가져 보겠습니다. HashMap이란 Map인터페이스의 한종류로써 Key와 Value 값으로 데이터를 저장하는 형태를 가지고 있습니다. 그러면 가만, Map이란 녀석을 무엇일까요? Map이란 놈은 키(Key) , 값(Value) 을 하나의 쌍으로 묶어서 저장하는 컬렉션 클래스들을 구현하는 데 사용 되는 녀석 입니다. 쉽게 말해 key, value 값으로 저장하는 List 형태의 조상이라고 생각 하시면 됩니다. Map에 종류에는 Hashtable, HashMap, LinkedHashMap, SortedMap, TreeMap 등이 있습니다. 역시 이들 객..
이클립스/Eclipse SVN Update 시 ' ..Activity.java' is not a working copy ' 오류가 날때 이클립스/Eclipse SVN Update 시 ' ..Activity.java' is not a working copy ' 오류가 날때 SVN을 사용해서 프로젝트를 진행할 때, 간혹, ..Activity.java' is not a working copy 이란 오류가 나면서 SVN에 에서 파일이 안받아 지는 경우가 있습니다. 읔!! 모지!! 라고 엄청난 고민을 하게 될 수 있는데요,! 하지만 "적은 가장 가까운 곳에 있다" 라는 문구처럼... 문제는 바로!! 폴더까지 Check Out을 받아야 한다는 사실입니다. SVN에서 선택적으로 Update를 받는 경우 많이 발생하며, 적지 않은 당황을 하는 경우가 있죠!.ㅎ 쉽게 생각해보면 다른 사용자가 폴더를 생성해서 그안에 새로운 파일을 만들었는데, 파일만 Ch..
윈도우/Windows RGB 색상표 윈도우/Windows RGB 색상표 출처 : http://insahara.tistory.com/233 좋네요!! ㅎㅎ 감사합니다
안드로이드/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..
이클립스/Eclipse 프로젝트안에 한글이 모두 깨질 때 이클립스/Eclipse 프로젝트안에 한글이 모두 깨질 때 블로그나 웹상에서 안드로이드 예제 소스를 다운 받아서 기쁜 마음으로 프로젝트를 Import 시켜 열어봤는데 헐!! // �꾩옱 ���ㅼ젙���몄뼱 議고쉶 // �⑤쭚��留덉�留� ���살뼱 �⑤떎. 이러한 대략 난감(--;;)한 글자들을 보는 경우가 많은데요.! 이럴경우는 프로젝트의 encoding과 이클립스 자체의 encoding 속성이 다르기 때문에 발생하는 문제 입니다. 프로젝트를 열어 한글이 모두 깨진 경우가 발생한다면 아래와 같이 encoding을 수정하여, 해당 문제를 해결 할 수 있습니다. 보통의 경우 MS949(한글euc-kr) 과 유니코드(UTF-8)을 가지고 프로젝트를 만드시는 분들이 많은데 글씨가 깨져서 나올경우에는 해당 프로젝..
안드로이드/Android 해외 사용자 구분 ( 단말 정보 & GPS 이용 ) 안드로이드/Android 해외 사용자 구분 ( 단말 정보 & GPS 이용 ) 안드로이드 프로젝트를 진행하다 보면 해외사용자에 대한 구분을 해줘야 할 때가 있습니다. 보통 SYSTEM 언어나(현재 단말에서 사용되는 언어) 단말의 국가코드를 이용해서 비교를 많이 하게 되는데요. 사용자가 단말 구입은 미국에서하고 현재 일본이나, 한국에 거주하고 있으며, SYSTEM 언어는 중국어를 선택해 사용하는 경우가 생길수 있습니다. 그럴경우 100% 위치를 정확한 위치를 찾아내서 대응할 수 없으므로 확률을 높히는 대응을 할 수 밖에 없습니다. GPS를 이용한 현재 위치를 조회하는 코드 역시 네트워크에 접속이 되어 있어야 확인가능 하다는 큰 문제가 있습니다. 국가간의 인접한 지역에 있을 경우 또한 구분하기가 매우 까다롭습..