[안드로이드 스튜디오] Layout 개념 기본 정리 / View binding
·
JAVA
[안드로이드 문서 기반으로 정리] - 출처는 여기에 레이아웃 | Android 개발자 | Android Developers 레이아웃은 활동 또는 앱 위젯의 UI와 같은 사용자 인터페이스의 시각적 구조를 정의합니다. 두 가지 방법으로 레이아웃을 선언할 수 있습니다. Android 프레임워크를 통해 이 두 가지 메서드의 하 developer.android.com 이외 기타 참고자료: 링크 [이 포스팅에서 다루는 내용] 레이아웃 개념 Activity에서 레이아웃 리소스를 로드하기 ID 생성한 레이아웃(View)를 앱에서 참조하기 1. findByViewId() 2. View binding 레이아웃 개념 레이아웃은 앱에서 사용자 UI를 위한 구조를 정의한다. View나 ViewGroup 객체들이 레이아웃 요소를..
안드로이드 - ViewPager2를 이용한 슬라이더 학습
·
JAVA
학습 자료 : www.youtube.com/watch?v=FJvUKLNx6nw 아래 내용 외 배운 것 : 오픈소스의 활용사례 보기 - 오픈소스는 많이 사용해보아야 한다고 한다. 내일 해보자. 또 안드로이드 공식문서에서 상태바 없애는 소스를 게시해놓은 것도 뭔가 신기했다. 역시 공식문서 러뷰 굵은 정리 내용 클래스 구성 - MainActivity - CustomAdapter(dataList:List):RecyclerView.Adapter - ViewHolder(view :View):RecyclerView(view) - PageItem(backColor, imgSrc, content) 세부요소는 빼고 간략히 구조를 학습했다. 내일은 아예 직접 작성해봐야지 후후 근데 레이아웃 작성이 서툴다. 아직 잘 모르겠다..
쓰다 만 전자액자 포스팅 with 감격의 순간 ㅠㅅㅠ
·
JAVA
참고: 정돈되지 않은 포스팅입니다. 책 : 안드로이드 생존코딩 (오준석)이 챕터의 내용은 변경점이 많아서 책을 따라가는 것이 아니라 최신 정보를 공부해야 한다. 저자님의 깃헙 참고 : github.com/junsuk5/kotlin-android Anko - 인텐트 구현에 도움을 줄 것 Glide - 이미지 로딩에 특화된 라이브러리 : 메모리 절약, 자연스러운 사진 로딩에 사용한다. ㅇ안드로이드 4대 컴포넌트 1. 액티비티 : 화면을 구성 2. 콘텐츠 프로바이더 : 데이터를 다른 앱에 공유 3. 브로드캐스트 리시버 : 앱, 기기가 발송하는 방송을 수신 4. 서비스 : 화면이 없고, 백그라운드 작업에 용이 ㅡㅡ데이터 접근ㅡㅡ ㅇ콘텐츠 프로바이더 - 앱의 데이터 접근을 다른 앱에 허용하는 컴포넌트. 이걸로 사..
[안드로이드] ViewPager, ViewPager2, RecyclerView, Fragment [작성중]
·
JAVA
[참고, 인용한 사이트] 사이트1, 사이트2 뷰들은 ViewGroup 클래스로부터 상속받는다. (android.view.ViewGroup) RecyclerView 거의 모든 리스트를 표현하는데 쓰인다 항목이 스크롤되어 화면에서 벗어나더라도 뷰를 제거하지 않고, 스크롤된 새 항목의 뷰로 재사용한다. 이를통해 성능 향상, 응답성 향상, 전력소비 감소를 이끈다. - 리스트의 각 개별적 요소는 ViewHolder 객체에 의해 정의된다. ViewHolder 클래스를 정의하려면 RecyclerView.ViewHolder 를 상속해야 한다. - ViewHolder는 필수 구현사항 - 레이아웃매니저와 작성한 어댑터를 리사이클러뷰에 지정하기 : 내용 출처 : 링크 ViewPager 좌우로 스와이프해 컨텐츠를 볼 수 있는..
안드로이드 - 챕터8, 수평 측정기
·
JAVA
[배운 것 키워드] -액티비티 생명주기 -센서 사용하기 -커스텀뷰와 그래픽 API 콜백 메서드 : 특정 타이밍에 호출되는 메서드, onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy() [액티비티의 생명 주기] 액티비티 시작 : 가장 먼저 onCreate() 메서드가 호출 -> 그 다음 onStart() -> 그 다음 onResume() 액티비티 종료 : onPause() -> onStop() -> onDestroy() (메모리에서 해제하는 객체가 있을 경우) 액티비티를 백그라운드에서 대기 : 예) 다른 앱 실행됨 or 홈키 or 전원버튼 : onPause() -> onStop()까지 호출하고 대기하게 된다. 이때 화면을 다시 켜거나 최근..
[안드로이드] 늦은 초기화 방법
·
JAVA
늦은 초기화 - 특정 타이밍에 객체를 초기화해야 할 때 사용 / 초기화를 잊는다면 잘못된 null을 참조하게 되어 앱이 종료될 수 있다. ㅇ lateinit 키워드로 늦은 초기화 \ - var 변수에서만 사용, 수에는 사용못함, null로 초기화할 수 없음 lateinit var a : String a = "hello" println(a) // hello ㅇ lazy로 늦은 초기화 - val에서만 사용 val str: String by lazy { println("초기화") "hello" } println(str) // 초기화; hello println(srt) // hello
안드로이드 - 챕터7, 웹브라우저
·
JAVA
ㅇ웹 페이지를 표시하는 방법 등을 배운다. ㅇ메뉴 사용법 - 옵션 메뉴, 컨텍스트 메뉴 ㅇ웹 페이지 주소를 공유하는 방법 - 암시적 인텐트 Anko라이브러리 복습 : Anko Commons : 인텐트, 다이얼로그, 로그 등을 편리하게 사용하는 라이브러리 웹페이지를 사용할 수 없음 다음 이유로. net::ERR_CLEARTEXT_NOT_PERMITTED --> AndroidMenifest.xml에 안에 android:usesCleartextTraffic="true"를 추가 안드로이드의 모든 메뉴는 메뉴 리소스 작성부터 시작. ㅇ메뉴 리소스 파일 생성 File - New - Android Resource Directory -> Resouce type : Menu 그리고 프로젝트 창 보면 res아래에 menu..
안드로이드 - 챕터6, 스톱워치
·
JAVA
ㅇ 이번엔 화면이 하나인 앱이라 Anko 라이브러리 사용x ㅡ 벡터 드로어블 하위 호환 설정 - 벡터이미지를 사용할 것이므로 ( + 안드로이드 5.0 미만 기기 ) ㅡ 벡터 이미지를 표시할 FloatingActionButton(FAB) 사용 + 기능 살펴보기 ㄴ벡터 이미지를 사용하여 깔끔한 버튼을 표현하기에 적절하다. MainActivity (이번에는 단일화면) onCreate 메서드 안에 +시작(일시정지)클릭이벤트(isRunning전환값으로판단) +랩버튼클릭이벤트 +리셋클릭이벤트 시작 메서드 -Timer객체 사용, 0.01초마다 변수증가시키며 UI를 갱신 -워커스레드에서 timer가 동작, UI조작은 메인스레드 -그래서 runOnUiThread() 메서드 사용 -오래 걸리는 작업을 보이지 않는 곳에서 ..
[한빛미디어] 안드로이드 생존코딩(오준석) + 챕터5 BMI
·
JAVA
구매 이유 : 안드로이드가 궁금한데 시작을 어떻게 해야 할지 모르겠어서 이것저것 찾아보았다 -> 시작하는 단계에서 정보가 예쁘게 모아져 있고 간단한 프로그램까지 실습해볼 수 있는 내용이 담긴 이 책을 구매했다. 좋은 점 : 코틀린을 접해볼 수 있었다 + 코틀린 장점을 알 수 있었다 이전에 자바 입문단계를 배웠었는데, 이 책에서 자바와 같은 점과 다른 점을 설명해 주어서 더욱 흥미를 유발하기도>_ 아 레이아웃 에디터의 Design탭을 사용하고 xml탭은 안 건드릴 거라는 것 같다. + 안드로이드에는 LinearLayout, RelativeLayout, FrameLayout 등의 여러 레이아웃이 준비되어 있는데 이 책의 예제는 뷰의 제약설정에 기반한 ConstrainLayout을 기본으로 사용한다고 한다. ..
혼공자 - 마지막 프로젝트도 끝냈다! (14챕터 확인문제 1번)
·
JAVA
작은프로젝트: 사고싶은거 작성게시판(메모장?) 잘 한 건지 못 한 건지는 모르겠지만 예상했던 기능은 모두 구현한 메모장비슷한 작은프로젝트를 완성했다. 피드백 주실분 안계시나요?? 어디에 조언을 구해야 할까 ㅠㅡㅠ 일단 열심히 예외처리는 했는데.. 그런데 너무 러프하게 한 것 같은데.. 그냥 냅다 예외처리를 하긴 했는데... 어떻게 해야 더 섬세하고 올바른 프로그램일까 ㅠoㅠ 일단 오늘 하루만에 완성해버린거라서 앞으로 생각나면 기능을 더 넣을 수도 있고.. 옳지않은 작성을 발견할 수도 있고.. 당분간 많이 들여다보고 복습도 더 해야겠다 코드는 어떻게 공유하지.. GitHub 계정 만들면 되겠지?? -> 내일 해야지!! 잘시간 넘었다 일단 오늘은 여기까지 ~.~