Showing
5 changed files
with
105 additions
and
4 deletions
| ... | @@ -93,4 +93,7 @@ appbar 관련 디자인은 추후 구현 예정 | ... | @@ -93,4 +93,7 @@ appbar 관련 디자인은 추후 구현 예정 |
| 93 | 93 | ||
| 94 | ### 2021-05-29 | 94 | ### 2021-05-29 |
| 95 | + 약병 리스트 ui 변경 | 95 | + 약병 리스트 ui 변경 |
| 96 | -+ DashBoard 새로고침 | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 96 | ++ DashBoard 새로고침 | ||
| 97 | + | ||
| 98 | +### 2021-05-30 | ||
| 99 | ++ Sqlite 생성 | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
File mode changed
| ... | @@ -6,6 +6,8 @@ import 'package:flutter_dotenv/flutter_dotenv.dart'; | ... | @@ -6,6 +6,8 @@ import 'package:flutter_dotenv/flutter_dotenv.dart'; |
| 6 | import '../models/Bottle.dart'; | 6 | import '../models/Bottle.dart'; |
| 7 | import '../DashBoard.dart'; | 7 | import '../DashBoard.dart'; |
| 8 | import '../../utils/user_secure_stoarge.dart'; | 8 | import '../../utils/user_secure_stoarge.dart'; |
| 9 | +import '../../utils/DBHelper.dart'; | ||
| 10 | +import '../models/UserBottle.dart'; | ||
| 9 | 11 | ||
| 10 | class BottleList extends StatefulWidget { | 12 | class BottleList extends StatefulWidget { |
| 11 | BottleList({Key key}) : super(key: key); | 13 | BottleList({Key key}) : super(key: key); |
| ... | @@ -19,13 +21,14 @@ class _BottleListState extends State<BottleList> { | ... | @@ -19,13 +21,14 @@ class _BottleListState extends State<BottleList> { |
| 19 | Future<String> getBottleList() async { | 21 | Future<String> getBottleList() async { |
| 20 | String hubid = await UserSecureStorage.getHubId(); | 22 | String hubid = await UserSecureStorage.getHubId(); |
| 21 | String usertoken = await UserSecureStorage.getUserToken(); | 23 | String usertoken = await UserSecureStorage.getUserToken(); |
| 24 | + | ||
| 25 | + var provider = DBHelper(); | ||
| 22 | http.Response response = await http.get( | 26 | http.Response response = await http.get( |
| 23 | Uri.encodeFull( | 27 | Uri.encodeFull( |
| 24 | DotEnv().env['SERVER_URL'] + 'bottle/hub/' + hubid.toString()), | 28 | DotEnv().env['SERVER_URL'] + 'bottle/hub/' + hubid.toString()), |
| 25 | headers: {"authorization": usertoken}, | 29 | headers: {"authorization": usertoken}, |
| 26 | ); | 30 | ); |
| 27 | - print(response.body); | 31 | + |
| 28 | - print(1); | ||
| 29 | if (_bottleList.length != 0) { | 32 | if (_bottleList.length != 0) { |
| 30 | _bottleList.clear(); | 33 | _bottleList.clear(); |
| 31 | } | 34 | } |
| ... | @@ -37,6 +40,20 @@ class _BottleListState extends State<BottleList> { | ... | @@ -37,6 +40,20 @@ class _BottleListState extends State<BottleList> { |
| 37 | Map<String, dynamic> map = values[i]; | 40 | Map<String, dynamic> map = values[i]; |
| 38 | _bottleList.add(Bottle.fromJson(map)); | 41 | _bottleList.add(Bottle.fromJson(map)); |
| 39 | } | 42 | } |
| 43 | + for (int i = 0; i < _bottleList.length; i++) { | ||
| 44 | + UserBottle temp = new UserBottle(); | ||
| 45 | + temp.bottleId = _bottleList[i].bottleId; | ||
| 46 | + temp.bottleName = _bottleList[i].bottleId.toString(); | ||
| 47 | + provider.createData(temp); | ||
| 48 | + } | ||
| 49 | + List<UserBottle> _userbottleList = new List<UserBottle>(); | ||
| 50 | + _userbottleList = await provider.getAllBottle(); | ||
| 51 | + for (int i = 0; i < _userbottleList.length; i++) { | ||
| 52 | + print(_userbottleList[i].bottleId); | ||
| 53 | + print(12345678); | ||
| 54 | + } | ||
| 55 | + | ||
| 56 | + print(provider.getAllBottle()); | ||
| 40 | return "GET"; | 57 | return "GET"; |
| 41 | } else if (response.statusCode == 404) { | 58 | } else if (response.statusCode == 404) { |
| 42 | return "Not Found"; | 59 | return "Not Found"; | ... | ... |
| 1 | class UserBottle { | 1 | class UserBottle { |
| 2 | - String bottleId; | 2 | + int bottleId; |
| 3 | String bottleName; | 3 | String bottleName; |
| 4 | 4 | ||
| 5 | UserBottle({this.bottleId, this.bottleName}); | 5 | UserBottle({this.bottleId, this.bottleName}); |
| 6 | + | ||
| 7 | + factory UserBottle.fromJson(Map<String, dynamic> parsedJson) { | ||
| 8 | + return UserBottle( | ||
| 9 | + bottleId: parsedJson['bottleId'], | ||
| 10 | + bottleName: parsedJson['bottleName'], | ||
| 11 | + ); | ||
| 12 | + } | ||
| 13 | + | ||
| 14 | + Map<String, dynamic> toJson() => | ||
| 15 | + {"bottleId": bottleId, "bottleName": bottleName}; | ||
| 6 | } | 16 | } | ... | ... |
| 1 | +import 'dart:io'; | ||
| 2 | +import 'package:path_provider/path_provider.dart'; | ||
| 3 | +import 'package:sqflite/sqflite.dart'; | ||
| 4 | +import 'package:path/path.dart'; | ||
| 5 | +import '../screens/models/UserBottle.dart'; | ||
| 6 | + | ||
| 7 | +final String tableName = 'medicinename'; | ||
| 8 | + | ||
| 9 | +class DBHelper { | ||
| 10 | + DBHelper._(); | ||
| 11 | + | ||
| 12 | + static final DBHelper _db = DBHelper._(); | ||
| 13 | + | ||
| 14 | + factory DBHelper() => _db; | ||
| 15 | + | ||
| 16 | + static Database _database; | ||
| 17 | + | ||
| 18 | + Future<Database> get database async { | ||
| 19 | + if (_database != null) return _database; | ||
| 20 | + | ||
| 21 | + _database = await initDB(); | ||
| 22 | + return _database; | ||
| 23 | + } | ||
| 24 | + | ||
| 25 | + initDB() async { | ||
| 26 | + Directory documentsDirectory = await getApplicationDocumentsDirectory(); | ||
| 27 | + String path = join(documentsDirectory.path, 'medicinename.db'); | ||
| 28 | + | ||
| 29 | + return await openDatabase( | ||
| 30 | + path, | ||
| 31 | + version: 1, | ||
| 32 | + onCreate: (Database db, int version) async { | ||
| 33 | + await db.execute(''' | ||
| 34 | + CREATE TABLE $tableName | ||
| 35 | + (bottleId INTEGER PRIMARY KEY, | ||
| 36 | + bottleName TEXT) | ||
| 37 | + '''); | ||
| 38 | + }, | ||
| 39 | + ); | ||
| 40 | + } | ||
| 41 | + | ||
| 42 | + createData(UserBottle bottle) async { | ||
| 43 | + final db = await database; | ||
| 44 | + var res = await db.insert(tableName, bottle.toJson(), | ||
| 45 | + conflictAlgorithm: ConflictAlgorithm.replace); | ||
| 46 | + return res; | ||
| 47 | + } | ||
| 48 | + | ||
| 49 | + getBottle(int bottleId) async { | ||
| 50 | + final db = await database; | ||
| 51 | + var res = | ||
| 52 | + await db.query(tableName, where: 'bottleId=?', whereArgs: [bottleId]); | ||
| 53 | + return res.isNotEmpty ? UserBottle.fromJson(res.first) : Null; | ||
| 54 | + } | ||
| 55 | + | ||
| 56 | + Future<List<UserBottle>> getAllBottle() async { | ||
| 57 | + final db = await database; | ||
| 58 | + var res = await db.query(tableName); | ||
| 59 | + List<UserBottle> list = | ||
| 60 | + res.isNotEmpty ? res.map((c) => UserBottle.fromJson(c)).toList() : []; | ||
| 61 | + | ||
| 62 | + return list; | ||
| 63 | + } | ||
| 64 | + | ||
| 65 | + updateBottle(UserBottle bottle) async { | ||
| 66 | + final db = await database; | ||
| 67 | + var res = db.update(tableName, bottle.toJson(), | ||
| 68 | + where: 'bottleId=?', whereArgs: [bottle.bottleId]); | ||
| 69 | + return res; | ||
| 70 | + } | ||
| 71 | +} |
-
Please register or login to post a comment