일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- oberve url
- Tuist
- base64 변환
- swift #swift keychain #keychain 사용법
- 스크롤 탭
- ios
- swift
- DevelopmentRegion
- 개발자 면접
- 상단 탭바
- url 추적
- development language
- Swift Package Manager
- Side Menu
- scrolling tab
- DataBinding
- SwiftUI
- UIPresentationController
- ViewBuilder
- Android
- 기존 앱
- transformation.map
- convert base64
- UIViewControllerTransitioningDelegate
- GeometryReader
- notifychanged
- List
- detect url
- url 관찰
- pod install
- Today
- Total
목록안드로이드 (39)
버그 잡이
(3번을 패스하고 4번으로 넘어갔다. 3번은 navigation인데 아직 나의 이해가 부족해 기회가 되면 나중에 다시 정리해서 올려야 겠다.) 4번째 레슨은 바로 생명주기이다. 아직 면접을 봐보지는 않았지만 안드로이드 개발자 면접 필수 질문으로 등장하는 것이 '생명주기'라고 한다. 다음 질문에 답해보자. "startActivity 메소드를 실행했을대 A(현재 액티비티), B(다음 액티비티)의 생명주기 변화는?" '음... A pause, A stop, B create, B start, B resume 아닌가?' 라고 생각했었다. 정답은 A pause , B create, B start, B resume, A stop 두번째 액티비티가 포커스를 받은 이후에 이전 액티비티가 사라지는 것이었다. 왜 onSto..
최근 안드로이드 앱 개발을 하면서 애니메이션을 사용해보고 있다. 그런데 같은 애니메이션도 구현하는 방식이 천차만별이다. 애니메이션에 대해서 개념을 잡고 갈 필요성을 느껴 정리 해보고자 한다. https://medium.com/@shubham08gupta/a-beginners-guide-to-implement-android-animations-part-1-2-part-series-b5fce1fc85 해당 블로그의 내용을 참고하여 정리했다. 애니메이션의 종류 1. View Animation - View의 속성이 바뀌지 않는다. - 예를 들어, view를 오른쪽으로 100만큼 이동시키는 애니메이션이 있다고 가정하자. 애니메이션 효과로 view는 오른쪽으로 100만큼 이동했지만 클릭시 터치가 되지 않는다. 왜냐..
TextView, ImageView 등 기본적으로 제공되는 view 이외에도 자신이 원하는 customView를 만들어 사용할 수 있다. 왜 굳이 그렇게 해야하냐고? - 자주 쓰이는 패턴이 있는데 일일이 만들기에는 시간이 많이 걸리고, 복붙해서 쓰자니 코드가 지저분해진다. - 또, customView에 메소드를 만들어 사용할 수 있다. 내가 원하는 동작을 보다 깔끔하게 반영할 수 있는 것이다. *코드 출처 (유튜버 디모님) https://www.youtube.com/watch?v=hr-ZDc2mNZE&list=PLQdnHjXZyYaemV1ievGAfgE-YXp3HddnK&index=5 [순서] 1. xml 파일을 만든다. - 알람 아이콘과 그 옆에 알람시간이 나오는 구성이다. 2. view 클래스를 만든..
야놀자 앱을 보면 다음과 같이 recyclerView 안에 recyclerView가 들어간 구조로 되어있다. 원리는 간단한다. 1. recyclerViewA를 만든다 2. recyclerViewA 어답터에서 ViewHolder에 recyclerViewB를 정의해준다. 3. (recyclerViewA의 나오는 항목을 수평, 그리드 등 다양하게 적용하고 싶다면) -> ViewType을 활용하여 recyclerViewA에 각기 다른 뷰 타입을 적용하면 된다. 1. DataModel Chapter.class public class Chapter { public int id; public String chapterName; public String imageUrl; } SubJect.class public cla..
지금까지는 안드로이드를 공부할때 기능구현에만 중점을 두었다. 이제부터는 각 기능의 요소를 한줄한줄 파헤치며 공부해보고자 한다. (recyclerView 튜토리얼이 아니라 recyclerView 자체에 대한 이해를 높이고자 정리하는 글입니다.) 0. 구성요소 ViewHolder - 개별 아이템의 View를 생성하여 제공한다. Adapter - 데이터를 관리하고 목록에 표시한다. Activity - UI로 recyclerView를 보여주는 클래스이다. 1. ViewHolder & Adapter class MyAdapter(private val myDataset: Array) : RecyclerView.Adapter() { //개별 아이템에 view 생성하여 제공 class MyViewHolder(val te..
위와 같이 ActionBar 안에 TabLayout을 넣고 스크롤시 ActionBar가 사라지도록 해보겠습니다. 1. layout.xml 1)CoordinatorLayoout안에서 작업을 해야 스크롤시 동적인 작업을 진행할 수 있습니다. 2)AppbarLayout 안에 ToolBar로 ActionBar를 대체합니다. - ActionBar는 버전별 호환 문제가 있어 구글에서는 ToolBar 사용을 권장하고 있습니다. 3)ToolBar의 "scrollFlags"가 바로 스크롤시 ToolBar를 숨겨주는 역할을 합니다. 2. activity.class @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(s..
static - static을 붙여주면 객체를 생성하지 않고 사용할 수 있다. - - 위와 같이 저장되는 메모리가 다르다. - 그 결과 static메소드에서는 static 변수만 사용할 수 있다. *장점 - 쉽게 어디서든 가져다 쓸 수 있다. *단점 - static 영역은 GC가 작동하지 않기 때문에 메모리에 계속 남아있다. - 변수의 조작을 막을 수 없다. final - "변경을 제한한다." - (변수) 한번 선언된 변수 값을 바꿀 수 없다. - (메소드) 상속시 자식 클래스는 해당 메소드를 Override 할 수 없다. - (클래스) 상속이 안 된다. 어떻게 쓰이는가? "프로그램에서 사용될 상수 모음" public final class Constant{ public static final int RE..
floating Button을 클릭하면 로딩되는 동안 로딩 아이콘으로 변경되는 효과를 입혀보겠습니다. 총 3단계로 구분된다. 1. extended floating Button 만들기 2. 버튼 .shrink() / .extend() 3. 버튼 회전 1. extended floating Button 만들기 1) gradle 추가 - implementation 'com.google.android.material:material:1.2.0-alpha01' 2) layout.xml 2. 버튼 shrink / extend activity에서 (해당 floating button).shrink() 하면 아이콘만 남은 동그란 모양으로 변합니다. 반대로 (해당 floating button).extend() 하면 text..