앱개발 5

[ Android ] 08. drawer를 이용해 Recycler View 구현하기

TabLayout & design gradle(app) 라이브러리 다운로드 implementation 'com.android.support:design:28.0.0' menu의 리소스화 package multi.android.material_design_pro.exam; public class FragmentExam01 extends AppCompatActivity { private final List mFragmentList = new ArrayList(); private final List mFragmentTitleList = new ArrayList(); ViewPager examPager; ExamPagerAdapter adapter = new ExamPagerAdapter(getS..

[ Android ] 05. 안드로이드의 FileSystem

FileSystem 앱별로 내부저장소가 패키지별로 따로 관리가 되고 있고, 아무도 접근하지 못하는 공간. 패키지가 지워지면 자동으로 지워진다~ 외부저장소인데 패키지 이름과 똑같이만들면 삭제될 때 같이 저장된다. 똑같이 외부저장소 똑같이 외부저장소 내부저장소 이 앱만 사용하기 때문에 권한체크 안해도 됨 외부저장소 외부저장소는 다른 것들을 같이 건드리지 못하도록 권한체크 필수 사용자로 하여금 권한을 줄건지 말건지 설정해야 함 데이터를 지워도 외부저장소에는 데이터가 남아있다. // 외부저장소 권한 설정 // 이전버전 저장소 권한 설정 // 외부저장소/임의의디렉토리 생성 // => 앱을 삭제해도 데이터는 남아있다. String dirPath = external.getAbsolutePath()+"/myApp"; ..

[ Android ] 04. Permission 설정하기

Permission 마시맬로 버전 이후부터는 퍼미션 등록뿐 아니라, 사용자가 사용하기 전 퍼미션 안내 및 등록 및 직접 설정 종류 일반권함 위험권한 액티비티를 실행하거나 버튼을 누르거나 어떤 기능을 사용할 때 권한에 대한 처리를 할 수 있도록 구현 사용 메소드 checkSelfPermission : 퍼미션의 현재 상태를 확인하는 메소드 - PERMISSION_DENIED : 퍼미션이 부여되지 않은 상태 - PERMISSION_GRANTED : 퍼미션이 부여되지 있는 상태 requestPermissions : (checkSelfPermission : PERMISSION_DENIED )권한이 체크되어 있지 않은 경우에 권한을 요청하는 메시지를표시 (이 메소드 이외에도 제공되는 메소드는 여러개임) onRequ..

[ Android ] 03. 화면전환을 위한 Intent

Intent(인텐트) 여러 화면간 전환을 위해 사용 ( 두 가지 방법 존재) 실행흐름 : Activity "A" -> Intent -> 안드로이드OS -> Intent -> Activity "B" 20-04-08 수 ** Intent(인텐트) 안드로이드에서 사용하는 주요 컴포턴트 4개는 안드로이드 OS에서 실행되게 해주어야 한다. 이를 이해 Activity간의 화면전환을 위해 데이터 Intent가 전달하며 공유하는 방식. [기본 실행흐름] 인텐트 객체를 생성하고 실행할 액티비티의 정보와 데이터를 셋팅 값 셋팅 : putExtra 메소드를 이용 객체 셋팅 : Parcelable을 implement하여 이용 writeToParcel 메소드 자동호출 안드로이드OS에 인텐트 객체 넘기며 의뢰 startActiv..

[ Android ] 01. 각종 위젯과 이벤트처리방법 & AdapaterView

이벤트처리하기 이벤트소스 : 이벤트를 발생시키는 객체( ex.버튼 ) 이벤트리스너 : 이벤트 발생 시 리스너가 가지고 있는 메소드를 실행 익명이너클래스 20-03-27 금 drawble_test drawble_img_커스터마이징하기 TextTestActivity AppCompat : OS에 맞게 화면으루 맞춰주겟다. - 리소스의 외부화 이너클래스 외부클래스 20-04-06 월 etc뷰 , 선택위젯, 인텐트(액티비티 -> 액티비티의 전환)(레이아웃 인플레이션) 액티비티는 화면. 액티비티A -> 액티비티B를 실행하고싶다? new에서 생성하지 않는다. => 컴포넌트 시스템(안드로이드 내부에서 요청 후 실행) 모든것은 manifest파일을 기반으로 한다!! 현재 안드로이드 버전에서는 캐스팅코드가 필요없다. 안드..