본문 바로가기

반응형

안드로이드스튜디오

(14)
레스토랑 메뉴
Do it! 안드로이드 앱 프로그래밍 도전문제 3번, 두 개의 이미지뷰에 이미지 번갈아 보여주기 * xml * java package org.techtown.button; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.drawable.BitmapDrawable; import android.media.Image; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.I..
안드로이드 스튜디오 그래들 Gradle * 안드로이드 앱을 실행하거나 앱 스토어에 올릴 때는 소스 파일이나 리소스 파일을 빌드하거나 배포하는 작업이 필요하다. 이 때 사용되는 것이 그래들(Gradle)이다. 즉, 그래들은 안드로이드 스튜디오에서 사용하는 빌드 및 배포 도구이다. * 한 앱의 빌드 설정은 build.gradle 파일에 넣어 관리한다. 이때 그래들 파일은 프로젝트 수준과 모듈 수준으로 나누어 관리하기 때문에 새로운 프로젝트를 만드면 두 개의 build.gradle 파일이 생긴다. //참조파일 // SamplePermission2>/Gradle Scripts/build.gradle (Module: SamplePermission2.app) pugins { id 'com.android.apllication' } andoird { com..
안드로이드 스튜디오 리소스와 매니페스트 * 안드로이드 앱은 크게 '자바 코드'와 '리소스'로 구성된다. 자바 코드에서는 앱의 흐름과 기능을 정의하고 리소스에서는 레이아웃이나 이미지처럼 사용자에게 보여주기 위해 사용하는 파일이나 데이터를 관리한다. * 매니피스트는 리소스는 아니지만 설치된 앱의 구성 요소가 어떤 것인지, 그리고 어떤 권한이 부여되었는지 시스템에 알려주기 때문에 매우 중요하다. 모든 안드로이드 앱은 가장 상위 폴더에 매니페스트 파일이 있어야하며, 이 정보는 앱이 실행되기 전에 시스템이 알아야 할 내용들을 정의하고 있다. * 매니페스트 파일에 들어갈 수 있는 태그 항목 [Reference] 이 태그들 중에서 , , , 와 같은 태그들은 앱 구성 요소를 등록하기 위해 사용된다. * 매니페스트의 주요 역할 - 앱의 패키지 이름 지정 -..
안드로이드 스튜디오 위험 권한 부여 * 안드로이드 마시멜로 버전부터는 권한을 일반 권한과 위험 권한으로 나누었다. 앱을 설치하는 시점에 사용자에게 물어보는 기존의 방식은 사용자가 아무런 생각 없이 앱을 설치하는 경우가 많았으며 이에 따라 설치된 앱들이 단말의 주요 기능을 마음대로 사용할 수 있었다. 이 때문에 위험 권한으로 분류된 권한들에 대해서는 앱을 설치할 때가 아니라 앱을 실행할 때 권한을 부여하도록 변경된 것이다. * 예를 들면, 인터넷을 사용할 때 부여하는 INTERNET 권한은 일반 권한이다. 따라서 앱을 설치할 때 사용자에게 권한이 부여되어야 함을 알려주고 설치할 것인지를 물어본다. 사용자가 부여할 권한들의 설명을 보고 수락하면 앱이 설치되고 앱에는 INTERNET 권한이 부여된다. * 그러나 위험 권한으로 분류되는 RECEI..
안드로이드 스튜디오 브로드캐스트 수신자 * 안드로이드에서 브로드캐스팅이란 메시지를 여러 객체에 전달하는 것을 말한다. 여러 앱 구성 요소에 메세지를 전달할 때 브로드캐스팅을 사용한다. * 예를 들어, 다른 사람으로부터 문자를 받았을 때 이 문자를 SMS 수신 앱에 알려줘야 한다면 브로드캐스팅으로 전달하면 된다. 이런 메세지 전달 방식은 단말 전체에 적용될 수 있으므로 '글로벌 이벤트(Global Event)'라고 부른다. 글로벌 이벤트의 대표적인 예로는 '전화가 왔습니다.', '문자 메시지가 도착했습니다.'와 같은 사용자 알림 같은 것들이다. * 앱에서 브로드캐스팅 메시지를 받고 싶다면 브로드캐스트 수신자(Broadcast Receiver)를 만들어 앱에 등록하면 된다. 즉, 기기 안에서 동작하는 다른 앱 A로부터 특정 메시지를 받기 위해 만..
안드로이드 스튜디오 바로가기 메뉴 만들기 * 바로가기 메뉴는 화면의 좌측 상단에 위치한 햄버거 모양 아이콘을 눌렀을 때 나타나는 화면을 말한다. 웹이나 앱에서 자주 사용되는 기능이며 안드로이드에서는 NavigationDrawer라는 이름으로 불린다. 바로가기 메뉴는 몇 개의 화면에서 공통으로 보여줄 수 있기 때문에 빠르게 메뉴 기능에 접근하고자 할 때 사용한다. 또한 로그인한 사용자의 프로필 정보나 설정 메뉴를 보여줄 때도 사용할 수 있다. * 안드로이드 스튜디오에서 제공하는 Navigation Drawer Activity 템플릿을 활용하여 코드 공부 * /app/manifests/AndroidManifest.xml // mannifests/AndroidManifest.xml ... ... /app/manifests/AndroidManifest..
안드로이드 스튜디오 뷰페이저 만들기 * 뷰페이저는 손가락으로 좌우 스크롤하여 넘겨볼 수 있는 기능을 제공한다. 만약 화면 전체를 뷰페이저로 채운다면 좌우 스크롤을 통해 화면을 넘겨볼 수 있게 된다. 화면 일부분만 차지하고 있어도 그 부분에서만 좌우 스크롤이 동작한다. 뷰페이저는 그 안에 프래그먼트를 넣을 수 있고 좌우 스크롤로 프래그먼트를 전환하게 된다. 뷰페이저는 내부에서 어댑터라는 것과 상호작용하게 되어 있는데 이것은 뷰페이저가 여러 개의 아이템 중에 하나를 보여주는 방식으로 동작하기 때문이다. * 뷰페이저는 어댑터와 상호작용하면서 getCount 메서드로 몇 개의 프래그먼트가 들어 있는지 확인한다. 그런 다음, 화면의 상태에 따라 해당하는 프래그먼트를 꺼내와 보여주게 된다. * 타이틀스트립(TitleStrip)은 위나 아래쪽에 전체 ..

반응형