안녕하세요 오늘은 탭 호스트를 사용해 보겠습니다. 탭 호스트(TabHost)는 여러 탭을 두고 각 탭을 클릭할 때마다 해당 화면이 나오도록 설정하는 뷰 컨테이너 입니다. 밑에는 레이아웃 소스입니다 이렇게 화면 구성이 되면 완성입니다. 이제 자바 소스 코딩을 해보겠습니다. package com.example.tabhost; import androidx.appcompat.app.AppCompatActivity; import android.app.ActionBar; import android.app.TabActivity; import android.os.Bundle; import android.widget.TabHost; @SuppressWarnings("deprecation") public class Mai..
안녕하세요 오늘은 초 간단 계산기 앱을 만들어 보겠습니다. 테이블 레이아웃을 이용하여 숫자 버튼을 만들어서 앱을 제작해 보겠습니다. 별 다른 코드 안 들어가고 아주 간단한 계산기 예제 이므로 쉽게 따라하실수 있습니다. 일단 프로젝트를 만들고 레이아웃을 꾸며 보겠습니다. 밑에는 xml 코딩입니다 레이아웃을 꾸미는 것이기 때문에 취향에 맞게 색상이나 이름을 바꾸셔도 상관없습니다. 저는 이렇게 꾸몄습니다 위에 코드를 다 넣으시면 이런 화면으로 레이아웃이 구성이 되었을 겁니다. 아주 심플하고 간단하네요 이제 자바 코드를 넣어보겠습니다 밑에는 자바 풀 소스입니다. 숫자 버튼을 제외한 activity_main.xml의 7개의 위젯에 대응할 위젯 변수 7개 입력될 2개 문자열을 저장할 문자열 변수 2개 계산 결과를 ..
안녕하세요 오늘은 핸드폰에 뒤로 가기 버튼을 두 번 누르면 Activity가 종료되는 onBackpressed 메서드를 아주 간단하게 구현해 보겠습니다. 앱을 만들다 보면 종료 방식을 많이 지정하는데 버튼을 이용해서 또는 커스텀 다이얼로그 액티비티를 이용하거나 팝업식으로 종료하는 방법이 있습니다. 그중 많이 이용하는 핸드폰의 뒤로 가기 버튼 두 번으로 앱을 종료시키는 방법을 사용해 보겠습니다. onBackPressed 함수를 이용하는 이유는 사용자가 앱을 사용하던 도중 한 번의 클릭으로 앱을 종료가 되면 많은 불편함이 있기 때문에 이 함수를 사용하여 메시지를 보내 앱 사용에 효율을 높이기 위함입니다. 밑에는 java소스입니다. @Override protected void onCreate(Bundle sa..
안녕하세요 오늘은 오늘은 고급 위젯의 용도와 사용법을 알아보겠습니다. 그중에 오늘은 시계 위젯과 캘린더뷰 위젯을 사용해보겠습니다. ■ 기능 1. 타이머 기능: (예약 시작)과 (에약 완료)를 클릭하면 크로노미터가 타이머로 동작한다 2. 날짜/시간 설정: (날짜 설정)과 (시간 설정)을 클릭하면 예약할 날짜와 시간을 변경할 수 있다. 3.(예약 완료)를 클릭하면 설정한 날짜와 시간이 결정된다. 새 프로젝트를 만들고 프로젝트 이름을 정해줍니다. 프로젝트를 만들면 기능을 넣어줄 레이아웃을 먼저 만들어 줍니다 밑에는 activity_main.xml 코딩입니다. 천천히 따라해주세요 19.android:format 00:00:00과 같이 나오도록 크로노미터 형식을 설정 53.android:layout_weight=..
안녕하세요 오늘은 안드로이드에서 대표적인 상태 표시 위젯인 시크 바(SeekBar)를 이용해서 화면 밝기 조정을 해보겠습니다. 핸들을 드래그하여 좌우로 이동이 가능하며 시크 바를 이용하여 볼륨 조절이나 재생 위치 조절도 가능합니다. 처음 프로젝트를 생성하고 activity_main.xml파일을 열고 밑에 코드를 입력합니다. 코드가 적어 어려움이 없으실겁니다 그러면 밑에처럼 화면이 구성이 됩니다. 화면 구성이 끝나고 이제 MainActivity.java 파일을 열고 시크바의 값이 바뀌었을 때 그 값을 텍스트뷰에 표시하도록 코드를 입력해줍니다 이 코드는 xml 레이아웃에 들어 있는 시크 바 객체를 참조한 후 그 값이 바뀔 때마다 리스너를 통해 알수있고 변경된 값은 화면 밝기를 조정하는 데 사용됩니다. 화면 ..
intent를 활용한 예제 SeekBar를 활용한 예제 날짜/시간 예약 앱 초간단 계산기 탭호스트 예제 대화상자
안드로이드 앱의 기본 구조는 화면과 레이아웃입니다. 그리고 화면은 액티비티로 만듭니다. 그 위에 XML 파일로 작성한 레이아웃을 올리고 소스 코드를 이용하여 이벤트를 처리합니다. 지금까지는 앱을 실행했을 때 첫 화면에 보이는 레이아웃과 몇 가지 기본 위젯과 이벤트 처리만으로 간단한 화면을 만들었습니다. 이번에는 여러 화면을 만들고 화면 간에 전환하는 방법을 배워봅시다. 1. 새로운 액티비티 만들기 2. 새로운 액티비티 XML 레이아웃 정의하기 3. 메인 액티비티에서 새로운 액티비티 띄우기 4. 새로운 액티비티에서 응답 보내기 5. 응답 처리하기 밑에는 처음 화면이 띄울 액티비티입니다. 이렇게 서브 액티비티로 갈 수 있는 동작의 버튼을 하나 만들어줍니다. 그다음 메인 액티비티 자바에 밑에 소스를 적어줍니다..
안녕하세요 이 번에는 스크롤 뷰를 사용해서 레이아웃을 구성해 보겠습니다. 기본적으로 스크롤뷰는 이미지 파일이 한눈에 다 보이지 않을 때 사용합니다. 프로젝트를 생성하고 이미지 2개를 png파일로 만들어 두세요. ※ 이미지 파일 이름에는 대문자 및 한글을 사용할수없습니다! 소문자로 이름을 지정해주길 바라요 밑에는 XML파일입니다. 아주 간단하게 구성이 되어있습니다. 기본적으로 스크롤뷰는 수직방향의 스크롤을 지원합니다. 만약 수평 방향의 스크롤을 사용하려면 저처럼 HorizontalScrollView를 사용하시면 됩니다. 밑에는 자바 소스입니다. 이렇게 작성이 다 끝나고 나면 실제 단말기로 테스트를 해보겠습니다. 실행을 하시면 수평으로 레이아웃이 넘어가는 것을 볼 수 있습니다. png 사진을 준비할 때 큰 ..
안녕하세요. 이 번에 알아볼 것은 프레임 레이아웃과 함께 뷰를 전환시켜보겠습니다. 프레임 레이아웃도 가장 기본적이고 단순한 레이아웃이라서 배우는데 어려움이 없으실 겁니다. 프레임 레이아웃은 한 번에 하나의 뷰만 보여주기 때문에 단순한 레이아웃이며, 뷰를 하나 이상 추가할 경우 추가된 순서대로 차곡차곡 쌓이기 때문에 나중에 쌓인 뷰만 화면에 보이게 됩니다. 이렇게 보이거나 보이지 않게 하는 속성이 가시성(Visibility) 속성입니다. 그래서 프레임 레이아웃은 여러 개의 뷰를 서로 전환할 때 사용되는 레이아웃입니다. ----------------------------------------MainActivity.java소스--------------------------------------- package..
안녕하세요 오늘은 테이블 레이아웃(TableRow)을 구성하는 방법에 대해 알아보겠습니다. 레이아웃의 종류는 많기 때문에 상황에 맞게 적절하게 활용하신다면 완성도 높은 레이아웃을 구성할 수 있습니다. 테이블 레이아웃은 표나 엑셀 시트와 같은 형태로 행과 열로 구성된 격자 형태 레이아웃입니다. 5분 안에 테이블 레이아웃을 이해할 수 있는 소스입니다. 일단 프로젝트를 만들어 줍니다. 밑에는 테이블 레이아웃에 들어가는 xml 소스입니다. 간단하게 따라 하기 좋습니다. 중간에 TableRow라는 태그가 두 번 들어갑니다. 하나당 한 행을 뜻하는 태그고 그 안에 버튼 3개씩 넣어주어 밑에 처럼 두줄로 버튼이 나열되어있습니다. 간단하게 레이아웃을 구성해보았습니다 테이블 레이아웃을 이해하기에는 적절하실 겁니다. 이런..
안녕하세요. 안드로이드 스튜디오 애플리케이션 개발 중 도움이 되는 오픈소스 사이트입니다. 처음 개발하시거나 기존 개발 경험이 없으면 애플리케이션을 접하기가 매우 까다롭고 어렵습니다. 그럴때 이용하게 오픈소스입니다. 아니면 감이 안잡히때 영감? 얻기도 좋고 그 외에 많은 도움을 받을 수 있습니다. 요즘에는 하드코딩을 잘하지 않고 오픈소스를 자주 이용하여 참고하는 거 같습니다. 필요에 알맞게 사용하시면 아주 큰 도움이 되실 겁니다. 1. github 대표적인 오픈소스 사이트입니다. 깃허브는 프로젝트를 지원하는 웹호스팅 서비스입니다. 오픈소스를 무상 서비스로 제공하기 때문에 자주 이용하는 오픈소스 사이트 중 하나입니다. https://github.com/ Build software better, togethe..
안녕하세요 오늘은 안드로이드 스튜디오에 기본적인? 자주 쓰는 LinearLayout에 대해 알아보겠습니다. LinearLayout은 XML 화면 구성에 자주 쓰기도 하고 편하기도 하여 자주 이용하는 레이아웃입니다. 일단 화면 구성하기 앞서 프로젝트를 하나 만들겠습니다. 프로젝트 이름은 그냥 LinearLayout으로 지정하겠습니다. 처음 프로젝트를 만드시고 나면 이렇게 기본적으로 화면이 구성이 되어있을 겁니다. 이제 화면 구성을 해볼게요. 화면 구성 테스트를 위해 버튼 4개를 추가했습니다. android:orientation="horizontal"은 가로로 화면 구성 android:orientation="vertical"은 세로로 화면 구성입니다. 버튼에 "match_parent"를 사용하게 되면 이런 ..