我试图了解这三种方法如何工作。这是我对它们的理解:
nextLine() 读取当前行的其余部分,即使它为空。 nextInt() 读取一个整数,但不读取转义序列“ \ n”。 next() 读取当前行,但不读取“ \ n”。 假设我有以下代码:
import java.util.Scanner;
public class Welcome2
{
public static void main(String[] args)
{
Scanner keyboard = new Scanner(System.in);
System.out.println("Next enter two words:");
int n;
String s1, s2;
n = keyboard.nextInt();
s1 = keyboard.next();
s2 = keyboard.nextLine();
System.out.println(" n is " + n + " s1 is " + s1 + " s2 is " + s2);
}
}
Run Code Online (Sandbox Code Playgroud)
如果我的输入是:
2
Hi
Hello
Run Code Online (Sandbox Code Playgroud)
然后,我在屏幕上得到以下输出:
n is 2
s1 is hi …Run Code Online (Sandbox Code Playgroud) 当应用程序位于后台或前台时,FCM 通知对我有用,但当应用程序被终止时,FCM 通知对我不起作用。
这是我的 FCM 配置代码:
Future<void> _firebaseMessagingBackgroundHandler(RemoteMessage message) async {
await Firebase.initializeApp();
print("Handling a background message: ${message.messageId}");
}
class CategoriesScreen extends StatefulWidget {
static const routeName = '/view-cateogries';
_CategoriesScreenState createState() => _CategoriesScreenState();
}
class _CategoriesScreenState extends State<CategoriesScreen> {
Future _screenFuture;
void initState() {
_saveDeviceToken(FirebaseMessaging.instance);
FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler);
super.initState();
}
Run Code Online (Sandbox Code Playgroud)
我在网上和 stackoverflow 上阅读了很多文章。例如,其中一项建议是禁用电池保护程序。我已经尝试过,但没有运气。我缺少什么想法吗?
我正在使用 firebase-messaging 版本^10.0.2
我正在尝试使用以下代码从 firestore 获取文档:
\n\n Future getCategories() async {\n var firestore = Firestore.instance;\n QuerySnapshot qn = await firestore.collection("categories").getDocuments();\n return qn.documents;\n }\n\n @override\n Widget build(BuildContext context) {\n return Container(\n child:FutureBuilder(\n future:getCategories(),\n builder:(context, snapshot){\n if(snapshot.connectionState == ConnectionState.waiting){\n return Center(\n child:Text("Loading...")\n );\n }\n else\n {\n return GridView.builder(\n itemCount: snapshot.data.length,\n gridDelegate: new SliverGridDelegateWithFixedCrossAxisCount(\n crossAxisSpacing: 6.0, mainAxisSpacing: 6.0, crossAxisCount: 2),\n itemBuilder: (BuildContext context, int index) {\n return SingleCategory(\n category_name: snapshot.data[index].data["title"],\n category_picture: snapshot.data[index].data["picture"],\n );\n }\n );\n }\n }\n )\n );\nRun Code Online (Sandbox Code Playgroud)\n\n当我运行代码时,出现以下错误:
\n\n\nI/flutter ( 7555): …
我有以下 listtile,其副标题包裹着文本,但我不知道如何将其显示在一行上。
child: ListTile(
leading: CircleAvatar(
radius:20,
backgroundColor: Colors.orange[200],
child: Padding(
padding: EdgeInsets.all(5),
child: FittedBox(
child: Text('$100'),
),
),
),
title: Text(widget.title),
subtitle:Padding(
child:Text(condimentList,style: TextStyle(color:Colors.grey)),
padding: EdgeInsets.only(top: 10)),
visualDensity: VisualDensity.compact,
dense:true,
trailing ...
Run Code Online (Sandbox Code Playgroud)
这是我得到的屏幕截图。
我有以下代码,我从 firebase 存储中获取图像作为图像。现在,我想将此图像存储在我的 CachedNetworkImage 中,这样我就不必每次都从数据库中获取它。由于cachednetworkimage需要一个URL并且我正在获取图像,因此如何使用cachednetworkimage?
这是我的代码;
final FirebaseStorage storage = FirebaseStorage(
app: Firestore.instance.app,
storageBucket: 'gs://my-project.appspot.com');
Uint8List imageBytes;
String errorMsg;
_MyHomePageState() {
storage.ref().child('selfies/me2.jpg').getData(10000000).then((data) =>
setState(() {
imageBytes = data;
})
).catchError((e) =>
setState(() {
errorMsg = e.error;
})
);
}
@override
Widget build(BuildContext context) {
var img = imageBytes != null ? Image.memory(
imageBytes,
fit: BoxFit.cover,
) : Text(errorMsg != null ? errorMsg : "Loading...");
return new Scaffold(
appBar: new AppBar(
title: new Text(widget.title),
),
body: new ListView(
children: <Widget>[
img, …Run Code Online (Sandbox Code Playgroud) 我正在尝试反序列化我的 jsonresult 但收到以下错误消息:
“无法从 System.Web.Mvc.Result 转换为字符串”
这是我的 json 结果:
[{"description":"BANANA","quantity":"12","productPrice":"40000","discount":"","isTaxable":true,"finalPrice":"9999","lineItemTotal":"999","orderId":8},{"description":"APPLES","quantity":"20","productPrice":"860000","discount":"","isTaxable":false,"finalPrice":"12000","lineItemTotal":"10000","orderId":8}]
Run Code Online (Sandbox Code Playgroud)
这是我的控制器方法:
[System.Web.Mvc.HttpPost]
public JsonResult CreateLineItems(JsonResult data)
{
ResultDto dto = JsonConvert.DeserializeObject<ResultDto>(data);
//for (int i = 0; i < data.Data; i++)
//{
//
//}
return data;
}
Run Code Online (Sandbox Code Playgroud)
这是我的 ResultDto 类:
public class ResultDto
{
public string description { get; set; }
public string quantity { get; set; }
public string productPrice { get; set; }
public string discount { get; set; }
public bool isTaxable { get; set; }
public string …Run Code Online (Sandbox Code Playgroud) 下面的 getIngredients() 方法从 firestore 返回一个列表。
Future getIngredients() async {
return Firestore.instance
.collection('ingredients')
.where("name", isEqualTo: widget.dish_name.toString().toLowerCase()).getDocuments();
}
Run Code Online (Sandbox Code Playgroud)
现在我想在下面的项目构建器中显示这个列表:
new ListView.builder(
itemExtent: 90,
itemCount: snapshot.data.length,
itemBuilder: (BuildContext context, int index) {
return SingleIngredient(
ingredient_name: snapshot.data[index].ingredients,
);
});
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息:
_FutureBuilderState#7cbda): I/flutter (12164): 类 'QuerySnapshot' 没有实例 getter 'length'。I/flutter (12164):接收器:“QuerySnapshot”实例 I/flutter (12164):尝试调用:长度
这是我的firestore的结构。我正在获取成分清单:
更新 我已经更新了代码,但我只得到了成分列表中的第一个项目(即洋葱)。我希望 itembuilder 构建列表中的每个项目,因为我正在尝试显示图像和成分列表。这就是 SingleIngredient 小部件正在做的事情。那么,我怎样才能一一遍历每个列表呢?
Widget build(BuildContext context) {
return Container(
child: FutureBuilder(
future: getIngredients(),
builder: (context, AsyncSnapshot snapshot) {
if (snapshot.hasData) {
return ListView.builder(
itemCount: snapshot.data.documents.length,
itemBuilder: (context, index) { …Run Code Online (Sandbox Code Playgroud) 我正在尝试从远程 URL 加载数据,如下所示:
const getPeople = async () => {
const data = await fetch('https://randomurl', {
method: 'GET',
headers: {
'Content-Type': 'application/json',
}
});
const jsondata = await data.json();
console.log(jsondata);
return jsondata;
}
Run Code Online (Sandbox Code Playgroud)
这是我的数据表:
$(document).ready(function () {
var table = $("#records").DataTable({
data: getPeople(),
columns: [
{
data: "NAME",
},
{
data: "SCHOOL",
},
{
data: "CLASS"
},
{
data: "CITY"
}
]
});
});
Run Code Online (Sandbox Code Playgroud)
当我加载页面时,我没有收到任何错误。但是,我的数据表是空的。我已经验证 getPeople() 函数确实返回 json 数据。我错过了什么吗?
console.log(jsondata) 显示数据表创建后 2 或 3 秒的数据。那么获取数据后如何显示/创建数据表呢?
这是返回的 json:
[
{"NAME":"joe","SCHOOL":"Rogers","CLASS":8,"CITY":"Sisily"},
{"NAME":"sam","SCHOOL":"Matt","CLASS":6,"CITY":"Monaco"} …Run Code Online (Sandbox Code Playgroud) 我正在使用缓存的网络图像显示图像,当我单击查看图像时,它首先显示占位符图像,然后加载图像。我不明白为什么图像加载时不显示进度指示器。我想在图像加载时显示进度指示器。如果图像不可用,则应显示占位符图像。我在这里做错了什么?
Container(
height: size.height * 0.35,
width: double.infinity,
child:_imageUrl != null
? CachedNetworkImage(
imageUrl: _imageUrl,
progressIndicatorBuilder: (context, url, downloadProgress) =>
Center(child:Loading()),
errorWidget: (context, url, error) => Icon(Icons.error),
)
:Image.asset('assets/images/placeholder.png'),
),
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用“flutter build apk”构建我的项目,但遇到以下错误:
在我的项目中,我使用 flutter_youtube 插件:flutter_youtube: ^1.1.4
我不确定这个错误是什么意思以及如何修复它。
FAILURE:构建失败,出现异常。
出了什么问题:任务 ':flutter_youtube:verifyReleaseResources' 执行失败。
java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: Android 资源链接失败输出: C:\Users\demo\AndroidStudioProjects\flutter_new\build\flutter_youtube\intermediates\res\merged\release \values-v28\values-v28.xml:7: 错误:找不到资源 android:attr/dialogCornerR adius。
C:\Users\demo\AndroidStudioProjects\flutter_new\build\flutter_youtube\intermediates\res\merged\release\values-v28\values-v28.xml:11: 错误:找不到资源 android:attr/dialogCornerRadius。
C:\Users\demo\AndroidStudioProjects\flutter_new\build\flutter_youtube\intermediates\res\merged\release\values\values.xml:964: 错误:找不到资源 android:attr/fontVariationSettings。
C:\Users\demo\AndroidStudioProjects\flutter_new\build\flutter_youtube\intermediates\res\merged\release\values\values.xml:965: 错误:找不到资源 android:attr/ttcIndex。错误:链接引用失败。命令:C:\Users\demo.gradle\caches\transforms-1\files-1.1\aapt2-3.2.1-4818971-windows.jar\6c5c55067bc3e37332d1bee0d534dc21\aapt2-3.2.1-12.exe8link I\ C:\Users\demo\AppData\Local\Android\sdk\platforms\android-27\android.jar\ --manifest\ C:\Users\demo\AndroidStudioProjects\flutter_new\build\flutter_youtube\intermediates\aapt_friendly_merged_manifests\ release\processReleaseManifest\aapt\AndroidManifest.xml\ -o\ C:\Users\demo\AppData\Local\Temp\aapt-2465429262595787253-out\ -R\ C:\Users\demo\AndroidStudioProjects\flutter_new\build\flutter_youtube\中间件\res\compiled\release\anim_abc_fade_in.xml.flat\-R\C:\Users\demo\AndroidStudioProjects\flutter_new\build\flutter_youtube\intermediates\res\compiled\release\anim_abc_fade_out.xml。flat\ -R\ C:\Users\demo\AndroidStudioProjects\flutter_new\build\flutter_youtube\intermediates\res\compiled\release\anim_abc_grow_fade_in_from_bottom.xml.flat\ -R\ C:\Users\demo\AndroidStudioProjects\flutter_new\build\ flutter_youtube\intermediates\res\compiled\release\anim_abc_popup_enter.xml.flat\ -R\ C:\Users\demo\AndroidStudioProjects\flutter_new\build\flutter_youtube\intermediates\res\compiled\release\anim_abc_popup_exit.xml.flat\ -R \ C:\Users\demo\AndroidStudioProjects\flutter_new\build\flutter_youtube\intermediates\res\compiled\release\anim_abc_shrink_fade_out_from_bottom.xml.flat\ -R\ C:\Users\demo\AndroidStudioProjects\flutter_new\build\flutter_youtube\intermediates\ res\compiled\release\anim_abc_slide_in_bottom.xml.flat\ -R\ C:\Users\demo\AndroidStudioProjects\flutter_new\build\flutter_youtube\intermediates\res\compiled\release\anim_abc_slide_in_top.xml.flat\ -R\ C:\Users\demo\AndroidStudioProjects\flutter_new\build\flutter_youtube\intermediates\res\compiled \release\anim_abc_slide_out_bottom.xml.flat\ -R\ C:\Users\demo\AndroidStudioProjects\flutter_new\build\flutter_youtube\intermediates\res\compiled\release\anim_abc_slide_out_top.xml.flat\ -R\ C:\Users\demo \AndroidStudioProjects\flutter_new\build\flutter_youtube\intermediates\res\compiled\release\anim_abc_tooltip_enter.xml.flat\ -R\ C:\Users\demo\AndroidStudioProjects\flutter_new\build\flutter_youtube\intermediates\res\compiled\release\anim_abc_tooltip_exit .xml.flat\ -R\ C:\Users\demo\AndroidStudioProjects\flutter_new\build\flutter_youtube\intermediates\res\compiled\release\color-v21_abc_btn_colored_borderless_text_material.xml.flat\ -R\ C:\Users\demo\AndroidStudioProjects\flutter_new\build\flutter_youtube\intermediates\res \compiled\release\color-v23_abc_btn_colored_borderless_text_material.xml.flat\ -R\ C:\Users\demo\AndroidStudioProjects\flutter_new\build\flutter_youtube\intermediates\res\compiled\release\color-v23_abc_btn_colored_text_material.xml.flat\ C:\Users\demo\AndroidStudioProjects\flutter_new\build\flutter_youtube\intermediates\res\compiled\release\color-v23_abc_color_highlight_material.xml.flat\ -R\ C:\Users\demo\AndroidStudioProjects\flutter_new\build\flutter_youtube\intermediates \res\compiled\release\color-v23_abc_tint_btn_checkable。xml.flat\ -R\ C:\Users\demo\AndroidStudioProjects\flutter_new\build\flutter_youtube\intermediates\res\compiled\release\color-v23_abc_tint_default.xml.flat\ -R\ …