목록IT (1536)
오늘도 공부
출처 : http://www.kmshack.kr/249 mainActivity.java public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); intentMyService = new Intent(this,PersistentService.class); // 죽지않는 좀비 서비스 receiver = new RestartService(); // 리시버 등록 try{ IntentFilter mainFilter = new IntentFilter("com.jongbum.ServiceTest.ssss"); // xml에서 정의해도 됨 registerReceiver(..
출처 : https://github.com/johannilsson/android-pulltorefresh Pull To Refresh for Android This project aims to provide a reusable pull to refresh widget for Android. Repository at https://github.com/johannilsson/android-pulltorefresh. Usage Layout Activity // Set a listener to be invoked when the list should be refreshed. ((PullToRefreshListView) getListView()).setOnRefreshListener(new OnRefreshLis..
출처 : http://www.kmshack.kr/346 얼마전 ListView 포퍼먼스 팁에 관한 블로그 포스팅을 한적이 있다. Adapter에서 View의 재활용과 함께 ViewHolder Pattern으로 findViewById를 View생성 시점에 setTag()를 하여 재활용에 대해 언급 했다. 이 방법은 각 ListView의 ViewItem별로 각각의 ViewHolder를 가지고 있어야 한다. ListView의 아이템별로 서로 다른 디자인이 필요하기에 View의 종류가 달라 질 수 밖에 없기때문에 ViewHolder도 각각 존재 할 수 밖에 없다. 이렇게 static하게 ViewHolder을 가지고 있는것 보다 유연하게 ViewHolder를 생성 할 수 있는 코드를 생성하는 방법에 대해서 알아보..
출처 : http://www.techrepublic.com/blog/software-engineer/create-a-transparent-progress-dialog-on-android/ A game development hobby project inspired this app developer to figure out a way to create a transparent progress dialog that animates an image. He describes how to do it. Over the last year I've been working hard in my spare time writing a multiplayer game for mobile devices. It's slow going..
[안드로이드] Event 처리 메커니즘 출처 : http://ecogeo.tistory.com/251 안드로이드의 이벤트 처리 과정에 대한 글(http://blog.naver.com/osk1004?Redirect=Log&logNo=50069078782 )을 참조하여 나름대로 분석하여 메모한 결과를 적어본다. 개략적인 이벤트 처리 과정 액티비티 생성시 액티비티의 윈도우를 WindowManagerService에 등록해둠 이벤트 발생시 네이티브 라이브러리(EventHub)를 통해 이벤트 읽음 이벤트 큐(KeyInputQueue)에 이벤트 쌓임 이벤트 디스패치 쓰레드(InputDispatcherThread)는 이벤트큐에서 이벤트를 꺼내어 WindowManagerService의 디스패치 메소드 호출 WindowM..
출처 : http://www.coremodeling.com/android/tutorial/AppWidget/AppWidget.html App Widget 작성자 : 고덕한(deokhan.koh@gmail.com) 소속 : 코아모델링(www.coremodeling.com) 작성일자 : 2011년 9월 22일 Android 홈페이지에 있는 App Widget 문서를 번역하면서 AppWidget 에 대한 개념과 개발하는 방법을 익히도록 합니다. URL 은 http://developer.android.com/guide/topics/appwidgets/index.html 클릭하면 됩니다. App Widget 은 Home Screen 에 보여지는 것과 같이 다른 Application 에 Embedded 될 수 있고..
http://blog.naver.com/PostView.nhn?blogId=huewu&logNo=110099015747&parentCategoryNo=&categoryNo=&viewDate=&isShowPopularPosts=false&from=postView
http://blog.daum.net/hopefullife/226
- Eclipse 자주 쓰는 단축키 - - Eclipse 자주 쓰는 단축키 - ----- 실행 ----- Ctrl + F11 : 바로 전에 실행했던 클래스 실행 ----- 소스 네비게이션 ----- Ctrl + 마우스커서(혹은 F3) : 클래스나 메소드 혹은 멤버를 상세하게 검색하고자 할때 Alt + Left, Alt + Right : 이후, 이전 Ctrl + O : 해당 소스의 메소드 리스트를 확인하려 할때 F4 : 클래스명을 선택하고 누르면 해당 클래스의 Hierarchy 를 볼 수 있다. Alt + ) : 이전(다음) 작업 화면 ----- 문자열 찾기 ----- Ctrl + K : 찾고자 하는 문자열을 블럭으로 설정한 후 키를 누른다. Ctrl + Shift + K : 역으로 찾고자 하는 문자열을 ..
http://arabiannight.tistory.com/trackback/346
In this post I’ll show how you can take a screenshot of your current Activity and save the resulting image on /sdcard. The idea behind taking a screenshot actually is pretty simple: what we need to do is to get a reference of the root view and generate a bitmap copy of this view. Considering that we want to take the screenshot when a button is clicked, the code will look like this: findViewById(..
를 코드로 구현하기 StateListDrawable states = new StateListDrawable(); states.addState(new int[] {android.R.attr.state_pressed}, getResources().getDrawable(R.drawable.pressed)); states.addState(new int[] {android.R.attr.state_focused}, getResources().getDrawable(R.drawable.focused)); states.addState(new int[] { }, getResources().getDrawable(R.drawable.normal)); imageView.setImageDrawable(states);[출처] XM..
1. 환경설정 개요 (Preferences) 안드로이드 플랫폼은 Data를 저장하는 방법으로 환경설정(이하 Preferences), 파일, Local DB, 네트워크를 제공한다. 그 중 Preferences는 가장 간단하게 정보를 저장하는 방법(mechanism)을 제공하며, App이나 그 컴포넌트 (Activity, Service 등)의 환경 설정 정보를 저장/복원하는 용도로 사용된다. ▌Preferences의 형태▐ 안드로이드에서 Preferences는 ListView의 형태로 표현되며 쉬운 Preferences의 구현을 위해 PreferenceActivity 클래스를 제공한다. PreferenceActivity 클래스는 XML 기반의 Preference 정의 문서를 통해 App 파일 저장소에 Pre..
어디서 주은 PPT인데 나름 괜찮은 설명들이 있긴 하다.
출처 : http://blog.daum.net/maleny/89 최근에 인터넷을 배회하다가 저가의 타블렛 PC 하나를 발견하고 앱 개발 테스트용으로 사용하고 다니면서 E-BOOK 이나 읽을 용도로 구입했다. 자체 데이터 통신 기능도 없고 전화기능도 없고 당연히 DMB도 안되고 GPS 도 안되지만 KT 의 Egg 를 들고 다니니까 Wi-Fi 를 이용한 웹 서핑 등 여러가지 필요는 충족 시킬 수 있을 것이라 판단했다. 일단 인터넷 연결을 통한 여러가지 필요한 작업은 만족 스러웠고 AlphaBiz 의 Mobile Client 역활도 잘 수행한다. 다만 스마트폰의 사이즈에 맞게 앱을 만들엇기에 큰 기기에서는 화면이 영 개판 오분.. 하긴 이 타블렛을 산 이유도 이 개판 오분전을 잡기 위해서 이었지만. 문제는 이..
출처 : http://blog.rochdev.com/2011/05/update-ui-when-holding-button.html#!/2011/05/update-ui-when-holding-button.html I got this question recently so thought I would share one of the solutions. What we want is simply to update the user interface when holding down a button. The code should be pretty self-explanatory. The first thing we do is to create a custom button and override events. Then in t..
import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.util.Config; import android.util.TypedValue; import android.view.Display; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.KeyEvent; import android.widget.Button; import android.widget.TextView; public class Calculator extends Activity { EventListene..
App Widget 이란 Home Screen에 노출되는 miniature Application입니다. 보통 시계 어플등이 Widget 형태로 존재 하게 됩니다. App Widget을 구현에 필요 한것들 A. 꼭 필요 한것들 1. AppWidgetProviderInfo object - App Widget을 위한 MetaData, update frequecy 나 layout에 대한 정의. - XML 에 정의 되어야함. 2. AppWidgetProvider - Programming Interface - AppWidget이 Update/Enabled/Disabled/Delete되었을때, BroadCast를 받는 Receiver역할을 한다. 3. View Layout - AppWidget Design , And..
public class CloneMainCls { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub try { MyNumbers mn = new MyNumbers(); MyNumbers mn2 = (MyNumbers) mn.clone(); mn2.getNumbers()[1] = 3; System.out.println(mn.getNumbers()[1] + ":" + mn2.getNumbers()[1]); } catch (Exception e) { e.printStackTrace(); } } } class MyNumbers implements Cloneable{ private int[]..
public static void showAsPopup(Activity activity) { //To show activity as dialog and dim the background, you need to declare android:theme="@style/PopupTheme" on for the chosen activity on the manifest activity.requestWindowFeature(Window.FEATURE_ACTION_BAR); activity.getWindow().setFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND, WindowManager.LayoutParams.FLAG_DIM_BEHIND); LayoutParams params..
내부적으로 android:id를 이용을 하고 있어서 따로 커스트마이징을 해서 지정을 해줘야함..귀찮음.. package com.example.setupproject; import android.content.Context; import android.preference.SwitchPreference; import android.util.AttributeSet; import android.view.View; import android.view.ViewGroup; import android.widget.Checkable; import android.widget.CompoundButton; import android.widget.Switch; public class MySwitchWidget extends S..
출처 : http://lsit81.tistory.com/33 며칠전 BitmapFactory.Options.inPurgeable에 대한 내용을 올렸는데요. BitmapFactory.Options에 대한 정리가 필요할 것 같아 주요 옵션에 대하여 정리를 해보았습니다. 1. Image Width, Height 정보만 가져오기. : BitmapFactory.Options.inJustDecodeBounds = true 이렇게 사용할 경우 Image를 메모리로 로드하지 않은 상태로 Image의 width, height 정보만을 가져올 수 있습니다. ? 1 2 3 4 5 6 BitmapFactory.Options opts = new BitmapFactory.Options(); opts.inJustDecodeBoun..
출처 : http://givenjazz.tistory.com/53 클래스파일: Create9Patch.class 안드로이드는 해상도가 다르다고 해도 같은 화면으로 보여주기 위해 이미지를 늘려주는 나인패치라는 포맷을 사용합니다. 주로 draw9patch라는 툴을 사용합니다만 이걸 만드는 작업이 여간 귀찮은 게 아닙니다. 9패치 만드는 게 너무 귀찮아서 간단히 만들었는데 생각보다 쓸만해서 공개합니다. 그냥 상하좌우 5픽셀 떨어진 곳부터 5픽셀짜리 나인패치를 그려주는 게 전부입니다. 그럼 어떻게 되느냐? 예제를 보면 더 이해가 빠르실 겁니다. 5픽셀짜리 영역을 만들면 위처럼 5픽을 자동으로 지정만 해줘도 그라데이션이 들어가 있는 버튼도 생각보다 깔끔하게 확대가 됩니다. 사용법은 이 글에 첨부된 Create9P..
퍼옴 : http://blog.naver.com/PostView.nhn?blogId=nimbusob&logNo=147715066&parentCategoryNo=&categoryNo=&viewDate=&isShowPopularPosts=false&from=postView 앞선 포스트 Android 개발가이드 - Bitmap.recycle()은 가급적 호출해 주는 편이 좋다. 에서는 명시적인 오브젝트 해제의 필요성을 알아보았다. VM 을 사용하는 언어에서 코딩함에도, c 스타일의 리소스 해제를 왜 해주어야 하는지에 대한 내용이었다. (안드로이드 프레임웍의 문제 및 특수성, 한정적인 VM Heap size 와 같은 이유 등) 그러나 안드로이드의 내부 동작으로 인해 Bitmap.recycle() 과는 별개로 v..
전, 기초를 닦지 않고 그냥 MFC 를 해서 나중에 참 고생을 많이 했습니다. MFC 를 선택하셨다는 것은 결국은 C++ 을 선택하신것을 의미하는데, 전 MFC 가 어떻게 되건 C++ 의 고수만 된다면 대세가 어떤 언어가 되건 상관없다고 생각합니다. C++ 이 Win32 에 종속되는건 아니니까요. 게다가 앞으로도 Win32 는 여전히 쓰일 수 밖에 없구요. 또, C++ 잘 해두면 다른 언어 익히는건 훨씬 쉽습니다. 그래서 MFC/API 를 공부하시면서 (혹은 공부하시기 전에) C/C++ 을 확실히 공부해두시길 권장합니다. 제가 C/C++ , STL, 운영체제, 알고리즘 같은 기초가 부족해서 한참 후회 많이 했습니다.-_-; 너무 언어나 툴이나 운영체제에 종속되지 않으시길... 그럼 추천 나갑니다~ 필요하..
하나의 앱으로 여러 해상도를 지원하고자 할 때 이클립스에서의 layout, drawable 폴더 명을 달리 해줄 필요가 있다. 갤럭시S drawable-hdpi layout-hdpi 갤럭시S2 drawable-xhdpi-1280x720 layout-xhdpi-1280x720 갤럭시 노트 drawable-xhdpi-1280x800 layout-xhdpi-1280x800 갤럭시탭 10.1 drawable-xlarge-mdpi layout-xlarge-mdpi [출처] [Android 개발] Eclipse의 해상도별 layout, drawable 폴더 만들기(갤럭시 노트, 갤럭시 S2, 갤럭시S, 갤럭시 탭, 옵티머스 시리즈)|작성자 konori
이 분의 tistory를 찾은 지금의 나로서는 금광을 찾은 느낌이다. 알레폰드 http://202psj.tistory.com/ ========================================================================================================================= How Android Supports Multiple Screens (원문펌 http://overoid.tistory.com/9) 안드로이드에서는 런타임시에 아래 3 가지 방식 중 하나로 다양한 화면을 지원합니다 . 아주 중요한 내용입니다 . i) Pre -Scaling ( 보통 bitmap 이미지 처리시에) Pre -Scaling 은 로딩시점에 크기를 조절합니다 ..
PHP abs() 절대값을 리턴한다 PHP acos() 라디안으로 주어진 값을 아크코사인값을 리턴한다 PHP addcslashes() 문자열앞에 역슬레쉬를 추가한다 PHP addslashes() ‘,”,\ 앞에 역슬래쉬를 추가한다 PHP array() 배열을 만든다 PHP array_count_values() 배열안의 매게변수와 동일한 값이 몇번들어있는지 리턴한다 PHP array_flip() 배열의 키와값을 바꾼다 PHP array_keys() 배열의모든키를 반환한다. PHP array_merge() 두개이상의 배열을 합칩니다. PHP array_pad() 새로운요소를 추가합니다. PHP array_pop() 배열의 마지막요소를 삭제하고 리턴합니다. PHP array_push() 배열의 마지막에 하나이..
모바일용 웹사이트를 개발한다고 하자 제일 먼저 default.css (우리는 basic.css)를 정해야 할 것이다. 네이버 m.naver.com http://m.news.naver.com/css/news/d.css common css 설정부분 /*common*/ * { margin:0; padding:0; font-family:"나눔고딕", NanumGothic, "굴림", Gulim, Helvetica, AppleGothic, Sans-serif; -webkit-text-size-adjust:none; } body { position:relative; background-color:#f8f8f8; line-height:1.25em; color:#000; word-wrap:break-word; word..
출처 : http://cafe.naver.com/domfam/4738 웹디들의커뮤니티카페 1. meta & link [Viewport] - 기본설정 모바일 웹브라우저의 기본 화면크기 및 확대/축소 배율등을 정하는 모바일 웹사이트 및 웹앱을 만들시 제일 중요한 Meta 태그입니다. 기본적으로 아이폰의 사파리 웹브라우저는 넓이가 980px인 해상도로 보여주기 때문에 아이폰에서 아이폰3G(S)에 맞춰 디자인 한 웹페이지(320x480)를 본다고 가정한 경우 뷰포트를 설정하지 않는다면 가로 좌우 여백이 330px의 여백이 남는 아주 작은 화면을 보게 됩니다. 다음처럼 뷰포트를 사용하면 1:1 비율로 아이폰의 해상도에 맞게 최적화 할 수 있습니다. width : 넓이 - device-width | N px (20..
