๋ชฉ๋ก์ ์ฒด ๊ธ (113)
๐ฑ dreaming DiNO
์๋๋ก์ด๋ Q ์ดํ, ์๋๋ฐ์ค ๊ตฌ์กฐ์ ์ธ๋ถ ์ ์ฅ์์์ ํ์ผ์ ์ฝ์ด ๋ณด์ ์๋๋ก์ด๋ Q์ Scoped Storage TODO:: ํ๋ก์ ํธ์ ํฌํจ๋ ํ ์คํธ ํ์ผ์, ์ธ๋ถ ์ ์ฅ์ com.app.a ๋ก ๋ณต์ฌํ์ฌ, ํ์ํ ๋๋ง๋ค ์ฑ์ ์ธ๋ถ ์ ์ฅ์์ ์ ๊ทผํ์ฌ ๋ด์ฉ์ ์ฝ์ด ์ฌ ๊ฒ! 1. ํ๋ก์ ํธ ๋ด, assets/datasets/aaa.txt 2. ์ธ๋ถ ์ ์ฅ์ ์ฝ๊ธฐ/์ฐ๊ธฐ ๊ฐ๋ฅ ์ฌ๋ถ ํ์ธ // TODO:: ์ ์ฅ์ ํ ์คํธ VCDebugLog.d(logTag, "isReadable: ${isExternalStorageReadable()}") // true VCDebugLog.d(logTag, "isWritable: ${isExternalStorageWritable()}") // true testCopy() // Check..
Gradle signingReport ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์๋ช ์ธ์ฆ์์ SHA-1์ ๊ฐ์ ธ์ฌ ์๋ ์๋ค. ./gradlew signingReport ์๋ช ๋ณด๊ณ ์์๋ ๊ฐ ์ฑ์ ๋ณํ์ ๊ดํ ์๋ช ์ ๋ณด๊ฐ ํฌํจ๋ฉ๋๋ค. > Task :app:signingReport Variant: debug Config: debug Store: ~/.android/debug.keystore Alias: AndroidDebugKey MD5: A5:88:41:04:8D:06:71:6D:FE:33:76:87:AC:AD:19:23 SHA1: A7:89:E5:05:C8:17:A1:22:EA:90:6E:A6:EA:A3:D4:8B:3A:30:AB:18 SHA-256: 05:A2:2C:35:EE:F2:51:23:72:4D:72:67:A5:6C:8..
์ฐธ๊ณ ๊ธ : https://beeyoo0o0ncha.tistory.com/30 ์๋๋ก์ด๋ ๋ด๋ถ์ ์ฅ์ ์ธ๋ถ์ ์ฅ์ ์ดํดํ๊ฒ ์ ๋ฆฌ ์๋๋ก์ด๋์์ ์ฑ์ ์ ์ฅ์๊ฐ 2๊ฐ์ง๊ฐ์๋ค. ๋ด๋ถ ์ ์ฅ์(Internal Storage) , ์ธ๋ถ ์ ์ฅ์(External Storage) ๋ด๋ถ์ ์ฅ์ ํด๋น ์ฑ์ private ๊ณต๊ฐ์ด๋ฉฐ ๋ค๋ฅธ์ฑ์์ ์ ๊ทผ์ด ๋ถ๊ฐ๋ฅํ๋ค ๋ ธ์ถ๋๋ฉด ์๋๋ ์ฑ์ beeyoo0o0ncha.tistory.com https://brunch.co.kr/@huewu/8#comment [2021-06-04 ์ ๋ฐ์ดํธ] ์ด์ ์ ์๋๋ก์ด๋ 11์ ๋ํด ๊ณต๋ถํ๋ ๋ด์ฉ ์ค ์๋๋ก์ด๋ 10์์ ๋์จ ๊ฑฐ์ง๋ง 11์์๋ ์ธ๊ธ๋ ๋ฒ์ ์ง์ ์ ์ฅ์(Scoped Storage)์ ๊ด๋ จ ์ฌํญ๋ค์ ๋ํด ์ ๋ฆฌํด๋ณด๋ คํฉ๋๋ค. ใ ใ ๊ทธ๋ฆผ๊ณผ ํจ๊ป ๊ฐ๋จํ๊ฒ ..
https://velog.io/@jaeyunn_15/Android-SDK-Version-%EC%84%A4%EC%A0%95%EC%9D%84-%EC%99%9C-%EA%B7%B8-%EB%B2%84%EC%A0%84%EC%9C%BC%EB%A1%9C-%ED%95%A0%EA%B9%8C
# ๋๋ค ํจ์ ์ด์ฉ from random import * # Quiz 1 date = randint(4, 28) print("์คํ๋ผ์ธ ์คํฐ๋ ๋ชจ์ ๋ ์ง๋ ๋งค์",str(date),"์ผ๋ก ์ ์ ๋์์ต๋๋ค.") # """ ์ค๋ฐ๊ฟ sentence = 'ํ์ด์ฌ' print(sentence) sentence2 = "ํ์ด์ฌ2" print(sentence2) sentence3 = """ ์๋ ํ์ธ์, Mia์ ๋๋ค """ print(sentence3) # ์ฌ๋ผ์ด์ฑ # ์ฌ๋ผ์ด์ฑ # ํ์ํ ๋งํผ๋ง ์๋ฅด๊ธฐ jumin = "910914-2234567" print("์ฑ๋ณ : " + jumin[7]) print("์ฐ : " + jumin[0:2]) # index 0 ๋ถํฐ 2 ์ง์ ๊น์ง (0~1) print("์ : " + jumin[..
https://travislife.tistory.com/26 ๋งฅ๋ถ(Mac OS) ์๋์ฝ๋ค ๋ฐ ํ์ด์ฌ ์ค์นํ๋ ๋ฐฉ๋ฒ ๋งฅ๋ถ(Mac OS) ์๋์ฝ๋ค ๋ฐ ํ์ด์ฌ ์ค์นํ๋ ๋ฐฉ๋ฒ ์๋์ฝ๋ค(anaconda)๋? ์๋์ฝ๋ค(anaconda)๋ผ๋ ๊ฒ์ ํ์ด์ฌ์์ ๋ฐ์ดํฐ ๋ถ์ ๋ฑ์ ํ์ฉ๋๋ ๋ค์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํฌํจํ๊ณ ์๋ ์ผ์ข ์ ํจํค์งํ ์ํ travislife.tistory.com ์์ฑํ ๊ฐ์ํ๊ฒฝ ํ์ฑํ conda activate base conda activate base ๊ฐ์ํ๊ฒฝ ๋นํ์ฑํ conda deactivate conda deactivate
๐ง ์๋์ฝ๋ค ์ค์นํ๋๋ ํฐ๋ฏธ๋์์ (base) ๊ฐ ์๊ฒจ๋จ, ๊ทธ๋์ ์์ ๋ ค๊ณ ์ฐพ์๋ณธ ๊ธ 1. ํฐ๋ฏธ๋ ํ๋กฌํฌํธ ๋ด (base) ์๋ฏธ 2. ์๋์ฝ๋ค ๊ธฐ๋ณธ ํ๊ฒฝ ํ์ฑํ ์ฌ๋ถ ํ์ธ 3. ์๋์ฝ๋ค ๊ธฐ๋ณธ ํ๊ฒฝ ๋นํ์ฑํ 4. ์๋์ฝ๋ค ๊ธฐ๋ณธ ํ๊ฒฝ ํ์ฑํ 1. ํฐ๋ฏธ๋ ํ๋กฌํฌํธ ๋ด (base) ์๋ฏธ ํฐ๋ฏธ๋์ ์๋ ์คํฌ๋ฆฐ์ท์์ ๋นจ๊ฐ ๋ฐ์ค๋ก ์น (base)๊ฐ ์ถ๋ ฅ๋๋ ์ด์ ๋ ์๋์ฝ๋ค ๊ธฐ๋ณธ ํ๊ฒฝ(base)์ด ์๋์ผ๋ก ํ์ฑํ๋์ด ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ด๋ ์๋์ฝ๋ค์ auto_activate_base ์ต์ ์ด True ์ํ์ด๊ธฐ ๋๋ฌธ์ด์ฃ ํฐ๋ฏธ๋ ํ๋กฌํฌํธ์ ๋ ์๋ (base) 2. ์๋์ฝ๋ค ๊ธฐ๋ณธ ํ๊ฒฝ ํ์ฑํ ์ฌ๋ถ ํ์ธ ์๋์ฝ๋ค ๊ธฐ๋ณธ ํ๊ฒฝ ํ์ฑํ ์ฌ๋ถ๋ฅผ(auto_activate_base) ํ์ธํด ๋ด ๋๋ค. ํฐ๋ฏธ๋์ ์๋ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํฉ๋๋ค. c..
private var pattern: Pattern = Patterns.EMAIL_ADDRESS if (inputEmail.isNotEmpty() && inputPw.isNotEmpty()) { if (!pattern.matcher(inputEmail).matches()) { Toast.makeText(context, "์ด๋ฉ์ผ ํ์์ด ๋ง์ง ์์ต๋๋ค.", Toast.LENGTH_SHORT).show() return } ... } ์ ๊ณต ํจํด Patterns.EMAIL_ADDRESS Patterns.PHONE Patterns.WEB_URL Patterns.IP_ADDRESS
WebView ์น ํ์๊ณผ ์น ๋ธ๋ผ์ฐ์ ๋ Android, iOS, PC ๋ชจ๋ ๊ฐ์ง ๊ธฐ๋ฅ์ ๋๋ค. WebView๋ ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ๊ตฌ์ฑํ๋ HTML๊ณผ ๊ฐ์ ์์๋ค์ ๋ฐ์๋ค์ฌ ์ด๋ฅผ ๋ธ๋ผ์ฐ์ ์ ๋์ผํ ํ์์ผ๋ก ํด์ํด์ ํํํด์ฃผ๋ ๋ทฐ์ ๋๋ค. ๊ทธ๋์ WebView๋ PC์ ์๋ฒ์์ response ํ ์น ํ์ผ์ ๋ฐ์์ Android์์๋ ๋๊ฐ์ด ๋ณด์ฌ์ฃผ๊ณ ๋ค๋ฃฐ ์ ์๊ณ , ๋๋ฐ์ด์ค ์๊ด์์ด ์ ๋ณด ๊ณต์ ๊ฐ ๊ฐ๋ฅํ ํ์ด๋ธ๋ฆฌ๋ ์ฑ์ ์ฝ๊ฒ ๊ตฌํํ ์ ์๋๋ก ๋์์ค๋๋ค. URL ์น ํ์ด์ง ์์ฒญ ๋จ์ํ WebView๋ฅผ ์ฐธ์กฐํ๊ณ loadUrl๋ก ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ์คํํ์ฌ ํด๋น url์ ๋ก๋ํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. loadUrl ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ ํด๋น ์ฃผ์์ ์์ฒญ์ ๋ณด๋ด๊ณ , ์๋ต๋ฐ์ html ํ์ผ์ ์ฌ์ฉํ์ฌ ์น ํ๋ฉด์ ํ์ํฉ๋๋ค. WebView์ ..
MQTT๊ตฌ์กฐ MQTT๋ ํฌ๊ฒ ์ธ ๊ฐ์ง Broker, Publisher, Subscriber ๊ตฌ์กฐ๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค. Publisher๋ ๋ฉ์์ง(๋ฐ์ดํฐ)๋ฅผ ๋ฐํํ๋ ์ญํ Subscriber๋ ๋ฉ์ธ์ง(๋ฐ์ดํฐ)๋ฅผ ๊ตฌ๋ ํ๋ ์ญํ Borker๋ ๋ฉ์์ง๋ฅผ Publisher๋ก๋ถํฐ ๋ฐ์์ Subscriber๊ฐ ๊ฐ์ ธ๊ฐ ์ ์๋๋ก ์ ๋ฌํ๋ ์ญํ ์ด๋ผ๊ณ ์๊ฐํ์๋ฉด ๋ฉ๋๋ค. ์๋ ๊ตฌ์กฐ๋๋ฅผ ๋ณด๋ฉด์ ์ค๋ช ํ๊ฒ ์ต๋๋ค. 1. Gradle ์ถ๊ฐ // MQTT eclipse implementation 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.5' // MQTT hannesa2 implementation 'com.github.hannesa2:paho.mqtt.android:3.5.1'..