MockData
insert into jibbap_user(kakao_id,username,profile_image_url) values('11111','유저1','<https://k.kakaocdn.net/dn/dpk9l1/btqmGhA2lKL/Oz0wDuJn1YV2DIn92f6DVK/img_640x640.jpg>');
insert into jibbap_user(kakao_id,username,profile_image_url) values('22222','유저2','<https://k.kakaocdn.net/dn/dpk9l1/btqmGhA2lKL/Oz0wDuJn1YV2DIn92f6DVK/img_640x640.jpg>');
insert into jibbap_user(kakao_id,username,profile_image_url) values('33333','유저3','<https://k.kakaocdn.net/dn/dpk9l1/btqmGhA2lKL/Oz0wDuJn1YV2DIn92f6DVK/img_640x640.jpg>');
insert into jibbap_user(kakao_id,username,profile_image_url) values('44444','유저4','<https://k.kakaocdn.net/dn/dpk9l1/btqmGhA2lKL/Oz0wDuJn1YV2DIn92f6DVK/img_640x640.jpg>');
insert into jibbap_user(kakao_id,username,profile_image_url) values('55555','유저5','<https://k.kakaocdn.net/dn/dpk9l1/btqmGhA2lKL/Oz0wDuJn1YV2DIn92f6DVK/img_640x640.jpg>');
insert into jibbap_user(kakao_id,username,profile_image_url) values('66666','유저6','<https://k.kakaocdn.net/dn/dpk9l1/btqmGhA2lKL/Oz0wDuJn1YV2DIn92f6DVK/img_640x640.jpg>');
insert into relationship(user_id,group_id,username_in_group) values(1,1,'범덕1');
insert into relationship(user_id,group_id,username_in_group) values(3,1,'범덕2');
insert into relationship(user_id,group_id,username_in_group) values(4,1,'범덕3');
insert into relationship(user_id,group_id,username_in_group) values(5,1,'범덕4');
insert into relationship(user_id,group_id,username_in_group) values(6,1,'범덕5');
insert into relationship(user_id,group_id,username_in_group) values(7,1,'범덕6');
insert into jibbap_group(group_name,uuid) values('남의 집','222222');
insert into relationship(user_id,group_id,username_in_group) values(1,2,'난리범석');
http 통신은 따로 통신에 대한 dependency를 추가해줘야 한다
Api는 http 모듈을 통해 가능하다
get을 통해 가져오는 데이터들은 model을 선언해서 가져올 수 있다.
class WebtoonModel {
final String title, thumb, id;
WebtoonModel.fromJson(Map<String, dynamic> json)
: title = json['title'],
thumb = json['thumb'],
id = json['id'];
}
widget에 Future 멤버 변수를 선언했다면 Future Builder를 통해 미래의 데이터에 접근할 수 있다.
만약 Future 멤버 변수를 가져오는 api가 어떤 future값에 달려있다면 late로 선언해서 사용할 수 있다
late Future<WebtoonDetailModel> webtoon;
late Future<List<WebtoonEpisodeModel>> episodes;
late SharedPreferences prefs;
@override
void initState() {
super.initState();
webtoon = ApiService.getToonById(widget.id);
episodes = ApiService.getLatestEpisodesById(widget.id);
initPrefs();
}
GestureDetector를 통해 터치 스와이프 등에 대한 이벤트 발생시 일어날 일들을 정의할 수 있다
Navigator.push를 통해 다음 페이지로 이동할 수 있다
flutter appkey 숨기기