>_ DevTrendsja

言語

ホーム

言語

セクション

フロントエンド バックエンド モバイル DevOps AI / ML ゲーム開発 ブロックチェーン 組み込み セキュリティ
Kotlin

ゼロからメディアライブラリを構築する方法:Legado-Eレビュー

よくある状況です。本を読みたい、ドラマを見たい、ポッドキャストを聞きたい、でもコンテンツの種類ごとに別のアプリが必要。さらにコンテンツが複数の网站に散らばっていれば、スマホはアイコンの山になります。そんな問題に対してラディカルなアプローチを提供しているのが、Luoyacheng/legado-Eリポジトリです。

legado

そもそも这是什么

Legado-E(または 阅读Sigma)は、人気のオープンソースリーダーLegadoのフォークです。オリジナルプロジェクトが主に本に特化していたのに対し、Sigma版はさらに踏み込んでいます。本質的には、高度なパーサーを持つ「空のエンジン」です。ルール(ソース)を入力すれば、事実上任意のサイトの生HTMLを、クリーンなリーダーまたはプレイヤーインターフェースに変換します。

このプロジェクトはKotlinで書かれており、Androidがターゲットです。主な特徴は、アプリ自体にコンテンツが一切含まれていないことです。カスタマイズ好きの人や、ストリーミングプラットフォームやオンラインライブラリの気まぐれに依存したくない人のためのツールです。

Sigmaとオリジナルとの違い

開発者は車輪の再発明をせず、Legado 3.0ベースを維持しましたが、本当に必要だったいくつかのことを追加しています:

  • マルチメディア。テキストだけではありません。Sigmaには歌詞対応のオーディオプレイヤーと、弾幕(動画にオーバーレイされるFlyingコメント)にも対応したビデオプレイヤーが含まれています。
  • 改良されたソースエディター。サイト解析のルール作成が少し簡単になりました。モバイルインターフェースでregexやXPathのデバッグを試みたことがある人なら、なぜこれが重要か分かるでしょう。
  • 柔軟なサブスクリプション。RSSとコンテンツ更新システムは、バニラ版よりこちらの方がより確実に動作します。

実際の動作

すべての魔法は「ソース」(Book Sources)に懸かっています。JSONファイルを作成し、サイトで本を検索する方法、目次在哪里、如何して章のテキストを抽出するかを記述します。

興味深いことに、アプリにはWeb経由とContent Provider経由の2種類のAPIがあります。これにより、たとえばライブラリをリモートで管理したり、リーダーを他のサービスと統合したりできます。

技術スタック

このプロジェクトでは標準的なAndroid開発ライブラリを активно使用していますが、依存関係リストは印象的です:

  • JsoupとJsoupXpath — HTMLツリーのパース用。
  • Rhino Android — 解析ルール内でJavaScriptシナリオを実行用。
  • OkHttp — ネットワークリクエスト用。
  • LyricViewX — オーディオプレイヤーでスクロール歌詞を表示するライブラリ。

開発者にとってなぜ興味深いのか

解析や自動化に興味があるなら、Legado-Eは優れたテスト環境です。特定のリソースからデータを読み取る独自のソリューションを書く代わりに、このアプリのルールを書くだけで済みます。

ちなみに、リポジトリはカスタムテーマと柔軟なタイポグラフィ設定をサポートしています。行間から簡体字から繁体字への変換ルールまで、すべてを変更できます(ロシア語圈にはあまり関係ありませんが、regexで「その場で」テキストを置き換えるメカニズムは非常に強力です)。

試す価値があるか

Legado-Eは特殊なプロジェクトです。学習カーブがあります。 готовыеソースリストをオンラインで検索する( Telegramチャンネルやフォーラムにはたくさんあります)か、JSONルール構造を自分で理解する必要があります。

必ず気に入る人:

  1. すべてのタイプのコンテンツを1つのパッケージで「オールインワン」にしたい人。
  2. プライバシーと広告なしを重視する 人(アプリは本当にクリーンです)。
  3. ホームサーバーや特定のサイト用の便利なクライアントが必要な開発者。

欠点は、ドキュメントが主に中国語であることです。しかし、インターフェースは直感的で、DiscordやTelegramのコミュニティは非常に反応が良いです。通常のリーダーに窮屈を感じているなら、Sigmaは確かにスマホに入れる価値があります。

関連プロジェクト