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

์œ ํŠœ๋ธŒ API ํ‚ค์›Œ๋“œ ๊ฒ€์ƒ‰ํ•˜๋ฉด ํ‚ค์›Œ๋“œ์— ๋งž๋Š” ๊ฒŒ์‹œ๋ฌผ์„ ๊ฐ€์ ธ์˜ค๋Š” app๊ฐœ๋ฐœ

https://codebunny99.tistory.com/163 ์œ ํŠœ๋ธŒ ๋ฐ์ดํ„ฐ API๋ฅผ Postman(ํฌ์ŠคํŠธ๋งจ)์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•https://console.cloud.google.com/welcome/new?hl=ko&project=eastern-surface-426200-r0&supportedpurview=project Google ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ๋กœ๊ทธ์ธ Google ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ์œผ๋กœ ์ด๋™accounts.google.com  youtube data ๊ฒ€์ƒ‰ํ•ด์„œ ์‚ฌ์šฉ ๋ˆ„๋ฅดcodebunny99.tistory.com ํ‚ค(key) ๊ฐ’์„ ์œ„์˜ ํฌ์ŠคํŒ…์„ ๋จผ์ € ์ฐธ๊ณ ํ•ด ๊ฐ€์ ธ์˜จ๋‹ค.    ์œ ํŠœ๋ธŒ API๋ฅผ Postman์œผ๋กœ ์‹คํ–‰์‹œํ‚ค๋ฉด, ๋‹ค์Œ๊ณผ ๊ฐ™์ด Json ํŒŒ์ผ์„ ์ค€๋‹ค.        MainActivity ๋””์ž์ธ(xml ํŒŒ..

Android 2024.06.12

์œ ํŠœ๋ธŒ ๋ฐ์ดํ„ฐ API๋ฅผ Postman(ํฌ์ŠคํŠธ๋งจ)์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•

https://console.cloud.google.com/welcome/new?hl=ko&project=eastern-surface-426200-r0&supportedpurview=project Google ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ๋กœ๊ทธ์ธ Google ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ์œผ๋กœ ์ด๋™accounts.google.com  youtube data ๊ฒ€์ƒ‰ํ•ด์„œ ์‚ฌ์šฉ ๋ˆ„๋ฅด๊ธฐ,     ํ‚ค ๋งŒ๋“ค๊ธฐ         ์ ์šฉ ๊ทœ์น™ ์•Œ์•„๋ณด๊ธฐ  https://developers.google.com/youtube/v3/docs/search/list?hl=ko Search: list  |  YouTube Data API  |  Google for Developers์ด ํŽ˜์ด์ง€๋Š” Cloud Translation API๋ฅผ ํ†ตํ•ด ๋ฒˆ์—ญ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Search:..

RestFul API 2024.06.12

C์–ธ์–ด ๋ณ€์ˆ˜์— ๋Œ€ํ•ด ํ•™์Šตํ•˜๊ธฐ

๋ณ€์ˆ˜๋ž€ ?  - ํ”„๋กœ๊ทธ๋žจ์ด ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ผ์‹œ์ ์œผ๋กœ ์ €์žฅํ•  ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด๋‹ค.- ์‹คํ–‰ ๋„์ค‘์— ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.  ๋ณ€์ˆ˜๋Š” ์™œ ํ•„์š”ํ•œ๊ฐ€? - ๋ฐ์ดํ„ฐ๊ฐ€ ์ž…๋ ฅ๋˜๋ฉด ์–ด๋”˜๊ฐ€์— ์ €์žฅํ•ด์•ผ๋งŒ ๋‹ค์Œ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. int main(void){ int x; //int ์ž๋ฆฌ๋Š” ์ž๋ฃŒํ˜•, x ์ž๋ฆฌ๋Š” ๋ณ€์ˆ˜ ์ด๋ฆ„์ด๋‹ค. int y; int sum, diff, mul, div; x = 20; y = 10; sum = x + y; diff = x - y; mul = x * y; div = x / y; // ์ˆ˜์‹์—์„œ % ๊ธฐํ˜ธ๋Š” ๋‚˜๋จธ์ง€์ด๋‹ค printf("๋‘..

๋‹ค์–‘ํ•œ ์ธํ…ํŠธ Intent (์—ฐ๋ฝ์ฒ˜, ์›น, ๋ฌธ์ž, ์ด๋ฉ”์ผ, ๊ณต์œ ) ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•

package com.~.intent;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.provider.ContactsContract;import android.view.View;import android.widget.Button;import androidx.appcompat.app.AppCompatActivity;public class MainActivity extends AppCompatActivity { Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.on..

Android 2024.06.11

Glide ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ์ด๋ฏธ์ง€ upload ํ•˜๊ธฐ

https://github.com/bumptech/glide GitHub - bumptech/glide: An image loading and caching library for Android focused on smooth scrollingAn image loading and caching library for Android focused on smooth scrolling - bumptech/glidegithub.com   ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ค์ •, Glide ์„ค์น˜ํ•˜๊ธฐ   Manifest ์„ค์ •     gradle.kts (:app) ์„ค์ •   ์‹ฑํฌ(Sync) ํ•ด์ค€๋‹ค.     ํ™”๋ฉด ๋ฐฐ์น˜ํ•˜๊ธฐ https://fonts.google.com/icons?icon.size=24&icon.color=%235f6368 Mater..

Android 2024.06.11

C์–ธ์–ด ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ์˜ basic (๊ธฐ๋ณธ)

#include // #include ๊บฝ์‡ +stdio.h+๊บฝ์‡  ๋Š” ํ—ค๋”ํŒŒ์ผ์„ ํฌํ•จํ•œ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค int main(void) // ๋ฉ”์ธ ํ•จ์ˆ˜๋Š” ์ž‘์—…์ง€์‹œ์„œ ๊ฐ™์€ ๋ถ€๋ถ„์œผ๋กœ, ์ปดํ“จํ„ฐ์—๊ฒŒ "์‹œ์ž‘"์„ ์•Œ๋ ค์ค€๋‹ค { // ๋ฉ”์ธ ํ•จ์ˆ˜๋ฅผ ์‹œ์ž‘ํ•œ๋‹ค printf("Hello World!"); // ํ™”๋ฉด์— "Hello World!"๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค return 0; // ์™ธ๋ถ€๋กœ 0๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. } // ๋ฉ”์ธ ํ•จ์ˆ˜๋ฅผ ์ข…๋ฃŒํ•œ๋‹ค   # include  - ์ฃผ์˜! ์ „์ฒ˜๋ฆฌ๊ธฐ ์ง€์‹œ์ž ๋ฌธ์žฅ ๋์—๋Š” ์„ธ๋ฏธ์ฝœ๋ก (;)์„ ๋ถ™์ด๋ฉด ์•ˆ๋œ๋‹ค- #include๋Š” ์†Œ์Šค ์ฝ”๋“œ ์•ˆ์— ํŠน์ • ํŒŒ์ผ์„ ํ˜„์žฌ์˜ ์œ„์น˜์— ํฌํ•จ์‹œ์ผœ์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.- #include๋Š” ์™ธ๋ถ€ ํŒŒ์ผ์„ ํฌํ•จ์‹œํ‚ค๋ผ๋Š” ์˜๋ฏธ์˜ ์ „์ฒ˜๋ฆฌ๊ธฐ์ด๋‹ค.- ํ—ค๋” ํŒŒ์ผ(header file) : ์ปดํŒŒ์ผ๋Ÿฌ(์•„๋ž˜ ์‚ฌ..

๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ๊ฐ์ฒด๋ฅผ ์ฃผ๊ณ ๋ฐ›๊ธฐ ์œ„ํ•œ Serializable(์ง๋ ฌํ™”)

์ง๋ ฌํ™”(Serializable) ๋ž€? ๊ฐ์ฒด์˜ ์ƒํƒœ๋ฅผ ๋ฐ”์ดํŠธ ์ŠคํŠธ๋ฆผ์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ํŒŒ์ผ๋กœ ์ €์žฅํ•˜๊ฑฐ๋‚˜ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์ „์†กํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ณผ์ •  ์ง๋ ฌํ™”(Serializable)์˜ ๋ชฉ์  ? ๊ฐ์ฒด๋ฅผ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์ „์†กํ•  ๋•Œ ์ง๋ ฌํ™”๊ฐ€ ํ•„์š”ํ•˜๋ฉฐ ๊ฐ์ฒด๋ฅผ ์ฃผ๊ณ ๋ฐ›๊ธฐ ์œ„ํ•ด ์ง๋ ฌํ™”๊ฐ€ ์‚ฌ์šฉ๋œ๋‹ค. ์ง๋ ฌํ™”๋œ ๊ฐ์ฒด๋Š” ๋ฉ”๋ชจ๋ฆฌ๋‚˜ ๋””์Šคํฌ์— ์บ์‹œ๋กœ ์ €์žฅํ•˜๊ณ , ํ•„์š”ํ•  ๋•Œ ๋‹ค์‹œ ๋ถˆ๋Ÿฌ์™€์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.  ์ ์šฉํ•˜๊ธฐ Activity์—์„œ ์•„๋ž˜์™€ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ๋นจ๊ฐ„ ๋ฐ‘์ค„์ด ๋œจ๋Š”๋ฐ, Employer employer = new Employer(1000,name,salary,age);   class๋กœ ์ด๋™ํ•ด์„œ ํด๋ž˜์Šค์— implements Serializable ๋ถ™์—ฌ์„œ ์ง๋ ฌํ™” ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.    ์ง๋ ฌํ™”๋œ ๊ฐ์ฒด๋ฅผ ๋ฐ›์•„์˜ค๊ธฐ ์œ„ํ•ด์„œ๋Š” .getSe..

Android 2024.06.10

Json (์ œ์ด์Šจ) ํ˜•์‹์˜ ๋ฐ์ดํ„ฐ ํŒŒ์‹ฑํ•˜๊ณ  ์–ด๋Œ‘ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ

activity_main.xml ์ž‘์„ฑํ•˜๊ธฐ         JSON ๋ฐ์ดํ„ฐ๋ฅผ ํŒŒ์‹ฑํ•˜๊ณ  RecyclerView๋กœ ํ‘œ์‹œํ•˜๋Š” ๊ณผ์ • JSON ๋ฐ์ดํ„ฐ ์ˆ˜์‹  ๋ฐ ํŒŒ์‹ฑ : ์„œ๋ฒ„์—์„œ JSON ํ˜•์‹์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์‹ , ํŒŒ์‹ฑ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(Gson, Jackson ๋“ฑ)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ JSON ๋ฐ์ดํ„ฐ๋ฅผ ํŒŒ์‹ฑํ•˜์—ฌ        Java ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜์–ด๋Œ‘ํ„ฐ ์ƒ์„ฑ : RecyclerView.Adapter๋ฅผ ํ™•์žฅํ•˜์—ฌ ์ปค์Šคํ…€ ์–ด๋Œ‘ํ„ฐ๋ฅผ ๋งŒ๋“ค๊ณ  ์–ด๋Œ‘ํ„ฐ ๋‚ด์—์„œ ViewHolder ํด๋ž˜์Šค๋ฅผ ์ •์˜ํ•œ ํ›„, onBindViewHolder ๋ฉ”์„œ๋“œ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ทฐ์— ๋ฐ”์ธ๋”ฉRecyclerView ์„ค์ • : RecyclerView์— ๋ ˆ์ด์•„์›ƒ ๋งค๋‹ˆ์ €๋ฅผ ์„ค์ •(์˜ˆ: LinearLayoutManager, GridLayou..

Android 2024.06.10

๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•œ ํ™˜๊ฒฝ ์„ค์ •, Volley ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜ํ•˜๊ธฐ

๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ์„ค์ •ํ•˜๊ธฐ    Volley ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ค์น˜ํ•ด์•ผ ํ•˜๋Š” ์ด์œ  Volley๋Š” Google์—์„œ ๊ฐœ๋ฐœํ•œ ๋„คํŠธ์›Œํฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ, ์•ˆ๋“œ๋กœ์ด๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์„ ๋ณด๋‹ค ์‰ฝ๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค€๋‹ค. Volley๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋„คํŠธ์›Œํฌ ์š”์ฒญ๊ณผ ๊ด€๋ จ๋œ ๋งŽ์€ ๋ฐ˜๋ณต์ ์ธ ์ž‘์—…์„ ๊ฐ„์†Œํ™”ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์„ ๋ณด๋‹ค ํšจ์œจ์ ์ด๊ณ  ํšจ๊ณผ์ ์œผ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. 1. Volley๋Š” GET, POST ๋“ฑ ๋‹ค์–‘ํ•œ HTTP ์š”์ฒญ์„ ์‰ฝ๊ฒŒ ๋งŒ๋“ค๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” API๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ ์ด๋ฅผ ํ†ตํ•ด ๋„คํŠธ์›Œํฌ ์š”์ฒญ์„ ๊ฐ„ํŽธํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. 2. Volley๋Š” ์š”์ฒญ ํ(queue)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋„คํŠธ์›Œํฌ ์š”์ฒญ์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์—ฌ๋Ÿฌ ๋„คํŠธ์›Œํฌ ์š”์ฒญ์ด ๋™์‹œ์— ๋ฐœ์ƒํ•˜๋”๋ผ๋„ ํšจ๊ณผ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. 3. ์บ์‹ฑ์— ..

Android 2024.06.10

SharedPreferences ์‚ฌ์šฉํ•˜์—ฌ ํšŒ์›๊ฐ€์ž… app ๋งŒ๋“ค๊ธฐ

package com.yujinoh.register;import android.content.Intent;import android.content.SharedPreferences;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;import androidx.appcompat.app.AppCompatActivity;import com.google.android.material.snackbar.Snackbar;public class MainActivity extends AppCompatActivity { EditText editEmail; EditTex..

Android 2024.06.07