안드로이드 기초 지식

유시현·2023년 1월 1일
0

Android

목록 보기
13/34

android:id="@+id/toolbar"

안드로이드 안에 id 테이블이 있는데 거기에 toolbar라는id를 추가하겠다.
@+id : id 테이블을 참조
@ : 참조하겠다.

앱이 가지는 화면(앱 화면) : Window
단말이 가지는 화면(하드웨어) : Display

surface : window에 그림을 그리는 메모리 버퍼를 관리하는 역할
view : surface를 이용하여 그림을 그리거나 window로 부터 받은 입력을 처리하는 역할

Inflation : xml layout에 정의된 정보를 메모리 상에서 객체로 만드는 과정
layoutinflater : xml -> view, viewgroup에서 사용하면 child 배치

gravity : view 안에 있는 내용물 정렬
layout gravity : 부모 컨테이너 기준으로 view 정렬
예를들어 부모가 vertical 이면 horizontal gravity만 먹음

clip_vertical, clip_horizontal : 들어간느 view 공간이 크기 보다 작을때 어떻게 자를것인지

layout_weigth : linearlayout에서 child를 다 배치하고 남은 여백을 어떻게 처리할 것인지. 기본은 0
예를들어
30 view1 weigth 1
20 view2 weigth 1
20 여백

이면 view1,2가 10씩 나눠가진다
동등하게 나눠가질려면 heigth or width를 0으로 줘야함

frameLayout : 기존 layout들이 부모와 자식의 위치를 감안해서 배치했다면
이 layout은 부모의 위치만 감안해서 배치한다

activty 전환시 키패드 제어 할때는
manifest activity
android:windowsoftInputMode에서 조정하면된다
ex) 키패트가 editText 가렸을때
adjustNothing : 아무것도 안하기
adjustResize : 이예 뷰 크기를 줄이기
adjustPan : 키패드 바로 위로 올리기

xml 상에 @+id/로 id 지정했으면 다음에 사용할때 @id/로 사용가능

editText에 입력한 정보를 activty에서 받을때는 imeOption 이용

소프트웨어 키패드 제어할때는
(InputMethodManager)getSystemSerivce(Context.Input_Method_Service)

findByViewById 할때
setContentView(R.layout.activity_main);
다음에 해야함 아니면 정보를 못가져옴

ImageView scaleType으로 이미지 크기조정과 위치 조절함

글자 자동완성은 autocompletetextview

애플리케이션 component
activity : 사용자 인터페이스
receiver : sms, 부팅 같은 이벤트 처리
service : 오직 1개,백그라운드에서 실행
provider : 다른 앱이랑 통신, uri 사용(intent 대신)

activity,receiver,service : intent 사용

명시적 : componentName 호출하여 넘김
암시적 : 어떤데이터를 어떻게 볼것인지를 지정해서 넘긴(Action_VIEW, URI(....), ,mimeType )
URI = URL + URN
편지로 비유라면 URL은 주소 URN은 받는사람 이름
uri를 알아서 자원의 위치를 알면 어떻게 실행할것인지도 알아야함 이때 필요한것이 mimeType(ex text/html)

manifest에 intent-filter에 적은 액티비티 실행

packageName + fullName(activity name) = componentName
Intent(Context packageContext,Class<> class) 가 결국 componentName 넘기는것

Intent category

appcompatactivity : toolbar를 actionbar로 설정할 수 있게함

xml에서
android: 는 안드로이드에서 제공 기능
app: 은 implement한 라이브러리에서 제공하는 기능

출처
https://www.youtube.com/watch?v=O01A361Ob68

profile
안드로이드 ,ios 공부하고 있습니다

0개의 댓글