분류 전체보기 501

예외처리 추가설명

유연한 프로그래밍을 위한 예외처리의 기법에 대해서 살펴보자. 다음은 예외처리를 위한 try, catch문의 기본 구조이다. try/catch try { ... } catch(예외1) { ... } catch(예외2) { ... ... } try문안에 문장들에 예외가 발생하지 않다면 catch문 다음의 문장들은 수행이 되지 않는다. 하지만 try문안의 문장ㄷ릉르 수행 중 해당예외가 발생하면 예외에 해당하는 catch문이 수행된다. Finally 프로그램 수행 도중 예외가 발생하면 프로그램이 중지되거나 예외처리를 했을 경우 catch구문이 실행된다. 하지만 어떤 예외가 발생하더라도 반드시 실행되어야 하는 부분이 있어야 한다면 어떻게 하나?? public class Test { public void shoul..

java 2019.07.11

쓰레드(Thread)

쓰레드를 알려면 예제를 보는것이 쉽다. public class Test extends Thread { public void run() { System.out.println("thread run."); } public static void main(String[] args) { Test test = new Test(); test.start(); } } Test클래스가 Thread 클래스를 상속했다. Thread클래스의 run 메소드를 구현하면 위 예제와 같이 test.start()실행 시 test객체의 run 메소드가 수행이 된다. (Thread 클래스를 extends 했기 때문에 start 메소드 실행 시 run 메소드가 수행되는 것이다. Thread클래스는 start실행 시 run 메소드가 수행되도록 ..

java 2019.07.11

ScrollView

내가 지정한 뷰의 영역보다 내용물이 많을 때 만들어 줄 수 있다. - 오직 단 하나의 자식만 가질 수 있다. - 단 스크롤뷰의 자식이 다른 여러자식뷰를 가지는것은 상관이 없다. (어떤자식을 스크롤할지 고르기 때문이다.) 이와같이 xml상에서 scrollview의 자식이 많아도 아무런 문제가 없다. 하지만 에러가 발생할때는 이 프로젝트를 실물 기계에 포팅하여서 돌릴때 그때 발생하게 된다.(포팅은 나중에 배운다) 속성 - fillViewport 스크롤뷰의 height를 설정할때 match_parent가 적용이 되지 않는다. 이유는 기본적으로 스크롤뷰 자체는 자식의 크기만큼 늘어나는 뷰이기 때문이다. True : 하지만 fillViewport값에 true를 주게된다면 하위 뷰의 크기만큼 늘어나게 된다. Fal..

RelativeLayout

자식뷰의 배치를 조정하는 ViewComponent 자식뷰 컴포넌트위치를 상대적으로 정할수있다. 즉 기준을 정해서 배치를 관리할 수 있다. 1. Relativelayout 자체를 기준으로 이용해서 자식뷰를 배치하는 것이다. -alignParent~ 속성을 이용한다. -자식클래스에서 설정한다. Botton을 이용하면 relativelayout의 아랫부분에 배치된다. //오른쪽가고 밑으로 내려갔으므로 오른쪽 밑에있다. //화면의 정중앙에 오게 된다. 2. 기준을 지정하여 지정한 기준을 이용해서 자식뷰를 배치하는 것이다. above left 이곳이 기준 right below

View의 계층구조

어떤것이 부모뷰고 어떤것이 자식뷰인지 구분해주는 것이다. 즉, 부모뷰는 상위뷰이고 자식뷰는 하위뷰이다. 모든뷰의 최상위에있는 부모뷰뷰의 (최상위에있는 뷰) 최상위뷰라고 한다. 여기서 LinearLayout은 뷰의 이름이고, 나머지는 뷰의 설정된 속성값이다. 큰 꺽쇠가로 가뜻하는것은 명령어의 시작과 끝이다. 그리고 마지막에 있는 빨간글씨 LinearLayout은 LinearLayout의 끝을 표현하는 것이다. 그러므로 LinearLayout사이에 설정된 모든 컴포넌트들은 자식뷰라고 할 수 있다.

LinearLayout

LinearLayout이란? 가장 많이 사용되는 Layout을 찾으라면, 단연 LinearLayout 클래스를 꼽을 수 입니다. 이는 LinearLayout이, 사용이 간편하고 표시 형태가 직관적이라는 장점을 가졌기 때문이기도 하지만, 무엇보다 사각형 박스 형태의 디스플레이 화면에 UI 요소들을 일렬로 배치할 수 있어서 안정감있는 화면 구성이 가능하다는 이유 때문입니다. 부모뷰 컴포넌트는 가지고있는 자식뷰를 배치관 작업을 한다. - Orientation (horizental, vertical) ---> 부모클래스에서 설정한다. - Weight ---> 자식클래스에서 설정한다. - Gravity ---> 부모클래스에서 설정한다. (layout_gravity가 아니라 그냥gravity이다.) Orientat..

View 설정법

맨위에 Layout부분을 최상단 view라고 한다. (그리고 실제 디바이스화면 크기를 뜻한다.) 최상단뷰에서 layout설정이 match parent라고 되어있다는 것은 화면에 가로,세로를 모두 꽉 채운다는 뜻이다. 크기를 지정하는 방법으로는 3가지가 있다. 1. view 컴포넌트의 크기를 숫자로 지정한다. 2. dp라는 단위를 사용하는 방법이다. (내용물의 크기에 의해 자동으로 크기 조절이 된다.) 3. 부모의 크기를 이용하여 설정하는 방법이다. 여백을 관리하는 방법은 2가지 방법이 있다. 1. margin을 활용하는 방법이다. - 자식view를 부모view로 부터 얼만큼 떨어뜨릴지를 설정하는 방법이다. 2. padding을 활용하는 방법 - Textview의 내용물 위치를 변경하는 방법이다. 팁 : ..

오버플로우

#include #include int main(void) { int x = INT_MAX; printf("int형의 최대값 x는 %d 입니다.\n", x); printf("int형의 오버플로우를 봅시다. 만약 1이라도 더한다면 %d처럼 됩니다.",x+1); return 0; } 출력하게 되었을때는 -2억정도의 숫자가 나온다. 이것이 오버플로우 현상인데, 숫자의 한개치를 뛰어넘으면 제일 낮은 값으로 출력하게 되는 현상을 말한다. 또한 #include를 넣지않으면 int형의 최대치 숫자인 INT_MAX를 출력하지 못한다.

C/기초 2019.07.10

메모리크기 알려주기(sizeof(x))

#include int main(void) { int x = 5; printf("%d",x); printf("변수 x의 메모리크기는 %d입니다.",sizeof(x)); return 0; } 현재 %d에 들어갈 내용은 sizeof(x)인 건데 이것의 뜻은 현재들어가있는 메모리의 크기는 얼마나 되는지 알려주는것이다. 현재 x가 int형이기 때문에 4가나온다. 왜냐하면 어떠한 int변수이건간에 무조건 4bite만큼 크기를 차지하게 된다. cf. float은 실수형이긴 하지만 소수점의 범위를 크게 표현하지못한다. 크기가 4bite이기떄문에 소수점을 길게 쓰면 00이라고 출력되는 것을 볼 수 있을것이다. 아무의미없는 쓰레기값이 된것을 보게 되는 것이다. double은 float보다 더 넓은 범위의 실수형을 표현할..

C/기초 2019.07.10