본문 바로가기

Android

2/23 #2

반응형
Hierarchy 

FrameLayout을 이용하여 margin이나 padding으로 절대 좌표를 유도할 수 있다.

LinearLayout 한쪽 방향으로 layout해줌

Tablelyout 가로로는 병합 가능 하나 세로로는 병합 불가

RelativeLayout 상대적인 위치를 기입하여 좌표를 잡도록 유도 (권장)
-> 참조해야할 객체가 그 위에 선언되어 있어야 한다.


draw
lock -> unlock을 통한 double buffering이 구현된다.
unlock 시 canvas가 commit되나.

네오엠텔 SMAX 한 번 검색해서 보자 ㅋ

Surface를 C단에서 writing 할 수 있다.
그리고 surface의 우선 순위를 바꿀 수 있다. -> ann 위에 어플이 보이게 만들 수 있다.

invalidate() 호출 시점에 root까지 올라가서 바로 paint된다.

res 에 추가된 파일은 R.ID가 생성된다. AAPT라는 utility 에 의해서 XML에 추가되고, image들은 optimize된다.
res/raw 에 추가된 파일은 deflation되지 않는다.

assets은 original data가 그냥 apk에 포함된다.

dpi 에 따른 res를 각각 저장할 경우 R.java 에 ID는 하나만 생성되고 resourceManager가 참조할 때 현재 dpi를 참조하여  필요한 res를 가져온다.
res/ 하단에 존재하는 directory 명이 특별한 의미를 갖는다. 

? 현재 테마 값으로 지정된 ... 값 참조

Alternate Resources


____________________________________________________

Intent
component name : java class name(4 kinds of components)
Action
action Main 이라는 것은 data 가 없다. C 언어의 main(void) 함수와 비슷하다
Category : 
Data : parameta ? URI를 넣는다,  mime type은 prefix ?
if(공유할 수 없는 위치라면? Content Provider 의 위치를 알려준다 content://)
Extra
Flags

Intent를 새성할 때 category에 Category_default가 추가된다.
따라서 암시적 호출을 받을 application은 intent filter에Category_ default가 있어야 한다.

Intent가 Category_Launcher가 있지 않아도 전달된다.(예외 사항임)

반대로 어플리케이션이 Category_Launcher를 intent-filter에 선언 하여다면, 어플리케이션은 암시적 호출을 받을 수 있다는 것을 말한다.

TAT engine을 보시오

Home application

tat, nemusteck, neometel 등등에서 홈 어플을 개발하였다?

intent를 받을 수 있는 녀석들을 확인 하는 방법
packageManager.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
return list.size() > 0;


pending intent

remoteView