전체 글

전체 글

    [패스트캠퍼스 챌린지 15일차] Android push app 3가지 type

    push알림앱 마무리 전 단계까지 완성했습니다. NOMAL, EXPANDABLE, CUSTOM 세 가지 TYPE별로 정리해주었습니다. firebase에서 type에 맞춰 보내면 알림이 각각 다르게 전달되는 기능을 구현하였습니다. enum class NotificationType(val title: String, val id: Int) { NOMAL("일반 알림", 0), EXPANDABLE("확장형 알림", 1), CUSTOM("커스텀 알림", 3) } private fun createNotification( type: NotificationType, title: String?, message: String? ): Notification{ val notificationBuilder = Notificati..

    [패스트캠퍼스 챌린지 14일차] Android push-app

    firebase에 토큰을 전달하고 그 과정을 디버그 하는 과정까지 진행했습니다. class MyFirebaseMessagingService: FirebaseMessagingService() { override fun onNewToken(p0: String) { super.onNewToken(p0) } override fun onMessageReceived(message: RemoteMessage) { super.onMessageReceived(message) } } token 처리를 위한 클래스를 생성해주었습니다. { "message": { "token": "cxSF8Em2TMGH1p9gplqlQo:APA91bEhfagL0wJHyCm0gHPq1m1zBb0nRLLn5QLGUa8654GmQtsXKxLUY62..

    [패스트캠퍼스 챌린지 13일차] Android push알람 앱

    Firebase를 이용하여서 token을 얻어오고 firebase cloud message 기능을 이용하여 push알람이 실제로 전달되는 것까지 구현하였습니다. private fun initFireBase() { FirebaseMessaging.getInstance().token .addOnCompleteListener { task -> if(task.isSuccessful){ fireBaseTokenTextView.text = task.result } } } firebase를 이용하기 위해서 작성해야할 gradle 부분입니다. dependencies { classpath "com.android.tools.build:gradle:7.0.2" classpath "org.jetbrains.kotlin:kot..

    [패스트캠퍼스 챌린지 12일차] Android push 알람 앱

    FireBase를 이용하여서 어플 이용자에게 push알림을 보내고 받아보는 기능을 구현할 예정입니다. 오늘은 이 어플의 기본 UI를 구성해 보았습니다. 복잡하지 않은 구조여서 Constraint 구조가 아닌 LinearLayout에 orientation을 vertical 속성을 주어 구성하였습니다. private val resultTextView: TextView by lazy { findViewById(R.id.resultTextView) } private val fireBaseTokenTextView: TextView by lazy { findViewById(R.id.fireBaseTokenTextView) } 패스트캠퍼스 바로가기 -> https://bit.ly/3FVdhDa 본 포스팅은 패스트캠퍼..

    [패스트캠퍼스 챌린지 11일차] Android WebView

    앱을 켰을 때 WebView에 초기 화면으로 구글 페이지가 나오도록 구현하였습니다. EditText를 통해서 원하는 uri 전달을 함으로써 페이지 이동하는 기능을 구현하였습니다. private fun initView() { webView.apply { webViewClient = WebViewClient() settings.javaScriptEnabled = true loadUrl("http://www.google.com") } } 초기 화면을 구글로 구성해주는 코드입니다. private fun bindViews() { addressBar.setOnEditorActionListener { textView, i, keyEvent -> if(i == EditorInfo.IME_ACTION_DONE){ web..

    [패스트캠퍼스 챌린지 10일차] Android WebBrowser

    Simple Web Browser를 만들기 위해서 오늘은 UI를 구성하였습니다. 홈버튼과 주소가 들어갈 Edit text와 back버튼과 forward버튼을 구성해주었습니다. 그 아래에는 WebView를 생성해주었습니다. 패스트캠퍼스 바로가기 -> https://bit.ly/3FVdhDa 본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

    [패스트캠퍼스 챌린지 9일차] Android recorder

    오늘 모든 기능들을 다 구성하였다. 녹음을 하고 재생을 했을 때 소리의 크기에 따라 진폭을 나타나게 해주는 class와 녹음, 재생 시간에 따라 textview 가 변하는 class 를 만들어주었다. private val visualizeRepeatAction: Runnable = object :Runnable{ override fun run() { if(!isReplaying) { val currentAmplitude = onRequestCurrentAmplitude?.invoke() ?: 0 drawingAmplitude = listOf(currentAmplitude) + drawingAmplitude }else{ replayingPosition++ } invalidate() handler?.post..

    [백준] 1003 c++ 피보나치 함수

    https://www.acmicpc.net/problem/1003 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net [문제] 다음 소스는 N번째 피보나치 수를 구하는 C++ 함수이다.int fibonacci(int n) { if (n == 0) { printf("0"); return 0; } else if (n == 1) { printf("1"); return 1; } else { return fibonacci(n‐1) + fibonacci(n‐2); } } fibonacci(3)을 호출하면 다음과 같은 일이 일어난다. fibonacci(3)은 fibonacci(2)와 fibonacci(1) (첫 번째 호출..