Study (66) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ Git, GitHub๋? Git ์๊ฐ ๋๊ตฌ ๊ฐ์ - ๋ฒ์ ๊ด๋ฆฌ์ ๋ํ ๋๊ตฌ ๋ชฉ์ : ์ปค๋ฎค๋์ผ์ด์ - ์ฐ์ถ๋ฌผ์ ๋ฌด๊ฒฐ์ฑ ํ๋ณด - ์์ค์ฝ๋ ๋ฒ์ ๊ด๋ฆฌ - ํ์ผ ๋ณ๊ฒฝ ์ด๋ ฅ ๊ด๋ฆฌ - ์ ์ด๋ ๊ฒ ์์ ํ๋์ง ํ์ธ ์ผ๋ฐ์ ์ธ ์ฌ์ฉ ๋ฐฉ๋ฒ - ๋ณ๋์ ์ ์ฅ์ ์ด์ ์๋ฒ ์ฌ์ฉ - Git: GitHub, Bitbucket, Gitlab, Gitblit - ํด๋ผ์ด์ธํธ๋ Core๋ ๋ณ๋์ ํ์ฅ ๋๊ตฌ ์ฌ์ฉ - Eclipse/Intelli J ๊ณ์ด/Vs Code ํ๋ฌ๊ทธ์ธ: ๊ธฐ๋ณธ ํฌํจ Git ๊ฐ์ ์ญ์ฌ - 2005๋ ๋ฆฌ๋์ค ํ ๋ฐ์ฆ๋ฅผ ์ค์ฌ์ผ๋ก ๊ฐ๋ฐ - ํ์ฌ GitHub์์ ์ด์ ์ฌ์ฉ ์ฃผ์ฒด - ๋ฆฌ๋ ์ค, Git์ ํฌํจํ์ฌ ์ฃผ์ ์คํ์์ค๋ Git(GitHub) ์ฌ์ฉ - ํ์ฌ์ ์ ๊ท ํ๋ก์ ํธ๋ Git์ ๋ง์ด ์ฌ์ฉํ๋ ์ถ์ธ Git ๋ถ์ฐ ์์คํ ๊ธฐ๋ฐ - ์๊ฒฉ ์ ์ฅ์์ ๋์ผํ .. [์๋๋ก์ด๋ ์ฝํ๋ฆฐ] 14. DB ํ๋ก์ ํธ - ์๊ฐ์ ์ ๋ณด ๊ด๋ฆฌ DB ํ๋ก์ ํธ ์๊ฐ์ ์ ๋ณด ๊ด๋ฆฌ ์ฃผ์ ๊ตฌ์ฑ - ์ด 4๊ฐ์ ํ๋ฉด์ผ๋ก ๊ตฌ์ฑ๋จ - ์ฑ์ ์๊ฐํ๋ ๋ฉ์ธ ํ๋ฉด - ์๊ฐ์ ์ ๋ณด๋ฅผ ์ ๋ ฅํ๋ ํ๋ฉด - ๊ฐ๋ณ ์๊ฐ์ ์ ๋ณด๋ฅผ ์ถ๋ ฅํ๋ ํ๋ฉด - ๋ชจ๋ ์๊ฐ์ ์ ๋ณด๋ฅผ ์ถ๋ ฅํ๋ ํ๋ฉด - SQLite ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉ - ์ถ๋ ฅํด์ผ ํ ๋ฐ์ดํฐ ์๊ฐ ์ ํด์ ธ ์์ง ์์ผ๋ฏ๋ก ๋์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ค์ ํจ ํ์ผ ํธ์ง ์์ - ๋ฉ์ธ์กํฐ๋นํฐ - MainActivity.kt / activity_main.xml / menu_main.xml - ์๊ฐ์ ๋ฑ๋ก ์กํฐ๋นํฐ - PersonnelReg.kt / activity_personnel_reg.xml/menu_personnel_reg.xml - ์๊ฐ์ ์ ๋ณด ์กํฐ๋นํฐ - PersonnelInfo.kt / activity_personnel_info.xml .. [์๋๋ก์ด๋ ์ฝํ๋ฆฐ] 13. DB ํ๋ก์ ํธ - ๊ทธ๋ฃน ๊ด๋ฆฌ DB ํ๋ก์ ํธ ๊ทธ๋ฃน ๊ด๋ฆฌ [์ฐธ๊ณ ] ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐฉ๋ฒ ๋ฐฉ๋ฒ ์ค๋ช ๊ณต์ ํ๋ ํผ๋ฐ์ค(Shared Preferences) ํค-๊ฐ ์(key-value pair)์ผ๋ก ๋ฐ์ดํฐ ์ ์ฅ ๋ด๋ถ ์ ์ฅ(Internal Storage) ๋ด๋ถ ์ ์ฅ์์ ์ ์ฅ ์ธ๋ถ ์ ์ฅ(External Storage) ์ธ๋ถ ์ ์ฅ์์ ์ ์ฅ ๋ฐ์ดํฐ๋ฒ ์ด์ค(Database) ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ ๋คํธ์ํฌ ์ฐ๊ฒฐ(Network Connection) ๋ฐ์ดํฐ๋ฅผ ๋คํธ์ํฌ ์๋ฒ์ ์ ์ฅ - ๋ด๋ถ ์ ์ฅ์์ ๊ฒฝ์ฐ, ์ฌ์ฉ์๊ฐ ์ฑ ์ ๊ฑฐํ๋ฉด ํ์ผ๋ ๊ฐ์ด ์ ๊ฑฐ๋จ - ์ธ๋ถ์ ์ฅ: SD์นด๋ ๊ฐ์ ์ธ๋ถ ์ ์ฅ์ ํ์. ๋ชจ๋ ์ฑ๋ค์ด ๋ค ์ ๊ทผํ ์ ์์(๊ณต์ ํ์ํ ํ์ผ์ ์ ํฉ) - ๋ด๋ถ์ ์ธ๋ถ๋ฅผ ๊ตฌ๋ถํ๋ ๊ฐ์ฅ ํฐ ํน์ง: permission - ๋ด๋ถ: permissio.. [์๋๋ก์ด๋ ์ฝํ๋ฆฐ] 12. ์ค์ ํ๋ก์ ํธ(5) - ์ค๋กํฐ ์ค์ ํ๋ก์ ํธ ์ค์ต - ์์ ๋ฑ ์ฃผ์๊ตฌ์ฑ - ๊ฐ๋กํ๋ฉด์ผ๋ก ๊ณ ์ ๋ ํ ์กํฐ๋นํฐ์ ๋, ๋ , ๋ฏธ, ํ, ์, ๋ผ, ์, ๋ ์ํ์ด ์์ - ์ํ์ ๋๋ฅด๋ฉด ํด๋น ์์ด ์ฌ์๋จ - ์ํ์ ํ ์คํธ ๋ทฐ ์์ฑ์ ์์ ํ๊ณ , ์๋ฆฌ๋ SoundPool ํด๋์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ํจ - SoundPool์ ์๋๋ก์ด๋ 5.0๋ถํฐ ์ฌ์ฉ๋ฒ์ด ๋ฌ๋ผ์ง - ๊ตฌ ๋ฒ์ ๊ณผ ์ ๋ฒ์ ๊ธฐ๊ธฐ์์ ๋ชจ๋ ์ ๋์ํ๋๋ก ๋ฒ์ ๋ถ๊ธฐ๋ฅผ ์ ์ฉํจ 1. ๋ ์ด์์ ์์ฑ ๊ฐ๋ก ๋ชจ๋๋ก ๊ณ ์ ํ๊ธฐ ๋ฐฉ๋ฒ1) MainActivity.kt class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { // ํ๋ฉด์ด ๊ฐ๋ก ๋ชจ๋๋ก ๊ณ ์ ๋๊ฒ ํ๊ธฐ ์ฒซ๋ฒ์งธ ๋ฐฉ๋ฒ //requestedOr.. [์๋๋ก์ด๋ ์ฝํ๋ฆฐ] 11. ์ค์ ํ๋ก์ ํธ(4) - ์์ ๋ฑ / + ์๋น์ค ์ค์ ํ๋ก์ ํธ ์ค์ต - ์์ ๋ฑ ์ฃผ์๊ตฌ์ฑ - ์์ ๋ฑ ์ฑ์ ์ฑ๊ณผ ์์ ฏ์ผ๋ก ๊ตฌ์ฑ - ์ฑ๊ณผ ์์ ฏ ๋ชจ๋ ์์ ๋ฑ์ ์ผ๊ณ ๋๋ ์ธํฐํ์ด์ค๋ง์ ์ ๊ณตํ๊ณ ํต์ฌ ๊ธฐ๋ฅ์ ์๋น์ค์์ ์ํ โป ์์ ๋ฑ ๊ธฐ๋ฅ์ ๊ฐ์๊ธฐ๊ธฐ๋ก ๋ถ๊ฐ! ์๋๋ก์ด๋ ์คํ๋์ค์ ํด๋ํฐ ์ฐ๊ฒฐ ๋ฐฉ๋ฒ https://curryyou.tistory.com/375 1. ์์ ๋ฑ ๊ธฐ๋ฅ ๊ตฌํ ์์ ๋ฑ ๊ธฐ๋ฅ์ Torch ํด๋์ค ์์ฑ - ์์ ๋ฑ ๊ธฐ๋ฅ์ ๋ณ๋์ ํด๋์ค๋ก ๋ถ๋ฆฌํด์ Torch ํด๋์ค๋ฅผ ์๋ก ์์ฑ โ ํ๋ก์ ํธ ์ฐฝ์ ํจํค์ง๋ช ์์ ๋ง์ฐ์ค ์ฐํด๋ฆญ์ ํ์ฌ New → Kotlin File/Class๋ฅผ ํด๋ฆญํ๋ฉด ํ์ผ ์ข ๋ฅ์ ์ด๋ฆ์ ๊ฒฐ์ ํ๋ ํ๋ฉด์ด ํ์ โก ํ์ผ ์ด๋ฆ์ผ๋ก Torch๋ฅผ ์ ๋ ฅํ๊ณ ์ข ๋ฅ๋ Class๋ฅผ ์ ํํ์ฌ OK๋ฅผ ํด๋ฆญ โ ์ด ํด๋์ค๋ ํ๋์๋ฅผ ์ผ๋ flashOn( ) .. [์๋๋ก์ด๋ ์ฝํ๋ฆฐ] 10. ์ค์ ํ๋ก์ ํธ(3) - ์ ์์ก์ ์ค์ ํ๋ก์ ํธ ์ค์ต - ์ ์ ์ก์ ์ฃผ์๊ตฌ์ฑ - ํ๋๊ทธ๋จผํธ๋ผ๋ UI ์กฐ๊ฐ์ผ๋ก ๊ตฌ์ฑํ๊ณ ํ๋๊ทธ๋จผํธ๋ค์ ์ข์ฐ๋ก ์ฌ๋ผ์ด๋ ํ ์ ์๋๋ก ๋ทฐํ์ด์ ViewPager๋ฅผ ์ฌ์ฉ - ์ฌ์ง์ด๋ฏธ์ง ๋ก๋ฉ์ Glide ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉ - timer๋ฅผ ์ฌ์ฉํ์ฌ ์๋์ผ๋ก ์ฌ๋ผ์ด๋ ๋๊ฒ ํจ 1. ํ๋ก๋ฐ์ด๋ ์ฌ์ฉ ์ฝํ ์ธ ํ๋ก๋ฐ์ด๋ - ์ฑ์ ๋ฐ์ดํฐ ์ ๊ทผ์ ๋ค๋ฅธ ์ฑ์ ํ์ฉํ๋ ์ปดํฌ๋ํธ - ํ๋ก๋ฐ์ด๋๋ฅผ ์ด์ฉํ์ฌ ์ฌ์ง ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์ค๋ ์์ โ ์ฌ์ง ๋ฐ์ดํฐ๋ ์ธ๋ถ ์ ์ฅ์์ ์ ์ฅ๋์ด ์์ผ๋ฏ๋ก ์ธ๋ถ ์ ์ฅ์ ์ฝ๊ธฐ ๊ถํ์ ์ฑ์ ๋ถ์ฌ โก ์ธ๋ถ ์ ์ฅ์ ์ฝ๊ธฐ ๊ถํ์ ์ํ ๊ถํ์ผ๋ก ์คํ ์ค์ ์ฌ์ฉ์์๊ฒ ๊ถํ์ ํ์ฉํ๋๋ก ํจ โข contentResolver ๊ฐ์ฒด๋ฅผ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ Cursor ๊ฐ์ฒด๋ก ๊ฐ์ง๊ณ ์ด ์๋๋ก์ด๋ 4๋ ์ปดํฌ๋ํธ - ์กํฐ๋นํฐ: ํ๋ฉด.. [์๋๋ก์ด๋ ์ฝํ๋ฆฐ] 9. ์ค์ ํ๋ก์ ํธ(2) - ์คํฑ์์น ์ค์ ํ๋ก์ ํธ ์ค์ต - ์คํฑ ์์น ์ฃผ์๊ตฌ์ฑ - ๋น ๋ฅด๊ฒ ๊ณ์ฐํ๋ฉด์ UI๋ฅผ ๊ฐฑ์ - ๊ฐ๊ฐtimer์ runOnUiThread ๋ฉ์๋๋ฅผ ์ฌ์ฉํด ๊ตฌํ - ๋ฉํ์์ ๋์ ํ์ฌ ํ์ํ ScrollView์ ๋์ ์ผ๋ก TextView๋ฅผ ์ถ๊ฐ 1. ํ๋ฉด๊ตฌ์ฑ - ์๊ฐ์ ํ์ํ๋ TextView 2๊ฐ - ํ์ด๋จธ๋ฅผ ์์ ๋ฐ ์ผ์์ ์ง, ์ด๊ธฐํํ๋ FloatingActionButton (๋ฒกํฐ ์์ด์ฝ ์ด๋ฏธ์ง 3๊ฐ ์ถ๊ฐ) - tint๋ก ์์ ๋ฐ๊พธ๊ธฐ → xml ์ฝ๋์์ app:tint="@color/white"์ถ๊ฐ - FloatingActionButton ์ถ๊ฐ์ No speakable text present๋ผ๋ ์ค๋ฅ ๋ฉ์์ง๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ activity_main.xml์์ FloatingActionButtom ์์ฑ์ tools:ign.. [์๋๋ก์ด๋ ์ฝํ๋ฆฐ] 8. ์ค์ ํ๋ก์ ํธ(1) - ๋น๋ง๋๊ณ์ฐ๊ธฐ ์ค์ ํ๋ก์ ํธ ์ค์ต - ๋น๋ง๋ ๊ณ์ฐ๊ธฐ ์ฃผ์๊ตฌ์ฑ - ๋ชธ๋ฌด๊ฒ๋ฅผ ์ ๋ ฅํ๋ ํ๋ฉด๊ณผ ๋น๋ง๋ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์ฃผ๋ ํ๋ฉด์ผ๋ก ๊ตฌ์ฑ๋์ด ์กํฐ๋นํฐ๊ฐ ๋ ๊ฐ ํ์ํจ - ์ธํ ํธ์ ๋ฐ์ดํฐ๋ฅผ ๋ด์์ ๋ค๋ฅธ ํ๋ฉด์ผ๋ก ์ ๋ฌํจ - ConstraintLayout ๊ธฐ๋ฐ 1. res > values > color.xml - ์ก์ ๋ฐ ์์ ๋ฐ๊พธ๊ธฐ ์ํด ์ปฌ๋ฌ ์ฝ๋ ์ถ๊ฐ - 16์ง์๋ก #FF000000 #FFFFFFFF #FF018786 #00584A 2. res > values > themes > themes.xml - 3. activity_main.xml design๋ชจ๋์์ ์์ ฏ ์ถ๊ฐ - EditText 2๊ฐ, Button 1๊ฐ 4. activity_result.xml design๋ชจ๋์์ ์์ ฏ ์ถ๊ฐ - File > New > Activity > E.. ์ด์ 1 2 3 4 5 ยทยทยท 9 ๋ค์