我正在尝试在 Flutter 应用程序中使用 Firebase 消息传递。我遵循包装中的所有说明。
在我的 pubspec.yaml 我有这些包:
dependencies:
flutter:
sdk: flutter
...
firebase_messaging: ^5.1.5
...
Run Code Online (Sandbox Code Playgroud)
我的 main.app 就是这样:
void main() {
runApp(MyApp());
}
Run Code Online (Sandbox Code Playgroud)
MyApp 是一个 StatefullWidget,在 _MyAppState 我有:
FirebaseMessaging firebaseMessaging = FirebaseMessaging();
@override
void initState() {
super.initState();
NotificationHandler().initializeFcmNotification();
}
Run Code Online (Sandbox Code Playgroud)
所有代码都在notification_handler.dart 中(感谢@HarishPenta):
...
import 'package:firebase_messaging/firebase_messaging.dart';
...
class NotificationHandler {
FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin;
FirebaseMessaging _fcm = FirebaseMessaging();
StreamSubscription iosSubscription;
static final NotificationHandler _singleton =
new NotificationHandler._internal();
factory NotificationHandler() {
return _singleton;
}
NotificationHandler._internal();
Future<dynamic> myBackgroundMessageHandler(
Map<String, dynamic> message) async {
print("onLaunch: $message"); …Run Code Online (Sandbox Code Playgroud) 我正在尝试ListView.builder从右向左进行水平滚动
我的代码:
SliverToBoxAdapter(
child: Container(
height: MediaQuery.of(context).size.height / 4.5,
margin: const EdgeInsets.only(bottom: 5.0, top: 10.0),
child: ListView.builder(
scrollDirection: Axis.horizontal,
itemCount: list.length,
itemBuilder: (BuildContext context, int index) {
return InkWell(/* ... */)
}
),
),
);
Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的应用程序中添加 firebase 和 facebook 身份验证。Facebook 身份验证已经完成:
final facebookLogin = FacebookLogin();
final result = await facebookLogin.logInWithReadPermissions(['email']);
switch (result.status) {
case FacebookLoginStatus.loggedIn:
final token = result.accessToken.token;
final graphResponse = await http.get(
'https://graph.facebook.com/v2.12/me?fields=name,first_name,last_name,email&access_token=$token');
Map<String, dynamic> user = jsonDecode(graphResponse.body);
// _onGetFacebookUser(user);
Run Code Online (Sandbox Code Playgroud)
我不知道如何使用 facebook 结果执行 firebase 身份验证。
我已经看过这个答案,但它没有帮助,只有 facebook 登录代码示例。我找到了这篇文章,但没有方法signInWithFacebook
facebook facebook-authentication firebase firebase-authentication flutter
我正在制作一个分为两个部分的应用程序:一个(上部)是PageView小部件区域,另一个(下部)是Container小部件区域。当我更改上半部分的页面时,我希望下半部分显示“我们在 X 页面”。
我尝试index在容器小部件中使用 PageView 小部件,但控制台显示“未定义名称‘索引’”。所以我将 like 声明int index;为全局变量,并再次尝试,但它不起作用。我认为这与PageView 小部件index不同。index
import 'package:flutter/material.dart';
class HomePage extends StatefulWidget {
@override
_HomePageState createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
static final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();
final controller = PageController(initialPage: 0);
var scrollDirection = Axis.horizontal;
var actionIcon = Icons.swap_vert;
int index;
@override
Widget build(BuildContext context) {
return Scaffold(
key: _scaffoldKey,
appBar: AppBar(
centerTitle: true,
title: Text('it\'s a drill for page view'), …Run Code Online (Sandbox Code Playgroud) 我一直在寻找与结合原生 android 和 dart 相关的教程,到目前为止这是最好的https://proandroiddev.com/communication- Between-flutter-and-native-modules-9b52c6a72dd2 但它是用 kotlin 写的,我也尝试在java上编写代码,但是当我尝试调用XML文件并且使用“R”的小部件出现错误时,它说“无法解析符号”,很多人说R问题可以通过干净的项目或解决重建,但我在 android studio 中使用 flutter,其同步、清理或重建功能不可用。如果你们知道解决方案,我很高兴如果你们愿意提供帮助