목록전체 글 (96)
JLOG
이전 글에 이어서 진행합니다. [안드로이드 스튜디오 강좌 #13] 기본 위젯 공부하기 : TextView [안드로이드 스튜디오 강좌 #13] 기본 위젯 공부하기 : Button ! 목표 어플 내에서 글자를 작성하고 수정할 수 있는 EditText을 공부해보자 EditText EditText는 사용자에게 값을 입력 받을 때 사용 된다. 이 위젯에 글자를 입력하려고 커서를 옮기면 키패드가 화면에 나타나 글자를 입력할 수 있다. -실습 /app/res/layout 폴더 안에 edittext.xml 파일을 생성하자 (LinearLayout) Palette 창에서 Text-Plain Text을 화면에 나타내주고, 하단의 XML 코드와 같이 수정하자 -android:inputType : 입력되는 글자의 유형 표시,..
이전 글에 이어서 진행합니다. [안드로이드 스튜디오 강좌 #13] 기본 위젯 공부하기 : TextView ! 목표 안드로이드에서 사용하는 기본 위젯인 Button을 공부해보자 Button (버튼) 버튼은 사용자가 클릭하면 클릭에 대한 반응을 하는 위젯이다. 버튼은 텍스트뷰를 상속하여 정의 되었기 때문에 앞서 공부했던 텍스트뷰의 text, textColor등의 속성을 똑같이 적용할 수 있다. 버튼 위젯에 발생한 이벤트(클릭 등)를 가장 간단하게 처리할 수 있는 방법은 OnClickLinsener를 정의해 버튼에 설정하는 것이다. 기본 버튼, 체크 박스, 라디오 버튼을 이용해 실습해보자 체크 박스, 라디오 버튼은 클릭 이벤트를 처리할 뿐만 아니라 CompoundButton 클래스를 이용해서 상태 값을 저장하..
! 목표 안드로이드에서 사용하는 기본 위젯인 TextView를 공부해보자 TextView TextView는 화면에서 글자를 보여주는 역할을 한다. TextView의 여러 속성에 대해서 살펴보자 1.TextView의 text 속성 지금까지는 Design, Text 탭을 이용해 TextView에 문자열을 입력했지만, strings.xml 파일에 문자열을 미리 작성한 이 값을 text 속성에 지정하는 방법을 더 권장한다. 여러 장점이 있는데, 하나 예를 들면 다국어 지원이 필요할 때 한국어, 영어, 중국어 버전의 XML 레이아웃을 생성하는 것보다 strings.xml을 언어별로 만드는 것이 훨씬 효율적이다. -1. 실습 SampleWidget 프로젝트를 만들어 Hello World! 텍스트를 지운 빈 프로젝트..
! 예제 내용 Layout 관련 예제 문자를 입력할 수 있는 SMS 기능을 가진 어플을 만들어 보자, 텍스트 창에는 80자까지 들어갈 수 있고, 글자를 쓸 때마다 글자 바이트 수를 계산해 나타내 줘야 한다. 버튼은 전송, 닫기 버튼이 있으며 전송 버튼을 누르면 텍스트 내용을 Toast로 나타내주고 닫기 버튼을 누르면 프로그램을 종료시키자. 새 프로젝트 'sms'를 생성했다 XNP 코드 ```xml ``` *설명 EditText를 이용해 메세지를 입력할 창을 생성했다. 위치와 글자 크기를 임의로 설정해주었고, android:gravity = 'top|left' 를 이용해서 왼쪽 위에서 부터 글씨가 입력되도록 하였다. android:hint="메세지를 입력하세요" 창에 아무런 메세지도 입력 안되어 있을 때 ..
알고리즘 연습 겸 코드업 기초문제를 푸는데, 1905번 문제의 입력 자연수 n가 파이썬 재귀함수의 범위를 넘었다며 에러가 발생했다. (https://codeup.kr/problem.php?id=1905) 파이썬 최대 재귀 횟수는 1000번까지 가능하다. sys.setrecursionlimit(limit_number)를 통해서 제한을 풀 수 있다. import sys limit_number = 15000 sys.setrecursionlimit(limit_number) 나는 위의 코드와 같이 15000까지 제한을 해제해서 문제를 풀었다.
!목표 하나의 뷰만 화면에 나타내 주는 프레임 레이아웃을 공부해보자 프레임 레이아웃을 이용해 이미지 화면을 전환하는 어플을 만들어보자 1. 프레임 레이아웃이란? 프레임 레이아웃은 하나의 뷰만 화면에 표시해주는 레이아웃이다. 프레임 레이아웃에 뷰를 하나 이상 추가할 경우 추가된 순서대로 쌓이게 되고 가장 나중에 추가한 뷰만 보이게 된다. 이때 가장 나중에 추가한 뷰를 보이지 않게 하는 경우 그 전에 추가된 뷰가 보이게 된다. 보이거나 보이지 않게 하는 속성인 가시성(Visibility)을 가지고 있어서 여러 뷰를 전환할 때 많이 사용 된다. -실습 화면에 있는 버튼을 누를 때마다 두개의 이미지가 전환되는 어플을 만들어보자 SampleFrameLayout 프로젝트를 새로 생성하자 먼저 activity_mai..
! 목표 표나 엑셀 시트와 같은 형태로 화면을 구성할 수 있는 테이블 레이아웃에 대해 알아보자 1. 테이블 레이아웃이란 테이블 레이아웃은 표나 엑셀 시트와 같은 형태로 화면을 구성하는 레이아웃이다. 테이블 레이아웃의 안에는 한 행을 의미하는 TableRow가 있고 TableRow 안에는 여러 개의 뷰가 들어가며, 이 뷰들은 열이 된다. 2. 실습 테이블 레이아웃을 직접 사용해보자. 새로운 xml 프로젝트를 생성한다. 최상위 레이아웃은 LinearLayout을 사용한다. (Convert View에서 직접 TableLayout 사용 불가) Palette 창에서 TableLayout을 찾아 추가하자. 한번에 4개가 생성되므로 하나는 지우고 3개만 남기자 각각 Component Tree에 있는 TableRow에..
! 목표 1. 위젯의 내부공간인 마진과, 뷰의 내부공간인 패딩을 알아보고, 설정해보자 2. 뷰를 여유 공간을 정해진 비율로 나눠 크기를 설정해주는 layout_weight에 대해서도 알아보자. 1. 마진, 패딩 뷰의 내부공간을 너무 띄우지 않으면 보기가 불편하고 깔끔하지 않을 수 있다. 깔끔하게 어플을 만들 수 있도록, 공백 공간를 설정하는 마진, 패딩에 대해서 알아보자 -셀(cell) : 뷰의 테두리 안, 바깥을 포함한 뷰의 공간, 버튼이나 텍스트뷰를 위젯이라고 하기 떄문에 이 공간을 위젯 셀(Widget Cell)이라고도한다. -마진(margin) : 테두리선을 기준으로 바깥쪽 공간을 마진이라고 한다. layout_margin 속성으로 간격을 조절할 수 있다. -패딩(padding) : 테두리선 안쪽..
!목표 리니어 레이아웃의 안에 들어 있는 뷰는 위, 오른쪽, 가운데 등의 방향을 지정해 정렬할 수 있다. gravity라는 속성을 사용해 레이아웃 안 뷰의 무게중심을 설정해 정렬시키는 방법을 알아보자. 텍스트뷰로 화면을 구성할 떄 종종 텍스트가 옆의 텍스트뷰나 버튼에 들어있는 텍스트와 높이가 맞지 않는 경우를 볼 수 있다. 이럴 때 baselineAligned속성을 이용해 일렬로 정렬시키는 방법을 알아보자. 1. 뷰 정렬하기 (layout_gravity/gravity) 리니어 레이아웃 안에 들어 있는 뷰는 위, 오른쪽, 가운데 등의 방향을 지정해 정렬할 수 있다. 이때 안드로이드에서는 gravity라는 속성을 사용해 무게중심을 놓아주는 것을 설정해준다. -layout_gravity : 부모 컨테이너의 뷰..
! 목표 화면 레이아웃을 미리 만들 수 없거나 레이아웃을 바로 만들어야 하는 경우에 자바 소스 코드에서 화면 레이아웃을 구성해야 하는 경우가 있다. 자바 코드에서 리니어레이아웃을 생성해 보면서 자바로 화면을 구성하는 방법을 알아보자 - 자바 코드에서 화면 구성하기 디자인 화면에서 레이아웃을 변경하면 XML 파일도 같이 변경이 된다. 이 XML 파일은 Java 소스 파일과 연결되는데, Java 코드를 확인해보자 setContentView(R.layout.activity_main); SetContentView 메서드가 activity_main.xml을 자바 MainActivity.java 파일과 연결시켜주는 역할을 한다. 화면에 보이는 레이아웃 소스코드와 자바 소스 코드는 분리되어 있어, 화면 구성을 바꿀 ..