我正在尝试使用 HTTP GET 和 Flutter SDK 在线获取数据。我正在尝试使用此代码https://github.com/RaglandCodes/Flutter-basic-API/blob/master/lib/main.dart但它显示有关数据类型的错误
不能将参数类型“String”分配给参数类型“int”
这是错误部分
new Card(
child: new Container(
child: new Text(data[index]['name']), //error red underlying with 'name'
padding: EdgeInsets.all(20),
),
Run Code Online (Sandbox Code Playgroud)
这是我的 main.dart
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:flutter/foundation.dart';
import 'package:http/http.dart' as http;
import 'dart:async';
void main() {
runApp(new MaterialApp(home: new HomePage(),));
}
class HomePage extends StatefulWidget {
@override
_HomePageState createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
String url="https://swapi.co/api/people/";
List<String> data;
/*onCreate*/
@override
void initState() {
// TODO: implement initState
super.initState();
getJSONData(); …Run Code Online (Sandbox Code Playgroud) 我目前无法让我的应用程序向用户发送对话以在 API 29 上设置默认拨号器,但相同的代码在 Android 10 (Q) 下运行良好。
我测试了这个“无响应”意图提示用户设置短信示例的默认处理程序,但不适用于我的。然后我按照https://developer.android.com/guide/topics/permissions/default-handlers但没有解决我的问题。API 级别 29 或更高版本是否有任何特殊更改可以让用户设置默认应用程序?
这是我的工作代码(适用于 Android 10 以下)
TelecomManager telecomManager = (TelecomManager) getSystemService(TELECOM_SERVICE);
if (!getPackageName().equals(telecomManager.getDefaultDialerPackage())) {
Intent intent = new Intent(ACTION_CHANGE_DEFAULT_DIALER)
.putExtra(EXTRA_CHANGE_DEFAULT_DIALER_PACKAGE_NAME, getPackageName());
startActivity(intent);
}
Run Code Online (Sandbox Code Playgroud)
我在 logcat 中得到的内容在这里
android android-intent telephonymanager android-permissions android-10.0