Dance with C# session2

MOPosted by

[DAY6]

b)
Buttonのテキストスタイル変更
c)
Navigationにコンテンツページを追加
d)
DAY5でやった部分文字列フォント属性変更処理を、<タグ> 並びに[タグ]でも反応するよう実装を変更する

[行ったこと]

b)
Buttonの属性を変更するだけ。

c)
メニュー操作により、保存ファイルをリストビューするためのページを新たに表示。実験的に、「質問例」ページの生成プログラムをコピーして、そのまま表示することに成功。
データバインド、ジェスチャ、プレビューの仕方について、調査開始。
データバインドはデータとコントロールを連結する方法ということを知る。
d)
先日実装した<タグ>に続き、[タグ]での囲いに対応。
一度全て<タグ>形式に揃えることにした。

[反省]

c)
ローカルにファイルは保存されない。API側からファイルのリストが送られてくる仕様(未確定) 方法としては既存の質問例文ページとほぼ同じと推測されるので、これを真似て「保存ファイル」ページを作成。ジェスチャ、プレビューについては真似ができないので、独自に調べる必要がある。

[DAY7]

a) サーバにあるデータのURLを取得してデータのプレビューをができるページを実装
b) ListViewに対するジェスチャーの割り当て方法を調査する

[達成度]

a)
サーバからもらったリストデータを基に、リストビューするところまで
b)
調査のみ

[おこなったこと]

「xamarin データバインド」の画像検索結果

↑こんな感じのリストビューを作りたい(画像は借り物です)

仕様(仮
string: pictURL(サムネイルへのURL)
string: fileURL(ファイルへのURL)
string: fileName (ファイル名)
string: touchDate (ファイル変更日時)

作成したダミーのリスト
a.pictURL = “http://a.pictURL”;
a.fileURL = “http://a.fileURL”;
a.fileName = “a-fileName”;
a.touchDate = “1977/1/1/11:11”;

b.pictURL = “http://b.pictURL”;
b.fileURL = “http://b.fileURL”;
b.fileName = “b.fileName”;
b.touchDate = “1977/2/2/22:22”;

c.pictURL = “http://c.pictURL”;
c.fileURL = “http://c.fileURL”;
c.fileName = “c.fileName”;
c.touchDate = “1977/3/3/33:33”;

実験的に、データテンプレートを用いて、ボタンに対してデータバインドし、データの一覧表示まで行った。

[反省]

GRIDレイアウトが使いこなせず、本来画像アイコンが表示されるボタンの大きさが、正方形に指定しているにもかかわらず、長方形で表示されてしまう。

[DAY8]

サーバからもらったデータ(仮)を基にリストビューし、リスト項目タップしてプレビュー表示する。

a) ボタン→ラベルに変更
b) リスト表示のアイコンに、リモートホスト(適当)の画像を参照する
c) リストビューの要素に「押下アクション」を付加する
d) 新規ページを追加し、webview(@xamarin)にて、リモートホストに存在するPDFファイルを表示
e) プレビューページをPinch操作に対応させる
f) 保存ファイルリストページをTap / Swipeに対応させる

[達成度]

a) 90%
b) 90%
c) 90%
d) 90%
以上、devバージョンにコミット、プッシュ済み。API側の実装待ち。
e) 5%
f) 1%

[おこなったこと]

アイコンはhttp://flat-icon-design.com/ の画像を借用
PDFは特許庁https://www.jpo.go.jp/shiryou/toushin/nenji/nenpou2016_index.htmのPDFを借用

以下のフォーマットで情報を受け取ると想定して、PDFファイルのプレビューまでを行った。

a.pictURL = “http://flat-icon-design.com/f/f_object_174/s256_f_object_174_0bg.png”;
a.fileURL = “https://www.jpo.go.jp/shiryou/toushin/nenji/nenpou2016/honpen/0000.pdf”;
a.fileName = “表紙・背表紙・裏表紙(PDF:546KB”;
a.touchDate = “1977/1/1/11:11”;

b.pictURL = “http://flat-icon-design.com/f/f_object_170/s256_f_object_170_0bg.png”;
b.fileURL = “https://www.jpo.go.jp/shiryou/toushin/nenji/nenpou2016/honpen/0001.pdf”;
b.fileName = “はじめに(PDF:513KB)”;
b.touchDate = “1977/2/2/22:22”;

c.pictURL = “http://flat-icon-design.com/f/f_traffic_46/s256_f_traffic_46_0bg.png”;
c.fileURL = “https://www.jpo.go.jp/shiryou/toushin/nenji/nenpou2016/honpen/0002.pdf”;
c.fileName = “目次(PDF:594KB)”;
c.touchDate = “1977/3/3/33:33”;

b) 以前作成した、WebBrowserを流用
c) listView.ItemTapped += にて処理追加
d) webView Sourceに受け取ったURLを設定
e)f) 調査開始

[反省]

プレビューにはXamarinFormsのwebviewを用いた。
ピンチ操作を使用したいため、IOSのCustomRendererから作ったクラスを使うと、setURLでエラーが発生し、ページ表示不能。渡すURLの形式が違うものと予想。

[DAY9]

e) 右上メニュー>バージョン確認から、アップデートを促すアラート/アップデート処理

[達成度]

e) 10%

[反省]

e) 最新バージョンIOSアプリのインストールはopenURIメソッドを介してSafari経由で行えば簡単

[DAY10]

a) サーバに対して問い合わせを行い、その答えによって、ローカルの処理を変える

[達成度]

a) 50%

[おこなったこと]

サーバIに対してバージョン情報の問い合わせ、JSON情報を得る

[反省]

サーバとの通信には成功しJSON情報を得られたが、入れ子になった情報の処理に手間取り、進捗少なめ。

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA