일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 주택가 잠실새내
- 막내의막무가내 프로그래밍
- 막내의막무가내 안드로이드 에러 해결
- 막내의막무가내
- 주엽역 생활맥주
- 막내의막무가내 일상
- 부스트코스에이스
- flutter network call
- 막무가내
- 막내의막무가내 플러터
- 막내의막무가내 알고리즘
- Fragment
- 안드로이드 Sunflower 스터디
- 막내의막무가내 코틀린 안드로이드
- 막내의막무가내 코틀린
- 2022년 6월 일상
- 안드로이드
- 막내의막무가내 안드로이드 코틀린
- 막내의 막무가내 알고리즘
- 부스트코스
- 프로그래머스 알고리즘
- 막내의막무가내 플러터 flutter
- 안드로이드 sunflower
- 막내의막무가내 목표 및 회고
- 막내의막무가내 rxjava
- 막내의막무가내 안드로이드
- 막내의막무가내 코볼 COBOL
- 막내의 막무가내
- 프래그먼트
- 막내의막무가내 SQL
- Today
- Total
목록안드로이드 (216)
막내의 막무가내 프로그래밍 & 일상
안드로이드에서 차트라이브러리는 그렇게 많지는 않은 것 같다. 그 중 내가 아는것 중 가장 유명한 라이브러리인 MPAndroidChart의 Radar Chart에 소개할려한다. https://github.com/PhilJay/MPAndroidChart PhilJay/MPAndroidChart A powerful 🚀 Android chart view / graph view library, supporting line- bar- pie- radar- bubble- and candlestick charts as well as scaling, dragging and animations. - PhilJay/MPAndroidChart github.com 원형 차트 말고도 여러 차트가 구현되어있으므로 차트를 만들려고 ..
레트로핏2를 이용하다가 다음과 같은 에러가 계속나고 뭐가 틀린지도 모르고 계속 이상한것만 고치며 삽질을 하였다. 해결방법은 자바 8로 업글을 해주는거였다. (엄청난 삽질) 모듈수준의 gradle에 다음을 추가하자 compileOptions { targetCompatibility = "8" sourceCompatibility = "8" }
카카오맵을 처음 사용하는데 사용하면서 삽질했던거에 대해 포스팅해볼려한다. 1. 카카오맵 개발자계정 키 해시는 디버그키를 의마한다. 2. E/net.daum.mf.map.n.api.NativeMapLibraryLoader: Can`t load DaumMapEngineApi.so file 카카오맵은 에뮬에서 안돌아간다. 그냥 꺼진다;;; => 폰에서 돌리자. 3. MapView를 사용할때 여러가지 import가 나올 것이다. 이중 mf.map이 들어간걸 사용한다. 4. java.lang.RuntimeException: DaumMap does not support that two or more net.daum.mf.map.api.MapView objects exists at the same time 카카오맵 ..
안드로이드 소켓 통신을 공부하면서 예시로 간단한 채팅을 구현해봤다. 폰 하나는 서버 다른 폰 하나는 클라이언트를 맡고 소켓 통신을 하는 결과를 구현했고 프로젝트는 서버와 클라이언트 두 개 로 나눠서 만들었다. [서버] 위의 getLoacalAddress() 메소드를 통해서 현재 내 휴대폰의 ip를 알 수 있고 TextView에 set해준다. 클라이언트에서 서버 ip를 알아야 접속이 가능하므로 필요하다. ServerSocketOpen()은 Open Server 버튼을 누르면 동작할 온클릭 메소드이다. [62~78라인]: 소켓을 생성할려면 포트번호가 필요하다. 그러므로 포트번호를 editText에서 입력했는지 검사 후 서버 소켓을 생성한다. 안드로이드에서는 소켓 통신을(네트워크 통신) 할 때 스레드가 필수적..
[2021-04-13 업데이트] 출처 :커니의 코틀린(강추!) 밑 링크에 예제를 좀 더 자세히 포스팅 했습니다. 참고해주세요 :) https://youngest-programming.tistory.com/578 [안드로이드] 코틀린 범위지정함수(Scoping Functions) - let, run, with, apply, also - 코드에러나서 고치는 [코틀린의 특징] 코틀린은 인틸레지에서 만든 언어로 JVM에서 동작하고 자바와 100% 호환된다는 특징을 갖고 있습니다. 이밖에도 Null Safety, 함수형프로그래밍, 확장함수, 코드의 간결함 등 다양한 youngest-programming.tistory.com let() fun T.let(block: (T) -> R) : R 이 함수를 호출하는 객체..
[2021-04-13 업데이트] 출처 : 커니의 코틀린 => 책 추천합니다 ! 커니의 코틀린책을 보며 공부하는 중이다. 스트림 함수를 공부한걸 간략하게 정리하면서 공부할 수 있는 포스팅을 가질려고합니다. 그리고 필요한 함수를 원할 때 찾을수 있게 기록합니다. //데이터 val cities = listOf("Seoul", "Tokyo", "Mountain View") [변환] map() => 컬렉션 내 인자를 다른 값 혹은 타입으로 변환할 때 사용합니다. //데이터 val cities = listOf("Seoul", "Tokyo", "Mountain View") cities.map{ city -> city.length } .forEach{ println("length=$it")} cities.map{ ci..
프로젝트에서 AWS와 노드로 서버를 구성하고 안드로이드 클라이언트 Retrofit2 통신에서 평소 @Field를 사용했는데, 계속 Json으로 서버에서 못받고 이상한 값이 넘어오는 현상이발생했다. 서버문제인지 클라이언트의 모델 문제인지 무슨 문제인지!!!!!! 삽질을 꽤 오래하고 틀리지도 않는 부분을 고쳐댔다........ (에러도 안나고 서버쪽에 값이 이상하게 들어가기만해서 몇줄이 틀렸는지 알 수가 없었다.ㅠ.ㅠ) 원인은 Retrofit2 인터페이스가 잘못되었었다. 먼저 요점만 말하면 @Field가 아니라 @Body를 사용해야했다. 덕분에 둘의 차이점을 알아보는 시간을 가지고 포스팅을 하게 되었다. 사건 배경(처음에 실수한 코드 사진) 밑과 같이 Json으로 보낼려고 했다. (DTO, POJO) Rou..
카메라 갤러리 카메라 앱 화면 보여주기 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file)); if (intent.resolveActivity(getPackageManager()) != null) { startActivityForResult(intent, REQUEST_IMAGE_CAPTURE); } 사진 찍은 결과 보여주기 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == REQUEST_IMAGE_..
https://androidclarified.com/android-image-upload-example/ Android Image Upload Example | Multipart Retrofit2 Learn how to upload images/file on Android using Multipart with Retrofit2. Android Image Upload is explained step by step here with a good example androidclarified.com
이전에 SqliteDatabse와 Relam은 간략하게라도 써봤었는데 Room은 써본적이 없어 이번에 공부도할겸 간략하게 써보고 정리를 해봤다. https://www.youtube.com/watch?v=LRMfm458E3k 먼저 오준석 강사님의 강의를 수강하고 여러 블로그를 참조했다. https://codelabs.developers.google.com/codelabs/android-room-with-a-view/#8 그리고 이 사이트대로 코드를 레퍼지토리로 짜볼려고 했으나 짜다가 중간에 좀 복잡해져서 나중에 실력이 향상되면 해보기로한다.. MVVM패턴을 사용하는 것 같은데 내가 아직 MVVM패턴을 모르고 저 사이트대로 하는건 배보다 배꼽이 더커지는 것 같다 생각했다. 나중에 MVVM 레퍼지토리 패턴(?..
[2021-04-13 업데이트] 프로젝트에 MVC 아키텍처만 사용하다가 최근 간단한 공부용 프로젝트를 통해 MVP 아키텍처를 적용해보고있다. 확실히 기존 MVC 구조보다 코드가 정리되는 느낌이 들었다. MVP구조로 짜는 연습을 많이하고 MVVM도 나중에 공부해볼 예정이다. 이번에 MVP 아키텍처 공부한 것을 간략하게 정리하는 포스팅을 하려고한다. 먼저 MVC와 MVP에 대한 구조도 그림이다. 그림을 보면 알 수 있듯이 둘은 C와 P만 바뀌고 MVC구조에서는 모델과 뷰와 이어져있지만 MVP는 프레젠터를 통해서 모델과 뷰가 소통이 되야한다. 안드로이드에서 MVC구조는 사실상 액티비티나 프래그먼트에 컨트롤러와 뷰에 관한 코드를 전부 집어넣어서 MVC패턴이라 하기도 애매하고 코드가 복잡해진다는 단점이 있다.(즉..
이번에 부스트코스 리뷰를 받으면서 객체를 전달할 때 Serializable이 간편해서 써왔는데 성능상 Parcelabe을 이용하는게 좋다는 리뷰를 받아서 이에대해 알아보는 포스팅을 해보겠습니다. 제목과 같이 둘의 성능차이에 대해 여러글들을 구글링 해보고 요약 및 정리해봤습니다. Parcelable 인터페이스는 Serializable인터페이스보다 구현하는 것보다 좀 더 어렵지만 읽기 및 쓰기 속도는 더 느립니다.(글마다 다른데 양이 많을수록 Parcelable이 훨씬 효율적이게 되고 2배~10배 가까이 빠르다고 합니다.) Serializable 은 해당클래스가 직렬화 대상이라고 알려주기만 할 뿐 어떠한 메서드도 가지지 않는 단순한 “마커 인터페이스 (Marker Interface)” 이므로, 사용자는 매우..
복사하기 버튼을 누르면 초대코드를 복사하는데 사용했다. 사용법은 간단하다 . 클립보드매니저(ClipboardManager)를 생성해주고 ClipData에 id값과 복사할 텍스트를 넣어준 후 클립보드매니저에 set해주면 된다. private void setOnClickListener() { onClickListener = new View.OnClickListener() { @Override public void onClick(View v) { switch (v.getId()) { case R.id.setprofile_invite5_li_back: finish(); break; case R.id.setprofile_invite5_btn_copy: //클립보드 사용 코드 ClipboardManager clip..
프래그먼트는 프래그먼트 매니저를 통해 불러와진다. 그래서 자바소스파일에서 프래그먼트를 추가하고 싶다면 프래그먼트매니저를 사용해야한다. 프래그먼트와 이에 대한 설명을 간단히 하자면 다음과 같습니다. 출처: https://www.edwith.org/boostcourse-android/lecture/17074/ 만약 소스 코드에서 프래그먼트를 추가하고 싶다면 프래그먼트 매니저를 사용해야 합니다. 프래그먼트는 프래그먼트 매니저가 관리하기 때문에 프래그먼트 매니저를 통해 화면에 추가하거나 다른 프래그먼트로 교체하거나 하는 일을 할 수 있습니다. 프래그먼트 매니저는 getSupportFragmentManager 메소드를 호출하면 참조할 수 있고 XML 레이아웃에 추가된 프래그먼트는 findFragmentById 메..
리사이클러 뷰에서 처음 10개씩 데이터를 불러오는데 위에서 아래로 댕기면 새로고침, 마지막 아이템에서 아래에서 위로 댕기면 로딩 후 데이터를 10개 더 가져오는 것을 구현해봤고 포스팅을 할려고한다. 아래에서 위로 댕겨서 데이터를 더 불러오는 것은 밑 사이트를 참고했다. http://www.devexchanges.info/2017/02/android-recyclerview-dynamically-load.html Learn Programming Together: Android RecyclerView dynamically load more items when scroll to end with bottom ProgressBar xxxxx www.devexchanges.info SwipeRefreshLayout과..