๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ129

Android::๊ณ ์–‘์ด๊ฒŒ์ž„::๋ ˆ๋ฒจ๋””์ž์ธ::๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค:: SharedPreference [ ๋กœ๊ทธ์ธ / ํšŒ์›๊ฐ€์ž… ๊ตฌํ˜„ ํ™”๋ฉด ] - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. - ์ค‘๋ณต ์ฒดํฌ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. - ํ•œ ๋ฒˆ ๋กœ๊ทธ์ธ ํ•˜๋ฉด ์ž๋™ ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ์ด ์žˆ๋Š”๋ฐ ์ด๋Š” SharedPreference ๋กœ ๊ตฌํ˜„ํ•˜์˜€์Šต๋‹ˆ๋‹ค. [ ๊ฒŒ์ž„ ํ™”๋ฉด ] - ์‚ฌ์šฉ์ž์˜ ์ ์ˆ˜๋Š” SharedPreference๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ •๋ ฌ ํ›„ 5๊ฐœ๋งŒ ํ‘œ์‹œ ํ•ฉ๋‹ˆ๋‹ค. - ์ ์ˆ˜์˜ SharedPreference๋Š” ๊ฐ ๋ ˆ๋ฒจ ๋ณ„๋กœ ์žˆ์Šต๋‹ˆ๋‹ค. - ํƒ€์ด๋จธ ์‹œ๊ฐ„์„ ๊ฐ€๋“ ์ฑ„์šฐ๊ณ , ์ผ์ • ์ ์ˆ˜๋ฅผ ๋„˜์–ด์•ผ ๋‹ค์Œ ๋ ˆ๋ฒจ๋กœ ๋„˜์–ด๊ฐ‘๋‹ˆ๋‹ค. - ํ•œ ๋ฒˆ ํด๋ฆญ์„ ์š”ํ•˜๋Š” ๊ณ ์–‘์ด๋Š” bounce ์• ๋‹ˆ๋ฉ”์ด์…˜์ด, ๋‘ ๋ฒˆ์ด์ƒ์˜ ํด๋ฆญ์„ ์š”ํ•˜๋Š” ๊ณ ์–‘์ด๋Š” blink ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. - ํƒ€์ด๋จธ๋Š” onPause์‹œ ๋ฉˆ์ถฐ๋†“๊ณ  ๋‹ค์‹œ ์žฌ์‹คํ–‰ ํ•˜๋„๋ก ๊ตฌํ˜„ํ•˜์˜€์Šต๋‹ˆ๋‹ค. 2020. 8. 13.
Android::์“ฐ๋ ˆ๋“œ, ํ•ธ๋“ค๋Ÿฌ ๊ณต๋ถ€ํ•˜๊ธฐ + ๊ณ ์–‘์ด ์šฐ์œ ์ฃผ๊ธฐ ๊ฒŒ์ž„ โ— ์“ฐ๋ ˆ๋“œ ์ฃผ์š” ์ •๋ฆฌ ↓ ๋งŽ์€ ๋„์›€์ด ๋œ ๋ธ”๋กœ๊ทธ https://brunch.co.kr/@mystoryg/84 โ— ๊ฒŒ์ž„ ์™„์„ฑ ๋ชจ์Šต โ— ๊ฒŒ์ž„ ๊ธฐํš์„œ 2020. 8. 6.
Android::SwipeMenuList → ๋ ˆ์ด์•„์›ƒ์„ ๊ตฌ์„ฑํ•˜๋ฉด์„œ button์— ์ด๋ฒคํŠธ๋ฅผ ๋“ฑ๋ก์‹œํ‚ค๋Š” ๊ฒƒ. " "์•ˆ์— ๋“ค์–ด๊ฐ€๋Š”๊ฒŒ java ์—์„œ ์‚ฌ์šฉํ•  ํ•จ์ˆ˜ ๋ช…. ๋งŒ์•ฝ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ํ•ด๋‹นํ•˜๋Š” " "ํ•จ์ˆ˜๋ฅผ ์ฐพ์•„ ์‹คํ–‰์„ ํ•˜๊ฒŒ ๋œ๋‹ค. https://copycoding.tistory.com/47 ViewHolder? ๋ทฐ๋“ค์„ ํ™€๋”์— ๊ผฝ์•„ ๋†“๋“ฏ์ด ๋ณด๊ด€ํ•˜๋Š” ๊ฐ์ฒด๋ฅผ ๋งํ•œ๋‹ค. ๊ฐ๊ฐ์˜ Row๋ฅผ ๊ทธ๋ ค๋‚ผ ๋•Œ, ๊ทธ ์•ˆ์˜ ์œ„์ ฏ๋“ค์˜ ์†์„ฑ์„ ๋ณ€๊ฒฝํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ํŒจํ„ด. ์ฃผ๋กœ ListView์˜ ํผํฌ๋จผ์Šค๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค. https://uroa.tistory.com/6 ↓ ๊ณต์‹ ๋ฌธ์„œ๋„ ์ฐธ๊ณ . https://developer.android.com/guide/topics/ui/layout/recyclerview#ViewHolder Dp์™€ PX ์ฐจ์ด inma.tistory... 2020. 8. 1.
Android::RecyclerView, Lottie, Animation ์‚ฌ์šฉํ•ด์„œ ๋ฉ”๋ชจ์žฅ ์•ฑ ์ˆ˜์ •ํ•˜๊ธฐ โ— 1์ฐจ ์™„์„ฑ ๋™์˜์ƒ โ— ์ฝ”๋“œ activity_main.xml CustomAdapter package com.example.rvmemoapplication; import android.content.Context; import android.content.Intent; import android.text.Layout; import android.util.TypedValue; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.ImageButton; .. 2020. 7. 30.
OpenGL๋กœ ๋ฐฐ์šฐ๋Š” 3์ฐจ์› ์ปดํ“จํ„ฐ ๊ทธ๋ž˜ํ”ฝ์Šค::6์žฅ&์—ฐ์Šต๋ฌธ์ œ โ— 6์žฅ ์—ฐ์Šต๋ฌธ์ œ 1. ๊ทœ์น™์ ์ธ ๊ณก๋ฉด์ผ์ˆ˜๋ก ํ‘œ๋ฉด์„ ํ‘œํ˜„ํ•˜๋Š” ๋ฐ ๋”์šฑ ๋งŽ์€ ์ˆ˜์˜ ๋‹ค๊ฐํ˜•์ด ์‚ฌ์šฉ๋œ๋‹ค. (True/False) 2. 3์ฐจ์› ๊ณต๊ฐ„์—์„œ ์ž„์˜์˜ ๋„ค ์ ์„ ์—ฐ๊ฒฐํ•œ ๋‹ค๊ฐํ˜•์€ ํ•ญ์ƒ ํ‰๋ฉด์ด๋‹ค. (True/False) → 3 ์ ์„ ์—ฐ๊ฒฐํ•œ ๋‹ค๊ฐํ˜•์ด ํ•ญ์ƒ ํ‰๋ฉด์ด๊ณ , ๋น› ๊ณ„์‚ฐ๋“ฑ์„ ํ•  ๋…ธ๋ฉ€ ๋ฒกํ„ฐ๊ฐ€ ํ‰๋ฉด์—์„œ ์ •ํ™•ํžˆ ๋‚˜์˜ค๊ธฐ ๋•Œ๋ฌธ์— ์‚ผ๊ฐํ˜•๋ชจ์–‘์„ ๋งŽ์ด ์“ด๋‹ค. 3. ์˜ค๋ฅธ์† ์ขŒํ‘œ๊ณ„์™€ ์™ผ์† ์ขŒํ‘œ๊ณ„์˜ z์ถ• ๋ฐฉํ–์€ ํ•ญ์ƒ ์„œ๋กœ ๋ฐ˜๋Œ€์ด๋‹ค. (True/False) 4. ๋ฒกํ„ฐ A,B,C๊ฐ€ ์žˆ์„ ๋•Œ C= 5A+B/3์œผ๋กœ ํ‘œ์‹œ๋œ๋‹ค๋ฉด C๋Š” A,B์™€ ์„ ํ˜•๋…๋ฆฝ์ด๋‹ค. (True/False) → ์„ ํ˜•๋…๋ฆฝ์€ ๋ˆˆ์œผ๋กœ ๋ณผ๋•Œ ์ง๊ตํ•˜๋Š” ๊ฒƒ ๊ฐ™์€ ๊ฑธ๋กœ, ์ €๋ ‡๊ฒŒ ํ‘œํ˜„ ๋˜์ง€ ์•Š๋Š”๋‹ค. 5. ๋Œ€๊ฐ์„  ์š”์†Œ๊ฐ€ 1,2,1,1์ธ ํฌ๊ธฐ ์กฐ์ ˆ ํ–‰๋ ฌ์€ ๊ท ๋“ฑ ํฌ๊ธฐ ์กฐ์ ˆ์— ํ•ด๋‹นํ•œ๋‹ค... 2020. 7. 26.
Android::๋ฆฌ์ŠคํŠธ๋ทฐ์‚ฌ์šฉํ•ด์„œ ๋ฉ”๋ชจ์žฅ๋งŒ๋“ค๊ธฐ โ— ์™„์„ฑํ•œ ๋ทฐ [O] ์ƒˆ๋กœ์šด ๋ฉ”๋ชจ ์ถ”๊ฐ€ [O] ๋ฉ”๋ชจ ํด๋ฆญ์‹œ ํŽธ์ง‘ [O] ๋ฉ”๋ชจ ๋กฑํด๋ฆญ์‹œ ์‚ญ์ œ ๊ฐ€๋Šฅ [X] ๊ฒ€์ƒ‰ โ— ์ž‘์„ฑํ•œ ์ฝ”๋“œ MainActivity package com.example.memoapplication; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; import android.app.Dialog; import android.content.DialogInterface; import android.content.Intent; import android... 2020. 7. 24.
Android::Java ๋ฌธ๋ฒ• +๏ผ  โ— Sp, dp https://velog.io/@rjsdnqkr1/SP%EC%99%80-DP%EC%9D%98-%EC%B0%A8%EC%9D%B4 DP ( Density - Independent Pixels) Ui ๋ ˆ์ด์•„์›ƒ์„ ์ •์˜ํ•  ๋•Œ, ๋ ˆ์ด์•„์›ƒ ์น˜์ˆ˜๋‚˜ ์œ„์น˜๋ฅผ ์ง€์ •ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋‹จ์œ„. ํ”ฝ์…€ ๋…๋ฆฝ ๋‹จ์œ„์ด๋ฉฐ ํ™”๋ฉด์˜ ํฌ๊ธฐ๊ฐ€ ๋‹ฌ๋ผ๋„ ๋™์ผํ•œ ๋น„์œจ๋กœ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•ด ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ ์ •์˜ํ•œ ๋‹จ์œ„์ด๋‹ค. SP (Scale - Independent Pixels) ๋ ˆ์ด์•„์›ƒ์„ ์ •์˜ํ•  ๋•Œ ํ…์ŠคํŠธ์˜ ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋‹จ์œ„ → sp๋Š” TextView์˜ textSize๋ฅผ ์ง€์ •ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. Dp๋Š” ํ™”๋ฉด์— ๋”ฐ๋ผ ์‚ฌ์ด์ฆˆ๊ฐ€ ๋‹ฌ๋ผ์ง€์ง€ ์•Š๊ณ  ๊ณ ์ •๋œ ๊ฐ’์„ ๊ฐ–๋Š”๋‹ค. Sp๋Š” ์‹œ์Šคํ…œ์˜ ์‚ฌ์ด์ฆˆ์— ๋”ฐ๋ผ TextView๊ฐ€ ์ž‘์•„์ง€๊ฑฐ๋‚˜ ์ปค์ง„๋‹ค... 2020. 7. 21.
Android:: countDownTimer & Lifecycle โ— CountDownTimer https://stackoverflow.com/questions/5738362/pause-countdowntimer-in-android-when-activity-is-not-in-front https://iw90.tistory.com/127 https://developer.android.com/reference/android/os/CountDownTimer // 30์ดˆ๋ฅผ 1์ดˆ ๋‹จ์œ„๋กœ ์นด์šดํŠธ ๋‹ค์šด ํ•˜๋Š” ์นด์šดํŠธ๋‹ค์šดํƒ€์ด๋จธ new CountDownTimer(30000, 1000) { public void onTick(long millisUntilFinished) { mTextField.setText("seconds remaining: " + millisUntilFinished / .. 2020. 7. 21.
Android::LifeCycle ํ™œ์šฉํ•˜์—ฌ App๋งŒ๋“ค๊ธฐ โ— ์™„์„ฑํ•œ ๊ฒŒ์ž„ ๋ทฐ โ— ์ฝ”๋“œ 1) MainActivity package com.example.colortimergame_2; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.os.CountDownTimer; import android.util.Log; import android.view.View; import android.widget.ImageButton; import android.widget.TextView; import android.widget.Toast; import java.util.ArrayList; import java.u.. 2020. 7. 21.
OpenGL๋กœ ๋ฐฐ์šฐ๋Š” 3์ฐจ์› ์ปดํ“จํ„ฐ ๊ทธ๋ž˜ํ”ฝ์Šค::Project_1/4 โ— ํ”„๋กœ์ ํŠธ ๋ชฉํ‘œ 1) S ํด๋ฆญ์‹œ์— Solid ๋ Œ๋”๋ง 2) W ํด๋ฆญ์‹œ์— Wire ๋ Œ๋”๋ง 3) ๋งˆ์šฐ์Šค ์›€์ง์ž„์œผ๋กœ ์‹œ์  ๋ฐ”๊พธ๊ธฐ 4) ํƒ์ž๋ฅผ ๊ทธ๋ฆฐ ํ›„ ๊ทธ ์œ„์— ๋ฌผ์ฒด๋ฅผ ์˜ฌ๋ ค ๋†“๋Š”๋‹ค. โ— ํ”„๋กœ์ ํŠธ ๋™์˜์ƒ ๊ฒฐ๊ณผ โ— ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ #include #include #include #define WIDTH 400 #define HEIGHT 400 GLboolean IsWire = true; GLboolean IsSolid = true; int ViewX = 0, ViewY = 0;// ๋งˆ์šฐ์Šค ์›€์ง์ž„์— ๋”ฐ๋ผ ์‹œ์ ์„ ๋ฐ”๊พธ๊ธฐ ์œ„ํ•œ ๋ณ€์ˆ˜ void InitLight() { GLfloat mat_diffuse[] = { 0.5,0.4,0.3,1.0 }; GLfloat mat_specular[] = { 1.0,1.0,1.0,1.0 .. 2020. 7. 21.
OpenGL๋กœ ๋ฐฐ์šฐ๋Š” 3์ฐจ์› ์ปดํ“จํ„ฐ ๊ทธ๋ž˜ํ”ฝ์Šค::5์žฅ&์—ฐ์Šต๋ฌธ์ œ โ— 5์žฅ ์—ฐ์Šต๋ฌธ์ œ 1. ์ „๊ธฐ ํŒจ๋„์— ์˜ํ•œ ํ„ฐ์น˜ ์Šคํฌ๋ฆฐ์—์„œ๋Š” ํ™”๋ฉด ํ‘œ๋ฉด์˜ ๋ง‰์„ ์„ธ๊ฒŒ ๋ˆ„๋ฅด์ง€ ์•Š์•„๋„ ์œ„์น˜๊ฐ€ ๊ฐ์ง€๋œ๋‹ค. (True / False) → ๊ด‘ํ•™ ํŒจ๋„์€ ๋น›์„ ์†๊ฐ€๋ฝ์ด ๊ฐ€๋ฆฌ๋ฉด ๋ˆ„๋ฅธ ๊ฑธ๋กœ ๊ฐ์ง€๋ฅผ ํ•˜์ง€๋งŒ ์ „๊ธฐ ํŒจ๋„์€ ๋ง‰์ด ๋ˆŒ๋ฆฌ๊ณ  ๋‹ฟ๋Š” ๊ฒƒ์— ์˜ํ•ด์„œ ์œ„์น˜๋ฅผ ๊ฐ์ง€ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ™”๋ฉด์˜ ๋ง‰์„ ์„ธ๊ฒŒ ๋ˆŒ๋Ÿฌ์•ผ ํ•œ๋‹ค. 2. ์ž…๋ ฅ ์žฅ์น˜์˜ ์„ ํƒ์— ๊ด€ํ•œ ํ•œ ๋ฆฌํ€˜์ŠคํŠธ ๋ชจ๋“œ์—์„œ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ฃผ๋„๊ถŒ์„ ์ฅ”๋‹ค. (True / False) →์ด๋ฒคํŠธ ๋ชจ๋“œ์—์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅ ์žฅ์น˜ ์„ ํƒ์— ์ฃผ๋„๊ถŒ์„ ์ฅ˜ ์ˆ˜ ์žˆ๋‹ค. 3. ์ง€์—˜์—์„œ ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋ฅผ ๋“ฑ๋กํ•˜๋Š” ๋ช…๋ น์–ด๋Š” ์„œ๋กœ ์ˆœ์„œ๊ฐ€ ๋ฐ”๋€Œ์–ด๋„ ๋œ๋‹ค. (True / False) → ํ•ด๋‹น ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒ์‹œ, ํ•ด๋‹น ์ด๋ฒคํŠธ ์ฝœ๋ฐฑํ•จ์ˆ˜์— ๋“ฑ๋ก๋œ ๊ฒƒ์ด ์‹คํ–‰๋˜๋Š” ๊ฒƒ์ž„์œผ๋กœ ์ˆœ์„œ๊ฐ€ ๋ฐ”๋€Œ์–ด๋„ ์ƒ๊ด€ ์—†๋‹ค. 4. ์ง€์—˜ ํ”„๋กœ๊ทธ๋žจ์—์„œ๋Š” ์ฝœ.. 2020. 7. 20.
Android::Awesome UI (์•„๋ž˜ ์ฒจ๋ถ€๋œ ํŒŒ์ผ์€ ๋ชจ๋‘ GIF ํŒŒ์ผ์ž…๋‹ˆ๋‹ค) โ— ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ฐ€์ ธ๋‹ค ์“ธ๋•Œ ํ•˜๋Š” ๋ฐฉ๋ฒ• 1) Gradle Scripts → bulild.gradle(Module:app) → dependecies์— implementation ํ•  ' ' ์ถ”๊ฐ€. ๋ณดํ†ต์€ ๊นƒํ—™ ์ •๋ณด์— ์ด๋Ÿฐ๊ฒŒ ๋ช…์‹œ ๋˜์–ด ์žˆ๋‹ค. 2) layout์—์„œ ์‹œํ—˜์šฉ 3) ์ถ”๊ฐ€์ ์ธ ์ž๋ฐ” ํด๋ž˜์Šค๊ฐ€ ํ•„์š”ํ•  ๋•Œ๋Š” ๋งŒ๋“ ๋‹ค. โ— MagicButton : ๋™๊ทธ๋ผ๋ฏธ์—์„œ ๊ธธ์–ด์ง€๋Š”๊ฑฐ https://github.com/bloderxd/MagicButton/blob/master/app/src/main/res/layout/activity_main.xml โ— StylishButton : submit ๋ฒ„ํŠผ์— ์• ๋‹ˆ๋ฉ”์ด์…˜ ํšจ๊ณผ https://github.com/SparkYuan/Submi.. 2020. 7. 14.