Closed13
flutter奮闘記
Android Studioからflutterアプリを作っていく
New Flutter Projectをクリック、サイドバーからFlutterを選択してパスを通す
名前を変更してCreate
あとでハイフンはflutterの命名ルールに反してるとエラーがでたのでアンスコに変えた
Project Locationの設定を忘れてた。
個人アプリたちをまとめてるリポジトリがあるのでそこに移動&&githubにもついでにpushする
https://www.flutter-study.dev/todo-app/about-todo-app のとおりに作っていくぞ
よくわかんないけどバージョン?の問題かkeyが推奨になったらしい
というわけでmain.dartは以下のようになった
main.dart
import 'package:flutter/material.dart';
void main() {
runApp(const MyTodoApp());
}
class MyTodoApp extends StatelessWidget {
const MyTodoApp({Key? key}) : super(key: key);
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter TODO App',
theme: ThemeData(
primarySwatch: Colors.blue,
),
// リスト一覧画面を表示
home: const TodoListPage(),
);
}
}
class TodoListPage extends StatelessWidget {
const TodoListPage({Key? key}) : super(key: key);
Widget build(BuildContext context) {
return const Scaffold(
body: Center(
child: Text('test'),
),
);
}
}
あとconstアサーションも推奨になったのかAndroid Studioでwarningが出るので対応した
save時に整形してほしい..と思ったらあった
preferencesからLanguages & Frameworks→Flutter→Format code on saveにチェックを入れる
widgetの使い方はなんとなくわかったのでgoogleログイン実装する
flutter pub add google_sign_in
flutter pub add firebase_core
flutter pub add firebase_auth
本質じゃないけどnpmみたいにまとめてインポートさせてほしいわね
yarn add xxx yyy zzz
のように書きたい
pubspec.yamlに追加されてることを確認!
google_sign_in: ^5.3.1
firebase_core: ^1.17.0
firebase_auth: ^3.3.18
いい感じ。
必要なファイルたちを取りに行く〜
ざっくり手順を調べると以下のような感じらしい
google login (iOS)の実装方法
- GoogleService-Info.plistをダウンロード
- ios/Runner 配下に入れる
- Info.plistに
REVERSED_CLIENT_ID
を追加 - firebaseの初期化ファイルを作成
google login (android)の実装方法
-
google-services.json
ファイルをダウンロードし、android/app配下に置くだけ - あとの手順は上記のfirebaseの初期化〜以降同じ手順
Info.plistに以下追加までできた
<!-- Put me in the [my_project]/ios/Runner/Info.plist file -->
<!-- Google Sign-in Section -->
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<!-- TODO Replace this value: -->
<!-- Copied from GoogleService-Info.plist key REVERSED_CLIENT_ID -->
<string>com.googleusercontent.apps.861823949799-vc35cprkp249096uujjn0vvnmcvjppkn</string>
</array>
</dict>
</array>
<!-- End of the Google Sign-in Section -->
main.dartでfirebaseの初期化
main.dart
Future<void> main() async {
~~~
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
朝日さんの記事に詳しく書いてた
エラーが出たので調べたら何だと...
このスクラップは2022/09/21にクローズされました