์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- MySQL
- ์๋ฐ
- Pandas
- db
- ์๋ฐ๊ธฐ์ด
- Android
- ์น๋์๋ณด๋ ์ ์
- Flutter
- RESTful API
- java
- ํ์ด์ฌ
- serverless
- Streamlit๊ธฐ์ด
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ์๋ฐ๊ณต๋ถ
- ์คํธ๋ฆผ๋ฆฟ ๊ธฐ๋ณธ
- ์๋ฐ์ด๋ณด
- ์๋ฐํ๋ก๊ทธ๋๋ฐ
- REACT
- ์๋๋ก์ด๋ ์คํ๋์ค
- ์น๋์๋ณด๋ ๊ธฐ์ด
- ํ๋ค์ค
- streamlit
- ํ์ด์ฌ๊ณต๋ถ
- ์๋๋ก์ด๋ ์ฑ ๊ฐ๋ฐ
- ์๋ฐ์คํฌ๋ฆฝํธ ๊ณต๋ถ
- ์๋ฐ์คํฌ๋ฆฝํธ
- ์คํธ๋ฆผ๋ฆฟ
- JavaScript
- ํ๋ค์ค๊ณต๋ถ
- Today
- Total
๋ชฉ๋ก๐คAndroid/Java (53)
ruriruriya

์๋๋ก์ด๋ ์ฑ ๊ฐ๋ฐ ์ ์นด๋ฉ๋ผ์ ์จ๋ฒ ์ฒ๋ฆฌ์ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์. 1. AndroidManifest.xml ๋งจ ์์์ ์ธํฐ๋ท ๊ถํ์ค์ ๊ณผ permission ์ค์ ์ ํด์ค๋ค. android:authorities="com.sunny.cameraapp๋ณธ์ธ ํจํค์ง๋ช .fileprovider" ์์ ๋ณธ์ธ ํจํค์ง ๋งค๋ฒ ๋ฐ๊ฟ์ผ ํ๋ค

์๋๋ก์ด๋ ์ฑ ๊ฐ๋ฐ ์ ํ๋จ ํญ๋ฐ๋ฅผ ์ด๋ ต์ง ์๊ฒ ๋ง๋ค ์ ์๋ค. ํญ๋ฐ๋ ์ฃผ๋ก ๋ค๋น๊ฒ์ด์ ์ ๊ธฐ๋ฅ์ํ์ฌ ์ฌ์ฉ์์ ํธ์๋ฅผ ๋๋๋ค. 1. build.gradle.kts ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น ์ต์ ๋ฒ์ ์ผ๋ก ์ ๊ทธ๋ ์ด๋ ๋์ด ์์ ์ ์์ผ๋ ๋ฒ์ ๋ฒํธ๋ฅผ ํ์ธํ์ฌ ๋ณ๊ฒฝํ ์ ์๋๋ก ํ๋ค. dependencies { implementation("androidx.navigation:navigation-fragment:2.7.6") implementation("androidx.navigation:navigation-ui:2.7.6") } 2. activity_main.xml 2.1. ๋ ์ด์์ ๋ณ๊ฒฝ ConstraintLayout์ RelativeLayout์ผ๋ก ๋ณ๊ฒฝํด์ค๋ค. 2.2. BottomNavigationView ์์ฑ ๋ค๋น๊ฒ์ด..

์๋ฐ์์ Serializable๋ ๋ฐ์ดํฐ๋ฅผ ์ง๋ ฌํํ๋ ์ธํฐํ์ด์ค๋ค. ์ด๋ฅผ ํตํด ๊ฐ์ฒด์ ์ํ๋ฅผ ๋ฐ์ดํธ ์คํธ๋ฆผ์ผ๋ก ๋ณํํ์ฌ ๋คํธ์ํฌ๋ฅผ ํตํด ์ ์กํ๊ฑฐ๋ ํ์ผ๋ก ์ ์ฅํ ์ ์๋ค. ์๋๋ก์ด๋ ์ฑ ๊ฐ๋ฐ์์๋ Serializable ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ฒด๋ฅผ ์ง๋ ฌํํ ์ ์๋ค. 1. ํ๋ฉด ์ค๊ณ 2. Data.java Serializable ์์ import java.io.Serializable; public class Data implements Serializable { public String name; public int age; public Data() { } public Data(String name, int age) { this.name = name; this.age = age; } } 3. MainAc..

์๋๋ก์ด๋ ์ฑ ๊ฐ๋ฐ ์ ํ์๊ฐ์ ๋๋ ๋ก๊ทธ์ธ์ ํ ๋, ์ด๋ฉ์ผ๋ก ์ ์์ ํ ์ ์๋ค. ํ์ง๋ง ์ด๋ฉ์ผ์ ์๋ชป ์ ๋ ฅํ์ ๋ ์ฌ์ฉ์์๊ฒ ์๋ ค ์ ๋๋ก ๋ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅ๋ฐ์ ์ ์๋๋ก ํด์ผ ํ๋ค. Pattern ํด๋์ค๋ ์๋๋ก์ด๋ ์ฑ์์ ์ ๊ท ํํ์์ ์ฌ์ฉํ์ฌ ๋ฌธ์์ด ํจํด์ ๊ฒ์ฌํ๋ ๋ฐ ๋์์ ์ฃผ๋ ํด๋์ค๋ค. ์ด๋ฅผ ํตํด ํน์ ํ ํ์์ด๋ ๊ท์น์ ๋ง๋ ๋ฌธ์์ด์ ์ฐพ๊ฑฐ๋ ๊ฒ์ฆํ ์ ์๋ค. ์ด๋ฉ์ผ ์ ํจ์ฑ์ ๊ฒ์ฌํ๋ ๊ฒฝ์ฐ, ์ด๋ฉ์ผ ์ฃผ์๊ฐ ํน์ ํ์์ ๋ถํฉํ๋์ง ํ์ธํ ๋ ์ ์ฉํ๊ฒ ์ฌ์ฉ๋ ์ ์๋ค. ์๋ฅผ ๋ค์ด, ์ด๋ฉ์ผ ์ฃผ์์ ํ์์ด "example@example.com"๊ณผ ๊ฐ์ ํจํด์ ๋ฐ๋ฅด๋์ง ํ์ธํ๊ณ ์ ํ ๋ Pattern ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ํด๋น ํจํด์ ์ ์ํ๊ณ ๊ฒ์ฌํ ์ ์๋ค. Pattern ํด๋์ค ์ฌ์ฉ๋ฒ Matche..

Retrofit2 ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํด์ POST๋ก API ํธ์ถํ์ฌ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด์. Retrofit2 ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ๋จผ์ ํ๊ฒฝ ์ค์ ์ ๋จผ์ ํด์ผ ํ๋ค. ์๋ ๋งํฌ ์ฐธ๊ณ ! https://ruriruriya.tistory.com/161 [Android] ์๋๋ก์ด๋ - Retrofit2 ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ์ ์ํ ์ค์ ๋ฐฉ๋ฒ Retrofit์ ์๋๋ก์ด๋ ์ฑ์์ ๋คํธ์ํฌ ํต์ ์ ๊ฐํธํ๊ฒ ์ฒ๋ฆฌํ ์ ์๋๋ก ๋์์ฃผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค. ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ Square์ฌ์์ ๊ฐ๋ฐ๋์์ผ๋ฉฐ, ์๋๋ก์ด๋ ์ฑ์์ RESTful API์์ ํต์ ์ ํจ์จ์ ruriruriya.tistory.com ํด๋น Activity ์ค์ retrofit ์ฌ์ฉ์ ์ํ ๋ณ์๋ฅผ ์์ฑํ๋ค. api ํจํค์ง์ ์๋, Interface๋ฅผ ์์ฑํ..

Retrofit์ ์๋๋ก์ด๋ ์ฑ์์ ๋คํธ์ํฌ ํต์ ์ ๊ฐํธํ๊ฒ ์ฒ๋ฆฌํ ์ ์๋๋ก ๋์์ฃผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค. ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ Square์ฌ์์ ๊ฐ๋ฐ๋์์ผ๋ฉฐ, ์๋๋ก์ด๋ ์ฑ์์ RESTful API์์ ํต์ ์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ณ ๊ตฌํํ๋ ๋ฐ ์ฌ์ฉ๋๋ค. Retrofit์ ์ฃผ์ ๊ธฐ๋ฅ API Interface ์ ์: Retrofit์ ์ฌ์ฉํ๋ฉด REST API์ ์ํธ์์ฉํ๊ธฐ ์ํ ์ธํฐํ์ด์ค๋ฅผ ์ ์ํ ์ ์๋ค. ์ด ์ธํฐํ์ด์ค์์ API ์๋ํฌ์ธํธ, HTTP ์์ฒญ ๋ฉ์๋, ์์ฒญ ์ ํ์ํ ๋งค๊ฐ๋ณ์ ๋ฑ์ ๋ช ์ํ ์ ์๋ค. HTTP ํด๋ผ์ด์ธํธ ์ค์ : Retrofit์ OkHttp์ ํจ๊ป ์ฌ์ฉ๋ ์ ์์ด, HTTP ํด๋ผ์ด์ธํธ๋ฅผ ์์ฑํ๊ณ ์ค์ ํ๋ ๋ฐ ๋์์ ์ค๋ค. ์ด๋ฅผ ํตํด ๋คํธ์ํฌ ์ฐ๊ฒฐ ์ค์ , ํ์์์ ๋ฑ์ ๊ด๋ฆฌํ ์ ์๋ค. ..

ํํ๊ณ API๋ฅผ ์ฌ์ฉํ๋ฉด์ ์ํฌ๋ฆฟ ํค๋ฅผ Volley Header์ ๋ฐ์ดํฐ๋ฅผ ์ธํ ํด๋ณด์. 1.Config ํจํค์ง - config.java ์์ฑ ์๋๋ก์ด๋ ์ฑ์์ Config.java ๋๋ Constants.java์ ๊ฐ์ ํ์ผ์ ์ฑ ์ ๋ฐ์ ๊ฑธ์ณ ์ฌ์ฉ๋๋ ์์, ์ค์ ๊ฐ, ํค, URL ๋ฑ์ ๋ด๋ ๋ฐ ์ฌ์ฉ๋๋ค. ์ด ํ์ผ์ ์ฑ์ ๊ตฌ์ฑ์ ๊ด๋ฆฌํ๊ณ ๋ณ๊ฒฝ์ด ํ์ํ ๊ฐ๋ค์ ํ ๊ณณ์ ๋ชจ์๋์ด ๊ด๋ฆฌํ๊ธฐ ์ฝ๊ฒ ํ๋ค. 2. config.java ๋ค์ด๋ฒ ํด๋ผ์ด์ธํธ ์์ด๋์ ์ํฌ๋ฆฟ ํค๋ฅผ ์ด๋ค. ์ด๋ ๋ณ์๋ช ์ ๋๋ฌธ์์ ์ธ๋๋ฐ๋ฅผ ์ฌ์ฉํ๋ค. public class Config { public static final String X_NAVER_CLIENT_ID = "X-Naver-Client-Id"; public static final..

Volley ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ฉํด์ POST ๋ฐฉ์์ผ๋ก body์ json์ ๋ณด๋ด๋ณด์. ํํ๊ณ API๋ก ์งํํ๋ค. 1. ๋ฒํผ ์์ฑ ๋ฐ setOnClickListener ํจ์ ์์ฑ ๋ฒํผ์ ๋ง๋ค๊ณ setOnClickListener ํจ์๋ฅผ ๋ง๋ ๋ค. ๊ทธ๋ฆฌ๊ณ onClick ํจ์ ์ค๋ฒ๋ผ์ด๋ฉ button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } }); 2. ์ ๋ณด ๊ฐ์ ธ์ค๊ธฐ ์ด๋ค ์ธ์ด๋ก ๋ฒ์ญํ ์ง ์ ๋ณด๋ฅผ ๊ฐ์ ธ์จ๋ค. public void onClick(View v) { // 1. ์ด๋ค ์ธ์ด๋ก ๋ฒ์ญํ ์ง์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์จ๋ค. int radioButtonId = radioGroup.getCheckedRadioBut..