見出し画像

アプリ作ってみようと初心者がDart触ってみたものの全くわからない話

こんにちは!トマトです🍅

今の自分の状況を説明します。

情報系の学部ではない友達が、アプリを作ってみたい、そのための勉強をしてみたいというので、協力して何か作ってみようという話になったのですが、なにせ二人ともサーバーって何?っていうくらいこの世界について何もわからない人間なので、(ちなみに今もよくわかってませんw)せめて情報系の学部である自分が、先に少しやってみて、どういう感じなのか基礎を教えられる状態にしてから二人でやろうと思いました。

ということで、アプリ制作といえばなんなのかを有識者に聞いたところ、フレームワークというものがあるらしいと。

そのなかでFlutterというものがあるというのを聞いたので、先取りをすべく、一人でやってみたんです。

そしたらもうわからないことだらけなので、初心者向けの講座を解説している方が、初心者はどこにつまづくのかを参考にしていただけるように、また、あわよくばどなたかに教えてもらいたく、また、将来技術を身につけた自分が前はこんなことで悩んでたんだと笑い話にできるように、残しておこうと思い、この記事を書くことにしました。


・どんなアプリを作ろうとしているのか


今作ろうとしているのは、名前と誕生日を記録し、下のメニューでカレンダー表示とリスト表示を切り替えられるようにして、カレンダー表示の時はカレンダーに予定が入っているみたいな感じで表示して、リスト表示の時は一月はこの人、二月はこの人みたいな感じで縦にスクロールできるようにしたいです。

また、誰かの誕生日の日になったら通知が来るようにして、上のプラスボタンから名前と誕生日を記録できるようにしたいんです。


・現状


現状の写真を載せておくと

スクリーンショット 2021-09-13 18.29.36

こんな感じです。

サンプルコードだっけ?にあった通知と三角の矢印マークみたいなやつをプラスに変えて、下のメニュー画面は下メニューって検索したら出てきたコードを上のコードに一生懸命試行錯誤して追加して、3つあったのを2つにして、名前も変えて、いずれはアイコンも変えたいなって感じです。

今は、プラスを押した時に誕生日のテキストボックスと、日付のテキストボックスを置くことまではできたんですが、日付はできればiPhoneとかの時計のタイマー見たいなくるくるしてるやつにしたいし、毎回登録したやつがなくなってたらお話にならないので、保存する方法を模索してるって感じです。


・困っていること


ここからは今自分が困っていることをひたすら書いていきます。

切実に一つでもいいので教えてください!!!お願いします...


・一つ目

まず!flutter doctor でAndroid Studio を入れたのにオッケーってなってなかったので、調べてそれを実行したら、Android Studio はオッケーになったんですが、今度はさっきまで大丈夫だった Android toolchain がダメって言われて、flutter doctor licensesなんとかみたいなのをrunしなさいと出ていたのでそれをやったら、
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
って言われました。

これも調べたんですけど、Android Studioの設定を変えろみたいなのが出てきてやってみたんですが、治りませーん。もうこれに何時間使ったんだよって話だよ。全く。

まあ今のところ使えているので実害は出ていないのですが、なんか気持ち悪いのでできれば直したいです。


・二つ目

日付をiPhoneタイマーのくるくるでスクロールすると指定できるようにしたいです。


・三つ目

登録したデータの保存の仕方がわかりません。構造体?で名前と月、日のデータをstrings int intで作ってみようとしたけどやり方わからず、どこに書いたらいいかもわからず。

また、保存先なんですけど、サーバーっていう進出単語が登場。

ローカルでいいのか、サーバーがいるのか、ローカルも自分の端末そのものに保存するってことがわかっている程度で、どこに保存されるのかとかは全くわかりません。

サーバーを話すことにレンタルサーバーに関して、どっか遠くにあるパソコンを貸してくれているみたいなイメージをしているんですが、なぜ借りてわざわざ別のパソコンを使わないといけないのか、そこに何が入っていてどんないいことがあるのか訳がわかりません。

教えてください。。。

・四つ目

したメニューと上のベルマークとプラスに関して、サイトから引っ張ってきて何もわからない状況からいろんなものをいろんなところに入れていたら偶然実行できて、シミュレーターに表示されただけなので、いまだに何がどこに書いてあるのかわからないんです。

const MyApp({Key? key}) : super(key: key);

まずこれ。keyってなに。

extends State<MyHomePage>

これは?extends MyHomePage じゃないの?

あと、なんの中に何を入れることができるのかパッとみれる何かが欲しい。

containerの中にColumnが入れられるとか、この手前のchildがあるから入れられてるのか、bodyの中だからchildがいけてるのか、全くわからないんです。

そして、変数定義の位置です。

いろんなカッコの中で使う変数はどこで定義すればいいのか、overrideとか書いてあるカッコはどこで変数定義すればいいのか。

誰か教えてください。

お願いします。

・まとめ


今日は半分愚痴でしたが、今自分が突っかかっていることを紹介しました。

まだまだたくさんあるんですけど、最後に長時間試行錯誤していたのが

オブジェクト指向が初めてだからなのか、今までif文とか二次元配列とかで数値を入力したらそれに応じた出力をするというものしか扱ってこなかったので、このみたことない名前どころか全く何してるかわからない命令が多すぎて、うまく扱えません。

まあこんだけ文句みたいに言ってますけど、この何もわからない感じが楽しいので、そこはご安心を。

学ぶのにいいサイトとかここから順にやっていくといいよとかこの本がいいよとか、そもそもFlutterそのレベルで始めるなこっちやれとか、いろんな意見twitterのDMとかここのコメントとかで待っていますのでどうかよろしくお願いします。

ではまた!

この記事が参加している募集

最近の学び

この記事が気に入ったらサポートをしてみませんか?