•App/안드로이드 with Kotlin

    [안드로이드&코틀린] 푸시알림오는 알람 앱 만들기, as, alarmManger, pendingIntent, tag, data class get()예제

    [안드로이드&코틀린] 푸시알림오는 알람 앱 만들기, as, alarmManger, pendingIntent, tag, data class get()예제

    # 결과물 미리보기 TimePicker를 통해서 알람 시간을 설정할 수 있다. 알람 시간을 끝내면 등록된 알람이 메인화면에 뜨게되고, 알람 켜기를 누르면 알람이 작동한다. 해당시간이 되면 아래 와 같이 푸시알림이 온다. 단 엄청 정확한 시간에는 오지 않는다. 안드로이드는 자원 리소스의 낭비를 줄이기 위해서 AlarmManger의 경우 몇가지 제약을 걸어뒀는데 그 덕에 매초마다 확인하지 않는다. 실제로 테스트해본 결과 약 1분가량이 늦게 푸시알림이 왔다. # 구현 순서 [시간재설정] 버튼의 로직을 우선 구현했다. TimePickerDialog를 통하여 TimePicker를 여는 행위를 정해줬다. 시간을 등록하면 내가 정의한 TimeModel이 생성되고 SharedPreference로 저장된다. 현재 등록 ..

    [안드로이드&코틀린] 파이어베이스사용하여 알림보내기, Firebase Cloud Message, 범블비(bumblebee)버전에서 안드로이드 스튜디오 파이어베이스 연결하기, SDK설정 오류

    [안드로이드&코틀린] 파이어베이스사용하여 알림보내기, Firebase Cloud Message, 범블비(bumblebee)버전에서 안드로이드 스튜디오 파이어베이스 연결하기, SDK설정 오류

    # 결과물 미리보기 파이어 베이스를 통하여 내 안드로이드 기기에 알림을 보내는 기능을 구현해봤다. 강의영상을 참고하기도 했지만 달라진 것도 많기 때문에 Firebase와 안드로이드 공식문서를 많이 참고했다. # 파이어베이스 연동하기 ( 안드로이드 스튜디오 범블비 버전 이상 ) 시작하기에 앞서 파이어베이스를 내 안드로이드 프로젝트와 연동하는 작업이 필요하다. 안드로이드 스튜디오의 범블비 버전으로 올라감에 따라 build.gradle(project)에 추가하는 방법이 달려졌다. 이것때문에 살짝 애를 먹었다. 비슷한 것때문에 문제를 겪고 있는 사람들은 아래 내용을 참고하면 될 것 같다. 로그인 - Google 계정 하나의 계정으로 모든 Google 서비스를 Google 계정으로 로그인 accounts.goog..

    [안드로이드&코틀린] 웹브라우저 만들기, WebViewSwipeRefreshLayout, ContentLoadingProgressBar, 뒤로가기 버튼 커스텀,  imeOptions

    [안드로이드&코틀린] 웹브라우저 만들기, WebViewSwipeRefreshLayout, ContentLoadingProgressBar, 뒤로가기 버튼 커스텀, imeOptions

    이번에는 간단한 웹브라우저를 만들었다. 보기에는 진짜 크롬같다는 생각이 먼저 든다. 만들기 전에 내가 하나하나 다 구현해야 할 줄 알았는데, 이미 존재하는 웹브라우저(크롬)을 상속받아서 기능을 구현했다. 뭐 특별히 엄청난 코드를 작성하고, 네트워크쪽이나 보안을 신경쓰면서 만든 것은 아니지만, 이런 기능이 있다는 것이 신기했다. 또한 WebView를 처음으로 써봤는데 신기했다. # 결과물 미리보기 홈버튼, 뒤로가기 버튼, 앞으로가기 버튼, 주소입력창과 스크롤하여 새로고침 기능을 구현했다. 우리가 사용하는 브라우저처럼 검색했을때 주소가 주소창에 계속 바뀌는 기능과, 앞으로가기 뒤로가기버튼도, 갈 곳이 없다면 비활성화 되게 구현했다. 또한 핸드폰자체의 뒤로가기 버튼도 브라우저의 뒤로가기 버튼효과가 나도록 했다..

    [안드로이드&코틀린] 녹음기 만들기, Enum, set(value), run{...}, companion object, MediaRecorder, MediaPlayer, 커스텀 View 만들기

    [안드로이드&코틀린] 녹음기 만들기, Enum, set(value), run{...}, companion object, MediaRecorder, MediaPlayer, 커스텀 View 만들기

    지금까지 강의를 들으면서 가장 어려웠다. 구조가 많이 잡혀서, 이해하기 어려운 부분이 많았다. 내 블로그의 목적은, 포스팅하면서 이해하는 것이니 열심히 포스팅하면서 모르는거 찾아가면서 정리해야겠다. # 결과물 미리보기 원래는 녹음시 내 음성의 크기에 따라서 위에 뜨는 ------모양이 바뀌어야 하는데, 이상하게 내 AVD는 마이크 입력이 잘 작동하지 않았다. 기능은 우리가 흔히 사용하는 녹음기와 똑같지만 별도로 녹음된 음성을 저장하여 관리하지는 않는다. # 구현 순서 사용된 액티비티와 각각의 역할에 대해서 정리하자면, MainActivity 모든 기능들에 대해서 종합적으로 돌아가는 플로우를 구현 SoundVisualizerView 음성이 볼륨에따라서 시각화 되는 View를 만들었음, canvas와 onD..

    [안드로이드&코틀린] 뽀모도로 타이머 , SeekBar의 활용, soundPool을 사용한 효과음,  익명객체 활용하기, 문자열포맷팅, "%02d", 슬라이드 바

    [안드로이드&코틀린] 뽀모도로 타이머 , SeekBar의 활용, soundPool을 사용한 효과음, 익명객체 활용하기, 문자열포맷팅, "%02d", 슬라이드 바

    # 결과물 미리보기 seekBar를 드래그하여 원하는 시간을 설정하는 타이머이다. 타이머는 해당 시간부터 00분00초가 될때까지 진행된다. 타이머가 끝나면 벨소리가 울린다. 시간이 가는 중에는 째깍소리가 난다. 홈키를 눌렀을때 즉 앱이 백그라운드로 전환 됐을때는 소리가 멈춘다. # 알게 된 것 Layout - SeekBar soundPool을 사용하여 소리 제어하기 SeekBar 사용하여 조작하기 문자열 포맷팅 - "%02d".format() createCountTimer ## SeekBar - Layout SeekBar는 슬라이더 형태를 띄는 게이지바이다. 위에 그림에서 안드로이드이미지를 슬라이드하여 원하느 곳에 위치 시킬 수 있으며, 해당 위치를 progress에 값을 가지고 있다. 위 SeekBar..

    [안드로이드&코틀린] 앨범 만들기#4, 갤러리에서 이미지 가져오기, 안드로이드 SAF(Storage Access Framework)

    [안드로이드&코틀린] 앨범 만들기#4, 갤러리에서 이미지 가져오기, 안드로이드 SAF(Storage Access Framework)

    [안드로이드&코틀린] 앨범 만들기#3, 안드로이드 파일접근 권한 얻기, checkSelfPermission, shouldShowReque [안드로이드&코틀린] 앨범만들기#2, 액티비티 생명주기, Activity LifeCycle, 안드로이드 라이프사이클 저번 포스팅에 이어서 정리하도록 하겠다. [안드로이드&코틀린] 앨범만들기#1, 코틀린 let, putExtra devforyou.tistory.com # 알게 된 것 -- 👇 이번 포스팅 👇-- Content Provider 사진첩에서 선택한 이미지 액티비티로 보내기 # 결과물 ## 이해하기 지금껏 Intent를 통해서 액티비티간 전환을 했고, 그 전환 할때 putExtra를 이용해서 정보를 넘겨주기도 했다. 여기서 또한 Intent를 이용하지만, 지금껏..