일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 막내의막무가내 프로그래밍
- 부스트코스에이스
- 막내의막무가내 플러터 flutter
- 프로그래머스 알고리즘
- 막내의막무가내 코볼 COBOL
- 막내의막무가내 코틀린
- flutter network call
- 막내의 막무가내
- 막내의막무가내 목표 및 회고
- 주택가 잠실새내
- 막내의막무가내 SQL
- 막내의막무가내 코틀린 안드로이드
- 주엽역 생활맥주
- 2022년 6월 일상
- 부스트코스
- 막내의막무가내 안드로이드 에러 해결
- 프래그먼트
- 안드로이드
- 막내의막무가내 안드로이드 코틀린
- 막내의 막무가내 알고리즘
- 막내의막무가내
- 안드로이드 sunflower
- 막내의막무가내 플러터
- 막내의막무가내 rxjava
- 막무가내
- 막내의막무가내 안드로이드
- 안드로이드 Sunflower 스터디
- 막내의막무가내 알고리즘
- 막내의막무가내 일상
- Fragment
- Today
- Total
목록안드로이드/자바 & Previous (56)
막내의 막무가내 프로그래밍 & 일상
[2021-04-18 업데이트] 코드 물어보시는 분들이 많아 프로젝트 공유합니다. https://github.com/mtjin/LandKorea_AndroidApp mtjin/LandKorea_AndroidApp 잡코리아 땅버전앱. Contribute to mtjin/LandKorea_AndroidApp development by creating an account on GitHub. github.com 참고사이트: 저는 카카오맵 공식문서에 대해 자세한 설명을 담아서 포스팅하지 않고 코드위주로 기록해놨습니다. 카카오맵 API 문서는 매우 잘되어있으므로 공식문서를 보고 하는것을 추천드립니다. 하다가 안되는게 있으면 이 포스팅의 코드기록을 참고하시거나 궁금사항을 여쭤보시면 감사하겠습니다 :) (아마 지도 혹..
안드로이드에서 차트라이브러리는 그렇게 많지는 않은 것 같다. 그 중 내가 아는것 중 가장 유명한 라이브러리인 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 원형 차트 말고도 여러 차트가 구현되어있으므로 차트를 만들려고 ..
카카오맵을 처음 사용하는데 사용하면서 삽질했던거에 대해 포스팅해볼려한다. 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에서 입력했는지 검사 후 서버 소켓을 생성한다. 안드로이드에서는 소켓 통신을(네트워크 통신) 할 때 스레드가 필수적..
프로젝트에서 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_..
이전에 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 레퍼지토리 패턴(?..
이번에 부스트코스 리뷰를 받으면서 객체를 전달할 때 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과..
카톡 화면이 보이지 않는 상태에서 메시지가 왔다고 알림 화면이 뜨는 경우를 볼 수 있습니다. 이것은 카톡 앱이 사용자의 눈에 보이지 않는 상태에서도 무언가 실행되고 있다는 것을 의미합니다. 화면이 없이도 데이터를 주고받는 기능을 실행하고 때로는 메시지를 받아서 처리해야 하는데 이 때 사용되는 것이 서비스입니다. 서비스는 화면이 없는 상태에서 실행되는 하나의 애플리케이션 구성요소입니다. 요즘에는 인터넷을 통해 데이터를 주고받는 경우가 많은데 이때 대부분 서비스라는 것을 사용하게 됩니다. 서비스 앱을 실행했을 때 화면이 항상 보이는 것은 아닙니다. 다시 말해 화면을 띄우지 않고도 필요한 기능을 실행할 수 있습니다. 화면 없이 백그라운드에서 실행되는 하나의 단위를 서비스(Service)라고 부릅니다. 서비스는..
단순 알림을 주고 알림을 누르면 런처액티비티로 이동하는 것은 예전에 해봤으나 알림을 누르면 채팅방이나 게시물로 이동하고 해당 내용들을 보여주게 하는 것은 이번에 처음 해봤다. 그에 대해 다시는 까먹지 않도록 코드와 간단한 설명을 기록하기위해 포스팅한다. 먼저 위 문서를 보면 Data는 포어그라운드와 백그라운드일 때 둘다 onMessageReceived를 통해 전달이 되나 Notification은 백그라운드에서는 onMessageReceived로 받을 수 없음을 알 수 있다. 그래서 두가지 경우에 대해 해봤다. 먼저 노티피케이션으로 감싸보냈을 때와 Data로 감싸보넀을 때 중 전자를 먼저 작성해보겠다. 예를들어 전자는 이러한 페이로드로 { from:, to:, notification: { title:, b..
//글자크기 다른 힌트 세팅 mWriteEditText.setHint(Html.fromHtml("" + "내용을 입력해주세요" + "" + "" + "" + " " + " " + "다음의 경우 경고 없이 삭제조치 될 수 있습니다." + " " + "-연락처, SNS, ID등 연락 수단을 남기는 경우" + " " + "-타인의 개인정보를 올리는 경우" + " " + "-특정 회원을 비난하는 경우" + " " + "-욕설, 음란물 등을 올리는 경우" + "")); mImageRuleTextView.setText(Html.fromHtml("" +"미팅과 어울리는 이미지를 올려주세요" + ""));
안드로이드에서는 사용자의 눈에 보이는 화면의 배치 부분을 XML 파일로 쉽게 만들 수 있도록 XML 레이아웃 파일과 소스 파일을 분리시켜 두었습니다. 이 때문에 XML을 이해할 수만 있어도 화면 레이아웃을 만들 수 있는 장점이 생겼습니다. 그런데 분리해둔 XML 레이아웃 파일에 들어있는 버튼을 소스 파일에서도 사용하게 되는데 어떤 과정을 거쳐서 분리된 파일에 넣어둔 정보를 알아낼 수 있는 걸까요? 인플레이션은 그 해답이 될 수 있습니다. 위 그림에서 보는 것과 같이 안드로이드는 레이아웃파일+자바소스파일이 합쳐져서 스마트폰의 화면을 나타내고 동작하게 만듭니다. 안드로이드 스튜디오를 보면 액티비티의 레이아웃 디자인을 한번에 볼 수 있는 xml파일과 레이아웃에 대한 자바소스 파일이 분리되어있습니다. 이렇게 한..