ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 모바일프로그래밍 정리3
    카테고리 없음 2020. 11. 2. 14:52

    java환경에서는 컴파일된 java 바이트 코드를 java가상머신(jvm)을 통해 실행하지만,

    안드로이드는 ART(Android Run-Time) 이라고 하는 모바일기기에 적합화된 런타임 가상머신을 사용함.

    dex: 바이트코드로 만듬

    dex->JIT & AOT -> ART

    DEX(DALVIK EXECUTABLE)


    JAVA바이트코드 를 DEX변환기가 컴파일하여 DEX파일로 변환해줌.

    DEX파일은 AAPT에 의해 APK파일로 변경

    최소 설치시 AOT컴파일러의 DEX2OAT(컴파일러)를 사용하여 네이티브 코드로 컴파일 후 안드로이드 스마트폰에서 실행할 수 있음.


    ART = 다운로드시 컴파일이 됨

    DAVILC = 실행시 컴파일


    view 속성

    padding속성

    view의 이름을 정의함

    view에서의 padding : View와 내용물간의 간격.여백

    textview에서의 padding :  textview자체와 중앙의 테스트사이의 간격

    padding : 네방향모두 동일한 여백

    paddingLeft, paddingTop, paddingRight, paddingBottom

    padding값의 단위 : px(픽셀), dp(해상도와 무관한 픽셀), sp(폰트 크기에 상대적인 픽셀), in(인치), mm(밀리미터)

    sp(폰트크기에 상대적인 필셀) : 폰트가 커지면 자동으로 여백도 커져야지, 만약안커지면 글씨가 겹친다

    setPaddingRelative(int,int,int,int)

    visibility속성

    보여줄지 말지의 속성

    visibility속성표



    focusable속성

    커보드 포커스 서용여부

    View자체는 디폴트로 포커스를 받지 않도록 되어있음. 키입력을 받으려면 속성을 true로 변경하면 됨.

    EditText 나 Button처럼 사용자의 입력을 받아야하는 것들은 디폴트로 true로 되어있다.

    TextView시작

    TextView 화면에 문자열(텍스트)을 담고있는 위젯

    TextView고정문자열 출력 다른위젯 제목표시할떄 사용

    TextView 속성은 Button, EditText(id 이름 등...)등의 파생클래스에도 적용

    text속성

    TextView 가장 중요한 속성으로 출력한 문자열 지정

    android:text="출력한 문자열"  이렇게 하면 출력가능

    하지만 위처럼 사용하는것 보다 strings.xml에 문자열 정의해놓고 id속성값으로 호출해서 사용하는것이 유리함

    다국어버전 개발에 유용함

    setText(CharSequence, TextView, BufferType)

    text속성


    textColor속성

    문자열 색상지정 : #rgb, #argb, #rrggbb, #aarrggbb

    a : alpha(투명도), r : red, g : green, b : blue  

    setTextColor(ColorstateList)

    textSize속성

    폰트크기 지정, 실수타입으로 정밀하게 지정가능

    단위 : px, dp(해상도와무관한크기),  sp(폰트크기에 상대적인 크기), in, mm 등

    가변적인 sp단위를 쓰는것이 가장 합리적

    setTextSize(float)

    글꼴속성 : normal(0), bold(1), italic(2)  3개중에 1개  혹은 '|' 파이프 문자로 사용가능 (ex : "bold|italic")

    setTypeface(Typeface,int) 

    typeface속성

    글꼴모양지정

    모바일에 내장된 폰트 갯수에 제약이 있음

    normal, sans, serif, monospace  총 4개

    width, height 속성

    TextView의 폭과 높이 크기지정

    절대적인 크기보다 레이아웃에 상대적크기가 더 유용함

    때문에 sp 단위를 사용하면 유용함.

    만약 TextView의 크기보다 안에 text및 내용이 더 길면 아래로 줄바꿈이 되고 그것보다도 문자열이 더 길면 잘린다. 화면에 안나옴.

    setWidth(int), setHeight(int)

    singleLine속성

    위젯의 길이 폴보다 문자열이 더 길경우 위에 글씨가 잘리는데, 강제로 한줄에 출력하도록 하는 속성.

    대신 줄 끝에 ...  생략 표시가 나타나도록 하는것.

    non-editable text의 singleLine 기본값이 false로 폭보다 긴 문자열은 자동으로 아래 새로운줄로 시작된다

    여러줄 출력이 기본속성임

    만약 한줄로 출력할꺼면 true로 바꾸면됨.

    inputType에서는  singleLine 기본 true임.  즉 ... 으로 나타남.  android:singleLine="true"

    setTransformationMethod( TransformationMethod)

    TextView프로젝트

    TextView프로젝트 - Strings.xml

    R.layout.activity_main 레이아웃을 화면에 채움.

    레이아웃 내에 위젯을 채우기 위해 레아이아웃(LinearLayout안에 TextView)만 수정하면됨.

    TextView에 채울 문자열을 정의하기 위해 Strings.xml파일을 열고 다음과 같이 추가로 정의하면됨.

    <string name="aaa">하하하</string>

    <string name="bbb">가가가</string>

    TextView프로젝트 - activity_main.xml

    activity_main.xml레아이웃을 수정해 문자열출력하는 TextView를 배치함

    기본적으로 화면에는 RelativeLayout이 배치되어있느데 이것을 지우고 LinearLayout으로 바꿔서 테스트할꺼임

    ImageView

    ImageVIew

    아이콘이나 이ㅣ지를 화면에 보여주는 위젯

    srt속성 = TextView의 text속성과 같다.

    속성값이 빈값이면 화면에 아무것도 안보임.

    색상은  #rgb, #argb, #rrggbb, #aarrggbb

    리소스참조는 @[package:]type:name

    테마 참조는 ?[package:][type:]name 의형태

    setImageResource(int)

    일반적으로 워크스페이스에 리소스폴더 res에 이미지를 넣고 씀.

    @drawable/ID    형식으로 씀

    여기서 ID가 파일명이 됨. ex : @drawable/banana     라고 쓰면 banana.jpg파일을 불러와서 ImageView에 보여줌

    안드로이드는 다양한 해상도를 지원.

    다양한 장치를 위해 각 폴더에 이미지를 넣어두면 알아서 화면에 해당 해상도 파일이 불러와서 보여줌.

    res/drawable 폴더안에 이미지 얺으면됨.

    ImageView프로젝트

    res폴더에 이미지 복사만 해놓으면 AAPT가 컴파일하여 자동으로 R.java에 id속성을 등록해줌.

    이미지리소스의 id속성값은 파일 이름을 따라 정의되기 때문에 임의로 변경 불가함.

    때문에 같은 이름의 이미지 파일을 넣을 수 없음

    파일명은 소문자와 언더바만 이용할 수 있음.

    src로 단순히 불러오면 이미지 원본크기대로 출력됨.

    maxHeight, maxWidth, minHeight, minWidth

    이미지 출력의 최대 최소 크기 지정

    실수값에 단위를 붙여서 사용

    setMaxHeight(int), setMaxWidth(int),setMinWidth(int), setMinHeight(int)

    ajustViewBound속성

    ajustViewBound 의 값이 true로 해야 maxWidth, minWidth 값이 적용이 된다.

    ajustViewBound  false일때 max, min값을 바꾸면 적용이 안된다.

    ajustViewBound 는 이미지의 크기가 레이아웃보다 큰 경우, 화면에 표시되는 이미지의 종횡비를 맞추기위해 ImageView에서 이미지 크기조정 여부 지정함.

    즉 비율을 맞춰서 줄일래? 아니면 비율상관없이 줄일래?  라는 의미이다.를 입

    예를들어 직사각형을 줄일경우 비율을 맞게 줄일것인지, 직사각형 비율 상관없이 마음대로 줄일래 라는 의미

    true이면 비율을 맞춘다는 것이다. true상태에서 maxWith, maxHeight를 값을 주면 작은값에 맞춰서 비율맞게 크기 변경됨

    false이면 max, min값이 무시되고 원본이미지 크기로 보여줌.

    setAjustViewBound(boolean)

    cropToPadding속성

    ImageView의 크기가 maxHeight, maxWidth 값이 설정된 상태에서 레이아웃 내부에 적용된 padding값을 조정하는것.

    true를 하면 위젯에 주어진 크기에 맞추기위해 이미지 일부를 잘라램

    scaleType속성 = 이미지를 어떻게 자를지 결정하는것

    tint속석-이미지 색조를 입힘,  ImageView가 아니라 Image에 색조가 바뀐다!!!!!!!!

    Button

    선택명령을 내릴수 있는 위젯

    사각형 모양이고, 명령의 의미를 설명하는 문자열이 표시.

    push-button : pressed(눌렀을 때 실행) 되엇을 때나 clicked(눌럿다 때었을때 실행) 되었을떄 액션

    EditText

    간단하게 에디트라고 부름.

    우리가 id나 이름등을 입력할수 있는 input박스 같은것이다.


    댓글

Designed by Tistory.