단어뜻대로 조각액자에 사진 갈아 끼우듯이 사용하는 느낌(액자 틀이 있고 사진1, 사진2)xml에서 주로 FrameLayout 태그 달고 사용한다일반적인 사용방법activity_main.xml을 보면 이것이 액자틀이다.MainActivity에 보면공식사용방법이고 이 코
서랍 역할왼쪽 오른쪽에서 나오는 것이 가능보통 최상단 layout으로 설정해서 쓰는것 같음왼쪽최상단 LinearLayout오른쪽최상단 DrawerLayout
res/menu 만들고 item 추가(showAsAction 설정안하면 ''' 여기에 포함됨)activity에 코드 추가https://developer.android.com/training/search/setup?hl=ko
activity에서 list 형태로 데이터를 생성adpater에 이 list전달recyclerView에 adpater 장착재활용할 item을 만든다.RecyclerView.Adapter 만들기2.1 RecyclerView는 viewHolder를 사용하기때문에 viewH
파일이 내부 저장소 or 외부저장소에 있는지 파악파일을 열기 위해서 필요함meta-data로 꼭 읽어들일 파일 경로 설정해함TedPermission or Dexter 사용withPermissions에 허용한 권한설정한다onPermissionsChecked에 메인 코드
Dialog 직접 인스턴스하는것은 삼가해야함대신 AlertDialog, DatePickerDialog, TimePickerDialog 이런 서브클래스 사용하는것을 추천
weigth 줄때 부모 orientation: vertical 이면 자식 layout에 heigth:0dp 주고 weigth:1 로 줘서 균등 분배 할수 있다. 반대도 가능
Android 10(Q) 이상 : Scoped StorageAndroid 10(Q) 미만 : Legacy Storage내부저장소 : 앱설치 시 생기는 공간. 해당 앱만 접근가능ex) /data/data/com.example.appname외부저장소 : 사진,동영상, 앱
앱 이름 : com.example.myfile내부저장소 경로 : /data/user/0/com.example.myfile입력값이 앱을 종료하고 다시 켜도 이전 입력값이 남아 있을 수 있게한다.앱 종료시 editText 값을 내부 저장소에 저장/data/user/0/co
관련사이트https://fornewid.medium.com/neumorphism-in-android-3a298e0337b0
Style : xml에서 공통적인 속성을 하는 경우 묶어서 사용할 수 있다.ex)10개의 TextView에 속성이 공통적으로 사용되어지면 이것을Res/values/styles.xml 파일을 만들어서(이때 styles 말고 다른 이름으로 만들어도 상관없다.) style
xml에서 background로 사용할 것들 저장앱 아이콘으로 사용할 것들 저장manifest에서 사용도움될만곳https://points.tistory.com/30
android:id="@+id/toolbar" 안드로이드 안에 id 테이블이 있는데 거기에 toolbar라는id를 추가하겠다. @+id : id 테이블을 참조 @ : 참조하겠다. 앱이 가지는 화면(앱 화면) : Window 단말이 가지는 화면(하드웨어) : Disp
남는 여백 채우기합치기 위아래로 합칠때는 row, 좌우로 합칠때는 column특정 그리드 접근
string.xml
기본상태와 pressed 상태를 만든다. 이때 밑에가 기본 상태가 되게해야한다.코드를 위해서 밑으로 읽어서이렇게 되면 계속 normal 상태가 된다res 밑에 color 리소스 디렉토리 만들고 색상 설정하고backgroundTint 사용하면된다
Toolbar에 검색 추가하고 searchview에 searchable.xml 입히기activity가 ACTION_SEARCH을 받았을때 작업 참조https://developer.android.com/training/search/setup?hl=ko깃헙http
compound widget : TextView, Image 같은 것을 조합해서 만든 위젯만드는 과정여기서 원래 FrameLayout이 아니라 viewGroup을 받는게 맞음FrameLayout은 기본적인 마진,패팅 속성을 편하게 사용하기 위해서 사용한것위에서 Fram
addHeaderView, addFooterView 함수로 위,아래에 다른 view를 위치시킬수 있음
실행하고자하는 Applicatino Component의 정보를 기술한다.4대 component중에서 activity,receiver,service가 사용componentName 호출하여 넘김packageName + fullName(activity name) = comp
업로드중..
PC는 프로그램 종료시 메모리 날림안드로이드는 종료되도 메모리 유지출처https://www.youtube.com/watch?v=cICpNk9IRDg
TabWidget,FrameLayout id는 @android:id/tabs,@android:id/tabcontent
activity_main.xmlfragment_demo.xml참조https://www.youtube.com/watch?v=VxsYMeTMClU
example_menu.xmlactivity_main.xml참고https://www.youtube.com/watch?v=XhEhfmBJlLY
비유로 설명하면CoordinatorLayout : 지휘관Snackbar : dependency라고 불리고 특정 eventbehavior : 지휘관이 알려주는 명령. behavior을 장착한 유닛들은 저 방식대로 작동함여기서는 Button에 적용했다.Button 클릭시
참조https://www.youtube.com/watch?v=iNOltfj_40Y
ex) 20% 로 설정하면기존+신규 사용자들중에서 랜덤으로 20%만 업데이트를 받을 수 있고 나머지 80%는 받지 못한다.생각해볼만한 점들만약 신규 사용자가 늘어나면 업데이트 횟수 또한 늘어나는가?참조https://support.google.com/google
A,B,C api가 있고, C를 호출하기 위해서는 A,B의 응답값이 필요하다고 가정하자.응답시간 A : 1초B : 2초가장 간단하게는 A-> B or B ->A 가 될수 있는데 응답시간이 A가 크던 B가 크던 순서는 상관없을거 같다. 어쨋든 총 3초가 걸릴것이다.근데
이때 동작 방식이 dialog 즉 alert 가 뜬 상태에서는 백프레스 제어권이 해당 액티비티의 onBackPressed() 가 아니라 웹뷰쪽에 가 있는것으로 추정된다. 아마 웹뷰 alert가 응답을 기다리는 상황이어서 그런지 몰라도.이때 dialog.setOnDism
dialog는 커스텀으로 만들때 안드로이드에서 정한 최대 규격이 있어서 커스텀 layout의 width를 match_parent 해도 꽉차게 되지 않는다.다만 텍스트 같은거에 padding 사용시 거의 화면 꽉차게 늘어나긴함ex) R.layout.dialog
안드로이드 폰트에 대하여기본적으로 폰트를 적용하려면 밑에 그림과 같이 하면된다.font 태그의 속성중 가장많이 쓰는데 3가지가 있다.font: 말그대로 사용할 폰트를 가져온다fontWeight : 내가 가져온 폰트의 weigth를 설정한다.이 fontWeight 개발자
Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8이런 비슷한 오류들이 나올때가 있다.이럴때는 프로젝트 세팅에 들어가서 Gradle jdk를 변경하면 된다.============
기본적으로 안드로이드 프로젝트의 테마는 AndroidManifest.xml 에서 정의된다.android:theme="@style/Theme.ThemeTest" <- 이렇게theme 폴터 밑에 theme.xml 이랑 theme.xml(night) 이렇게 되어있을거
안드로이드 manifest.xml 에서 android:allowBackup="true"에 관한 내용이다.이것은 앱을 삭제 후 재설치 했을때 백업 기능을 사용하게 가능하게 해준다.allowBackup 에 의해서 백업 될 수 있는 데이터들은1\. SharedPre