Mobile/Android
[Android] 간단한 계산기 만들기
[Android] 간단한 계산기 만들기
2021.10.18덧셈만 가능한 간단한 계산기를 만들어보자. 더보기 package kr.ac.cnu.computer.cp2_05; import android.view.View; import android.widget.Button; import android.widget.TextView; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import org.w3c.dom.Text; public class MainActivity extends AppCompatActivity { String prevstr = ""; int intresult = 0; int pluscount = 0; boolean pluscheck = false..
[Android] 이벤트 처리
[Android] 이벤트 처리
2021.10.18버튼을 눌렀을 때 목차가 열리고 숫자가 추가되는 등 다양한 기능을 수행하게 하기 위해서 버튼에 대한 이벤트 처리가 필요하다. 리스너를 구현해 특정 행동에 대한 이벤트를 처리할 수 있다. 한 버튼에 대해 이벤트가 발생하고, 오버라이딩 된 메서드를 호출해 이벤트를 처리하는 방식으로 동작한다. public class MainActivity extends AppCompatActivity { String prevstr = ""; int intresult = 0; int pluscount = 0; boolean pluscheck = false; String tempstr = ""; @Override protected void onCreate(Bundle savedInstanceState) { super.onCrea..
[Android] 텍스트뷰
[Android] 텍스트뷰
2021.10.12글자를 넣고 싶을 때 사용하는 뷰가 텍스트뷰이다. 기본이 되는 뷰라서 자주 사용한다. 텍스트뷰에 글자를 추가하는 방법으로는 키보드를 통해서 입력하는 방법도 있지만, 글자를 strings.xml파일로 분리해 따로 저장하게 하는 방법도 있다. xml 레이아웃에서는 화면의 모양만 정의하도록 하고 글자의 구성은 다른 곳에서 정의하도록 하는 방법인데, 이렇게 함으로써 여러 가지 장점을 얻을 수 있다. 앱을 만들 때 한국어는 물론 영어 등 다른 나라의 언어까지 서비스한다고 할 때, 여러 가지의 xml레이아웃 파일을 만드는 것 보다 strings.xml파일을 언어별로 만들어 놓으면 훨씬 편하게 만들 수 있다. strings.xml파일은 /app /res /values 폴더 안에 있다. 안드로이드에서 다국어를 지원할 ..
[Android] Java 코드와 XML 레이아웃
[Android] Java 코드와 XML 레이아웃
2021.10.11디자인 화면에서 레이아웃과 버튼들을 만들고, 이를 XML파일에 연동시키는 방식으로 화면을 구성했다. 그런데, Java로 안드로이드를 개발한다고 했는데 Java는 언제 쓰이는걸까? MainActivity의 자바 소스코드이다. 코드를 잘 보면, setContentView 메서드를 호출하는 부분이 있다. 이 메서드를 호출하면서 activity_main의 xml파일을 매개변수로 전달해 레이아웃 파일이 소스 파일과 연결되고, 두 개의 파일이 서로 연결돼 하나의 화면을 만든다. 화면에 보이는 레이아웃 소스코드와 자바 소스코드는 분리돼있다. 레이아웃 소스코드는 화면 모양을 결정하고, 자바 소스코드는 기능을 부여하는 역할을 한다. 물론, 필요에 따라 자바 소스코드에서 화면 레이아웃을 구성하는 경우도 있다. 두 가지 방..
[Android] 레이아웃 다루기
[Android] 레이아웃 다루기
2021.10.11Component Tree 에서 우클릭을 통해 기본으로 지정된 Constraint Layout을 수정할 수 있다. /app /res /layout 폴더를 통해 새로운 레이아웃을 만들 수 있다.
[Android] 정렬과 배치
[Android] 정렬과 배치
2021.10.03뷰와 레이아웃을 정렬할 때 gravity 를 사용한다. layout_gravity : 뷰의 layout_width나 layout_height 속성이 match_parent가 아닐 경우 사용하고, wrap content로 만든 후 같이 사용할 수 있다. 부모의 여유 공간에 뷰가 모두 채워지지 않아 여유 공간이 생겼을 때 이 공간 안에서 뷰를 정렬할 때 사용한다. 뷰의 정렬에 관련됨. gravity : 뷰에서 화면에 표시하는 내용물들을 정렬할 때 사용한다. 레이아웃 그래비티와 그냥 그래비티는 서로 다른 것임을 주의하자. 그런데 애초에 여유공간이 없으면 정렬은 의미가 없으므로 여유 공간이 있을 때 정렬을 사용하자. 정렬 시 왼쪽의 값들을 지정해 주며 원하는 형태로 정렬한다. 리니어 레이아웃에서 여유 공간 분할..
[Android] 뷰 / 레이아웃 기초 2
[Android] 뷰 / 레이아웃 기초 2
2021.10.03대표적인 레이아웃들에 대해서 자세히 알아보자. 제약 레이아웃 안드로이드 스튜디오에서 자동으로 설정하는 디폴트 레이아웃이다. 지난 시간에 다룬 연결점을 통한 레이아웃이다. 뷰가 레이아웃 안의 다른 요소와 어떻게 연결되는지 알려주는 것을 제약 조건이라고 한다. 제약 조건은 버튼이 레이아웃 안에서 어디에 위치하고 있는지를 결정하고 상하좌우 중 적어도 2가지 제약조건이 있어야 정상적으로 작동한다. 제약에 대해 잘 이해하고 사용하자. (실습을 통해 이해하는게 좋음) 리니어 레이아웃 상자를 쌓는 걸 생각하자. 상자를 쌓는 것 처럼, 한 쪽 방향으로 차례대로 뷰를 추가하며 화면을 구성한다. Vertical 혹은 Horizontal로 다룰 수 있다. 위의 두 가지 옵션은 한 가지밖에 사용할수 없으니, 레이아웃 안에 레..
[Android] 뷰 / 레이아웃 기초 1
[Android] 뷰 / 레이아웃 기초 1
2021.09.28인텔리제이에서 안드로이드 프로그래밍을 처음 시작할 때 볼 수 있는 화면이다. 자바를 공부한 사람들이라면 코드가 그렇게 낯설지는 않을 것이다. MainActivity 클래스가 AppCompatActivity 클래스를 상속받고, 오버라이드, 수정 등을 통해서 자신만의 앱을 만들 수 있다. 코드를 하나하나 분석해 보면서 공부하면 이해가 더 빠를 것이다. 1. 뷰와 뷰그룹 뷰 화면에 보이는 각각의 것들을 말한다. (버튼 , 텍스트..) 텍스트를 입력하고 그 값을 통해 동작을 하거나, 버튼을 눌렀을 때 동작하게 할 수 있다. 뷰 중에서 화면에 보이면서 컨트롤 역할을 하는 것을 위젯이라고 부른다. 뷰 그룹 뷰들을 여러 개 포함하고 있다. 뷰 그룹도 뷰에서 상속받고 뷰가 된다. 오른쪽 그림을 통해 상속관계를 잘 이해..
[Android] 안드로이드 소개
[Android] 안드로이드 소개
2021.09.28모바일 앱을 개발하고 싶은데, 어떤 플랫폼에서 개발해 볼까? 모바일 운영 체제는 스마트폰, 태블릿 등의 운영 체제이며 대표적으로 안드로이드와 IOS가 있다. 스마트폰 분야에서는 안드로이드 OS의 시장 점유율이 높고, 태블릿 분야는 IOS의 점유율이 높다. IOS 개발자는 수요가 많지만 공급이 적어 상대적으로 구직이 쉬운 장점이 있고, 안드로이드 분야는 전체적으로 시장 점유율이 좀 더 높아 공부할 수 있는 요소들이 많다는 장점이 있다. 각 분야별로 장단점이 있으니 잘 비교해 보고 공부할 분야를 결정하는 것이 중요하다. 안드로이드 앱 개발은 Kotlin / Java / C / C++로 할 수 있고, Android 카테고리에서는 IntelliJ를 이용한 안드로이드 앱 프로그래밍에 대해 다룬다. 본격적으로 프로..