전체 글

전체 글

    Android # gravity 속성들

    Gravity 속성 정렬 속성 값 설 명 top 대상 객체를 위쪽 끝에 배치하기 bottom 대상 객체를 아래쪽 끝에 배치하기 left 대상 객체를 왼쪽 끝에 배치하기 right 대상 객체를 오른쪽 끝에 배치하기 center_vertical 대상 객체를 수직 방향의 중앙에 배치하기 center_horizontal 대상 객체를 수평 방향의 중앙에 배치하기 fill_vertical 대상 객체를 수직 방향으로 여유 공간만큼 확대하여 채우기 fill_horizontal 대상 객체를 수평 방향으로 여유 공간만큼 확대하여 채우기 center 대상 객체를 수직 방향과 수평 방향의 중앙에 배치하기 fill 대상 객체를 수직 방향과 수평 방향으로 여유 공간만큼 확대하여 채우기 clip_vertical 대상 객체의 상하 ..

    Android # layout_gravity 와 gravity

    layout_gravity와 gravity 정렬 속성 설 명 layout_gravity 부모 컨테이너의 여유 공간에 뷰가 모두 채워지지 않아 여유 공간이 생겼을 때 여유 공간 안에서 뷰를 정렬함 gravity 뷰 안에 표시하는 내용물을 정렬함(텍스트 뷰의 경우 내용물은 글자, 이미지뷰의 경우 내용물은 이미지) [gravity.xml] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 Colored by Color Scripter cs 위의 버튼 3개는 layout_gravi..

    Android # Linear Layout

    Linear Layout 한 방향으로만 뷰를 쌓음. 방향(orientation)이 필수 속성. (horizontal / vertical). 가로(horizontal) : 위젯(widget)이 가로로 쌓인다. 세로(vertical) : 위젯(widget)이 세로로 쌓인다. 뷰 속성값을 잘 확인하자(match_parent/wrap_content)

    Android # java file에서 layout 생성

    java source 코드로 layout 생성 화면에 보이는 레이아웃 소스 코드와 자바 소스 코드는 서로 분리되어 있어 화면 구성을 바꿀 때 자바 소스 코드는 그대로 두고 레이아웃 소스 코드만 수정하면 된다. 그러나 화면 레이아웃을 미리 만들 수 없는 경우 또는 필요할 때마다 바로바로 레이아웃을 만들어야 하는 경우에는 자바 소스코드에서 화면 레이아웃을 구성해야 할 수도 있다. 예를 들어, 사용자가 입력한 데이터나 파일에서 읽어 들인 데이터 또는 네트워킹을 통해 서버에서 받아온 데이터의 유형에 따라 화면의 구성을 바꾸고 싶다면 XML로 정의하는 것보다 자바 코드에서 화면을 구성하는 것이 훨씬 더 효율적이다. 간단한 예제로 살펴보겠다. [LayoutcodeActivity.java] 1 2 3 4 5 6 7 ..

    Javascript # 6 (var-let-const 차이)

    var-let-const의 차이를 보기 전에 이 세 가지 변수들의 차이를 보기전에, Hoisting과 Scope을 정리한 글을 보고오길 바란다. Hoisting에 대한 글 : https://philipbox.tistory.com/42?category=867101 Scope에 대한 글 : https://philipbox.tistory.com/43?category=867101 var let const를 비교할 때 몇가지 키워드로 알아보도록 하겠다. 변수 값의 변환 변수의 유효범위 1. 변수 값의 변환 기존의 Javascript를 사용하면서 가장 문제가 있다고 느낀점은 변수 선언의 방식이였다. var를 사용하면 변수 선언의 경우 할당되는 값이 유동적으로 변경될 수 있는 단점을 가지고있다. 아래 코드를 보자 v..

    Java의 변수와 메모리 영역

    Java의 변수 Class 변수 class가 메모리에 올라갈 때 생성 → 딱 한번만 생성됨, 인스턴스 생성 안해도 접근 가능. instance변수에 static을 붙인 것. instance 변수 instance가 생성될 때 (new / compiletime) local 변수 변수 선언문이 실행될 때(runtime) 위 3가지 변수가 올라가는 메모리 영역 Class변수 → Method area 이 영역에서 생성되는 변수는 프로그램이 종료될 때 까지 할당된 메모리를 점유한다. 이 때문에 메모리의 비효율성을 발생시킨다. Android 에서 static 남발하면 메모리 누수가 발생. instance변수 → Heap 지역변수는 초기화가 자동적으로 이루어지지 않는다. local 변수 → Stack Static의 의..

    Heap 메모리 vs Stack 메모리

    Heap 메모리 vs Stack 메모리 Stack 메소드 호출시에 처리되는 매개변수, local변수 등이 저장되며, Stack구조로 되어있다. Heap 배열이 생성되는 공간이며 GC는 Heap 메모리 공간 내에 object 중에 참조값이 없는 object에 대해서 실행하여, heap 메모리 영역을 청소한다. 또한, heap 메모리 영역의 모든 object는 프로세스(application) 내에서 전역적으로 액세스가 가능하며 참조가 가능하다. Method Area Class정보를 처음 메모리 공간에 올릴 때, 초기화되는 대상을 저장하기 위한 메모리공간.(메소드 정보,class type정보 등) class 변수도 함께 저장하는데, 그것은 static variable과 같다.

    Android # 상태 드로어블 적용

    상태 드로어블 적용해보기 상태 드로어블은 뷰의 상태에 따라 뷰에 보여줄 그래픽을 다르게 지정할 수 있다. 버튼(이미지)을 눌렀을때와, 누르지 않은 상태를 다른 이미지로 보여주게 할 수 있다. finger.drawable.xml을 만들어서 다음과 같이 작성해보자. [app/res/drawable/finger_drawable.xml] Colored by Color Scripter cs 상태 속성이 설정되지 않은 태그에는 drawable 속성값으로 @drawable/finger를 입력했다. 이렇게 하면 finger.png 이미지가 보이게 된다. state_pressed라는 상태 속성이 설정된 태그에는 drawable 속성 값으로 @drawable/finger_pressed를 입력했다. 이 이미지는 뷰가 눌렸을..