diff --git a/ios/Podfile.lock b/ios/Podfile.lock
index 42d82f1..59a2ebb 100644
--- a/ios/Podfile.lock
+++ b/ios/Podfile.lock
@@ -44,4 +44,4 @@ SPEC CHECKSUMS:
PODFILE CHECKSUM: aff02bfeed411c636180d6812254b2daeea14d09
-COCOAPODS: 1.6.1
+COCOAPODS: 1.7.4
diff --git a/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
new file mode 100644
index 0000000..18d9810
--- /dev/null
+++ b/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
@@ -0,0 +1,8 @@
+
+
+
+
+ IDEDidComputeMac32BitWarning
+
+
+
diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist
index 3763a4b..834957c 100644
--- a/ios/Runner/Info.plist
+++ b/ios/Runner/Info.plist
@@ -2,6 +2,11 @@
+ CFBundleLocalizations
+
+ zh
+ en
+
CFBundleDevelopmentRegion
en
CFBundleExecutable
diff --git a/lib/main.dart b/lib/main.dart
index 982d70a..41b5fc9 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -4,7 +4,7 @@ import 'package:flutter/services.dart';
import 'package:provide/provide.dart';
import 'package:xiaoming/src/data/settingData.dart';
import 'package:xiaoming/src/data/userData.dart';
-import 'package:xiaoming/src/view/route/app.dart';
+import 'package:xiaoming/src/view/app.dart';
void main() {
final userProviders = Providers()
diff --git a/lib/src/language/chineseCupertinoLocalizations.dart b/lib/src/language/chineseCupertinoLocalizations.dart
index a26888d..46d17fc 100644
--- a/lib/src/language/chineseCupertinoLocalizations.dart
+++ b/lib/src/language/chineseCupertinoLocalizations.dart
@@ -121,6 +121,10 @@ class ChineseCupertinoLocalizations implements CupertinoLocalizations {
await localizaltions.init();
return SynchronousFuture(localizaltions);
}
+
+ @override
+ // TODO: implement todayLabel
+ String get todayLabel => null;
}
class _ChineseDelegate extends LocalizationsDelegate {
diff --git a/lib/src/language/xiaomingLocalizations.dart b/lib/src/language/xiaomingLocalizations.dart
index 04c0e67..f597ce2 100644
--- a/lib/src/language/xiaomingLocalizations.dart
+++ b/lib/src/language/xiaomingLocalizations.dart
@@ -11,36 +11,40 @@ class XiaomingLocalizations {
'en': {
'AppName': 'Computing assistant',
'Buttons': 'Buttons',
- 'ButtonsHeight' : 'Buttons Height',
- 'ButtonsAutoExpanded' : 'ButtonsAutoExpanded',
+ 'ButtonsHeight': 'Buttons Height',
+ 'ButtonsAutoExpanded': 'ButtonsAutoExpanded',
'calculate': 'calculate',
- 'cancel' : 'cancel',
+ 'cancel': 'cancel',
'CopyHint': 'The content has been copied to the clipboard',
'decimal digits': 'Decimal Digits',
- 'delete' : 'delete',
- 'deleteAllMessage' : 'Please confirm if you want to delete all message',
- 'deleteAllData' : 'Please confirm if you want to delete all saved data and method',
- 'definite integral' : 'Definite Integral',
+ 'delete': 'delete',
+ 'deleteAllMessage': 'Please confirm if you want to delete all message',
+ 'deleteAllData':
+ 'Please confirm if you want to delete all saved data and method',
+ 'definite integral': 'Definite Integral',
'empty': 'empty',
- 'equations' : 'Equations',
- 'equationNotEmpty' : 'Equations cannot be empty',
- 'equationTip' : 'Tip: this page can be used to solve linear equations and higher-order unary equations',
+ 'equations': 'Equations',
+ 'equationNotEmpty': 'Equations cannot be empty',
+ 'equationTip':
+ 'Tip: this page can be used to solve linear equations and higher-order unary equations',
'equaHint1':
'A linear equation is one or more equations whose highest power is one',
'equaHint2': 'Example 3x-2y+z=2,3y+5z=8,',
- 'equaHint3': 'Multiple equation are separated by commas, Parameter is x,y,z',
+ 'equaHint3':
+ 'Multiple equation are separated by commas, Parameter is x,y,z',
'equaHint4':
'Polynomials refer to equations of one variable multiple times',
'equaHint5': "Example: x^2-2x+1",
- 'funName' : 'method name',
+ 'funName': 'method name',
+ 'Functions': 'Functions',
+ 'Home': 'Home',
'Help': 'HELP',
'HelpTab1': 'Data input',
'HelpTab2': 'Calculator',
'HelpTab3': 'Method',
'HelpTab4': 'Precision',
'HelpTab5': 'Equation',
- 'HelpTabData1':
- 'You can assign a value directly to a variable in the input box. '
+ 'HelpTabData1': 'You can assign a value directly to a variable in the input box. '
'eg: a = 12 or r = [1,2,3;4,5,6;7,8,9]'
'(This statement creates a matrix of three rows and three columns). '
'The format of the matrix assignment statement is: '
@@ -50,8 +54,7 @@ class XiaomingLocalizations {
'Above the input box is a comma and semicolon button for easy entry. '
'Matrix and real numbers are automatically saved to the file, the same name data will be replaced'
'(Enter a=2 will also replace the original a=[1,2,3;4,5,6])',
- 'HelpTabData2':
- 'This software supports addition, subtraction, multiplication and division between values, '
+ 'HelpTabData2': 'This software supports addition, subtraction, multiplication and division between values, '
'Matrix and value addition, subtraction, multiplication and division, '
'Addition, subtraction, multiplication and division of matrices and matrices. '
'(It must comply with the matrix operation rules, '
@@ -60,8 +63,7 @@ class XiaomingLocalizations {
'To calculate a matrix, you need to assign the matrix to a variable first,'
'Use this variable name to participate in the operation'
'eg: b = [1,2;3,1] c = b + 2',
- 'HelpTabData3':
- 'Enter the function name and its parameters to call the function. Example: b=inv(a). Functions can be nested, '
+ 'HelpTabData3': 'Enter the function name and its parameters to call the function. Example: b=inv(a). Functions can be nested, '
'Example: c=tran(inv(a). The built-in function can also be called in the custom function. There is a button column at the top of the input box to facilitate the input of the function name'
'Click the button in the upper left corner of the main interface to open the drawer. Click the saved function button in the drawer to open the function introduction interface, which has built-in functions.'
'Detailed introduction, as well as the user\'s custom function. The format of the custom function is: Fun function name (parameter list, separated by commas): function body,'
@@ -73,8 +75,7 @@ class XiaomingLocalizations {
'The decimal part will be automatically rounded to an integer and then factored. ',
'HelpTabData4':
'Click the Settings button on the main interface to open the settings interface, and slide the button to change the displayed decimal places.',
- 'HelpTabData5':
- 'There is a solution to the equations button on the drawer interface, click to enter the interface to solve the equations,'
+ 'HelpTabData5': 'There is a solution to the equations button on the drawer interface, click to enter the interface to solve the equations,'
'Entering a single equation is considered as a polynomial solution for all roots, and multiple equations are treated as linear equations. '
'There is no convenient input field for the solution of the equation. It is recommended to solve the problem on the main interface. '
'Linear equations can be input to the coefficient matrix a and the constant column b and then solved by inv(a)*b, '
@@ -83,53 +84,56 @@ class XiaomingLocalizations {
'First define the integrand with Fun t(x):r = 2*x^3-7*x, then solve it with calculus(t,0,8) function, t is the integrand, and 0 to 8 is the integration interval.',
'Hint': 'Hint',
'InputHint': 'Input command',
- 'IntegralFunction' : 'Integral Function',
- 'IntegralVariable' : 'Variable Of Integration',
- 'IntegralRange' : 'Integrating Range',
- 'maximum' : 'Maximum number of saves',
- 'methodBody' : 'method body',
- 'newFun' : 'New Funtion',
- 'ok' : 'OK',
- 'outApp' : 'Whether to quit the app?',
- 'parameter' : 'parameter',
- 'quit' : 'quit',
- 'removeUF' : 'UserFuntion has been removed',
- 'removeData' : 'Data has been removed',
- 'sample' : 'Sample',
+ 'IntegralFunction': 'Integral Function',
+ 'IntegralVariable': 'Variable Of Integration',
+ 'IntegralRange': 'Integrating Range',
+ 'maximum': 'Maximum number of saves',
+ 'methodBody': 'method body',
+ 'newFun': 'New Funtion',
+ 'ok': 'OK',
+ 'outApp': 'Whether to quit the app?',
+ 'parameter': 'parameter',
+ 'quit': 'quit',
+ 'removeUF': 'UserFuntion has been removed',
+ 'removeData': 'Data has been removed',
+ 'sample': 'Sample',
'Setting': 'Setting',
- 'save' : 'save',
+ 'save': 'save',
+ 'Saved': 'Saved',
'Saved function': 'Saved function',
'Saved Data': 'Saved Data',
'Solve equation': 'Solve equation',
'Solve calculus': 'Solve calculus',
- 'sucSave' : 'successfully saved',
- 'undo' : 'UNDO',
- 'variable' : 'variable',
- 'variableNotEmpty' : 'Variable cannot be empty',
+ 'sucSave': 'successfully saved',
+ 'undo': 'UNDO',
+ 'variable': 'variable',
+ 'variableNotEmpty': 'Variable cannot be empty',
},
'zh': {
'AppName': '计算小助手',
'Buttons': '按钮',
- 'ButtonsHeight' : '按钮栏显示高度',
- 'ButtonsAutoExpanded' : '按钮栏自动展开',
+ 'ButtonsHeight': '按钮栏显示高度',
+ 'ButtonsAutoExpanded': '按钮栏自动展开',
'calculate': '计算',
- 'cancel' : '取消',
+ 'cancel': '取消',
'CopyHint': '内容已复制到剪切板',
'decimal digits': '小数保留位数',
- 'delete' : '删除',
- 'deleteAllMessage' : '请确认是否删除所有消息记录',
- 'deleteAllData' : '请确认是否要删除所有已保存的数据和方法',
- 'definite integral' : '定积分',
+ 'delete': '删除',
+ 'deleteAllMessage': '请确认是否删除所有消息记录',
+ 'deleteAllData': '请确认是否要删除所有已保存的数据和方法',
+ 'definite integral': '定积分',
'empty': '清空',
- 'equations' : '方程',
- 'equationNotEmpty' : '方程组不能为空',
- 'equationTip' : '提示:本页面可求解线性方程组和一元高次方程',
+ 'equations': '方程',
+ 'equationNotEmpty': '方程组不能为空',
+ 'equationTip': '提示:本页面可求解线性方程组和一元高次方程',
'equaHint1': '输入方程系数求结果',
'equaHint2': '如: x^2-2x+1=0 则输入 1,-2,1',
'equaHint3': '3x1+4x2-x3=6 x2-4x3=-3 2x1-3x2+x3=0',
'equaHint4': '则输入 3,4,-1,6;0,1,-4,-3;2,-3,1,0',
'equaHint5': "例:'x^2-2x+1' ,变量栏输入x",
- 'funName' : '函数名',
+ 'funName': '函数名',
+ 'Functions': '功能',
+ 'Home': '首页',
'Hint': '提示',
'Help': '帮助',
'HelpTab1': '数据输入',
@@ -156,8 +160,7 @@ class XiaomingLocalizations {
'计算矩阵时需先将矩阵赋值给某一变量,'
'再用该变量名参与运算'
'如: b = [1,2;3,1] c = b + 2',
- 'HelpTabData3':
- '输入函数名及其参数即可调用函数。例:b=inv(a).函数可以嵌套调用,'
+ 'HelpTabData3': '输入函数名及其参数即可调用函数。例:b=inv(a).函数可以嵌套调用,'
'例:c=tran(inv(a)。在自定义函数中也可以调用内置函数,输入框的上方有方便输入函数名的按钮列'
'点击主界面左上角的按钮可以打开抽屉,点击抽屉中的保存的函数按钮可以打开函数介绍界面,里面有内置函数的'
'详细介绍,还有用户的自定义函数。自定义函数的格式为: Fun 函数名(参数列表,用逗号分隔):函数体,'
@@ -168,8 +171,7 @@ class XiaomingLocalizations {
', 例:test(3,2,-1)。注:示例中使用到的阶乘函数'
'会自动将小数部分四舍五入成整数再求阶乘。',
'HelpTabData4': '在主界面点击设置按钮即可打开设置界面,滑动按钮即可改变显示的小数位数',
- 'HelpTabData5':
- '在抽屉界面有解方程组按钮,点击可进入到解方程组的界面,'
+ 'HelpTabData5': '在抽屉界面有解方程组按钮,点击可进入到解方程组的界面,'
'输入单个方程则视为多项式解求所有根,多个方程则视为线性方程组求解。'
'因解方程界面没有便捷输入栏,推荐在主界面解求。'
'线性方程组可输入系数阵a和常数列b再用inv(a)*b即可解求,'
@@ -177,28 +179,29 @@ class XiaomingLocalizations {
'HelpTabData6':
'首先用Fun t(x):r = 2*x^3-7*x 定义被积函数,然后使用calculus(t,0,8)函数求解,t为被积函数,0到8为积分区间',
'InputHint': '输入命令',
- 'IntegralFunction' : '积分函数',
- 'IntegralVariable' : '积分变量',
- 'IntegralRange' : '积分区间',
- 'methodBody' : '函数体',
- 'maximum' : '历史记录条数',
- 'newFun' : '新的函数',
- 'ok' : '确认',
- 'outApp' : '是否退出应用?',
- 'parameter' : '参数',
- 'quit' : '退出',
- 'removeUF' : '自定义方法被移除',
- 'removeData' : '数据被移除',
- 'sample' : '示例',
+ 'IntegralFunction': '积分函数',
+ 'IntegralVariable': '积分变量',
+ 'IntegralRange': '积分区间',
+ 'methodBody': '函数体',
+ 'maximum': '历史记录条数',
+ 'newFun': '新的函数',
+ 'ok': '确认',
+ 'outApp': '是否退出应用?',
+ 'parameter': '参数',
+ 'quit': '退出',
+ 'removeUF': '自定义方法被移除',
+ 'removeData': '数据被移除',
+ 'sample': '示例',
'Setting': '设置',
- 'save' : '保存',
+ 'save': '保存',
+ 'Saved': '存储',
'Saved function': '保存的函数',
'Saved Data': '保存的数据',
'Solve equation': '解方程',
- 'sucSave' : '保存成功',
- 'undo' : '撤销',
- 'variable' : '变量',
- 'variableNotEmpty' : '变量不能为空',
+ 'sucSave': '保存成功',
+ 'undo': '撤销',
+ 'variable': '变量',
+ 'variableNotEmpty': '变量不能为空',
}
};
@@ -290,6 +293,14 @@ class XiaomingLocalizations {
return _localizedValues[locale.languageCode]['funName'];
}
+ get functions {
+ return _localizedValues[locale.languageCode]['Functions'];
+ }
+
+ get home {
+ return _localizedValues[locale.languageCode]['Home'];
+ }
+
get hint {
return _localizedValues[locale.languageCode]['Hint'];
}
@@ -414,6 +425,10 @@ class XiaomingLocalizations {
return _localizedValues[locale.languageCode]['save'];
}
+ get saved {
+ return _localizedValues[locale.languageCode]['Saved'];
+ }
+
get savedData {
return _localizedValues[locale.languageCode]['Saved Data'];
}
diff --git a/lib/src/view/route/app.dart b/lib/src/view/app.dart
similarity index 73%
rename from lib/src/view/route/app.dart
rename to lib/src/view/app.dart
index 1b197a2..62dd659 100644
--- a/lib/src/view/route/app.dart
+++ b/lib/src/view/app.dart
@@ -1,7 +1,6 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
-import 'package:xiaoming/src/language/chineseCupertinoLocalizations.dart';
import 'package:xiaoming/src/language/xiaomingLocalizations.dart';
import 'package:xiaoming/src/view/widget/myTabScaffold.dart';
@@ -11,24 +10,20 @@ class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
-
return CupertinoApp(
color: Colors.white,
debugShowCheckedModeBanner: false,
localizationsDelegates: [
- ChineseCupertinoLocalizations.delegate,
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
XiaomingLocalizationsDelegate.delegate,
- DefaultCupertinoLocalizations.delegate,
+ GlobalCupertinoLocalizations.delegate,
],
supportedLocales: [
- const Locale('en', 'US'),
- const Locale('zh', 'CH'),
+ const Locale('en'),
+ const Locale('zh'),
],
- home: MyTabScaffold(),
+ home: MyTabScaffold(),
);
}
}
-
-
diff --git a/lib/src/view/route/homeRoute.dart b/lib/src/view/route/homeRoute.dart
index 9f4f079..9c9f61f 100644
--- a/lib/src/view/route/homeRoute.dart
+++ b/lib/src/view/route/homeRoute.dart
@@ -25,7 +25,8 @@ class HomeRouteState extends State with TickerProviderStateMixin {
bool _isComposing = false; //判断是否有输入
bool isComplete = true; //计算是否完成
static bool _isInit = false;
- final StreamController _streamController = StreamController.broadcast();
+ final StreamController _streamController =
+ StreamController.broadcast();
///初始化对象及加载数据
@override
@@ -37,11 +38,11 @@ class HomeRouteState extends State with TickerProviderStateMixin {
KeyboardVisibilityNotification().addNewListener(
onChange: (bool visible) {
if (visible) {
- if(this.mounted) {
+ if (this.mounted) {
_streamController.sink.add(200.0);
}
} else {
- if(this.mounted) {
+ if (this.mounted) {
_streamController.sink.add(0.0);
}
}
@@ -55,19 +56,11 @@ class HomeRouteState extends State with TickerProviderStateMixin {
super.dispose();
_textController.dispose();
_streamController.close();
-
- ///当切换主题时,主动调用animationController.dispose() 会触发多次dispose的异常
- // for (TextView textView in _texts) {
- // if (textView.animationController != null) {
- // textView.animationController?.dispose();
- // }
- // }
}
///home界面布局
@override
Widget build(BuildContext context) {
-
///主界面布局
return DefaultTextStyle(
style: const TextStyle(
@@ -171,7 +164,7 @@ class HomeRouteState extends State with TickerProviderStateMixin {
),
SettingButton(_deleteAllMessage, true),
]),
- middle: Text("Home"),
+ middle: Text(XiaomingLocalizations.of(context).home),
),
resizeToAvoidBottomInset: true,
child: _buildList(),
@@ -181,7 +174,7 @@ class HomeRouteState extends State with TickerProviderStateMixin {
backgroundColor: Colors.grey,
centerTitle: true,
key: Key("AndAppBar"),
- title: Text("Home"),
+ title: Text(XiaomingLocalizations.of(context).home),
actions: [
buildHelpButton(context, false),
const SizedBox(
diff --git a/lib/src/view/widget/myTabScaffold.dart b/lib/src/view/widget/myTabScaffold.dart
index 9c47bcf..40360d8 100644
--- a/lib/src/view/widget/myTabScaffold.dart
+++ b/lib/src/view/widget/myTabScaffold.dart
@@ -8,23 +8,22 @@ import 'package:xiaoming/src/view/route/functionsRoute.dart';
import 'package:xiaoming/src/view/route/homeRoute.dart';
class MyTabScaffold extends StatelessWidget {
-
//创建IOS主题的底部导航栏
- Widget _buildIOSTabScaffold() {
+ Widget _buildIOSTabScaffold(BuildContext context) {
return CupertinoTabScaffold(
key: Key("IOS"),
- tabBar: CupertinoTabBar(items: const [
+ tabBar: CupertinoTabBar(items: [
BottomNavigationBarItem(
icon: Icon(Icons.message),
- title: Text("Home"),
+ title: Text(XiaomingLocalizations.of(context).home),
),
BottomNavigationBarItem(
icon: Icon(Icons.apps),
- title: Text("Functions"),
+ title: Text(XiaomingLocalizations.of(context).functions),
),
BottomNavigationBarItem(
icon: Icon(Icons.save),
- title: Text("Saved"),
+ title: Text(XiaomingLocalizations.of(context).saved),
),
]),
tabBuilder: (BuildContext context, int index) {
@@ -42,18 +41,21 @@ class MyTabScaffold extends StatelessWidget {
return CupertinoTabView(builder: (BuildContext context) {
return IOSDataRoute();
});
+ default:
+ return CupertinoTabView();
}
});
}
@override
Widget build(BuildContext context) {
- SettingData.language = Localizations.localeOf(context).languageCode; //记录当前语言代码
-
+ SettingData.language =
+ Localizations.localeOf(context).languageCode; //记录当前语言代码
return Provide(
//跟随主题切换界面
builder: (context, child, sd) {
- return WillPopScope( //拦截系统导航栏返回键事件
+ return WillPopScope(
+ //拦截系统导航栏返回键事件
onWillPop: () async {
switch (SettingData.nowPage) {
case 0:
@@ -107,26 +109,28 @@ class MyTabScaffold extends StatelessWidget {
],
);
});
- return isPop;
+ return Future.value(isPop);
break;
case 1:
SettingData.nowPage = 0;
Navigator.pop(SettingData.pageContext);
- return false;
+ return Future.value(false);
break;
case 2:
Navigator.pop(SettingData.pageContext);
- return false;
+ return Future.value(false);
break;
case 3:
SettingData.nowPage = 0;
Navigator.pop(SettingData.pageContext);
- return false;
+ return Future.value(false);
break;
+ default:
+ return Future.value(true);
}
},
child: sd.theme == "IOS"
- ? _buildIOSTabScaffold()
+ ? _buildIOSTabScaffold(context)
: AndTabScaffold(),
);
},
@@ -152,29 +156,29 @@ class _AndTabScaffoldState extends State {
@override
Widget build(BuildContext context) {
return Scaffold(
- key: Key("Android"),
- bottomNavigationBar: BottomNavigationBar(
+ key: Key("Android"),
+ bottomNavigationBar: BottomNavigationBar(
currentIndex: _selectedIndex,
- onTap: (index) {
- setState(() {
- _selectedIndex = index;
- });
- },
- items: const [
- BottomNavigationBarItem(
- icon: Icon(Icons.message),
- title: Text("Home"),
- ),
- BottomNavigationBarItem(
- icon: Icon(Icons.apps),
- title: Text("Functions"),
- ),
- BottomNavigationBarItem(
- icon: Icon(Icons.save),
- title: Text("Saved"),
- ),
- ]),
- body: _bodys[_selectedIndex],
- );
+ onTap: (index) {
+ setState(() {
+ _selectedIndex = index;
+ });
+ },
+ items: [
+ BottomNavigationBarItem(
+ icon: Icon(Icons.message),
+ title: Text(XiaomingLocalizations.of(context).home),
+ ),
+ BottomNavigationBarItem(
+ icon: Icon(Icons.apps),
+ title: Text(XiaomingLocalizations.of(context).functions),
+ ),
+ BottomNavigationBarItem(
+ icon: Icon(Icons.save),
+ title: Text(XiaomingLocalizations.of(context).saved),
+ ),
+ ]),
+ body: _bodys[_selectedIndex],
+ );
}
}
diff --git a/pubspec.lock b/pubspec.lock
index 5ef3d60..68b245f 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -1,5 +1,5 @@
# Generated by pub
-# See https://www.dartlang.org/tools/pub/glossary#lockfile
+# See https://dart.dev/tools/pub/glossary#lockfile
packages:
archive:
dependency: transitive
@@ -21,7 +21,7 @@ packages:
name: async
url: "https://pub.flutter-io.cn"
source: hosted
- version: "2.1.0"
+ version: "2.2.0"
boolean_selector:
dependency: transitive
description:
@@ -78,6 +78,13 @@ packages:
description: flutter
source: sdk
version: "0.0.0"
+ flutter_cupertino_localizations:
+ dependency: "direct main"
+ description:
+ name: flutter_cupertino_localizations
+ url: "https://pub.flutter-io.cn"
+ source: hosted
+ version: "1.0.1"
flutter_launcher_icons:
dependency: "direct dev"
description:
@@ -150,7 +157,7 @@ packages:
name: pedantic
url: "https://pub.flutter-io.cn"
source: hosted
- version: "1.5.0"
+ version: "1.7.0"
petitparser:
dependency: transitive
description:
@@ -171,7 +178,7 @@ packages:
name: quiver
url: "https://pub.flutter-io.cn"
source: hosted
- version: "2.0.2"
+ version: "2.0.3"
sky_engine:
dependency: transitive
description: flutter
@@ -232,7 +239,7 @@ packages:
name: test_api
url: "https://pub.flutter-io.cn"
source: hosted
- version: "0.2.4"
+ version: "0.2.5"
typed_data:
dependency: transitive
description:
@@ -262,5 +269,5 @@ packages:
source: hosted
version: "2.1.15"
sdks:
- dart: ">=2.2.0 <3.0.0"
+ dart: ">=2.2.2 <3.0.0"
flutter: ">=1.2.1 <2.0.0"
diff --git a/pubspec.yaml b/pubspec.yaml
index caf1039..68f88c1 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -10,14 +10,14 @@ description: A new Flutter application.
version: 1.0.0+1
environment:
- sdk: ">=2.1.0 <3.0.0"
+ sdk: '>=2.1.0 <3.0.0'
dependencies:
flutter:
sdk: flutter
flutter_localizations:
sdk: flutter
-
+ flutter_cupertino_localizations: ^1.0.1
sqflite: ^1.1.3
path_provider: ^0.4.1
# The following adds the Cupertino Icons font to your application.
@@ -33,21 +33,19 @@ dev_dependencies:
flutter_launcher_icons: ^0.6.1
flutter_icons:
- android: true
- ios: "Example-Icon"
- image_path: "assets/icon/icon_android.png"
+ android: true
+ ios: 'Example-Icon'
+ image_path: 'assets/icon/icon_android.png'
# image_path_android: "assets/icon/icon_android.png"
# image_path_ios: "assets/icon/icon_ios.png"
# adaptive_icon_background: "#000000"
# adaptive_icon_foreground: "assets/icon/icon-foreground.png"
-
# For information on the generic Dart part of this file, see the
# following page: https://www.dartlang.org/tools/pub/pubspec
# The following section is specific to Flutter.
flutter:
-
# The following line ensures that the Material Icons font is
# included with your application, so that you can use the icons in
# the material Icons class.
@@ -63,13 +61,10 @@ flutter:
# assets:
# - images/a_dot_burr.jpeg
# - images/a_dot_ham.jpeg
-
# An image asset can refer to one or more resolution-specific "variants", see
# https://flutter.io/assets-and-images/#resolution-aware.
-
# For details regarding adding assets from package dependencies, see
# https://flutter.io/assets-and-images/#from-packages
-
# To add custom fonts to your application, add a fonts section here,
# in this "flutter" section. Each entry in this list should have a
# "family" key with the font family name, and a "fonts" key with a