1つの開発日記、またはそのままのXamarin

Xamarinでの最初の開発経験を共有したいと思います。 その前は、モバイルデバイス用の単一のアプリケーションを作成していませんでしたが、Xamarinを使用すると、非常に簡単かつ迅速にアプリケーションを作成できます。 開発は主に夕方に行われ、週末には定期的に行われました。したがって、日記には多くの日があるにもかかわらず、実際には少数の時間が費やされました。



だから日記...









1日目



週末は楽しく、面白かったが、残念ながら、まったく役に立たなかった。 時間の喪失の苦味を味わう、悲しい。



2日目



私は何かを変える必要があると決めました。 いいえ、本当に、あなたはどれだけの人生を目的なしに生きることができますか? 私は何が私を助けることができるかについて考えました。 何も思いつきませんでした 悲しい。 クッキーを食べました。 手放す



3日目



彼の意志を拳に集めて、彼は皿を洗った。 何らかのアプリケーションのアイデアが意識に現れ始めました。そこでは、何らかの形で自分の行動を考慮することができます。 たとえば、皿を洗った-洗うために+1ポイント。 ダンベルを飲む-+1 ...スポーツ。 グーグル。 正常なものは見つかりませんでした。 悲しい。



4日目



もう一度彼の意志を拳に集め、彼は自分でAndroidアプリケーションを書くことにしました。 ええと、なにか、かなりのことがあります。 全般的な進捗状況のキャップの上部には、スキルのリストがあります。 クリックすることで、スキルが+1されます。 3日間の休日を控えて、すぐにXamarinでそれを行います。



7日目



その日も、あなたはそれを捕まえることができます。 たぶん。



8日目



まあ...私はXamarinを知らなかったとは思わなかった。 どういうわけか私は通常、プログラミングの際に「なぜ?」という質問が発生し、「どのように?」という質問が表示されるという事実に慣れてきました。 いいえ、何も起こらなかったわけではありません。 Xamarin.Formsの執筆を開始し、要素の配置方法を学び、帽子を作りました...しかし、私は計画したほど早く執筆に成功しなかったようです。 悲しい。 クッキーを食べました。 手放す



9日目



ListViewを通じてスキルのリストを作成しました。 おそらく、すべてがそれほど悪くないので、週の終わりにはそれを終えます。



11日目



そうじゃない? さて、なぜListViewがそんなに遅いのですか? キャッシング戦略が変更され、レイアウトが変更されましたが、依然として迷惑な遅延がありました。 TableViewでやり直しました。 良くなった。 嬉しかった。 クッキーを食べました。



12日目



スキルのリストを保持する問題を解決しました。 神々は私を許してくれますが、私はそれらを一緒に構成の1つのパラメーターに保存することにしました。 はい、スキルが変更された場合、すべてのスキルを書き換える必要があります。 はい、これは行われません。 はい、私の行為の痛みは私の魂を刺します。



13日目



インターフェースでスキルを追加および削除しました。 アニメーションを作成しました。 アニメーションはエラーをスローします。 悲しいです。



14日目



ボタンをすばやく押すとアニメーションが二重に使用されるとエラーが発生することに気付きました。 つまり、これがどのように機能するかを考えてみましょう。



await grid.RotateYTo(grid.RotationY + rotation, 125); longTapGrid.IsVisible = true;
      
      





そして、ここではもはやありません:



 await grid.RotateYTo(grid.RotationY + rotation, 125); longTapGrid.IsVisible = true; await grid.RotateYTo(grid.RotationY + rotation, 125);
      
      





私は長い間Googleと相談しました。 彼は、同期プリミティブを使用することを勧めました。 何かがうまくいきませんでした。 プリミティブが機能するかしないか、これについてはよくわかりません。 念のために彼は去ったが、これは問題を解決しなかった。



香水になりました。 彼らはそうするように命じ、質問をしませんでした:



 await grid.RotateYTo(grid.RotationY + rotation, 125); longTapGrid.IsVisible = true; await Task.Run(async () => await grid.RotateYTo(grid.RotationY + rotation, 125));
      
      





私は何を言うことができます... 1:0の精神に賛成。



15日目



エラーを修正しました。 私は、エラーの説明と例外スタックがほぼ完全に存在しないことに同意し、デバイスログの使用に慣れました。



16日目



以前のエラー修正によって引き起こされたエラーを修正しました。



17日目



ほとんどすべての準備が整い、クッキーを食べたことがうれしかったです。



18日目



このアプリケーションを試してみたところ、十分な統計情報がないことがわかりました。 途方もなく不足しています。 私は怒っていました。 統計の作成を開始すると同時に、SQLLiteを接続し、構成内のスキルの保存に関して魂を苦しめた痛みを取り除きました。



19日目



Xamarinには、シックなグラフィックを描画できるコンポーネントがあります。 チャートジャンクの列、目が水っぽくなるような美しさの円グラフ。 確かに、彼らはどこか300-400ドルから少し支払われています。 涙のように見えて、私は無料のOxyplotをプロジェクトに接続しました。 その後、切断されました。 その後、彼は再接続しました。 特にオプションはありません。



21日目



原則として、ほとんどすべての準備ができています。 彼は目をくらませ、クッキーを食べ、次に何をすべきか疑問に思いました。



22日目



今日は雨の日でした。 雨が氷のジェットで地面を打ち、風が木を引き裂き、アスファルトから水を拾い、通行人に投げたので、私はアプリケーションに広告を追加してグーグルプレイにアップロードすることにしました。



すべてが崩壊しました。 しかし、おそらく私は順番に始めます。



それで、広告がどのように行われるかをグーグルで調べて、Xamarin.GooglePlayService.Adsをプロジェクトに追加しました。 その後、プロジェクトの参照に何かが起こりました。 何かが曲がって追加されたか、何か他のことが起こりましたが、一部のリンクが不溶性になりました...一般的に、これを見て、私は間違いを犯しました。 リンクが修正されることを期待して、プロジェクトのすべてのコンポーネントを更新することにしました。 そうしないでください。



次に何が起こったのか、漠然と覚えています。 Nugetがクラッシュし、コンポーネントの削除/変更を停止したことを覚えています。すべての操作に対して、「このコレクションは読み取り専用です」というエラーが表示され、常に頭から離れません。

さて、誰がこれをしますか? 彼は何について話しているのですか? 読み取り専用コレクションとは何ですか? 最も厄介なのは「これ」という言葉でした。 誰もがどんな種類のコレクションを理解すべきかという事実を示唆しているように見えました。 過敏性の2番目の場所は、エラーの場所もエラーコードも示されていないという事実でした。 この情報があるはずの通常の場所では、空でした。



これについては多くのことが行われましたが、最終的にソリューションからAndroidプロジェクトをアンロードしてダウンロードすると、エラーが再表示される前にコンポーネントまたは2つを削除できることがわかりました。



その後、さらに多くの間違いがありました。 たとえば、「java.lang.outofmemory」(ヒープサイズを増やすことで決定)、または「java.exeがコード2で終了する」(Xamarin.GooglePlayService.Ads.Liteが残っている間にXamarin.GooglePlayService.Adsを削除することで決定)、またはProguardはエラー問題としてkrakozyabry(ディスクへのパスにスペースが含まれないように、sdkをディスクのルートに転送することで決定)。 また、コンポーネントを最新バージョンに更新することに関連する非常に奇妙なエラーがありました。

何らかの方法で、夕方にすべてを修正し、その日の始まりに戻りました。



23日目



広告を追加し、リリースビルドをテストしました。 問題ありません。 それで、昨日は何でしたか?



24日目



Google Playに記入。 私は、アプリケーションがゲームであるかどうかを長い間哲学的に考えていました。 私は本当にゲームになりたかったのですが、おそらくそうではありません。 彼は心を痛め、「ライフスタイル」というカテゴリを付け、アプリケーションを不明瞭にする運命にありました。 しかし、ダウンロードには幸福がありません...確かに、彼らは私の虚栄心を楽しませるでしょう。 主なものは、Xamarineでの開発で得られた経験です...もちろん、アプリケーション自体も私にとって役立つことを願っています。



32日目、または結論



アプリケーションの公開から1週間以上が経過しました。 約40人がダウンロードしました。 半分以上はまだ削除されていません。 奇妙なことに、私自身はこのアプリケーションを使用しています。



5回のダウンロードの最初の日はそうではありませんでした。 これはやややる気と動揺を引き起こし、クッキーさえ保存しません。



はい、主に自分用にアプリケーションを作成しました。 はい、これはXamarinでの私の最初のプロジェクトであり、そこではプラットフォームに精通しました。 はい、膨大な数のダウンロードを獲得したり、お金を稼ぐという目標はありませんでした。 しかし、気にしないでください、あなたの仕事の結果が何の反応も見つけられないとき、それは悲しいです。 そしてその逆に、他の誰かがアプリケーションを使用している、または少なくとも他の誰かがそれを必要としているという考えは、心地よく魂を温めます。



たとえそれがたった20人であっても。 たとえ一人であっても。



PSすべてが正確に記述されていることを保証することはできません。 実際、私はクッキーが好きではありません。

PPSまあ、はい、クッキーを除いて、そうでした。



All Articles