Loading...
2024. 3. 10. 20:27

[Android] 리소스 - 국가별 언어 설정하기

* 어플 출시 지역별로 시스템 기본 설정 언어가 다를 때가 많다. strings.xml에 설정한 리소스 문자열을 언어에 맞게 간단하게 바꿀 수 있는 방법이 있다. 1. values/strings.xml에 접속 > 오른쪽 위 'Open editor'를 눌러준다. 2. 왼쪽 위 지구본+ 모양을 누르면 아래와 같이 여러 국가의 언어들이 표시되는데, 한국어는 korean(ko) in South Korea(KR)로 설정하면 된다. 3. 표시할 text 입력 * 최종적으로 시스템 기본언어가 ko-rKR로 설정된 한국에서는 name= "intro"라는 리소스를 사용하면 "안녕하세요"라고 출력되고, 그 외 나머지 default언어에서는 'Hello'라고 출력된다.

2024. 3. 10. 01:17

[Android Study] 레이아웃 - LinearLayout

* 대표적인 레이아웃 클래스를 정리해보았다. * LinearLayout - LinearLayout은 뷰를 가로나 세로 방향으로 나열하는 레이아웃 클래스이다. orientation 속성에 horizontal이나 vertical값으로 방향을 지정한다. * layout_weight - 위젯을 배치하다보면 가로나 세로 방향으로 여백이 생길 수 있다. 이 때 여백을 뷰로 채우기 위해서 layout_weight을 사용한다. - layout_weight는 뷰의 가중치를 주어서 배치한다. 예를들어, layout_weigt="2", layout_weight="1"으로 두개의 버튼을 배치한다면 화면의 2/3과 1/3을 각각 차지하게 배치가 되는것이다. - layout_weight은 같은 영역에 있는 뷰끼리만 여백을 나누어..

2024. 3. 9. 00:05

[Android Study] 뷰 바인딩

* 앞에서 정리한 내용처럼 레이아웃 XML에 뷰를 등록하고 main에서 findViewById() 함수로 일일이 불러와서 사용하는 것은 매우 번거롭다. 그래서 이러한 무의미한 반복작업을 싫어하는 개발자들은 '뷰 바인딩' 기법을 이용해 코드에서 훨씬 더 간편하게 뷰 객체를 이용할 수 있게 만들었다. * 우선 뷰 바인딩을 사용하려면 build.gradle(Module: app)에 설정을 해줘야한다. - build.gradle에 android{ } 사이에 맨 밑에 buildFeatures를 위 사진처럼 선언해 준다. - 이렇게 하면 레이아웃 XML 파일에 등록된 뷰 객체를 포함하는 클래스가 자동으로 만들어진다. 그리고 이 클래스를 이용해 뷰를 사용하기만 하면 된다. - 자동으로 만들어지는 클래스의 이름은 레이..

2024. 3. 8. 00:04

[Android Study] 뷰의 종류

* 기본적이면서 자주 사용하는 뷰를 정리해 보았다. * 텍스트 뷰 - android:text 속성 - TextView에 출력할 문자열을 지정함. - android:textColor 속성 - 문자열의 색상을 지정함. 값은 #FF0000처럼 16진수 RGB 형식을 사용. - android:textSize 속성 - 문자열의 크기를 지정함. 단위는 px, dp, sp 등을 사용. - android:textStyle 속성 - 문자열의 스타일을 지정함. bold, italic, normal 중에 선택. - android: autoLink 속성 - TextView에 출력할 문자열을 분석해 특정 형태의 문자열에 자동으로 링크를 추가해준다. 만약 android:autoLink="web"으로 설정하면 문자열에 웹 주소가 ..

2024. 3. 7. 18:49

[Android Study] 뷰 클래스

* 뷰 객체의 계층 구조 - 액티비티 화면을 구성할 때 사용하는 클래스는 모두 View의 하위 클래스이다. 그래서 화면 구성과 관련한 클래스를 통칭하여 뷰 클래스 라고 부른다. * 레이아웃 XML의 뷰를 코드에서 사용하기 - 화면 구성을 레이아웃 XML 파일에 작성하고 액티비티에서 setContentView() 함수로 XML 파일을 지정하면 화면을 출력한다. - 예를 들어, 아래와 같이 XML 파일을 작성했다면 화면에 "hello"라는 문자열을 출력한다. XML 태그로 입력한 TextView 객체가 생성되고 그 객체의 내용이 화면에 출력되는 것이다. - 그런데 때로는 이렇게 XML에 선언한 객체를 코드에서 사용해야 할 때가 있다. 여기서 문제는 우리가 직접 생성한 객체가 아니므로 이름이 없어서 지칭할 수..

2024. 3. 6. 00:37

[Android] 구글 로그인

* 저번에 파이어베이스를 사용한 구글 로그인에 실패해서 파이어베이스를 사용하지 않고 구글 로그인을 구현해보았다. 1. google Play service추가 - settings.gradle에 다음과 같이 google maven저장소가 있는지 확인한다. - build.gradle(Module: app)에 google-service를 implementation해준다. implementation("com.google.android.gms:play-services-auth:21.0.0") 2. 프로젝트 등록하기 https://console.cloud.google.com Google 클라우드 플랫폼 로그인 Google 클라우드 플랫폼으로 이동 accounts.google.com - gcp홈페이지에 들어가서 프로젝..

2024. 3. 5. 12:47

[Android Study] 앱 구성 파일 분석

* 프로젝트를 구성하는 폴더와 파일에 대해 알아볼 예정이다. - 안드로이드 앱 프로젝트를 만들면 많은 폴더와 파일이 생성된다. 여기서 우리가 관심둬야 할 파일은 프로젝트 폴더에서 [모듈명 -> src -> main] 안에 있다. - 안드로이드 스튜디오의 프로젝트 탐색 창은 윈도우 파일 탐색기처럼 모든 폴더와 파일을 보여주진 않고 개발자가 분석하거나 작성해야하는 폴더와 파일만 보여준다. - 프로젝트를 만들면 app이라는 모듈이 자동으로 생성된다. 모듈 하나가 앱이며 프로젝트는 여러 모듈을 묶어서 관리하는 개념이다. 새로운 모듈을 추가한다는 것은 새로운 앱을 개발한다는 것과 같다. * 모듈의 폴더 구성 1. 빌드 설정 파일(build.gradle) - 그래들은 안드로이드 앱의 빌드 도구이다. 그래들 파일은 ..

2024. 3. 5. 00:06

[Android Study] 안드로이드 특징

* 수업시간에 배우는 내용과 책을 독학하면서 스터디한 내용을 정리해볼 예정이다. https://m.yes24.com/Goods/Detail/116012310 Do it! 깡샘의 안드로이드 앱 프로그래밍 with 코틀린 - 예스24 20여 년간 개발과 강의 현장에서 쌓은 ‘깡샘’의 노하우를 만나 보자! 개정 2판이 출간되었다. 이번 판에서는 안드로이드 13, 티라미수 기준으로 달라진 내용을 보충했으며 실습 소스를 업데이 m.yes24.com * 컴포넌트를 기반으로 한 개발 - 안드로이드 앱 개발의 핵심은 컴포넌트이다. 하나의 어플리케이션은 여러 컴포넌트로 구성되고, 안드로이드에서는 클래스로 컴포넌트를 개발한다. 즉, 하나의 클래스가 하나의 컴포넌트가 되는 것이다. 반대로 애플리케이션을 구성하는 모든 클래스..