Please enable JavaScript.
Coggle requires JavaScript to display documents.
Flutterでチャットアプリの作り方 or 作ったときの話? (自分が作ったチャットアプリ (機能リスト (会員登録・ログイン,…
Flutterでチャットアプリの作り方
or 作ったときの話?
Flutter製チャットアプリを支える技術という記事をQiitaで書いた
現在183いいね頂いてる
調子に乗ってこれに関して発表しようかと思いました。
自分が作ったチャットアプリ
機能リスト
会員登録・ログイン
チャットルーム作成
チャットルーム一覧表示
チャットルームでチャット(テキスト・画像の送信)ができる
ルームに参加できる
プロフィールを見ることができる
アプリ内課金ができる
チャットのメイン機能
チャットルーム
メッセージ送信するには
テキストを送信
メッセージリスト表示するには
ルーム一覧を開いたら、Firestoreを監視している
Firestoreから新しい順にメッセージを取得する
リスト0番目が一番新しい
1 more item...
firestoreのlistenを使って
メッセージ部分
RowとColumnを駆使して作成
#
チャットメッセージを送信する
画像を送信
storageプラグインを使ってアップロード
UpdaloadTaskのputFileでアップロード
2 more items...
テキストメッセージを送信
Firestoreのdocumentを保存
Cloud Functionを使って、メッセージドキュメントが作成されたことを受けて、プッシュ通知を送るようにしています。
メッセージ入力欄をタップしたら、左のカメラを消す
これはつたえるのやめようかな
文字を入力し始めたら、右の送信ボタンを有効にする
TextEditingControllerを使う
TextFormFieldにtextEditingControllerをセット
_texEditingController.addListenerでリスナーセット
テキストフォームに入力したときのイベントが取れる
あらかじめIconButtonのonPressedに、isEmptyならnullになるようなフラグを用意しておく。
イベントで、textEditingControllerに入力中のテキストが取れる飲んで、テキストの長さが0ならtrue、0より大きければ、falseにする
ルームリスト
単純なものでよければListTileというWidgetがある
https://api.flutter.dev/flutter/material/ListTile-class.html
アプリの構成
データベースにFirestore
画像保存用にFirebase cloud storageを使用
設計はクリーンアーキテクチャを採用
記事に書いてないことを紹介したい
.記事とかぶるところもある
書いてることを言ってもしょうがないので
アプリのソースをGitHubで公開した
スターをもらえると泣いて喜びます
まとめ
TextFormにテキストが入力されているかどうかを知るためには、TextEditingControllerを使えば良い。