์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- Streamlit๊ธฐ๋ณธ
- ์๋ฐ์ด๋ณด
- ์น๋์๋ณด๋ ์ ์
- Matplotlib ๊ธฐ์ด
- Pandas
- ์น๋์๋ณด๋ ๊ธฐ์ด
- ์๋ฐ๊ณต๋ถ
- ์๋ฐ
- ํ๋ค์ค
- ํ๋ค์ค๊ณต๋ถ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ํ์ด์ฌ
- ์๋ฐ์คํฌ๋ฆฝํธ
- ์คํธ๋ฆผ๋ฆฟ
- MySQL
- ์๋ฐ์คํฌ๋ฆฝํธ ๊ณต๋ถ
- streamlit
- Streamlit๊ธฐ์ด
- ์คํธ๋ฆผ๋ฆฟ ๊ธฐ๋ณธ
- java
- db
- ์๋๋ก์ด๋ ์คํ๋์ค
- ์๋ฐํ๋ก๊ทธ๋๋ฐ
- ํ์ด์ฌ๊ณต๋ถ
- serverless
- ํ๋ค์ค๋ฐ์ดํฐํ๋ ์
- ์๋ฐ๊ธฐ์ด
- JavaScript
- RESTful API
- ์๋ฐ์ด๋ณด๊ณต๋ถ
- Today
- Total
๋ชฉ๋ก๐คAndroid (53)
ruriruriya
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ITyou/btsCG5dpiLC/d541i3y8F5sqfCrkswJAkK/img.jpg)
getAdapterPosition()์ RecyclerView.ViewHolder์์ ํ์ฌ ์์ดํ ์ ์ด๋ํฐ ์์น๋ฅผ ๊ฐ์ ธ์ค๋ ๋ฉ์๋์ด๋ค. ์ด ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฆฌ์ฌ์ดํด๋ฌ๋ทฐ์์ ํ์ฌ ์์ดํ ์ ์์น๋ฅผ ํ์ธํ ์ ์๋ค. ์ฃผ๋ก ์์ดํ ์ ํด๋ฆญํ์ ๋ ํด๋น ์์ดํ ์ ์์น๋ฅผ ๊ฐ์ ธ์์ ์์ ์ ์ํํ๋ ๋ฐ ์ฌ์ฉ๋๋ค. getAdapterPosition() ์นด๋๋ทฐ๋ฅผ ์ ํํ ๋ ํด๋น ์นด๋๋ทฐ๋ฅผ ์ธ๋ฑ์ค๋ก ๊ฐ์ ธ์ค๋ ๋ฐฉ๋ฒ์ด๋ค. getAdapterPostion()์ index ๋ณ์์ ๋ด์ ๋ค์์ ํด๋น ArrayList๋ฅผ get()์ผ๋ก ๋ฐ์ ๋ index๋ก ๋ฐ์ ์ ์๋ค. ์๋๋ Intent์ putExtra() ํจ์๋ก ์ธ๋ฑ์ค๋๊ฐ์ด ๋ณด๋ธ๋ค. cardView.setOnClickListener(new View.OnClickListener()..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b9Mtjh/btsCQ5CvVid/5zUE9xRhyE9FDMg8adLat0/img.jpg)
์ฝํ ์คํธ(Context)๋ ์๋๋ก์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ญ ์ ๋ณด์ ์ ๊ทผํ ์ ์๋ ์ธํฐํ์ด์ค์ด๋ค. ์๋๋ก์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์กํฐ๋นํฐ(Activity), ์๋น์ค(Service), ์ดํ๋ฆฌ์ผ์ด์ (Application) ๋ฑ์ ์ปดํฌ๋ํธ๋ก ๊ตฌ์ฑ๋๋ค. ์ด๋ฌํ ์ปดํฌ๋ํธ๋ค์ ๋ชจ๋ ์ฝํ ์คํธ๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ์ฝํ ์คํธ๋ฅผ ํตํด ๋ฆฌ์์ค, ํด๋์ค, ์ฑ ํ๊ฒฝ ์ ๋ณด ๋ฑ์ ์ ๊ทผํ ์ ์๋ค. ์ด๋ํฐ(Adapter) ํด๋์ค๋ ์ปจํ ์คํธ์ ์ง์ ์ ๊ทผํ ์ ์์ง๋ง, ์์ฑ์๋ฅผ ํตํด ์ฝํ ์คํธ๋ฅผ ์ ๋ฌ๋ฐ์ ์ ์๋ค. ์ฃผ๋ก ์ด๋ํฐ๋ ์กํฐ๋นํฐ(Activity)๋ ์ปจํ ์คํธ๋ฅผ ํ์๋ก ํ๋ ๋ค๋ฅธ ์๋๋ก์ด๋ ์ปดํฌ๋ํธ๋ก๋ถํฐ ์์ฑ์๋ฅผ ํตํด ์ฝํ ์คํธ๋ฅผ ์ ๋ฌ๋ฐ์ ์ฌ์ฉํ๋ค. 1. Adapter ํด๋์ค ๋ด ๋ฉค๋ฒ๋ณ์ public class PostAdapter extends..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bYhpkg/btsCN1mZyjz/vMh92H9QMsgj8ep3bx3HBK/img.jpg)
RecyclerView๋ ์๋๋ก์ด๋์์ ๋ฆฌ์คํธ๋ ๊ทธ๋ฆฌ๋์ ๊ฐ์ ํํ์ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ํ์ํ๊ธฐ ์ํ ์์ ฏ์ด๋ค. RecyclerView๋ฅผ ์ฌ์ฉํ์ฌ ๋ฆฌ์คํธ๋ฅผ ํ๋ฉด์ ํ์ํด๋ณด์. 1. adapter ํจํค์ง Adapter ํด๋์ค ์์ฑ public class PostAdapter{ } 2. ViewHolder ๋งด๋ฒ๋ณ์ ์ ์ธ/ ํ๋ฉด์ฐ๊ฒฐ public class ViewHolder extends RecyclerView.ViewHolder { TextView txtUserId; TextView txtTitle; TextView txtBody; public ViewHolder(@NonNull View itemView) { super(itemView); txtUserId = itemView.findViewById(R.i..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bFMzMK/btsCDgFQ0H4/fzqrZavhrqWKOxZpGOlF60/img.jpg)
์๋๋ก์ด๋ ์ฑ ๊ฐ๋ฐ ์ ์์ด์ฝ์ด ํ์ํ๋ฐ ์๋๋ก์ด๋ ์คํ๋์ค์์๋ ๊ฐ๋จํ ์์ด์ฝ์ ๋ง๋ค ์ ์๋ค. ์์ฃผ ํธ๋ฆฌํ๊ฒ ์์, ํฌ๊ธฐ ๋ณ๊ฒฝ ๋ฑ์ด ๊ฐ๋ฅํ๋ค. 1. [File]-[New]-[Vector Asset] 2. ํด๋ฆฝ์ํธ๋ก ๋ง๋ค๊ธฐ 2.1. Asset type์ Clip art ์ ํ ํ Clip art ์์ ๊ทธ๋ฆผ์ ํด๋ฆญํ๋ค. 2.2. Select Icon ์์ ๋ง์์ ๋๋ ์์ด์ฝ ์ ํ ํ OK 2.3. ํ์ผ๋ช ๊ณผ ์ฌ์ด์ฆ, ์ปฌ๋ฌ ํฌ๋ช ๋๋ฅผ ๋ณ๊ฒฝ ํ 2.4. ๊ฒฝ๋ก ํ์ธ ํ Finish ํด๋ฆญ 2.5. R.drawable์ ์์ด์ฝ ํ์ผ ์์ฑ๋ ๊ฒ์ ํ์ธ ํ ์ ์๋ค. 3. SVG ๋ก ๋ง๋ค๊ธฐ 3.1. Vector Asset์ ์ด์ด Asset type์ Local file (SVG, PSD)๋ก ์ ํํ๊ณ Path์์ ํ์ผ์ ์ฐพ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/blaItA/btsCG3FVmHE/k4gBGBaKWxApkCEDKcq5EK/img.jpg)
SharedPreferences๋ ์๋๋ก์ด๋ ์ฑ์์ ๊ฐ๋จํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๊ธฐ๋ฅ์ด๋ค. ์ด๋ฅผ ํตํด ์ฑ ์ค์ , ์ฌ์ฉ์ ์ ๋ณด, ์ ํธ๋ ๋ฑ์ ์ ์ฅํ ์ ์๋ค. ์ด๊ฒ์ ํค-๊ฐ ์์ ํํ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ฉฐ, ์ฑ์ ์ข ๋ฃํ๊ณ ๋ค์ ์์ํด๋ ์ ์ง๋๋ค. 1. ์ฑ ๋ด ์ ์ฅ์์ ์ ์ฅ onClick ๋ฉ์๋ ์์์ ์ฝ๋ ์์ฑ์ ํ๋ค. // ์ฑ ๋ด ์ ์ฅ์์ ์ ์ฅํ๋ค. String sentence = editSentence.getText().toString().trim(); // ์ ์ฅํ๋ ์ฝ๋. SharedPreferences sp = getSharedPreferences("save app", MODE_PRIVATE); SharedPreferences.Editor editor = sp.edit(); editor.pu..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bsld50/btsCK8TU7fe/ODjkRlbyBkexgCTi5A9b51/img.jpg)
์๋๋ก์ด๋ ์ฑ ๊ฐ๋ฐ ์ ์ด๋ฉ์ผ๋ก ํ์๊ฐ์ ์ ํ ๋ ์ด๋ฉ์ผ์ด ์๋ชป ๋์์ ๋ ๊ฒํ ํ๋ ๋ฐฉ๋ฒ์ด๋ค. @ ๊ฐ ์๋์ง ํ์ธํด๋ณด์! ์ด๋ฉ์ผ ์ ํจ์ฑ ๊ฒ์ฌ onClick ํจ์ ๋ด์์ if ๋ฌธ์ ์ฌ์ฉํด์ ๊ฒํ ํ๊ณ ์๋ชป ๋ง๋ค์๋ค๋ฉด Snackbar๋ก ์๋ด๋ฌธ๊ตฌ๋ฅผ ์๋ ค์ค๋ค. public class MainActivity extends AppCompatActivity { EditText editEmail; Button btnRegister; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); editEmail = findViewById..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/wq8KS/btsCzUpDu1Y/aRnI4DkMWxxkwMx2JNg3RK/img.jpg)
์๋๋ก์ด๋ ์ฑ์๋ ๋ค๋ก๊ฐ๊ธฐ ๋ฒํผ์ด ์๋ค. Back ๋ฒํผ ์คํํ๋ ํจ์๋ฅผ ์์ฑํด๋ณด์. getOnBackPressedDispatcher onCreate ํจ์ ๋ด์์ ์์ฑํ๋ค. // Back ๋ฒํผ ๋๋ ์ ๋ ํธ์ถ๋๋ ํจ์ getOnBackPressedDispatcher().addCallback(new OnBackPressedCallback(true) { @Override public void handleOnBackPressed() { // ๋ฐฑ๋ฒํผ ๋๋ ์ ๋ ํ๊ณ ์ถ์ ์ฝ๋ ์์ฑ. // ๋ฉ์ธ Activity๋ก, ๋์ด +10 ๊ฐ ์ถ๋ ฅ age = age+10; Intent intent = new Intent(); intent.putExtra("age",age); setResult(100,intent); finish..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/c7jDMe/btsCzE09Wrm/D4ZaKnQ8ckmPgkkUj6ThP0/img.jpg)
์๋๋ก์ด๋ ์ฑ ๊ฐ๋ฐ ์ ๋ฐ์ดํฐ ์ ๋ฌ์ ๋จ๋ฐฉํฅ๋ ๊ฐ๋ฅํ์ง๋ง ์๋ฐฉํฅ๋ ๊ฐ๋ฅํ๋ค. ์ฒซ ๋ฒ์งธ Activity์์ ๋ ๋ฒ์งธ Activity๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ธ ํ ๋ ๋ฒ์งธ Activity์์ ๋์ด์ 10์ ๋ ํด์ ์ฒซ ๋ฒ์งธ Activity๋ก ๋ณด๋ด๋ณด์. 1. ์ฒซ๋ฒ ์งธ Activity -> ๋ ๋ฒ์งธ Activity ์ฒซ ๋ฒ์งธ Activity์์ ์ด๋ฆ๊ณผ ๋์ด๋ฅผ ๋ฐ์์จ๋ค. Intent intent = new Intent(MainActivity.this, SecondActivity.class); intent.putExtra("name", name); intent.putExtra("age", age); launcher.launch(intent); // ์๋ฐฉํฅ์ผ๋ก ๋ณด๋ผ ๋ 2. ๋ ๋ฒ์งธ Activity -> ์ฒซ ๋ฒ์งธ Activit..