본문 바로가기

프로그래밍/안드로이드21

View Binding 사용법 View Binding은 안드로이드 앱에서 레이아웃 내의 위젯(버튼, 텍스트뷰 등)들에 프로그램으로 접근하기 위한 방법입니다. View Binding은 Android Studio 3.6 Canary 11 이상 부터 사용할 수 있습니다(Canary 채널은 개발자들이 안드로이드 스튜디오 최신 버전을 테스트할 수 있는 빌드를 제공합니다). 예제로 사용할 HelloKotlin 프로젝트 구성 입니다. 메인 레이아웃: activity_main.xml * TextView : id - hello_text * include : id = text_panel include로 포함되는 레이아웃 : inclue_text_panel.xml * TextView : id - msg_text * Button : id - msg_btn.. 2021. 8. 8.
안드로이드 앱에서 타이틀바 없애기 및 전체화면 만들기 안드로이드 앱에서 타이틀 바를 없애는 방법입니다. 이 타이틀 바라는 명칭은 타이틀이 나오는 부분이라는 의미로 사용했습니다. 실제로는 안드로이드가 버전업 해오면서 변해 온 앱바(App Bar), 액션바(Action Bar), 툴바(Toolbar) 중의 하나일 것입니다. 이 바(Bar) 들의 기능중에 타이틀을 보여주는 기능이 있는 것입니다. 전체화면 만들기는 앱이 아니라 휴대폰 화면 상단의 통신연결, 배터리 사용량, 시간 등을 보여주는 부분입니다. 이 부분을 보통 상태바라고 부릅니다. 1. 타이틀바 없애기 ※ styles.xml 파일 또는 themes.xml 파일에서 설정할 수 있습니다. - styles.xml 파일이 있으면 기존의 스타일 아래에 다음 항목을 추가합니다. true 위 코드가 추가된 style.. 2021. 8. 6.
안드로이드 스튜디오 Gradle 업데이트 오류 안드로이드 스튜디오에서 작업중 Gradle 업데이트가 있다고 알림이 떠서 업데이트를 했는데, 다음과 같은 오류가 발생하였습니다. Cannot find AGP version in build files. Gradle 버전 4.2.2에서 7.0.0으로 업데이트 도중에 오류가 발생하였습니다. 해결 방법은 간단 하였습니다. "File" 메뉴의 "Sync Project width Gradle Files"를 실행하니 업데이트가 되었습니다. 추가로 현재 프로젝트에 설정되어 있는 Gradle 버전을 알아보는 방법입니다. "File -> Project Structure..." 를 실행하면 프로젝트에 설정되어 있는 현재 그레이들 버전을 알 수 있습니다. 다른 방법으로는 build.gradle 파일을 열어보면 버전 정보를 볼.. 2021. 8. 6.
안드로이드 스튜디오에서 개발용으로 스마트폰 인식 안될 때 사용해 볼 방법 안드로이드 앱개발에 코틀린을 사용해 보려고 오랜만에 안드로이드 스튜디오를 실행해 봤습니다. 업데이트를 마구 하다보니 안드로이드 스튜디오의 버전이 2020.3.1이 되어 있네요. 안드로이드 개발자 사이트에 들어가보니 이게 최신 버전이었습니다. 테스트용 앱을 만들고, 에뮬레이터에서 실행해보니까 잘됩니다. 이제 스마트폰을 연결하여 실행해 보려고하니까, 스마트폰이 인식 되지 않습니다. 좀 당황스럽네요. 스마트폰을 안드로이드 스튜디오에 연결하는 일반적인 방법은 예전에 작성한 글인 "안드로이드 앱 실행하기 - AVD"를 참고하시면 되겠습니다. 안드로이드 스튜디오 예전 버전에 관한 내용이지만 현재도 유효할 것 같습니다. 간단히 말해서 첫 번째로 스마트폰 회사에서 제공하는 전용 USB 드라이버가 필요한 경우가 있습니다.. 2021. 7. 31.
안드로이드 스튜디오 Kotlin 프로젝트 만들기 안드로이드 앱을 Kotlin 언어로 만들기 위해서 안드로이드 스튜디오 프로젝트를 만드는 방법입니다. 사용된 안드로이드 스튜디오의 버전은 3.3.2 입니다. 이 버전에서는 언어를 Java와 Kotlin 중에서 선택할 수 있도록 되어 있습니다. 1. Start a new Android Studio project를 선택합니다. 2. Phone and Table -> Empty Activity를 선택합니다. 3. 프로젝트 정보를 입력합니다.언어를 자바와 코틀린중에서 선택할 수 있습니다. - Name : HelloKotlin- Package name : com.tistory.offbyone.hellokotlin- Language : Kotlin 4. 프로젝트가 만들어 졌습니다.자동으로 만들어진 MainActivi.. 2019. 4. 6.
안드로이드 디버깅 Logcat을 이용해서 로그 남기기 모든 프로그래밍에서 디버깅은 빠지지 않는 작업 입니다. 안드로이드 프로그램도 Java를 시용하므로 많이 사용하던 System.out.println(); 을 사용하여 값을 출력해 볼 수 있습니다. 하지만 Android는 Logcat이라는 디버그 메세지를 표시하는 logcat Monitor 를 포함하고 있습니다. 이 Logcat을 이용하여 로그를 남기는 방법을 알아 봅니다. 1. 많이 쓰던 방식 System.out.println(); 이걸로도 원하는 값을 출력할 수 있습니다. 2. Logcat 기본적인 사용법 - Log 객체를 사용하기 위해서 import 합니다. import andorid.util.Log; - 로그 메소드의 첫 번째 인자로 사용할 상수 TAG 를 정의합니다. 메세지들을 구분하는 구분 값으로.. 2018. 4. 20.
안드로이드 탭 이벤트 처리하기 안드로이드 앱은 다자인과 코드가 분리되어 있습니다. 디자인은 xml 파일로 작성되고 코드는 Java언어로 작성됩니다. 디자인된 위젯들이 사용자와 상호작용하려면 사용자가 화면을 탭하는 이벤트를 처리하여야 합니다. 디자인된 위젯과 코드를 연결하고 이벤트를 처리하는 방법을 알아보겠습니다. 1. 코드에서 다루고자 하는 위젯에 id 를 부여합니다. 이 id가 Java 코드에서 위젯을 찾는 키가 되는 것입니다. 레이아웃 디자이너에서 위젯을 클릭하고 오른쪽의 속성창에서 위쪽의 ID 에 입력하면 됩니다. 이 예제 에서는 버튼에 okBtn 이라는 아이디를 붙였습니다. 다른 방법은 디자이너 하단의 Text 탭을 클릭하여 xml 파일을 직접 수정하는 것입니다. 이때에는 로 적어줍니다. 2. 코드에서 Activity 객체와 .. 2018. 4. 20.
안드로이드 UI 만들기 ConstraintLayout 기본 사용법 화면내에 위젯을 배치하기 위해서 사용되는 것이 레이아웃 매니저 입니다. 전에는 Linear Layout, Relative Layout 등이 사용되었는데, 이제는 기본 레이아웃 매니저가 ConstraintLayout 입니다. 이러한 레이아웃 매니저가 사용되는 이유는 서로 다른 화면 크기를 가지는 기계들에서는 동일한 모양의 화면 구성을 유지하기 위하여 위젯들을 화면에서 상대적으로 배치하도록 해주는 것입니다. 안드로이드 스튜디오로 프로젝트를 생성하면 기본 레이아웃 매니저가 이제는 ConstraintLayout 입니다. 이번 글에서는 위젯의 크기를 지정하는 방법과 정렬하는 방법을 알아 보겠습니다. 1. 위젯의 크기 설정 - 리사이즈 핸들(Resize Handle) 이용하여 설정하기위젯을 클릭하면 네 모서리에 사.. 2018. 4. 20.
안드로이드 크기 단위(dp, sp, pt, px, mm, in) 안드로이드 위젯의 크기를 지정할 때 사용되는 단위에 대해서 알아보겠습니다. 결론부터 말하자면 위젯의 크기는 "wrap_content", "match_parent" 또는 dp 단위를 사용하는것이 좋습니다. 텍스트의 크기는 sp 단위를 사용하는것이 권고 됩니다. 본론으로 들어가기전에 몇가지 용어에 대해서 알아보겠습니다. - 화면크기 : 화면의 실제 물리적 크기이미, 화면의 대각성 크기로 측정됩니다. 단순화하기 위해 Android에서는모든 실제 화면 크기를 네 가지 일반화된 크기 그룹으로 분류합니다 + 초대형 화면 : 최소 960dp x 720dp + 대형 화면 : 최소 640dp x 480dp + 보통 화면 : 최소 470dp x 320dp + 소형 화면 : 최소 426dp x 320dp - 화면 밀도 : .. 2018. 4. 20.
안드로이드 문자열 리소스 만들고 사용하기 안드로이드 앱의 버튼, 레이블, 텍스트 뷰 등에 사용되어지는 문자열들은 각각의 요소에 직접 적을 수도 있지만 하나의 자원 파일(strings.xml)에 정의해 두고 참조해서 사용하는 것을 권장 합니다. 이렇게 하면 같은 내용의 문자열을 앱 내의 여기 저기에서 사용하지 않아도 되므로 크기를 줄일 수 있고, 변경시에도 리소스 파일 한군데에서만 변경하면 되므로 쉽게 변경 할 수 있고, 오타 등의 오류도 줄일 수 있습니다. 먼저 테스트용 프로젝트를 만듭니다. Create Android Project - Application name : HelloWorld - Company domain : pentode.tistory.com Target Android Devices - Phone and Table에 체크 - AP.. 2018. 4. 20.
안드로이드 크롬에서 웹페이지 소스 보기 모바일 웹 개발중 모바일 기기에서 웹페이지의 소스를 보고 싶을 때가 있습니다. 안드로이드용 크롬(Chrome)에서는 소스보기 기능을 제공합니다. 아이폰용 크롬에서는 소스보기가 되지 않았습니다. 아이폰용 사파리에서는 자체 기능을 없는데 bookmarklet 이라는 북마크에서 자바스크립트를 실행하면 특정 사이트로 URL 을 보내서 그 사이트에서 소스를 보여주는 꼼수가 있었습니다. 여기서는 안드로이드용 크롬에서 웹 페이지 소스를 보는 방법을 알아 봅니다. URL 입력하는곳에 다음과 같이 입력합니다. view-source:pentode.tistory.com 또는 view-source:http://pentode.tistory.com 단순히 탭해서 실행할 수 있도록 메뉴로 기능을 만들어 주면 좋을텐데 그런 기능은 .. 2018. 4. 18.
안드로이드 일본어 입력기 및 필기 입력기 아이폰에서는 설정에서 키보드를 추가하는 것으로 일본어를 입력할 수 있었는데, 안드로이드폰에서 제조회사마다 처리 방법이 다른것 같습니다. 아이폰은 애플이라는 한 회사에서 나오지만 안드로이드폰은 다양한 회사에서 나오고, 그 회사마다 운영체체를 자사의 기계에 맞게 커스터마이징 합니다. 입력기 또한 새로 만들어서 나오는 경우가 많습니다. 내가 가지고 있는 세 개의 안드로이드 기계에 일본어 입력을 할 수 있도록 해 보았습니다. 1. 삼성 갤럭시 노트 프로 12.2(SM-P900) 가장 쉽게 일본어 입력을 처리할 수 있었습니다. 아마 삼성 폰들은 모두 동일할 것으로 예상됩니다. 자체 키보드인 "삼성 키보드"가 기본적으로 설치되어 있습니다. 설정 -> 입력 및 제어 -> 언어 및 입력 방식 에서 "삼성키보드" 를 선.. 2018. 4. 9.
안드로이드 앱 개발 - 프로젝트 폴더 기본 구조 앞에서 생성한 간단한 앱으로 안드로이드 앱의 기본구조에 대해서 알아보겠습니다. 여기서는 먼저 Androidmanifest.xml 파일에 대해서 알아 봅니다. 1. /app/manifests/Androidmanifest.xml 파일을 보겠습니다. 매니페스트 파일에서는 Android 시스템이 앱의 코드를 실행하기 전에 확보해야 하는 앱에 대한 필수 정보를 시스템에 제공합니다. - package="com.tistory.pentode.helloandroid" 앱에서 사용하는 패키지 이름 입니다. 이 패키지 이름은 애플리케이션에 대한 고유한 식별자 역할을 합니다. - android:allowBackup="true" 안드로이드 6.0 (API 레벨 23) 부터 지원하는 Backup 서비스를 앱이 지원하는지를 나타냅.. 2018. 4. 8.
안드로이드 앱 개발 - 안드로이드 스튜디오에서 프로젝트 만들기 안드로이드 앱 개발에 대해서 알아보면서 개발 툴을 안드로이드 스튜디오를 사용하게 될 것입니다. 안드로이드 스튜디오의 설치는 "안드로이드 스튜디오 설치하기" 를 참조하세요. 안드로이드 앱을 만들기 위해서는 Java라는 언어가 필요합니다. 물론 C++, JavaScript(Phonegap) 같은 것으로도 가능하지만 Java가 가장 많이 사용되어 집니다. 필요한 부분은 그때 그때 설명을 할테지만, 따로 공부를 하는게 도움이 될 것입니다. 그럼 안드로이드 앱의 기본 구조를 살펴볼 간단한 앱을 만들어 보겠습니다. 1. 메뉴에서 File -> New -> New Project...를 선택하여 New Project 창을 열고, Configure your new project 에서 다음과 같이 입력합니다. 나머지는 기.. 2018. 4. 8.
PhoneGap Desktop 사용하기 "PhoneGap Desktop 설치하기"에서 설치한 PhoneGap Desktop을 사용하여 간단한 App 을 만들고 실행해보겠습니다. 1. 새 프로젝트를 만들기 위해서는 상단의 메뉴에서 File -> Create new project 를 선택하거나 좌측 툴바에서 + 아이콘을 눌러 create new PhoneGap project... 를 선택합니다. 2. Create new PhoneGap project... 를 누르면 나오는 화면입니다. 프로젝트 템플릿을 선택합니다. 여기서는 Hello World 템플릿을 선택하고 Next 버튼을 누릅니다. 사용할 수 있는 템플릿은 다음과 같습니다. - Hello World : Hello World를 출력하는 간단한 템플릿 입니다. - Blank : 빈 템플릿입니다.. 2018. 4. 4.