GithubHelp home page GithubHelp logo

comfortable_diary's People

Contributors

santa112358 avatar sniper-fly avatar

Stargazers

 avatar

Watchers

 avatar  avatar

comfortable_diary's Issues

ポップアップで項目を選択した後にやることメモ

dayタブで+ボタンを押した後、

①ポップアップメニューから追加するプロパティのタイプを選択する(文章、画像、etc)

②選択したタイプ毎のページに遷移する
 これは項目ごとに違うページに遷移するのでday_property_choose_dialogの中でそれぞれ設定する

③遷移先ページでプロパティのタイトル、コンテンツ(画像or文章)を入力し、firestoreにアップロードする。

④遷移先で入力が終わったらdayメインページに戻り、firestoreの変更を読み取る
 このとき、戻るボタンが機能するとまずいのでnavigatePage funcは使えない

 

フルスクリーンのテキストフィールドを実現するには

テキストフィールドは現在複数行に対応していますが、
一定の行数を超えると
BOTTOM OVERFLOWED BY ~~ PIXELSエラーを吐いてしまいます。
evernoteやgoogle docのようなフルスクリーンのテキストフィールドを上手く実装する必要がありそうです。

アプリのデザイン

アプリの目指す形が決まったので、拙いですがイメージを描きました。

前回お話したときは、復習管理アプリにしたいという旨の発言をしましたが、
ウェブアプリでの実装もやりたいので、実装が煩雑になりそうなこと、
復習管理アプリは他にも使えるアプリがあるため、他作者のアプリを使う中で不満に感じることがあったらまたの機会に自分でアプリを作ろうかと思います。

2020_05_22 22_26 Office Lens

ということで今回のコンセプトは日毎にプロパティを追加可能な日記です。

・メイン画面上にアイコンがあり、それをタップすることでプロパティの詳細ページに遷移します。

・メイン画面では各プロパティのハイライト(文の先頭部分の表示、サムネイル表示みたいなのができると嬉しい)を表示したいです。

・月ごとのカレンダー表示ができるようにしたいです。

・searchタブで日記の検索ができるようにしたいです。

・プロパティアイコンの大きさを任意で変更できると嬉しい。

・これだけだと全然普通にありそうなアプリなので、ウェブアプリの実装もやりたい!

その他オプション
・statisticsで日記の統計データを表示できると楽しい

異なる形式のデータをグリッド表示するには

画像やテキストなどの異なる形式のデータをまとめて扱うPropertyクラスを定義しました。

画像があれば画像を、テキストがあればテキストを返すメソッドを定義する必要がありそうです。

8/02~8/09

インターバルタイマーを音無しでデジタル時計でChangeNotifierとProviderで実装する

5/30~6/5の宿題

・コールバックではなくfirebaseに送って実装する
・ログイン後にログイン画面に戻れないようにする
・ローディング画面を改善する
(initial_page : snapshot connection state)
・ログアウトボタンを実装する

4/25の課題

・diary_detailのcontentを左と右 16pixelずつ空ける

画面遷移でエラーが発生する

2020-05-04 (75)

画面遷移後に上図のようなエラーが発生する。

コンソールのエラーメッセージは以下。
════════ Exception caught by widgets library ═══════════════════════════════════════════════════════
The following assertion was thrown building DiaryDetail(dirty):
A non-null String must be provided to a Text widget.
'package:flutter/src/widgets/text.dart':
Failed assertion: line 285 pos 10: 'data != null'

Either the assertion indicates an error in the framework itself, or we should provide substantially more information in this error message to help you determine and fix the underlying cause.
In either case, please report this assertion by filing a bug on GitHub:
https://github.com/flutter/flutter/issues/new?template=BUG.md

When the exception was thrown, this was the stack:
#2 new Text (package:flutter/src/widgets/text.dart:285:10)
#3 DiaryDetail.build (package:flutterapp/diary_detail.dart:30:22)
#4 StatelessElement.build (package:flutter/src/widgets/framework.dart:4291:28)
#5 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4223:15)
#6 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
...
════════════════════════════════════════════════════════════════════════════════════════════════════

navigatePage関数の実装

Navigator.of(context).push(

          MaterialPageRoute(
            builder: (context) {
              return Hogehoge();
            },
          ),
        );

上記のような画面遷移の一連の文は、いたるところで使われるので
関数化して簡潔に記述できるようにしたいのですが、うまくいきません。

例えば
`void navigatePage(var page) {

Navigator.of(context).push(
  MaterialPageRoute(
    builder: (context) {
      return page;
    },
  ),
);

}`

このように書いて onPressedに
onPressed: navigatePage(CreateEntry());
と書いても
The expression here has a type of 'void', and therefore can't be used.
と表示され使うことができない。
(widget型に変更して試したが、void型でないとダメと怒られた)

6/20~6/26

今週の宿題
(1)article入力画面の画面崩れを直す

課題1

  • TextFieldに入力された値をボタンを押した時に出力する
  • Diary class の作成。ソレを元にlistviewに表示
  • cellをタップしたらそのDiaryの詳細ページに飛ぶ
    りょうさん.pdf

今後の課題(リファクタリング、UIUX、ログイン関連)

(1)main.dartのコードがめちゃくちゃ見づらいので関数分割して整理
(2)どのようなUI/UXにするのかイメージの共有
(3)googleアカウント等によるログインを可能に
(4)一度ログインしたら何度もログインしなくても済むようにする。
(5)日記エントリーの並び替え機能

6/13~6/19

(1)firebaseから受け取ったプロパティのtype(str)をpropertyTypeに変換する
(2)画像のデコレーション
(3)テーマカラーの変更機能
(4)ログインメールアドレスの表示
(5)カレンダーで整理
(6)プロパティの削除機能

a

a

ファイル名について

ファイル名は小文字とアンダーバーで命名するように修正してください
例)
initialPage → initial_page

6/06~6/12

(1)デバイスの写真をピックする
(2)ピックした写真をfirebaseのストレージにアップする
(3)アップロードした写真のURLを写真のプロパティに持たせる (Image image-> String imageUrl)

カレンダーのパッケージを予習

次週
(4)日付によるスイッチ
(5)カレンダー月表示

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.