안드로이드 (93) 썸네일형 리스트형 외부 라이브러리를 이용한 위험 권한 자동 부여 https://github.com/yanzhenjie/AndPermission build.gradle(Module) dependencies { ... implementation 'com.yanzhenjie:permission:2.0.3' } 디펜던시 변경 후 안드로이드 스튜디오 상단의 sync now 클릭 AndroidManifest.xml MainActivity package com.example.a40_permission2; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.widget.Toast; // 샘플 참고 // https://github.com/yanzhenjie/AndPermiss.. 위험 권한 부여 https://developer.android.com/guide/topics/permissions/overview?hl=ko 위험 권한을 부여하는 것은 언제든지 가능하다 액티비티가 메모리에 만들어지는 시점에 부여되도록 하려면 onCreate 메소드 안에서 하면 되고, 버튼이 눌렸을때 권한이 부여되게 할 수도 있다 AndroidManifest.xml MainActivity package com.example.a39_permission; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import androidx.core.app.ActivityCompat; import androidx.core.conten.. 브로드캐스트 https://developer.android.com/guide/components/broadcasts?hl=ko 안드로이드에서 브로드캐스팅이란 메세지를 여러 객체에 전달하는 것을 의미한다 여러 앱 구성 요소에 메세지를 전달할 때 브로드캐스팅을 사용한다 문자를 받았을 때 이 문자를 SMS 수신 앱에 알려줘야 한다면 브로드캐스팅으로 전달하면 된다 이런 메세지 전달 방식은 단말 전체에 적용될 수 잇다 이런 메세지 전달 방식을 글로벌 이벤트라고 부른다 '전화가 왔습니다.', '문자 메세지가 도착했습니다.'와 같은 사용자 알림이 글로벌 이벤트이다 AndroidManifest.xml build.gradle(Module)에 implementation 'com.yanzhenjie:permission:2.0.3' 권한.. 서비스 https://developer.android.com/guide/components/services?hl=ko 서비스를 실행하려면 메인액티비티에서 startService 메소드를 호출하면 된다 서비스를 시작시키기 위해 startService 메소드를 호출할 때는 인텐트 객체를 파라미터로 전달한다 인텐트 객체는 어떤 서비스를 실행할 것인지에 대한 정보를 담고 있으며 시스템은 서비스를 시작시킨 후 인텐트 객체를 서비스에 전달한다 startService 메소드가 호출되어 이미 메모리에 올라가있는 상태라면 시스템이 onCreate가 아니라 onStartCommand 메소드를 실행한다 onStartCommand 메소드는 서비스로 전달된 인텐트 객체를 처리하는 메소드이다 MyService.java 파일이 생성되고,.. 바로가기 메뉴, Navigation Drawer 새 프로젝트를 만들 때 Nagivation Drawer Activity를 선택할 수 있다 /app/manifests/AndroidManifest.xml activity 태그 안에 theme 속성이 설정되어 있다. 기본으로 제공되는 테마가 아니라 직접 만든 테마를 설정하기 위한 것이다 /app/res/values/themes 폴더 안에 themes.xml 파일이다 기본 제공 테마가 아니라 상단의 액션바가 없는 스타일로 설정된다 activity_main.xml에서 AppBarLayout 태그로 화면 상단에 액션바를 보여줄 수 있다 activity_main에서 직접 하지않고 app_bar_main.xml 파일로 분리되어있다 NavigationView가 바로가기 메뉴를 위한 뷰이다 축소 아이콘을 눌렀을 때만 보.. ViewPager2로 여러 프래그먼트 간 슬라이드 https://developer.android.com/training/animation/screen-slide?hl=ko 뷰페이저 https://developer.android.com/training/animation/screen-slide-2?hl=ko 뷰페이저2 https://developer.android.com/training/animation/vp2-migration?hl=ko 뷰페이저에서 뷰페이저2로 이전 뷰페이저는 손가락으로 좌우 스크롤하여 넘겨볼 수 있는 기능을 제공한다 뷰페이저 객체는 객체는 화면 슬라이드에 자동으로 애니메이션을 적용할 수 있다 이전의 fragment1.xml, fragment2.xml, fragment3.xml과 Fragment1, Fragment2, Fragment3 .. 하단 탭 만들기 /app/res/menu/menu_bottom.xml @android:drawable은 안드로이드가 기본 제공하는 이미지를 참조하도록 한다 /drawable/item_color.xml activity_main 하단 탭을 보여주는 위젯 BottomNavigationView가 하단에 표시될 수 있도록 해야한다 app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" 각 탭의 배경색, 아이콘 색상, 텍스트 색상을 정한다 app:itemBackground="?colorPrimary" app:itemIconTint="@draw.. 상단 탭 만들기 https://choheeis.github.io/newblog//articles/2020-07/CoordinatorLayout CoordinatorLayout에 대한 설명 탭은 네이게이션 위젯으로 불리기도 하며, 상단 탭은 액션바에 탭 기능을 넣어 보여주는 방법으로 제공되며, 하단 탭은 별도의 위젯으로 제공된다 activity_main.xml CoordinatorLayout은 액션바 영역을 포함한 전체 화면의 위치를 잡아주는 역할을 하므로 가장 바깥에 위치한다 CoordinatorLayout 안에 AppBarLayout과 다른 레이아웃을 넣으면 그 둘 간의 간격이나 위치가 자동으로 결정된다 AppBarLayout은 액션바를 가리키는데 이 안에는 Toolbar가 들어갈 수 있으며, 탭을 사용하는 경우에는 .. 이전 1 ··· 4 5 6 7 8 9 10 ··· 12 다음