Razl-Dazl

Recent posts

2023-03-14

今日書いたViewModelの話、最初はDiaryの方で上げようかなと思っていたのですがBlogの方で上げました

Diaryの方は基本的にタイトル無し、サッと書いてサッと上げる、タグ分類はしない方針なので技術的なメモはちょっと特性に合わないかな・・・という気がしたのです

まあBlogの方に上げるネタが不足してるのもあるけど

いや、まだ上げていないものが幾つかあるけど画像の用意とかめんどくさいことをしなきゃいけなくて、アプリ作りで忙しい今は上げれないのですよ・・・

そもそも、こっちでは個人的な日記を書くだけにする予定だったので・・・


なので個人的な日記

20連で出た。ありがとう運営。その調子でバニーも実装してくれ

ちなみにトキは結構回した。辛い。


せっかくだしMastodonアプリの進捗も書いとこうかな?

  • ストリーミングAPI対応
  • クライアントキーを自動取得するようにして、どの鯖でもOAuth可能にした
  • カラム種類追加(リストやふぁぼ一覧、ブックマーク一覧)
  • UIテコ入れ(タブをアクションバーに統合してスペース節約したり、投稿にCardViewを適用させて今風にしたり)

ただ、ベータ版としてapk配布するのに必要な実装がまだまだ残ってたりする(おい)

  • アプリからのアカウント削除
  • 投稿削除
  • ふぁぼやブーストの取り消し
  • フォロー・フォロリクの処理
  • アンケートの表示

何が何でも今月中に実装するぞするぞするぞうおおーー

2023-03-07

Mastodonアプリ制作の進捗でも書いておきます

アカウントの認証

  • OAuth認証とアクセストークンの直接入力の双方に対応
  • ただ、アプリを初めて使用する鯖では「そんなアプリ無いぞ」と言われて弾かれるので初回は何らかの登録作業が必要そう(TODO)
  • 複垢登録
  • 削除機能はまだ作ってない
  • 同じアカウントを認証しようとすると落ちる(DB操作を見直せば直るはず)

タイムラインの表示

  • ホーム、ローカル、パブリック、ホームとローカルの統合(TheDeskっぽいやつ)に対応
  • 統合は単純にホームとローカル双方のAPIを叩いて、うまく結合させてる感じ
  • ストリーミングはWebSocketを勉強しなければならないので後回し・・・

カラムの並び替え・追加・削除

  • ローカルしか使わない人間(私とか)もいればホームしか使わない人間もいると思うので、必要なカラムだけを表示可能なようにしました
  • カラム表示可能なものは今のところタイムラインと通知のみ
  • 今後追加予定のものは
    • お気に入り(必須)
    • リスト(必須)
    • 指定したタグの検索結果(できれば)
    • 指定したユーザの投稿(できれば)
  • カラムを重複させようとすると落ちるので直したい

投稿へのアクション

  • 現状はふぁぼとブーストしか実装してない
  • 今後追加予定のもの(すべて必須)は
    • ふぁぼ取り消し
    • ブースト取り消し
    • ブックマーク
    • ふぁぼやブーストの件数表示
    • 返信機能

絵文字関連

  • 投稿
    • 一覧取得から、選択した絵文字を投稿欄に自動入力する部分まで実装済
    • 絵文字のポップアップを開くたびにAPIを叩いてしまうのでDBにデータを保持したい
  • 表示
    • ショートコードを正規表現で抽出し、imgタグ(HTML)に置き換えることで実現
    • 横長の絵文字の表示にも対応済み
    • 設定で大きさを調整できるようにしたい

メディア

  • 画像と動画は詳細画面で表示可能
  • 画像は保存できるようにしたい(できれば他も)
  • 音声ファイルに関してはまだ何も実装してない
  • アップロードはまだ一切実装してない・・・

標準的な機能ばかりですが、書き起こしてみたら割とそこそこの量になりました

一応1か月以上かかってますしね・・・

だらだら続けるのも嫌なので、3月いっぱいを目途にベータ版でもいいからapkとソースを公開したいな~といった所です

ここまで見るとなかなか順調なように見えますが、どこかのコミットからアカウントの認証でコケる事案が発生しているので、ここ1日くらい進捗がありません・・・

テストコードを書きなさい

助けてー!

2023-02-26

Android Studioでレイアウトファイルを弄っていたら変な挙動を観測しました

GUIで各Viewのマージン(layout_margin)の属性が変更しても何故か反映されない・・・

もう少し詳しく言うと、設定したマージンが一旦プレビュー上で反映されてから、勝手に元に戻ってしまうような挙動を取ってしまいます

暫く悩んでいましたがコードの方を見てみると

android:layout_marginHorizontal="8dp"
android:layout_marginVertical="8dp"
android:layout_marginStart="16dp"  
android:layout_marginTop="8dp"  
android:layout_marginEnd="16dp"

あー・・・

GUIで操作していた属性とは別の属性(layout_marginHorizontallayout_marginVertical)が干渉していたみたいで・・・

競合するならこう、大げさにエラーとか出して欲しいです

2023-02-23

ブルアカ初めて4ヶ月弱

やっとLvと経験値がカンスト

復職した後もぼちぼち続けていきたいゲームだなと思ったので、早めにチュートリアルを終わらせようと頑張りましたがそれでも4ヶ月くらいかかりました(結局のところ復職はまだまだ先になりそうだけど)

とりあえず一段落したのでリソースを一気にMastodonアプリの制作に注ぎ込んでいます

まだまだ機能は足りていないけど、OAuth認証、DBの読み書き、タイムラインの取得や投稿といった核となる機能は実装できているから、あとはどんどん広げていく感じ・・・

特にフラグメントを動的に操る所はメチャメチャ苦労して心が折れるかと思った

残りの機能は時間をかければそのうち終わるだろと言いたい所なんですが通知の取得で怪しい挙動になっているので何だか不穏が・・・

API叩く部分のテストコードを書いていないので細かい分析は出来ていないです(書けよ・・・)

KotlinはKotestとかいうのが良いらしいですが生憎JUnitでしかテストしたことが無いので新しく学ぶか悩む所

まずは足りない機能の実装が先かなぁ・・・

2023-02-17

動画貼り付けテスト

Igallta裏の最後がどうしても繋がらない

ここの歯車、よくよくみてみると音符と少しずれてる・・・

実質的に判定の前方のマージンが少なくなってしまっているけど遅めに押せばなんとかなる・・・のかな わからない

DIVAコンとMuse Dashの相性が良くて楽しいです

2023-02-14

Android StudioでSwipeRefreshLayoutを導入しようとしたら、GUIのプレビュー(あれ何て呼ぶんだ)が表示されなくなってしまい・・・

XMLの書き方が悪いのかなと思ったけど、そのままビルドしたら普通に動作しちゃったんですよね

なんか昔も似たようなこと起きてあんスタ(Android Studioの略)再起動したら直ったよな~と思ったので、File > Invalidate Caches > Invalidate and Restart したらあっさり直りました

gradle書き換えたので新規に追加したライブラリがプレビューに反映されてなかっただけっぽい

再起動は大事!

2023-02-13

最近Cloudflare WARP(VPN)の調子がおかしい・・・

Youtubeの読込が遅かったりpingがめちゃめちゃ長かったりまともに使えたもんじゃ無くてストレスマッハです

試しにWARPを1.1.1.1のモード(DNSのみ暗号化するモード)に切り替えたのですが、途端に読み込み速度が爆速になったのでWARPがおかしい疑惑が強まる強まる・・・

適当に設定を弄ったらタイムアウトとかは無くなりました

Androidの場合は
設定 > 詳細 > 接続オプション > DNS設定 > プロトコルオプションDNS over HTTPS へ変更

Windowsの場合は
環境設定 > 接続 > DNSプロトコルHTTPSへ変更

iOSは特に不具合は起きていないんですよね・・・クライアントがバグってるだけの可能性ありそう

接続自体は改善したものの、スピードテストで上りの速度が2Mbpsとかあり得ない数値を出してるので早く直ってほしいです

Author@zakuro

Mastodon: 396@vivaldi.net