小编Tab*_*san的帖子

“字符串”不是“int”颤振的子类型

这是我的第一个 flutter JSON 示例,我尝试从 json 链接中获取数据并将标题显示为列表视图

我用这段代码写了我的一些更改..在他有results我的数组的链接中我没有所以我data = resBody[" "]; 留空是对的吗?

另外,我在 flutter HTTP 请求中遇到了这个错误,但我真的不知道该怎么做

有什么帮助吗?

Dart Error: Unhandled exception:
 type 'String' is not a subtype of type 'int' of 'index'
Run Code Online (Sandbox Code Playgroud)

这是我的代码

 import 'package:flutter/material.dart';
    import 'dart:async';
    import 'dart:convert';
    import 'package:http/http.dart' as http;

    void main() {
      runApp(MaterialApp(
    home: ToDo(),
  ));
}

class ToDo extends StatefulWidget {
  @override
  ToDoState createState() => ToDoState();
}

class ToDoState extends State<ToDo> {
  final String url = "https://jsonplaceholder.typicode.com/todos";
  List data;

  Future<String> getTitle() …
Run Code Online (Sandbox Code Playgroud)

dart flutter

6
推荐指数
1
解决办法
6934
查看次数

在空颤动上调用 SharedPreferences

我构建了一个函数,用于在共享首选项中存储令牌,然后当我第一次运行我的应用程序出现错误时从服务器获取数据

以下 NoSuchMethodError 被抛出构建 AdminPage(dirty, state: AdminPageState#87bcd): flutter: The method '[]' was called on null. 颤振:接收方:空颤振:尝试调用:

然后应用程序运行良好

PS我的代码是

Future<Map<String, dynamic>> getCards(String userid) async {
  BuildContext context;
  String jWTtoken = '';
  try {
    final SharedPreferences prefs = await SharedPreferences.getInstance();

    //  prefs = await SharedPreferences.getInstance();
    jWTtoken = prefs.getString('token');
    tokenfoo();
  } catch (e) {
    Navigator.pushReplacement(
      context,
      MaterialPageRoute(builder: (BuildContext context) => AuthPage()),
    );
  }

  final Map<String, dynamic> authData = {
    'Userid': '261',
    // 'Email':_formData['Email'],
    // 'Password':_formData['Password'],
  };

  final http.Response response = await http.post(
      'hurl', …
Run Code Online (Sandbox Code Playgroud)

sharedpreferences dart flutter

5
推荐指数
1
解决办法
3341
查看次数

找不到正确的提供者&lt;&gt;

我有一个类发出 HTTP 获取请求和两个屏幕,第一个屏幕显示从 API 获取的标题,第二个屏幕显示也从 API 获取的帖子以及所有使用提供程序的帖子我所做的是在主类主页中:

ChangeNotifierProvider<NewsRequest>(
 child:News(title: "Bitcoin News",),
 builder: (_) => NewsRequest() ),
Run Code Online (Sandbox Code Playgroud)

在两个屏幕上,我做了最后的

 newsResponse = Provider.of<NewsRequest>(context);
Run Code Online (Sandbox Code Playgroud)

但出现这个错误

错误:在此描述小部件颤动上方找不到正确的提供者:颤动:要修复,请:颤动:颤动:* 确保提供者是此描述小部件颤动的祖先:* 向提供者提供类型颤动:* 向消费者提供类型flutter: * 为 Provider.of() 提供类型 flutter: * 始终使用包导入。例如:导入 'package:my_app/my_code.dart'; flutter: * 确保使用了
正确的上下文。

怎么解决????

state-management dart flutter

5
推荐指数
1
解决办法
3455
查看次数

firebase 和 flutter 本地通知都处理后台通知

当后台 firebase 中的应用程序首先处理通知,然后 flutter 本地通知在屏幕上显示弹出窗口以使 firebase 不显示通知时,我面临显示双重通知的问题

ps 删除
FirebaseMessaging.onBackgroundMessage(firebaseMessagingBackgroundHandler);

使应用程序不处理后台通知

FirebaseMessaging.onMessage.listen(
      (RemoteMessage? message) async {
      
        _showNotification(
            id: 0,
            title: message?.notification?.title ?? '',
            body: message?.notification?.body ?? '');
      },
    );

    FirebaseMessaging.onBackgroundMessage(firebaseMessagingBackgroundHandler);
Run Code Online (Sandbox Code Playgroud)

firebaseMessagingBackgroundHandler:

Future<void> firebaseMessagingBackgroundHandler(RemoteMessage? message) async {

  _showNotification(
      id: 0,
      title: message?.notification?.title ?? '',
      body: message?.notification?.body ?? '');

}
Run Code Online (Sandbox Code Playgroud)

firebase 包在通知标志中包含标题和正文,即使应用程序在后台工作,以任何方式使通知仅由 flutter_local_notification 包处理

push-notification flutter firebase-cloud-messaging flutter-local-notification

5
推荐指数
1
解决办法
2475
查看次数

颤动日期时间选择器以添加开始和结束日期

我在flutter docs中阅读了日期时间选择器,但它仅支持选择一天并显示它,但我想要的是选择开始日期和结束日期以显示这些日期之间的结果

任何人都可以帮助我如何做到这一点?

dart flutter

3
推荐指数
1
解决办法
6363
查看次数

颤振调试器不会在断点处停止

每次我想调试我的颤振项目时,调试器都不会停在断点上,就像没有断点一样,即使未缓存的异常和调试器中的所有异常底部都在工作

我的

启动文件

文件

{
    "version": "0.2.0",
    "configurations": [{
        "name": "Flutter",
        "request": "launch",
        "type": "dart",
        "program": "lib/main.dart",
        "args": [
            "--debug",
            "dev"
        ],
    }]
}
Run Code Online (Sandbox Code Playgroud)

我尝试了默认的 launch.json 配置,但没有用

{
        "version": "0.2.0",
    "configurations": [
        {
            "name": "Flutter",
            "request": "launch",
            "type": "dart"
        }
    ]
} 
Run Code Online (Sandbox Code Playgroud)

debugging dart visual-studio-code flutter

3
推荐指数
1
解决办法
1496
查看次数

如何在flutter中获取设备型号名称

我正在使用device_info_plus插件来获取设备信息,但无法获取型号名称。

设备名称正在更改并且

utsname.machine

不要给我正确的名字

如何在 flutter 项目中获得正确的设备名称。

flutter

3
推荐指数
1
解决办法
5477
查看次数

如何使用statelessWidget从Api获取数据

我正在尝试从 api 获取新闻数据并在主页中显示新闻标题,因为我知道它不会有任何内部更改,所以我决定使用StatelessWidget以及使用PROVIDER状态管理,现在我遇到了麻烦如何使用 StatelessWidget 调用获取方法,以便我可以显示标题

这是我获取数据的类

class NewsRequest with ChangeNotifier{

  static String _url ="https://newsapi.org/v2/everything?q=bitcoin&from=2019-06-24&sortBy=publishedAt&apiKey=4d990bdd71324572bca39fe31edc3990";
  static Map<String, String> _apiKey = {"apiKey" : "4d990bdd71324572bca39fe31edc3990"};
  Map <String, dynamic> _data;
  List _articles;
  bool _isFetching = false;
  Map<String, dynamic> result;

bool get isFetching => _isFetching;



Future<Map<String, dynamic>> fetchData() async{
   _isFetching = true;
try{
  Response response = await get(Uri.encodeFull(_url), headers: _apiKey)
       .timeout(Duration(seconds: 60)); 
       print("STATUSCODE ${response.statusCode}");
        if(response.statusCode == 200){
     _data = json.decode(response.body);
   }
   _isFetching = false;
   notifyListeners();
}on SocketException catch(_){
}on TimeoutException catch(_){ …
Run Code Online (Sandbox Code Playgroud)

state-management dart flutter

2
推荐指数
1
解决办法
6267
查看次数