본문 바로가기

전체 글

(626)
안드로이드/Android SharedPreferences 사용 예제 개발 환경 >  ●  SDK 버전 : 안드로이드 SDK 2.2   ●  API LEVEL : 8  ●  이클립스 버젼 : Indigo ●  테스트단말 : 삼성갤럭시 S2안드로이드/Android SharedPreferences 사용 예제안드로이드 프로젝트를 진행하면서, 아이디나 String 문자열등 저장해야 할 경우가 생깁니다. 보통의 경우 Data를 저장할 경우 DB를 써야하는데 DB를 쓰기에는 너무 간단하거나 애매한 상황이 생기기도 합니다. 그럴경우에 안드로이드에서 제공하는 SharedPreferences 를 사용하시기 바랍니다.SharedPreferences는 해당 프로세스(어플리케이션)내에 File 형태로 Data를 저장해 줍니다. 그리고 해당 어플리케이션이 삭제되기 전까지 Data를 보관해 주는 ..
안드로이드/Android 에뮬레이터(Emulater) 사용법 안드로이드/Android 에뮬레이터(Emulater) 사용법 1. 에뮬레이터(Emulater) 회전컨트롤 + F11 2. 에뮬레이터(Emulater) 단축키 Emulated Device KeyKeyboard KeyHomeHOMEMenu (left softkey)F2 or Page-up buttonStar (right softkey)Shift-F2 or Page DownBackESCCall/dial buttonF3Hangup/end call buttonF4SearchF5Power buttonF7Audio volume up buttonKEYPAD_PLUS, Ctrl-5Audio volume down buttonKEYPAD_MINUS, Ctrl-F6Camera buttonCtrl-KEYPAD_5, Ctrl-F..
이클립스/Eclipse JAR 파일 만들기 이클립스/Eclipse JAR 파일 만들기 Java 프로젝트를 진행하다 보면, 보안상이나 라이브러리 구축을 이유로 JAR 파일을 만들게 되는 데요. 이클립스에서 JAR 파일을 만드는 방법에 대해 알아 보겠습니다. (1) JAR 파일을 만들 해당 프로젝트에서 마우스 오른쪽 버튼을 클릭 합니다. (2) 마우스 오른쪽 버튼을 클릭하면 나오는 메뉴중에 [Export] 라는 메뉴를 클릭해 줍니다. 그러면 아래의 Export 메뉴가 나오게 되는데 검색바에서 JAR 라고 입력해 주면, JAR 파일 Export 메뉴가 나오게 됩니다. (3) [JAR file] 메뉴를 선택해 주시고, JAR 파일을 만들 프로젝트를 선택해 줍니다. 프로젝트를 클릭하면, JAR 파일을 만들 때 디테일한 부분 까지 선택하여 만들 수 있습니다..
안드로이드/Android 액티비티(Activity) 반투명 처리 하기 안드로이드/Android 액티비티(Activity) 반투명 처리 하기 AndroidManifest.xml 반투명 처리할 Activity 속성에 android:theme="@android:style/Theme.Translucent" 을 추가해 줍니다. Activity.java반투명 처리할 Activity 클래스 onCreate() 메서드에 requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); getWindow().setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND, WindowManager.LayoutParam..
안드로이드/Android Cursor Invaild statement in fillWindow() 에러 안드로이드/Android Cursor Invaild statement in fillWindow() 에러 SQLite DB 관련 작업 중에 아래와 같은 에러가 발생하는 경우가 생깁니다. Invaild statement in fillWindow() 확인 결과 rawQuery() 내용을 Cursor 인스턴스에 받아온 후 Cursor 사용을 마치기 전에 Database를 close()하여 발생 된 현상입니다. Cursor 와 Database 관리에 좀 더 신경을 써야 겠군요. 출처 : http://oooobang.tistory.com/44
자바/Java 디자인 패턴 1.스트래티지 패턴(Strategy Pattern) 자바/Java 디자인 패턴 1.스트래티지 패턴(Strategy Pattern) 스트래티지 패턴(Strategy Pattern)에서는 알고리즘군을 정의하고 각각을 캡슐화하여 교환해서 사용할 수 있도록 만든다. 스트래티지를 활용하면 알고리즘을 사용하는 클라이언트와는 독립적으로 알고리즘을 변경할 수 있다. 스트래티지 패턴의 기본정의 입니다. 괴물군도 아니고 알고리즘군이라니 허억.. ㅎㅎ 싱거운 드립이였네요. 아무튼 말이 너무 어렵습니다. 하지만 정작 원리는 간단합니다. 자 그럼 본격적으로 스트래티지 패턴에 대해 알아 볼까요? 자 이제부터 우리는 오리제국을 만들어야 합니다.!! 그러기 위해서는 오리의 기본적인 모양에 해당하는 Duck 이라는 클래스를 만들어 보겠습니다. Duck 클래스는 오리의 기본적인 정보를 ..
모바일/Mobile 내 단말에 삭제가 안되는 어플이 있다면!!? 모바일/Mobile 내 단말에 삭제가 안되는 어플이 있다면!!? 단말을 사용하거나 어플리케이션 개발을 진행할 때, 어플을 삭제했다가 재설치 하게 되는 경우가 있는데요.! 삭제가 안되는 어플을 발견하게 될 경우가 생깁니다. 그럴경우에 확인해 보는 방법입니다. ● 갤럭시S2 기준[환경설정] -> [장소 및 보안] -> [기기 관리자 선택] -> 메뉴에서 기기 관리자로 등록되어 있는지 여부를 확인해 보시기 바랍니다. 만약 등록이 되어있다면 체크를 해제 하시고, 어플을 삭제 하게 되면 정상적으로 삭제 되는 모습을 볼 수 있습니다.
안드로이드/Android HttpUrlCennection 502 Bad Gateway 에러 안드로이드/Android HttpUrlCennection 502 Bad Gateway 에러 서버통신시, HttpUrlCennection.getResponseCode() 코드로 502 Bad Gateway 에러 메시지가 발생하게 되는데요. 원인과 해결책에 대해 알아 보겠습니다. 502 에러는 웹서버가 이상 트래픽 유발과 속도저하시 생기는 에러 메시지입니다.이러한 오류페이지가 발생하지 않게 설정하려면 Apache 서버의 설정을 KeepAlive를 On ==> Off 로 수정하면 됩니다.그 외에도 MaxKeepAliveRequest와 KeepAliveTimeout 값도 조절해주세요. 아래처럼 httpd.conf의 값을 수정하는 것이 적절합니다. StartServers 32 MinSpareServers 32 M..
안드로이드/Android 서버통신시 java.net.SocketTimeoutException 에러 안드로이드/Android 서버통신시 java.net.SocketTimeoutException 에러 서버 통신시 아래의 에러가 발생하는 경우가 있습니다. java.net.SocketTimeoutException 이 에러는 HttpUrlConnection.setConnectTimeout(int timeout) 커넥션 Time을 늘려주면 됩니다. 별다른 문제가 없다면, 10 ~ 15 초 정도로 늘려주시면 해결될거 같습니다.
안드로이드/Android 브로드캐스트리시버(BroadCastReceiver) 에서 Activity 호출시 주의사항! 안드로이드/Android 브로드캐스트리시버(BroadCastReceiver) 에서 Activity 호출시 주의사항! 브로드캐스트리시버(BroadCastReceiver) 를 사용하면서 Activity를 호출 하게 되는 경우가 발생하게 되는데요. 브로드캐스트리시버(BroadCastReceiver)에서 Activity를 호출할 경우에 주의 사항이 있습니다. AndroidManifest.xml 파일에 해당 Activity의 속성에 아래의 속성을 추가해 주어야 합니다.Activity에서 다른 Activity를 를 호출하게 되면, 자동으로 위의 카타고리 속성이 추가되어 intent를 호출하시만, Activity 이외의 다른 컴포넌트들에서는 카타고리를 자동으로 추가해 주지 않기 때문에, 해당 카타고리를 꼭 추가해 주..
자바/Java JVM 메모리 구조 자바/Java JVM 메모리 구조 응용프로그램이 실행되면, JVM은 시스템으로부터 프로그램을 수행하는데 필요한 메모리를 할당받고 JVM은 이 메모리를 용도에 따라 여러 영역으로 나누어 관리한다. 그 중 3가지 주요영역(Method Area, 호출스택, Heap)에 대해서 알아보도록 하자. [참고] cv는 클래스변수, lv는 지역변수, iv는 인스턴스변수를 뜻한다. 1. 메소드영역(Method Area)- 프로그램 실행 중 어떤 클래스가 사용되면, JVM은 해당 클래스의 클래스파일(*.class)을 읽어서 분석하여 클래스에 대한 정보(클래스 데이타)를 Method Area에 저장한다. 이 때, 그 클래스의 클래스변수(class variable)도 이 영역에 함께 생성된다. 2. 힙(Heap)- 인스턴스가 ..
자바/Java static의 사용법과 개념예 자바/Java static의 사용법과 개념예 먼저 결론부터 간단히 정리하면 다음과 같습니다. 1.클래스를 설계할 때, 멤버변수 중 모든 인스턴스에 공통적으로 사용해야하는 것에 static을 붙인다. - 인스턴스를 생성하면, 각 인스턴스들은 서로 독립적이기 때문에 서로 다른 값을 유지한다. 경우에 따라서는 각 인스턴스들이 공통적으로 같은 값이 유지되어야 하는 경우 static을 붙인다. 2. static이 붙은 멤버변수는 인스턴스를 생성하지 않아도 사용할 수 있다. - static이 붙은 멤버변수(클래스변수)는 클래스가 메모리에 올라갈때 이미 자동적으로 생성되기 때문이다. 3. static이 붙은 메서드(함수)에서는 인스턴스 변수를 사용할 수 없다. - static이 붙은 메서드는 인스턴스 생성 없이 호출..
안드로이드/Android 프로세스 우선순위 안드로이드/Android 프로세스 우선순위안드로이드 어플리케이션은 자신의 생명 주기를 제어할 수 없다. 대신, 어플리케이션 컴포넌트는 반드시 어플리케이션의 상태변화에 귀기울여 그에 따라 적절히 반응해야 하며, 불시 종료에 대비하도록 신경 써야 한다. 각 안드로이드 어플리케이션은 기본적으로 별도의 Dalvik 인스턴스를 실행하고 있는 자기 자신만의 프로세스 내에서 실행된다. 각 어플리케이션의 메모리와 프로세스 관리는 런타임에 의해 배타적으로 처리된다. 안드로이드는 자신의 리소스를 공격적으로 관리하며, 장치가 좋은 반응성을 가진 상태로 남아있도록 보장하기 위한 것이라면 무엇이든 한다. 이는 우선순위가 높은 어플리케이션을 위해 리소스 확보가 필요한 경우, 우선순위가 낮은 프로세스가 경고없이 종료될 수 있음을 ..
안드로이드/Android 액티비티(Activity) 투명 처리 하기 안드로이드/Android 액티비티(Activity) 투명 처리 하기 Activity를 투명하게 만들어서 사용해야 하는 경우가 생깁니다. 예를 들면 BroadCastReceiver에서 다이얼로그를 호출 할 수 없으므로 Activity로 다이얼로그를 구현하게 되는데요.! 그럴경우에 해당 속성을 이용하여 마치 Activity가 없이 다이얼로그만 호출하는 것 처럼 보여 지게 됩니다. 자 그럼 해당 속성을 추가해 볼까요? 우선 AndroidManifest.xml 로 들어 갑니다. 그리고 아래 예문에 나와 있는 것 처럼 android:theme="@android:style/Theme.Translucent" 해당 테마 스타일을 추가해 줍니다. 스크린샷 : 마치 Activity 가 존재하지 않는 것 처럼 Progres..
안드로이드/Android Context로 간단하게 패키지명 얻어오기~! 안드로이드/Android Context로 간단하게 패키지명 얻어오기~! 안드로이드 프로제트를 진행하게 되면, 패키지를 사용한 작업을 많이 하게 되는데요.! 간단하게 패키지명만 알고 싶은경우 굳이 PackageManager를 사용하지 않고도 해당 패키지명을 알 수 있는 방법이 있습니다. 정말 간단하게 Context 객체의 getPackageName() 메서드를 이용하게 되면 패키지명을 쉽게 얻어 올 수 있습니다. Context.getPackageName()