Flutter ๊ธฐ๋ฐ ์ฅ์ ๊ธฐ๋ก ์ ํ๋ฆฌ์ผ์ด์
PinKonkuk์
๊ฑด๊ตญ๋ํ๊ต ํ์๋ค์ด ์บ ํผ์ค ๊ณต๊ฐ์ ๊ฐ์์ ๋ฉ๋ชจ๋ฅผ ๋จ๊ธธ ์ ์๋๋ก ํ๊ธฐ ์ํด ๋ง๋ ์ ํ๋ฆฌ์ผ์ด์
์
๋๋ค.
์ฌ์ฉ์๋ ์์น ๊ธฐ๋ฐ์ผ๋ก ์ฅ์๋ฅผ ๊ธฐ๋กํ๊ณ , ์ฌ์ง๊ณผ ๋ฉ๋ชจ๋ฅผ ์ถ๊ฐํ์ฌ ์์ ๋ง์ ์ฅ์ ๋ค์ด์ด๋ฆฌ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
- โ ์ฌ์ฉ์๋ ํน์ ์ฅ์์ ๋ํ ์ ๋ชฉ, ๋ฉ๋ชจ, ์นดํ ๊ณ ๋ฆฌ, ์๋ธ ์นดํ ๊ณ ๋ฆฌ, ์์น ์ ๋ณด ๋ฐ ์ด๋ฏธ์ง๋ฅผ ์ถ๊ฐํ์ฌ ์๋ก์ด ํ์ ์ ์ฅํ ์ ์์ต๋๋ค.
- ๐ ์์น ์ ๋ณด๋ Geolocator ํจํค์ง๋ฅผ ์ฌ์ฉํ์ฌ ์ค์๊ฐ์ผ๋ก ๊ฐ์ ธ์ต๋๋ค.
- ๐พ ์ ์ฅ๋ ํ ๋ฐ์ดํฐ๋ SQLite ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋๋ฉฐ, ์ฑ์ ์ฌ์คํํด๋ ์ ์ง๋ฉ๋๋ค.
- ๐ ์ ์ฅ๋ ๋ชจ๋ ํ์ ๋ฆฌ์คํธ ํํ๋ก ๋ณผ ์ ์์ผ๋ฉฐ, ๋ฆฌ์คํธ์๋ ์ ๋ชฉ, ์ฅ์ ์ด๋ฆ, ์นดํ ๊ณ ๋ฆฌ, ์๋, ๊ฒฝ๋๊ฐ ํ์๋ฉ๋๋ค.
- ๐ ํน์ ํ์ ์ ํํ์ฌ ์ธ๋ถ ์ ๋ณด๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
- ๐๏ธ ์ ์ฅ๋ ํ ํญ๋ชฉ์ ์ญ์ ๊ฐ ๊ฐ๋ฅํ๋ฉฐ, ์ญ์ ํ ์๋์ผ๋ก ๋ฆฌ์คํธ๊ฐ ๊ฐฑ์ ๋ฉ๋๋ค.
- ๐ท๏ธ ์ฃผ์ ์นดํ ๊ณ ๋ฆฌ(์๋ด๊ธฐ, ๋ง์ง, ์คํฐ๋, ๊ฑด์ถ ๋ฑ)์ ์๋ธ ์นดํ ๊ณ ๋ฆฌ(ํ๊ต ํฌ์ด, ๋ ธ๋๋ฐฉ, ๊ฐ์ฑ๋น ๋ฑ)๋ฅผ ์ ๊ณตํ์ฌ ์ฌ์ฉ์๋ ๊ด์ฌ ์๋ ํญ๋ชฉ๋ง ์ ํํ์ฌ ๋ณผ ์ ์์ต๋๋ค.
- ๐ผ๏ธ ํ์ ์ด๋ฏธ์ง๋ฅผ ์ถ๊ฐํ ์ ์์ผ๋ฉฐ, ์ฌ์ฉ์๋ Image Picker๋ฅผ ํตํด ๊ฐค๋ฌ๋ฆฌ์์ ์ด๋ฏธ์ง๋ฅผ ์ ํํ ์ ์์ต๋๋ค.
- ๐ Dart
- ๐ฅ๏ธ Flutter
- ๐ SQLite (ํจํค์ง:
sqflite
,sqflite_common_ffi
)
- ๐ก Geolocator: ์์น ์ ๋ณด ์์ง
- ๐ท Image Picker: ๊ฐค๋ฌ๋ฆฌ์์ ์ด๋ฏธ์ง ์ ํ
- ๐ฆ SQLite ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ด๊ธฐํํ๊ณ CRUD(Create, Read, Update, Delete) ์์ ์ ์ํํ๋ ํด๋์ค์ ๋๋ค.
- ์ฃผ์ ๋ฉ์๋:
insertPin(Map<String, dynamic> pin)
: ์๋ก์ด ํ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฝ์ ํฉ๋๋ค.getPins()
: ๋ชจ๋ ํ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ถ๋ฌ์ต๋๋ค.deletePin(int id)
: ํน์ ID์ ํด๋นํ๋ ํ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํฉ๋๋ค.
- ๐ ๋ฉ์ธ ํ๋ฉด์ผ๋ก, ํ ๋ชฉ๋ก์ ๋ณด์ฌ์ฃผ๊ณ ํํฐ๋ง ๊ธฐ๋ฅ๊ณผ ํ ์ถ๊ฐ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
- ์ฃผ์ ๊ธฐ๋ฅ:
- ๐ ํ์ฌ ์์น ์ ๋ณด ๊ฐ์ ธ์ค๊ธฐ: Geolocator๋ฅผ ์ฌ์ฉํ์ฌ ์ค์๊ฐ ์์น๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
- ๐๏ธ ํ ๋ฆฌ์คํธ ํํฐ๋ง: ์ ํํ ์นดํ ๊ณ ๋ฆฌ์ ์๋ธ ์นดํ ๊ณ ๋ฆฌ์ ๋ง๋ ํ๋ง ๋ณด์ฌ์ค๋๋ค.
- ๐ ๋ฆฌ์คํธ ๊ฐฑ์ : ํ ์ถ๊ฐ, ์ญ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ํ ๋ฐ์ดํฐ๋ฅผ ๋ค์ ๋ก๋ํ์ฌ UI๋ฅผ ๊ฐฑ์ ํฉ๋๋ค.
- โ ์๋ก์ด ํ์ ์ถ๊ฐํ๋ ํ๋ฉด์ ๋๋ค.
- ์ฌ์ฉ์๋ ์ ๋ชฉ, ๋ฉ๋ชจ, ์ฅ์ ์ด๋ฆ, ์นดํ ๊ณ ๋ฆฌ, ์๋ธ ์นดํ ๊ณ ๋ฆฌ, ์ด๋ฏธ์ง๋ฅผ ์ ๋ ฅํ ์ ์์ผ๋ฉฐ, ํ์ฌ ์์น ์ ๋ณด๋ ์๋์ผ๋ก ๊ฐ์ ธ์ต๋๋ค.
- ๐ ํน์ ํ์ ์ธ๋ถ ์ ๋ณด๋ฅผ ๋ณด์ฌ์ฃผ๋ ํ๋ฉด์ ๋๋ค.
- ํ์ ์ ์ฅ๋ ์ ๋ชฉ, ๋ฉ๋ชจ, ์ฅ์ ์ด๋ฆ, ์นดํ ๊ณ ๋ฆฌ, ์์น ์ ๋ณด ๋ฐ ์ด๋ฏธ์ง๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
์ปฌ๋ผ ์ด๋ฆ | ๋ฐ์ดํฐ ํ์ | ์ค๋ช |
---|---|---|
id |
INTEGER | ๊ณ ์ ID, ์๋ ์ฆ๊ฐ |
title |
TEXT | ํ ์ ๋ชฉ |
note |
TEXT | ํ์ ๋ํ ๋ฉ๋ชจ |
placeName |
TEXT | ์ฅ์ ์ด๋ฆ |
latitude |
REAL | ์๋ |
longitude |
REAL | ๊ฒฝ๋ |
category |
TEXT | ์ฃผ์ ์นดํ ๊ณ ๋ฆฌ |
imagePath |
TEXT | ์ด๋ฏธ์ง ๊ฒฝ๋ก |
์์กด์ฑ ์ค์น
ํ๋ก์ ํธ ๋๋ ํฐ๋ฆฌ์์ ๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํ์ฌ ํ์ํ ํจํค์ง๋ฅผ ์ค์นํฉ๋๋ค:
flutter pub get