목록IT (1532)
오늘도 공부
[안드로이드] 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..
이원희 maestro.wh@gmail.com, 변광민 yelllo wsun@gmail.com, 신정수 hello_mile2@ naver.com|삼성전자 소프트웨어 멤버십 정회원이며 현재 S펜 SDK를 사용한 프로젝트를 진행하고 있다. 안드로이드 플랫폼뿐만 아니라 모바일 생태계, 소프트웨어 엔지니어링, 병렬처리, 신호처리, 자연어 처리 등 다양한 분야에 관심을 가지고 관련 분야를 연구하고 있는 학생들이다. 2011년 11월 국내 출시된 갤럭시 노트는 출시 7개월이 지난 지금까지도 돌풍을 일으키고 있다. 특히 5.3인치의 큰 화면과 사용자의 필기압력을 256단계로 인식하는 노트 그리고 S펜만의 강점은 안드로이드 애플리케이션 개발자들에게 새로운 도전 기회를 부여하고 있다. S펜 SDK 문서 클래스 구조도 현재..
03AgmdbtH9di8YRP3Q7jlA==
JSP 와 Oracle 조합에서 페이징을 처리하기 위한 작업을 진행해 보았다. 기존에 ASP 작업을 할때만 해도, 누군가가 만들어 놓은 소스를 약간만 변형해서 썼기 때문에 페이징을 별로 신경쓰지 않았는데, JSP 의 경우에 rs.absolute() 나 rs.first() 같은 명령이 기본 설정으로는 사용할 수 없게 되어 있기 때문에, 그런 명령 없이 자체적으로 페이지를 분석해서 페이지 블럭을 만들어 보기 위해 분석을 시작. 생각보다 훨씬 어렵고 난해해서 이틀을 꼬박 분석을 했다. 물론, JSP 에서도 rs.absolute() 를 쓸 수 있는데, 그러려면 최초에 createStatement 를 설정할때 조금 다르게 해줘야 한다. rs.absolute() 나 rs.first() 처럼 레코드의 커서를 이리저리..
