일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 막내의막무가내 알고리즘
- 주엽역 생활맥주
- 주택가 잠실새내
- 막내의막무가내 목표 및 회고
- 안드로이드 sunflower
- 막내의막무가내 코틀린 안드로이드
- 막내의막무가내 코틀린
- 안드로이드 Sunflower 스터디
- 막내의막무가내 플러터
- 막내의막무가내 안드로이드
- 부스트코스
- flutter network call
- 부스트코스에이스
- 막내의막무가내 프로그래밍
- 막내의막무가내 SQL
- 막내의막무가내 플러터 flutter
- 막내의막무가내 일상
- 막내의 막무가내
- 프래그먼트
- Fragment
- 프로그래머스 알고리즘
- 막무가내
- 막내의 막무가내 알고리즘
- 2022년 6월 일상
- 막내의막무가내 rxjava
- 막내의막무가내 안드로이드 코틀린
- 막내의막무가내 코볼 COBOL
- 막내의막무가내 안드로이드 에러 해결
- 안드로이드
- 막내의막무가내
- Today
- Total
목록안드로이드 (216)
막내의 막무가내 프로그래밍 & 일상
[2020-04-13 업데이트] 안드로이드 이미지와 일반 값들을 전송하기 위해 Retrofit2 통신하다가 일어난 에러이다. 이유는 @Multipart , @FormUrlEncoeded, @Body, @Field 는 Retrofit interface 함수에 공존할 수 없습니다. 이거에 대한 말은 아래 링크에서 찾아볼 수 있습니다. @Multipart 사용시 @Part 로 보내줘야합니다. 나의 예시) @Multipart @POST("/predict") fun getTest( @Part file: MultipartBody.Part, @Part("y") x: Float, @Part("x") y: Float ): Call @Multipart @POST("/predict") fun getTest( @Part fi..
[2021-04-13 업데이트] https://github.com/ApplikeySolutions/CosmoCalendar ApplikeySolutions/CosmoCalendar 📅 CosmoCalendar is a fully customizable calendar with a wide variety of features and displaying modes. - ApplikeySolutions/CosmoCalendar github.com 먼저 위의 커스텀 달력 라이브러리를 사용했습니다. 먼저 제가 구현해야할 달력은 다음과 같았는데요. 시간이 부족하여 라이브러리를 사용하게 되었습니다 ㅠㅠ 달력 라이브러리를 커스텀하여 사용하기도 빡세더라고요. 저도 아직 완벽하게 파악은 못하고 먼저 포스팅 중에 있습니다...
https://www.androidpub.com/277645 Scrollview 와 맨아래에 고정 Button 구현 안녕하세요 의외로 잘 안되는 부분이 있어 문의 드립니다. xml에서 맨아래 고정Button하나를 제외하고 윗부분은 Scrollview로 만들고 싶습니다. ... 머 이런구조가 될텐 www.androidpub.com 나중에 또 사용 시 볼려고 포스팅합니다. 위 사이트 참고 하단 고정 버튼쪽은 콘스트레인트 레이아웃으로 만들었습니다. [결과 화면] 댓글과 공감은 큰 힘이 됩니다. !
[2021-04-13 업데이트] [참고 사이트] https://developer.android.com/jetpack/androidx/releases/viewpager2?hl=ko ViewPager2 | Android 개발자 | Android Developers 스와이프할 수 있는 형식으로 뷰 또는 프래그먼트를 표시합니다. 최근 업데이트 현재 안정화 출시 다음 출시 후보 베타 출시 알파 출시 2020년 4월 1일 1.0.0 - - 1.1.0-alpha01 AndroidX 종속 항목 ViewPager2� developer.android.com http://dudmy.net/android/2019/03/02/try-viewpager2-simply/ ViewPager2 간단히 사용해보기 - Dudmy's Dev..
[2021-04-13 업데이트] Jetpack 바텀네비게이션 뷰를 프래그먼트 아이디를 통해 Visbility를 컨트롤할 수 있는 방법에 대해 포스팅하려고 합니다. ㅎㅎ 보통 앱은 기본적으로 하나의 액티비티 안에 바텀네비게이션과 그 바텀 버튼에 해당하는 프래그먼트로 이루어져 있는 경우가 많습니다. 그리고 이 네비게이션에 해당하는 프래그먼트들에서 상세화면으로 가는 버튼을 누른다고 가정하면 Jetpack Navigation 기능을 사용해 다른 프래그먼트으로 이동할 수 도 있습니다. 이때 바텀네비게이션과 종속되어 있는 메인화면이 아닌 상세화면에서 프래그먼트는 바텀 네비게이션이 불필요할겁니다. 이것을 컨트롤하기위한 방법을 Jetpack Navigation 다음 문서에서 확인할 수 있었습니다. https://dev..
[2021-04-13 업데이트] 이전에 Jetpack Navigation에 이어서 태그를 사용하여 프래그먼트끼리 화면전환하는 것을 프로젝트에 적용해봤습니다. 먼저 원리 및 등 자세한 설명은 제가 쓰지 않고 밑 사이트들에 잘나와있으므로 참고용으로 남깁니다. https://developer.android.com/guide/navigation/navigation-navigate?hl=ko 대상으로 이동 | Android 개발자 | Android Developers 대상으로 이동하는 것은 NavController 객체를 사용하여 실행되며 이 객체는 NavHost 내에서 앱 탐색을 관리합니다. 각 NavHost에는 그에 대응하는 NavController가 있습니다. NavController를 사용하면 몇 가지 d..
[2021-04-13 업데이트] Jetpack 의 바텀 네비게이션 뷰를 쓰면서 내가 눌렀을 때와 안눌렀을 떄 selector로 설정한 대로 아이콘이 안나왔었습니다. (바텀 네비게이션에서 기본으로된 색상 설정등 이 우선시 되었기 때문입니다.) [menu] [selector] [bottom navi view] app:labelVisibilityMode="unlabeled" (bottom naviagation view 에서 title로 지정한 텍스트가 안보이게함(전 뷰에 글자가 달려있었기 때문에 이것을 활성화 시켰습니다.) 결론 부터 말하면 binding.mainBottomNavigation.itemIconTintList = null 를 해주면 된다. private fun initNavigation() { v..
[2021-04-13 업데이트] 카카오 로그인 API가 업데이트되어 다른 내용이 있을 수 있습니다. 공식문서가 잘 되어 있으므로 공식문서 위주로 참고하시고 모르는게 있으면 이 포스팅에서 찾아보심이 좋을 것 같습니다. 감사합니다 :) https://youngest-programming.tistory.com/93 [안드로이드] 카카오톡 로그인 구글로그인과 페이스북로그인에 이어서 카카오톡 로그인을 해본 걸 정리하는 포스팅을 갖도록 해보겠습니다. [2020-06-21 업데이트] 참고로 저는 구글 파이어베이스의 OAuth 토큰을 사용하기 위해 youngest-programming.tistory.com 이전에 위와 같이 카카오톡 로그인을 구현한적 있었는데 1년 사이에 v1 -> v2 로 바뀌면서 구현방식이 달라졌나..
[2021-04-13 업데이트] Dagger2, Koin 같은 의존성주입으로 안전하게 application의 context 를 ViewModel 에 넘기는식 말고 VIewModel에서 액티비티나 프래그먼트의 라이프사이클과 충돌이 안나게 context를 필요로 할때가 있습니다. (viewModel 은 액티비티나 프래그먼트의 context를 참조하지 않게 구현하는것을 지향해야합니다.) 다음과 같이하면 AndroidViewModel 과 applicatiocontext를 이용해서 사용하면 된다고합니다. [액티비티의 컨텍스트를 액티비티의 ViewModel에 메모리 누수로 전달하는 것은 좋지 않습니다. 따라서 ViewModel에서 컨텍스트를 얻으려면 ViewModel 클래스가 Android View Model 클래..
최근 디자이너분과 공모전 협업중에 있습니다. 안드로이드에 해상도별로 이미지를 넣고 해당 이미지들을 묶어서 한번에 이름을 변경하거나 해상도 이미지 폴더의 이름을 변경하려했는데 할 수가 없었습니다. (밑그림 참고 rename이 없는...) 해결방법은 제플린에서 제가 Name을 고쳐서 다운받도록 하였습니다. 그 후 다시 리소스매니저에서 임포트하러..
[2021-04-07 업데이트] 매번 공지사항 들어가서 보기 귀찮아서 공지사항 앱을 1차로 만들어봤습니다. 추후 시간이 될때 클릭시 웹이 아닌 앱내에서 웹뷰로 띄워주거나 커뮤니티 기능도 추가해볼까 합니다. -> 업데이트 완료! MVVM 아키텍처를 적용 및 학습을 위해 대학교 공지사항 토이프로젝트를 만들어봤었는데 그것에 대해 복습 및 정리 해볼려고 합니다. API 를 사용한 것이 아니라 Jsoup 을 통해 크롤링하여 데이터를 가져온 것이기 때문에 레트로핏은 사용하지 않았습니다. 저도 배워가는 입장이라 수정이 필요한 부분을 지적해주시면 감사하겠습니다. 그래서 전체적인 프로젝트 구조는 다음과 같습니다. MVVM 의 장점과 단점은 다음과 같습니다. 장점: 뷰와 모델간의 의존성이 없고 MVP 패턴처럼 V-VM이 ..
[2021-04-13 업데이트] 위와 같은 프래그먼트 위에 띄워줄 다이얼로그 프래그먼트를 직접 만들어봤습니다. 자바로는 만든적이 꽤 많은데 코틀린으로는 처음이여서 간단하게 기록하는 포스팅을 해볼까 합니다. 자바했던것을 기반으로 구현한거라 최상의 방법은 아닐 수 있습니다. (구글링해보니 코틀린 다이얼로그 프래그먼트 한국 자료는 거의 안보이더라고요) 코드를 보면 이해가 가실겁니다!! 먼저 다이얼로그 프래그먼트 xml 입니다. 다이얼로그 프래그먼트 입니다. (Dialog Fragment) getInstance() 통해 다이얼로그를 액비티이 또는 프래그먼트에서 다이얼로그 프래그먼트 인스턴스를 가져옵니다. EXTRA_NOTICE_SAVE 는 원하는 태그 값을 넣어주면 됩니다. ( 추가로 번들에 전달된 값을 통해 ..
[2021-04-13 업데이트] 맨 밑 추가 업데이트 내용을 참고해주세요 :) Business의 스펠링이 틀려 Refactor 로 클래스 이름 오타를 수정했었습니다. 그런데 프래그먼트가 제대로 안뜨는 현상이 발생하였습니다. 이유는 bottom_nav_graph 의 android:name 이름은 그대로였기 때문 입니다. Refcator 가 이부분까지 변경해주지는 않나봅니다. 그래서 수동으로 바꿔줬습니다. 원인 찾는데 시간좀 걸렸네요;; 아니면 제 단순 실수일 수 도 있습니다. 업데이트 [2020-06-21] 다 Refactor 됩니다. 그러나 데이터바인딩 클래스이름은 안바뀝니다. 그래서 해당 데이터바인딩 클래스 이름은 직접바꿔줬습니다. 댓글과 공감은 큰 힘이 됩니다. 감사합니다!!
[2021-04-13 업데이트] 맨 밑 마지막 내용을 참고해주세요 :) 제목 그대로 빌드시 나는 에러입니다. 4시간째 삽질중인데 도저히 안고쳐집니다. 구글링하고 모든 방법을 다해봤지만 안됩니다. 뭐 때문에 나는지도 모르겠고요. stacktrace 에러를 다 보고 구글링했는데 딱히 해결법이 안나오는중.. 일단 기록으로 남깁니다. 도저히 해결이 안돼서 친구보고온 담에 다시 정신차리고 봤더니 @BindingAdapter("setItems") fun RecyclerView.setAdapterItems(items: List?) { with((adapter as BachelorAdapter)) { this.clear() items?.let { this.addItems(it) } } } [수정] @BindingAda..
class BachelorNoticeRemoteDataSourceImpl : BachelorNoticeRemoteDataSource { override fun requestNotice(): Single { return Single.fromObservable( Observable.create { val bachNoticeList: ArrayList = ArrayList() val doc: Document = Jsoup.connect("https://computer.cnu.ac.kr/computer/notice/bachelor.do") .get() // Base Url val contentElements: Elements = doc.select("div[class=b-title-box]").select("a..