Androidのオフライン:インターネットなしでも機能する機能

  • 多くの Android アプリでは、ローカルにダウンロードされたデータやコンテンツにより、主な機能をオフラインで使用できます。
  • 事前にダウンロードを準備しておけば、音楽、ビデオ、地図、翻訳、読書、ゲームなど、非常に充実したオフライン モードが提供されます。
  • 「オフライン ファースト」アプリは、ローカル データベースと遅延同期を使用して、接続が不安定な場合でも正常に機能します。
  • Firebase や WorkManager などのツールは、キャッシュ、同期、ネットワークが復旧したときの自動再試行を容易にします。

Android オフライン

データが不足したり、電波の届かない場所にいる場合でも、すべてが失われるわけではありません。携帯電話は依然として強力なツールです。 Androidでは、オフラインモードで多くの機能やアプリを使用することができます音楽を聴いたり、ダウンロードしたシリーズを視聴したり、地図を調べたり、本を読んだり、データをオフラインで操作して後で同期したりすることができます。

重要なのは、どのような種類のアプリケーションがインターネットなしでも動作し、デバイスに情報をどのように保存するかを理解することです。 オフラインのときに最大限に活用するには、どのようなコツがありますか?さらに、多くの最新アプリ、さらには Google 自身が推奨するアーキテクチャも、すでに「オフライン優先」での使用を念頭に置いて設計されています。

Android をオフラインで使用するとは、実際にはどういう意味でしょうか?

私たちが「オフラインモード「携帯電話を機内モードにするだけの話ではありません。それは…」 ネットワークが利用できない場合でも、重要なアプリ機能を引き続き使用できますつまり、アプリケーションはデータを内部ストレージ (またはローカル データベース) に保存し、更新や変更の同期に時々のみインターネットが必要になります。

毎日使用するアプリの多くはすでにこのように動作しています。 キャッシュやローカルデータベースに情報を保存する 再接続すると、オフライン中に実行したすべての操作がサーバーに送信されます。これには、ToDoリスト、メモ、カレンダー、営業またはCRMアプリケーション、ニュースリーダーなどが含まれます。

開発の世界では、このアプローチは オフラインでの使用を優先するアプリ(オフラインファースト)アプリケーションはネットワークの有無にかかわらず完全に使用可能であるべきであり、ユーザー エクスペリエンスは完全なカバレッジに依存してはならないという考え方です。

アプリのオフラインでの動作:実例

インターネットなしでも動作するAndroidアプリ

多くの人気アプリはすでに非常に包括的なオフライン モードを提供しています。 Todoist のようなタスク アプリや Google カレンダーのようなカレンダーを使用すると、携帯電話にデータがない場合でも作業を続けることができます。イベントを追加したり、予定を編集したり、リスト タスクを変更したりできます。デバイスが再接続されるまで、すべてがローカルに保存されます。

プロフェッショナル分野では、CRMや営業管理アプリが良い例です。モバイル版のPipedriveのようなツールもそうです。 これらを使用すると、販売ファネルを通じて取引を進めたり、メモやアクティビティを追加したり、顧客情報をオフラインで更新したりできます。アプリケーションはデバイスに変更を保存し、信号が回復すると、そのデータを Web バージョンまたは中央サーバーと自動的に同期します。

これは、外出先で仕事をする人にとって特に便利です。 電波の届きにくい電車での旅、飛行機、地方や電波の弱い建物での出張 —そして地図も用意されている オフラインで閲覧する これが鍵です。ユーザーはインターネット接続の有無を気にする必要がありません。アプリを使用するだけで、システムが可能な限りすべての情報をサーバーに送信します。

特定のツールを想像した人もいる。 モバイル上のどのアプリがオフライン機能を備えているか、またその機能をどの程度使用しているかを教えてくれます例えば、Todoist や他のアプリで同期待ちのデータがどれだけあるか、オフラインモードが正常に動作しているかどうかを確認したいというアイデアです。これは興味深い機能ですが、現時点ではすべてのアプリでこれを一元的に実行できる標準的なツールはありません。

インターネットなしで使えるAndroidアプリのカテゴリー

生産性アプリ以外にも、データがなくても機能し続けるカテゴリが数十あります。 アプリがコンテンツの事前ダウンロードを提案したり、データをローカルストレージに保存したりするたびにオフラインモードでも引き続きご利用いただけます。

以下では、オフラインで最もよく機能するアプリと、Google や主要な専門ポータルからの通常の推奨事項に基づいた詳細なガイドを紹介します。 ネットワークがないときに携帯電話で何ができるか、インターネットがなくなる前にどのように準備すればよいかをお知らせすることが目的です。.

音楽とオーディオ:オフラインでできること

オフラインで音楽を聴くことは、最も要望の多い機能の 1 つです。 多くのストリーミングプラットフォームと オフライン音楽アプリ 曲、アルバム、プレイリスト、ポッドキャストをダウンロードして、オフラインで聴くことができます。モバイルデータの消費や再生の中断を回避できます。

SpotifyやSoundCloudのようなサービスでは、数回タップするだけで お気に入りのプレイリスト、アルバム全体、ポッドキャストのエピソードをデバイスに保存しますアプリをダウンロードすると、WiFi やモバイルデータに接続しなくても、内部メモリからコンテンツを再生できます。

AIMPのようなローカル音楽プレーヤーもあります。 これらは、携帯電話にすでに保存されているオーディオ ファイルの再生に重点を置いています。インターネットはまったく必要なく、通常、マルチバンドイコライザー、タイマー、Android Auto 統合、多数のオーディオ形式のサポートなどの高度な機能が搭載されています。

データなしのビデオ、テレビ、ストリーミングプラットフォーム

ビデオ再生もオフラインでの使用に対応しました。 Netflix、HBO、Amazon Prime Video、YouTube Premium などのプラットフォームでは、シリーズ、映画、ビデオをダウンロードしてオフラインで視聴できます。こうすることで、長い旅行の前に連続マラソンの準備をしたり、WiFiのない飛行機の中で映画を楽しんだりすることができます。

例えばNetflixでは ダウンロードしたエピソードや映画のカタログを管理する これらはモバイルデバイスに暗号化された形式で保存されます。HBOは以前からコンテンツをダウンロードするオプションも追加していますが、一度に利用できるタイトル数に制限があります。

プライムビデオは、非常に似たシステムを提供しており、 シーズン全体をダウンロードし、品質レベルでダウンロードを管理してスペースを節約しますYouTube では、YouTube Premium にオプションが付属しています。ビデオを選択し、品質を選択すると、アプリがそれを保存し、後でオフラインで視聴できるようになります。

ストリーミング以外にも、VLC のようなプレーヤーは古典的なソリューションです。 携帯電話のメモリに保存されているビデオやオーディオを再生できます。インターネットに依存せず、複数の字幕、オーディオ トラック、形式をサポートします。

ポッドキャスト、ラジオ、オフラインの音声コンテンツ

ポッドキャストに夢中になっている人なら、幸運です。 この分野の主なアプリでは、エピソードをダウンロードしてオフラインで聴くことができます。Google Podcasts(他の Google サービスとの統合)、iVoox、または Pocket Casts は、新しいエピソードのダウンロードを自動的に管理します。

通常、番組のすべてのエピソードをダウンロードするか、最新のエピソードのみをダウンロードするかを設定できます。 メモリをいっぱいにしないように、いつ自動的に削除するかを決定しますこれにより、旅行中や電波の届かない場所などでの長時間のリスニングセッションに適したプレイリストが作成できます。

電波が届かない場所でも地図、GPS、レーダーが使える

Androidのオフラインモードの最も強力な使い方の一つは、 インターネットなしのGPSマップ. 必要なエリアを事前にダウンロードしておけば、インターネットに接続できない場所でも街路や道路をナビゲートできます。ターンバイターン方式の道順案内と基本的な警告を表示します。

HERE WeGo、Google Maps、OsmAnd、Sygic GPSなどのアプリケーション MAPS.ME 都市、地域、さらには国全体の完全な地図を保存できます。ダウンロードが完了すると、アプリはデータなしで動作する GPS のみを使用して、ローカルデータに基づいてルートを計算し、地図を表示します。

多くの場合、ルートに加えて、 興味のある場所、限定的な交通情報、その他の情報も含まれています。 レーダー警報 (ただし、これらの地図は通常、最新の状態に保つためにネットワークとの定期的な同期が必要です。)海外旅行や電波の届きにくい地域を通るルートでは、地図をダウンロードしておくことがほぼ必須です。

翻訳者、辞書、インターネットなしの言語

外国に旅行するとき、携帯電話の翻訳機能は救世主になります。 ほとんどの主要な翻訳ツールでは、オフライン翻訳用に言語パックをダウンロードできます。テキストと、場合によっては音声や画像の両方が含まれます。

Google翻訳では、 完全な言語パックをダウンロードして、機内モードでも単語やフレーズを翻訳できますMicrosoft Translator にも同様のシステムがあり、言語をダウンロードすれば、オンラインにならなくてもアプリを使い続けることができます。

iTranslateのような他のツールでは、プレミアムバージョンに関連付けられたオフラインモードが提供されており、 テキストを翻訳し、場合によってはカメラを使ってメニューや標識を解釈する ネットワークに接続していないときでも使えます。また、「英語辞書 - オフライン」のような特定の辞書では、デバイスのメモリに数万から数十万の定義が保存されています。

言語学習アプリも適応している。Duolingo(プラス版)、Memrise、Busuuなどのプラットフォームがある。 レッスンをダウンロードして、WiFi やデータなしでも勉強を続けることができます。地下鉄や飛行機での空き時間を利用してコンテンツを先に進めるのに非常に便利です。

書籍、記事、オフラインの書面コンテンツの読者

読書はオフライン モードのもう一つの大きな利点です。 電子書籍、ストーリー、記事などの多くのアプリでは、コンテンツを保存してオフラインで読むことができます。そのため、彼らは完璧な旅行仲間になります。

Wattpadのようなサービスでは 完全なストーリーをダウンロードしてオフラインでお楽しみください他の人の作品を読む場合でも、自分の作品を出版する場合でも、Amazon の読書アプリ Kindle を使用すると、ライブラリから本をダウンロードして携帯電話に入れて持ち歩き、オフラインでアクセスすることもできます。

時間がないときに興味深い記事をよく見つける場合は、Pocket のような「後で読む」ツールが最適です。 オフラインで閲覧するためにウェブサイトをダウンロードする 元の Web サイトが正しく読み込まれない場合でも、テキストはそのままにしておきます。

オフラインで楽しめるAndroidゲーム

ゲーム業界では、現在多くのゲームがライセンスの検証、イベントのアップロード、クラウドでのデータの同期などにインターネットを利用しています。それでも、 完全にオフラインで動作するAndroidゲームの膨大なカタログがありますデータが使えないときや圏外のときなどに最適です。

アーケードやカジュアルジャンルでは、 キャンディークラッシュ、アングリーバード、フルーツニンジャ、クロッシーロード、アルトの冒険これらは、インターネットを気にせずにしばらく切断するのに最適な、短時間でプレイできるゲームタイトルです。

アクションとアドベンチャーでは、次のようなオプションがあります 『デッドセルズ』、『イントゥ・ザ・デッド2』、『ジェットパック・ジョイライド』、『ICEY』、『バッドランド』、『ウルフ・アモング・アス』、『ベイビー・イン・イエロー』いずれも、初期データをダウンロードするとオフライン モードでプレイできるため、どこでも何時間も楽しむことができます。

レースやスポーツがお好きなら、オフラインでプレイできるゲームがたくさんあります。 アスファルト8、グリッドオートスポーツ、CSRレーシング2、ミニオンラッシュ、ドリームリーグサッカー 常時インターネット接続を必要としないシングルプレイヤーモード、トライアル、チャンピオンシップを提供しています。

シミュレーションゲームや戦略ゲームのファンは、次のようなタイトルを試してみるといいだろう。 フォールアウトシェルター、ペストインク、バレーズビトウィーン、ダンジョンシューター、カバーファイアロールプレイングゲーム、パズルゲーム、アドベンチャーゲームでは、 Stardew Valley、Evoland、Shattered Pixel Dungeon、Monument Valley(およびその続編)、The Room、Terrariaその多くは賞を受賞し、批評家から高く評価されています。

神話の物語でさえ マインクラフトかスターウォーズ:旧共和国の騎士 Android版もあり、データをダウンロードすればオフラインでもプレイできます。また、カードゲームや意思決定ゲームが好きな方には、以下のような選択肢が豊富にあります。 レインズ:ハー・マジェスティ、クラシックソリティア、またはオフラインモードを備えたストリートファイターIVのようなアダプテーション AIに対して。

Android における「オフライン ファースト」アプリの内部的な仕組み

Android オフライン: インターネットなしでも機能する機能

シームレスなオフライン体験の背後には、多くのエンジニアリングの成果が隠されています。Googleは、明確な階層化アーキテクチャを備えたモダンなアプリの設計を推奨しています。 データ レイヤーは、少なくとも 2 つのソース (ローカル ソース 1 つとネットワーク ソース 1 つ) を処理できる必要があります。ローカル ソース (データベース、ファイル、データストアなど) は、ユーザー インターフェイスに表示される内容の「真実」として機能します。

このローカル ソースは定期的にサーバーと同期されます。 リポジトリはローカル情報とネットワーク情報を結合しますデータは、オブザーバブルフロー(例えばKotlinのFlow)を通じてアプリに公開されます。これにより、ローカルデータベースが更新されると、ネットワークからの変更かユーザーからの変更かに関係なく、UIが自動的に更新されます。

データ モデルには、多くの場合、複数の表現があります。 ネットワークモデル(NetworkAuthorなど)、ローカルモデル(AuthorEntity)、外部またはドメインモデル(Author)マッピング関数は、これらのレイヤー間でデータを変換するために使用されます。これにより、API経由での情報の受信方法やデータベースへの保存方法が変更されても、アプリの他の部分のロジックが損なわれることはありません。

読み取りは常に、高速でオフラインでも機能するローカル ソースから行うことをお勧めします。 エラーはフローのcatchやretryなどの演算子で処理されます。データベースに障害が発生した場合や、読み取りに時々問題が発生した場合でも、アプリがクラッシュするのを防ぎます。

ローカル永続性、Firebase、オフライン操作

Firebase Realtime Database などのサービスは、オフラインでの作業をネイティブにサポートします。 クライアントは関連データをダウンロードし、接続が回復したときにサーバーと同期するローカル キャッシュに保存します。デフォルトでは約 10 MB の情報がキャッシュされますが、指定するとより多くのデータを同期させることができます。

デバイスの接続が切れたり、アプリが再起動したりしても、 すでにキャッシュされたデータの読み取りは引き続き機能しますネットワークが利用可能だった間に実行されたクエリは、有効な結果でオフラインで繰り返すことができ、保留中の操作はアプリがオンラインに戻ったときにサーバーに送信されます。

Firebase は、バッテリーとデータを節約するために Android 上の接続ステータスも自動的に管理します。 アクティブなリスンや保留中の操作がない場合は、一定期間の非アクティブ後に接続を閉じます。さらに、onDisconnect などのイベントを使用して、クライアントがサーバーから切断されたときに実行されるアクションをスケジュールすることもできます。

データの書き込みと同期戦略

データの書き込みに関しては、オフライン アプリはより繊細な決定を下す必要があります。 書き込み操作は通常、非同期関数として公開されます(例:Kotlinの suspend ) インターフェースのブロックを回避し、ネットワーク エラーをより適切に管理できるようにするためです。

一般的な戦略はいくつかある。 オンラインのみの執筆 (失敗した場合、ユーザーに通知され、重要なものはローカルに保存されません)、 キューに入れられた書き込み (変更はキューに保存され、接続があるときに送信されます。これはメトリクスやアナリティクスでよく見られます) 延期証書最初にローカルに保存され、その後できるだけ早くサーバーと同期されます。

この最後のケースでは、アプリは ローカルマシンとサーバー上の間の競合を解決する「最終書き込み普及」などの戦略では、タイムスタンプを使用してどの変更を優先するかを決定します。2 つのデバイスが同じデータをオフラインで変更した場合、サーバーは書き込み時間に基づいて最新バージョンを保持します。

これらの同期と再試行を調整するために、Android では WorkManager に依存するのが一般的です。 WorkManager は条件付きで永続ジョブをスケジュールできる (たとえば、「WiFi のみ」または「ネットワークがある場合」)、再試行時に指数バックオフを適用し、特定のタスクが重複しないようにします。

多くのアプリは起動時に1回限りの同期ジョブをスケジュールし、 これにより、接続が確立されるとすぐに、ローカル データベースがサーバーと一致するようになります。失敗した場合、WorkManager 自体が後で再試行します。成功した場合、リポジトリを公開する監視可能なフローを通じて変更がインターフェースに反映されます。

Android デバイスは、インターネットにアクセスできない場合でも非常に便利です。 ダウンロードした音楽やポッドキャストを聴いたり、シリーズや映画をオフラインで視聴したり、ネットワークなしで地図を調べたり言語を翻訳したり、データに依存せずに数十のタイトルを再生したり、接続が回復するとすぐにすべてが同期されるので、専門的なアプリを操作したりできます。オフライン モードを真に活用するために必要なのは、ダウンロードを事前に準備することと、信号がない場合でも動作するように適切に設計されたアプリを選択することの 2 つだけです。

オフラインナビゲーション用にAndroidに地図を保存する-8
関連記事
Androidでオフラインマップを保存して使用するための究極のガイド:アプリ、ヒント、比較