Browse Source

代码优化

liuyuqi-dellpc 1 year ago
parent
commit
7949fc4db1

+ 1 - 1
android/app/build.gradle

@@ -24,7 +24,7 @@ if (flutterVersionName == null) {
 
 android {
     namespace "me.yoqi.flutter.flutter_cocktail"
-    compileSdkVersion flutter.compileSdkVersion
+    compileSdkVersion 33
     ndkVersion flutter.ndkVersion
 
     compileOptions {

+ 8 - 4
android/app/src/main/AndroidManifest.xml

@@ -1,4 +1,12 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <uses-permission android:name="android.permission.INTERNET" />
+    <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
+    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
+    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
+    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
+    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
+
     <application
         android:label="flutter_cocktail"
         android:name="${applicationName}"
@@ -11,10 +19,6 @@
             android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
             android:hardwareAccelerated="true"
             android:windowSoftInputMode="adjustResize">
-            <!-- Specifies an Android theme to apply to this Activity as soon as
-                 the Android process has started. This theme is visible to the user
-                 while the Flutter UI initializes. After that, this theme continues
-                 to determine the Window background behind the Flutter UI. -->
             <meta-data
               android:name="io.flutter.embedding.android.NormalTheme"
               android:resource="@style/NormalTheme"

+ 5 - 5
lib/main.dart

@@ -1,12 +1,12 @@
 import 'package:flutter/material.dart';
-import 'package:flutter_cocktail/homepage.dart';
-
-const MaterialColor myColor = Colors.brown;
+import 'package:flutter_cocktail/model/config.dart';
+import 'package:flutter_cocktail/pages/homepage.dart';
 
 void main() {
   runApp(MyApp());
 }
 
+// ignore: use_key_in_widget_constructors
 class MyApp extends StatelessWidget {
   @override
   Widget build(BuildContext context) {
@@ -17,7 +17,7 @@ class MyApp extends StatelessWidget {
         primarySwatch: myColor,
         fontFamily: "Pacifico",
       ),
-      home: HomePage(),
+      home: const HomePage(),
     );
   }
-}
+}

+ 11 - 0
lib/model/config.dart

@@ -0,0 +1,11 @@
+import 'package:flutter/material.dart';
+
+/// Description: global config
+/// Time       : 11/06/2023 Monday
+/// Author     : liuyuqi.gov@msn.cn
+
+const MaterialColor myColor = Colors.brown;
+
+class Config {
+  
+}

+ 2 - 3
lib/drink_detail.dart → lib/pages/drink_detail.dart

@@ -1,11 +1,10 @@
 import 'package:flutter/material.dart';
-
-import 'main.dart';
+import 'package:flutter_cocktail/model/config.dart';
 
 class DrinkDetail extends StatelessWidget {
   final drink;
 
-  const DrinkDetail({Key? key, required this.drink}) : super(key: key);
+  const DrinkDetail({super.key, required this.drink});
   @override
   Widget build(BuildContext context) {
     return Container(

+ 14 - 12
lib/homepage.dart → lib/pages/homepage.dart

@@ -1,37 +1,39 @@
 import 'dart:convert';
-
 import 'package:flutter/material.dart';
-import 'package:flutter_cocktail/drink_detail.dart';
+import 'package:flutter_cocktail/model/config.dart';
+import 'package:flutter_cocktail/pages/drink_detail.dart';
 import 'package:http/http.dart' as http;
 
-import 'main.dart';
-
+/// Description: home page
+/// Time       : 11/06/2023 Monday
+/// Author     : liuyuqi.gov@msn.cn
 class HomePage extends StatefulWidget {
+  const HomePage({super.key});
+
   @override
   _HomePageState createState() => _HomePageState();
 }
 
 class _HomePageState extends State<HomePage> {
-  String api = "https://www.thecocktaildb.com/api/json/v1/1/filter.php?c=Cocktail";
+  String api =
+      "https://www.thecocktaildb.com/api/json/v1/1/filter.php?c=Cocktail";
   var res, drinks;
 
   @override
   void initState() {
     super.initState();
-
     fetchData();
   }
 
   fetchData() async {
     res = await http.get(Uri.parse(api));
     drinks = jsonDecode(res.body)["drinks"];
-
   }
 
   @override
   Widget build(BuildContext context) {
     return Container(
-      decoration: BoxDecoration(
+      decoration: const BoxDecoration(
           gradient: LinearGradient(colors: [
         myColor,
         Colors.orange,
@@ -39,7 +41,7 @@ class _HomePageState extends State<HomePage> {
       child: Scaffold(
         backgroundColor: Colors.transparent,
         appBar: AppBar(
-          title: Text("Cocktail App"),
+          title: const Text("Cocktail App"),
           elevation: 0.0,
           backgroundColor: Colors.transparent,
         ),
@@ -61,14 +63,14 @@ class _HomePageState extends State<HomePage> {
                       ),
                       title: Text(
                         "${drink["strDrink"]}",
-                        style: TextStyle(
+                        style: const TextStyle(
                           fontSize: 22,
                           color: Colors.white,
                         ),
                       ),
                       subtitle: Text(
                         "${drink["idDrink"]}",
-                        style: TextStyle(
+                        style: const TextStyle(
                           color: Colors.white,
                         ),
                       ),
@@ -83,7 +85,7 @@ class _HomePageState extends State<HomePage> {
                     );
                   },
                 )
-              : CircularProgressIndicator(backgroundColor: Colors.white),
+              : const CircularProgressIndicator(backgroundColor: Colors.white),
         ),
       ),
     );