일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- Android
- androidstudio
- bitmap
- BOJ
- Canvas
- CS
- Database
- DBeaver
- DP
- Ecilpse
- Eclipse
- firebase
- git
- github
- GooglePlayServices
- gradle
- IDE
- IntelliJ
- java
- json
- kotlin
- level2
- linux
- mariadb
- MYSQL
- Paint
- permission
- python
- Sorting
- sourcetree
목록Android (37)
will come true
*context : 맥락, 전후 사정 컨텍스트(Context) public abstract class Context { } 애플리케이션의 현재 상태의 맥락. 현재 애플리케이션 자체라고 생각하기. 애플리케이션 환경에 대한 전역 정보를 얻기 위한 방법을 제공한다. 애플리케이션별 리소스, 클래스 등에 대한 접근을 허용, 액티비티 실행, 브로드캐스트, 인텐트 수신 등과 같은 애플리케이션 수준 작업에 사용된다. 액티비티와 애플리케이션에 대한 정보를 얻기 위해 사용할 수 있다. 컨텍스트(Context)로 할 수 있는 것 리소스 로딩(색상, 이미지, 문자열, 사운드 등) 새 액티비티 실행을 위한 인텐트 생성 뷰 생성 시스템 서비스 요청 등 컨텍스트(Context) 코드 예 Intent 생성자 파라미터 > public..

안드로이드 4대 컴포넌트 액티비티(Activity) 브로드캐스트 리시버(Broadcast Receiver) 서비스(Service) 콘텐츠 프로바이더(Content Provider) 서비스(Service) 오래 걸리는 작업을 백그라운드에서 처리할 수 있게 해주는 컴포넌트. 서비스에 화면을 구현하지 않는다. 시스템에서 생명주기를 관리한다. 안드로이드 8버전 부터 백그라운드 작업에 제약이 생김. 서비스 생성, 실행 순서 1. [MyService.kt] Service 클래스를 상속받아서 서비스 컴포넌트 작성 package com.example.프로젝트명 import android.app.Service import android.content.Intent import android.os.IBinder class ..

문제 상황 안드로이드 에뮬레이터(AVD)로 실습도중 어느순간부터 상태바(Status Bar)가 표시되지 않아 배터리, 시간, 푸시 알림 등을 확인할 수 없게되었다. AVD 자체를 껐다 켜봐도 소용없는 상황. 해결 1. 안드로이드 스튜디오 우측 상단 [AVD Manager] 클릭 2. 문제가 발생한 가상머신 우측 세모 버튼 > [Wipe Data] 클릭 3. [Yes] 를 클릭해서 가상머신 데이터를 지워준다. ※ 가상머신에 설치한 개인 앱, 로그인 정보 등이 전부 초기화된다. 4. 가상머신을 재실행 하면 제대로 상태바가 표시된다. +) 참고로 레이아웃 편집창에서 상태바(Status Bar)을 표시하고 싶을 때는 아래와 같이 [View Option] 아이콘 > [Show System UI] 를 클릭하면 상태..

안드로이드 4대 컴포넌트 액티비티(Activity) 브로드캐스트 리시버(Broadcast Receiver) 서비스(Service) 콘텐츠 프로바이더(Content Provider) 브로드캐스트 리시버(Broadcast Receiver) 란? 이벤트 모델로 실행되는 컴포넌트. 시스템 이벤트가 발생하면 브로드캐스트 리시버를 실행해 앱이 해당 상황에 맞게 동작하도록 할 수 있다. 시스템에 특정한 상황이 일어났다는 방송(Broadcast)이 되면 이를 받아 처리하는 수신기(Receiver)를 코드로 작성하는 것이다. 브로드캐스트 리시버 = 리시버 브로드캐스트 리시버 생성 1. [패키지명] > [New] > [Other] > [Broadcast Receiver] 2. 생성된 파일에 BroadcastReceiver..
화면 위에 시계, 배터리 등이 포함된 상태바와 애플리케이션 제목이 적힌 액션바를 숨기고, 액티비티 내용만을 전체화면으로 표시할 수 있다. 1. 액션바 숨기기 액션바가 출력되지 않도록 themes.xml 파일에서 액티비티에 적용되는 테마를 NoActionBar 등으로 지정한다. [res] > [values] > [themes] > [themes.xml] 2. 전체화면 출력 설정 액티비티 코드에서 전체화면으로 출력되게 설정한다. API 레벨 30부터 액티비티 창 설정 방법이 변경됐기 때문에 앱 버전 호환성을 고려해서 코드를 작성해줘야 한다. (사용자 스마트폰의 버전에 상관없이 앱이 정상적으로 작동해야 함) API 레벨 30 (R버전) 이상 - WindowInsetsController 클래스 함수 사용 API..

문제 상황 ImageView 뷰를 사용할 때 layout_width, layout_height의 속성값을 wrap_content로 지정하면 뷰의 크기가 src속성에 지정한 이미지에 안맞게 지나치게 크게 잡히게 된다. AppBarLayout 안에 ToolBar와 ImageView를 순서대로 배치함. 실제 레이아웃 화면을 보면 아래와 같이 ImageView 뷰 영역이 이미지 크기보다 크게 잡혀있어서 다른 뷰를 아래에 추가로 배치할 수가 없다. 해결 android:adjustViewBounds 속성을 true로 설정하면 이미지의 가로세로 길이에 비례해 뷰의 크기가 맞춰진다. 여기서 추가로 maxWidth, maxHeight 속성을 이용하면 뷰를 출력할 최대 크기를 지정해줄 수 있다.