일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 프로그래머스 알고리즘
- 막내의막무가내 프로그래밍
- 주엽역 생활맥주
- 막내의막무가내 안드로이드
- 주택가 잠실새내
- 막내의막무가내 플러터
- 막내의막무가내 일상
- 막내의 막무가내 알고리즘
- 안드로이드 Sunflower 스터디
- 안드로이드 sunflower
- 프래그먼트
- 막내의막무가내 코틀린
- 막무가내
- 막내의막무가내 알고리즘
- 막내의막무가내 안드로이드 코틀린
- 2022년 6월 일상
- 부스트코스
- 막내의막무가내
- 막내의막무가내 SQL
- 막내의막무가내 rxjava
- Fragment
- 부스트코스에이스
- 안드로이드
- 막내의 막무가내
- 막내의막무가내 코볼 COBOL
- 막내의막무가내 코틀린 안드로이드
- 막내의막무가내 플러터 flutter
- 막내의막무가내 목표 및 회고
- 막내의막무가내 안드로이드 에러 해결
- Today
- Total
목록안드로이드 (216)
막내의 막무가내 프로그래밍 & 일상
카톡 화면이 보이지 않는 상태에서 메시지가 왔다고 알림 화면이 뜨는 경우를 볼 수 있습니다. 이것은 카톡 앱이 사용자의 눈에 보이지 않는 상태에서도 무언가 실행되고 있다는 것을 의미합니다. 화면이 없이도 데이터를 주고받는 기능을 실행하고 때로는 메시지를 받아서 처리해야 하는데 이 때 사용되는 것이 서비스입니다. 서비스는 화면이 없는 상태에서 실행되는 하나의 애플리케이션 구성요소입니다. 요즘에는 인터넷을 통해 데이터를 주고받는 경우가 많은데 이때 대부분 서비스라는 것을 사용하게 됩니다. 서비스 앱을 실행했을 때 화면이 항상 보이는 것은 아닙니다. 다시 말해 화면을 띄우지 않고도 필요한 기능을 실행할 수 있습니다. 화면 없이 백그라운드에서 실행되는 하나의 단위를 서비스(Service)라고 부릅니다. 서비스는..
단순 알림을 주고 알림을 누르면 런처액티비티로 이동하는 것은 예전에 해봤으나 알림을 누르면 채팅방이나 게시물로 이동하고 해당 내용들을 보여주게 하는 것은 이번에 처음 해봤다. 그에 대해 다시는 까먹지 않도록 코드와 간단한 설명을 기록하기위해 포스팅한다. 먼저 위 문서를 보면 Data는 포어그라운드와 백그라운드일 때 둘다 onMessageReceived를 통해 전달이 되나 Notification은 백그라운드에서는 onMessageReceived로 받을 수 없음을 알 수 있다. 그래서 두가지 경우에 대해 해봤다. 먼저 노티피케이션으로 감싸보냈을 때와 Data로 감싸보넀을 때 중 전자를 먼저 작성해보겠다. 예를들어 전자는 이러한 페이로드로 { from:, to:, notification: { title:, b..
https://yookeun.github.io/java/2017/05/27/java-gson/ Java에서 JSON(GSON)사용 Java에서 간단하게 json을 생성하고 파싱하는 방법을 알아보자. 여러가지 라이브러리가 있는데 우리는 여기서 구글에서 만든 gson를 이용하겠다. gson은 비교적 가볍고, 메이븐저장소를 지원하고 전반적으로 성능이 좋아서이다. 먼저 메이븐으로 다운로드한다. com.google.code.gson gson 2.8.0 1. 객체를 json으로 만들자. Person이라는 객체가 있다면 이를 json으로 변경해보자. @Data public class Person yookeun.github.io
//글자크기 다른 힌트 세팅 mWriteEditText.setHint(Html.fromHtml("" + "내용을 입력해주세요" + "" + "" + "" + " " + " " + "다음의 경우 경고 없이 삭제조치 될 수 있습니다." + " " + "-연락처, SNS, ID등 연락 수단을 남기는 경우" + " " + "-타인의 개인정보를 올리는 경우" + " " + "-특정 회원을 비난하는 경우" + " " + "-욕설, 음란물 등을 올리는 경우" + "")); mImageRuleTextView.setText(Html.fromHtml("" +"미팅과 어울리는 이미지를 올려주세요" + ""));
아이콘 사이트 https://www.iconfinder.com/ 4,675,000+ free and premium vector icons in SVG, PNG, CSH and AI format. Iconfinder is the leading search engine and market place for vector icons in SVG, PNG, CSH and AI format. www.iconfinder.com https://www.flaticon.com/ Flaticon, the largest database of free vector icons Download all icons in SVG, PSD, PNG, EPS format or as webfonts www.flaticon.com https:..
안드로이드 스튜디오작업하다가 밑 사진과 같이 run창 logcat창이 갑자기 사라졌었다. 하지만 에뮬레이터 실행은된다. 그러나 run창 Logcat창이 사라져서 뭐때문에 에러가 났는지 알수도 없고 필수적으로 있어야할 창이 사라져서 고생하다가 해결방법을 우연히 찾았다. (구글링해도 상단에 있는 run 관련해서밖에 못찾아서 ㅠ) 바로 왼쪽 가장 하단에 저 네모난 버튼을 클릭하면된다. 이제 run창과 함께 에러를 볼 수 있다 윽..
안드로이드에서는 사용자의 눈에 보이는 화면의 배치 부분을 XML 파일로 쉽게 만들 수 있도록 XML 레이아웃 파일과 소스 파일을 분리시켜 두었습니다. 이 때문에 XML을 이해할 수만 있어도 화면 레이아웃을 만들 수 있는 장점이 생겼습니다. 그런데 분리해둔 XML 레이아웃 파일에 들어있는 버튼을 소스 파일에서도 사용하게 되는데 어떤 과정을 거쳐서 분리된 파일에 넣어둔 정보를 알아낼 수 있는 걸까요? 인플레이션은 그 해답이 될 수 있습니다. 위 그림에서 보는 것과 같이 안드로이드는 레이아웃파일+자바소스파일이 합쳐져서 스마트폰의 화면을 나타내고 동작하게 만듭니다. 안드로이드 스튜디오를 보면 액티비티의 레이아웃 디자인을 한번에 볼 수 있는 xml파일과 레이아웃에 대한 자바소스 파일이 분리되어있습니다. 이렇게 한..
구글로그인과 페이스북로그인에 이어서 카카오톡 로그인을 해본 걸 정리하는 포스팅을 갖도록 해보겠습니다. [2020-06-21 업데이트] 참고로 저는 구글 파이어베이스의 OAuth 토큰을 사용하기 위해서 카카오톡 로그인과 구글 로그인을 통합해야했습니다. 그래서 카카오톡 로그인 성공시 해당 정보를 갖고 구글로그인 가입이 되게 하여 토큰을 받을 수 있게 했었습니다. 즉 카카오톡 로그인 -> 구글 로그인 -> 가입 완료가 되는 절차입니다. 카카오 디빌로퍼 UI가 좀 바꼇네요. 활성화 하시고 키는 여깄습니다. https://developers.kakao.com/docs/latest/ko/kakaologin/android Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카..
오늘부터 안드로이드 개발자문서를 처음부터 읽어보면서 간략하게 정리해볼려고한다. 안드로이드 개발자문서를 정독해서 읽고 익숙해지는 것은 큰 도움이 된다고한다. Activity클래스는 Android 앱의 중요한 구성 요소이며, 액티비티가 시작되고 결합되는 방식은 플랫폼의 애플리케이션 모델의 기본 요소이다. 액티비티는 앱에서 UI를 그리는 창을 제공한다 앱에서 액티비티를 사용하려면 앱의 매니페스트에 해당 액티비티에 대한 정보를 등록해야하며 액티비티 라이프 사이클을 적절하게 관리해야한다. [액티비티선언] ... ... 필수속성 은 활동의 클래스 이름을 지정하는 android:name 이다. [Manifest 구성] // Create the text message with a string Intent sendInt..
데이터바인딩 많이 들어봤지만 실제 프로젝트에 써본적은 없었습니다. 이번기회에 한번 써보고 싶어서 간단하게 findViewById를 생략해주고 onClick리스너 관련 데이터바인딩만 사용해봤습니다. 프래그먼트와 액티비티에서 사용해봤습니다. android { ... dataBinding { enabled = true } } 이것을 앱수준 build.gradle에 추가해준다. 프래그먼트에 적용한 거부터 살펴보겠습니다. 먼저 xml입니다. layout태그를 밖에 감싸줍니다. 저같은 경우 layout에 있는 tools:context나 context를 그 바로 하단의 CoordinatorLayout에 넣어놨었더니(데이터바인딩을 나중에 넣은거여서 CoordinatorLayout가 최상다 레이아웃이여서 갖고 있었다.)..
1 public void showDialog(String title, String content, String positive, String negative) { AlertDialog.Builder dialog = new AlertDialog.Builder(this); dialog.setTitle(title); dialog.setMessage(content); dialog.setPositiveButton(positive, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { //positive 버튼이ㅏ 눌렸을 때 수행될 코드를 작성 } }); dialog.setNegativeButton..
1. 첫번째 방법 클릭리스너 안에 시간초를 재서 구현 private long mLastClickTime = 0; ... // inside onCreate or so: findViewById(R.id.button).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // mis-clicking prevention, using threshold of 1000 ms if (SystemClock.elapsedRealtime() - mLastClickTime < 1000){ return; } mLastClickTime = SystemClock.elapsedRealtime(); // do your magic here }..
참고 및 출처: https://realm.io/kr/docs/java/latest/ Realm: 리액티브 모바일 애플리케이션을 손쉽고 빠르게 만드세요 Realm Java is the first database built for mobile. An alternative to SQLite and ORMs that's fast, easy to use, and open source. realm.io Realm에 대해 간략하게 정리해는 포스팅입니다. 개인적으로 적는거라 정보를 얻으러 오신분들은 다른 블로그 추천드립니당.. 처음 안드로이드를 시작할때는 Shared와 SQlite를 사용해봤었는데 Realm도 안드로이드에서 사용할 수 있는 데이터베이스 중 하나입니다. 장점으로는 타 데이터베이스에비해 빠르고 간편하고 O..
square사에서 만든 otto(오투) 라이브러리에 대해 포스팅을 해보겠습니다. https://github.com/square/otto square/otto An enhanced Guava-based event bus with emphasis on Android support. - square/otto github.com 참고 : https://gun0912.tistory.com/4 [안드로이드/Android]유용한 라이브러리 - Otto(Event Bus) Otto라이브러리는 Square에서 만든 event bus형태의 라이브러리 입니다. 홈페이지 GitHub 예를들어보겠습니다. 3개의 Activity A,B,C가 있습니다. 이 3개의 화면은 모두 같은 데이터를 가지고 다른형태로 화면에.. gun091..
Spanny 라이브러리에 대해 살펴보는 포스팅입니다. Spanny는 텍스트뷰와 같이 여러줄의 글이 올 수 있는 뷰의 스타일을 바꿔줄 수 있는 라이브러리입니다. 예를들어 안 녕 하 세 요. 또는 안 녕 하 세 요 이 각 한글자들을 다른 색상이나 스타일로 선언을 할려면 텍스트뷰를 5개를 만들어 각기 다른 스타일을 지정해줘야합니다. 그리고 유동적으로 바뀌는 글이라면은 하나하나 대응하기 더 복잡할 겁니다. 이럴때 Spanny라이브러리를 사용하면 단어 혹은 줄마다 자기가 원하는 글자 스타일을 지정해줄 수 있습니다. 사용법은 아래 사이트에 잘 나와있습니다. https://github.com/binaryfork/Spanny binaryfork/Spanny A helper class that extends Spanna..