Android Application
RSSリーダー
(agReader)
Android Application
(agReader)
Google Readerの終了とともに制作終了。
さまざまなニュースや投稿がRSSフィードで提供されており、ウェブサイトでもというマークを結構見かけると思います。
Google Readerは、代表的なRSSリーダーで、ブラウザでもAndroidアプリケーションでも利用でき、RSSフィードを数多く登録してもレスポンスの劣 化は少ないのが特徴です。
agReaderは、Androidで動作するGoogle Reader用のアプリケーションとして、さらに記事を読みやすくしています。
ブラウザを開く機会が少なく操作が簡単になります。
記事をダウンロードできるので、通信環境が悪くとも、オフラインで文章を読めます。オンラインでは多くのサイトで画像を表示します。
特定サイトでは記事を読み易く加工しています。
記事は、JavaScriptを無効にしています。実行したい場合はブラウザで開くことができます。
Google Readerと既読情報、スター情報を同期することができます。
動作確認は、Android 4.0で行っています。動作条件としては、以下のようになります。
Android 2.2 〜
Android 2.3 〜
Android 3.0 〜
Android 4.0 〜
Android 4.1 〜
なお、agReader Freeは、一部機能に制限があります。agReader(Full)は、広告表示がなく、ページ設定の編集機能があります。
アプリケーションを起動すると[ホーム]画面が表示されます。
選択した機能を実行します。
記事を読む
選択すると[記事一覧]を表示します。
記事を同期する
選択すると[同期]を表示します。
Google Readerにアクセスし、記事をダウンロードし、お気に入りや既読の同期をとります。
設定する
選択すると[設定]を表示します。
アカウントやダウンロードの設定、データや設定、オプティマイザ定義の初期化などを行えます。
このアプリケーションについて
選択すると[About]を表示します。
Google Reader アカウントの設定
Google Readerのアカウント設定を行います。
アプリケーションを開いたときにアカウントが未設定の場合、[アカウント設定]画面が開きます。
[設定]画面から「アカウント」を選択することでも[アカウント設定]画面を開けます。
デバイス登録済みのアカウント
デバイス登録済みのアカウントを選択する場合既にデバイスに登録しているアカウントを使ってGoogle Readerの認証を行います。
アプリケーションではパスワードを使用しません。かわりに許可画面が表示されます。
表示されているアカウントを選択する
[保存]ボタンをおす
初めてのアカウント設定の場合、許可画面が表示され、Google Readerへのアクセス許可を求められるので、[許可]を選択する。
再度、[保存]ボタンをおす
Google Reader for Androidがインストールされていないデバイスでは、Google Readerにアクセスできないようです。認証できない場合は、Google Reader for Androidをインストールし再試行してみてください。
https://play.google.com/store/apps/details?id=com.google.android.apps.reader
ユーザー/パスワード指定
ユーザー/パスワード指定を選択する場合指定されたユーザー/パスワードをGoogle Readerの認証を行います。
デバイスに登録していないアカウントでもGoogle Readerを利用できます。
アプリケーションで直接Google Readerと通信するため、許可画面は表示されません。
ユーザ名とパスワードを入力して[保存]ボタンを押し認証できたら画面をとじてください。
agReaderでは、Google Readerに登録した購読フィードとその購読記事をダウンロードして記事を読みます。
そのため、Google Readerに購読するフィードが未登録であれば、Google Readerを使って登録したり、アプリケーションのフィードカタログを使用して登録する必要があります。
フィードカタログで選択したフィードはGoogle Readerに購読登録されます。
次回の同期でagreaderには反映されます。
フィード設定を行います。まるごとRSSに簡単に対応できます。
[フィード一覧]画面からフィードを長押しする。
タイプ
feed
フィードのSummaryをコンテンツとして扱う場合はfeedを選択する。フィードのコンテンツ参照先をMobilizerで取得する場合はcontentsを選択する。
Mobilizer
instapaperinstapaper mobilizerを使ってページの加工結果を得ることができます。おおくのサイトはこの指定で対応できます。一部ではgoogleを指定したほうがよい結果を得ることができます。
googlegoogle mobilizerを使ってページを加工することができます。instapaperでうまく表示されない記事があれば試してみるとよいでしょう。
internal
オリジナルの整形ツールです。ページ設定で、ページから特定部分を抽出して切り取るなどのページ加工や、複数ページをまとめる指定を行います。いくつかのサイトの定義をあらかじめ組み込んでいます。Full版では、直接XMLを編集したり、設定をサポートする機能[ページ設定]があります。
[記事]画面で一時的にMobilizerを切り替えて取得結果を確認できます。
fullrss
まるごとRSS化する場合はON、オリジナルのフィードの場合はOFFとします。まるごとRSSとすれば、まるごとRSS側でコンテンツを取得するため同期処理時間が削減できます。
タグ
フィードに関連づけるタグを選択する。0.2.0では追加のみ対応しています。
閉じる
削除する
保存する
フィード設定の内容について説明します。[ツール]にて編集する内容です。
<feed
...(記載中)
>
<extract>
<condition tag='div' name='class' value='articleContent' />
<condition tag='body' />
</extract>
<strip>
<condition tag='div' name='class' value='next' />
<condition tag='div' name='class' value='prev' />
</strip>
<nextpage>
<condition tag='li' name='class' value='nextBtn' />
</nextpage>
</feed>
まるごとRSS(http://mrss.dokoda.jp/)参照先のページを取得してsummaryに埋め込みます。
LDRFullFeed(http://wedata.net/databases/LDRFullFeed/items)を使用しているので、対象フィードがサポートされているか確認できます。
Yahoo Pipes(http://mobile-roughpaper.blogspot.com/2010/05/rss-reader-yahoo-pipes.html )で書いてあるようなフィードの加工ができます。
2ch to RSS
[フィード設定]でMobilizerをinternalに設定した場合のページ加工について設定します。
[ツール]で直接ページ設定を編集すると、複数ページをまとめて取得することができるようになります。
この方法は、HTMLを見ながらページ設定を行うので手間がかかります。
[ページ設定]を使うと手間をかけずに設定を行うことができます。
複数ページ用の定義はサポートできていませんが、[ページ設定]を行ったのち、[ツール]で追加定義することで手間を省けます。
設定を行いたい[記事]をひらき、[ページ設定]を選択する。
一番上にURLがセットされていることを確認します。
次に抜き出したい該当の箇所が特定できる語句を次に項目に記入します。
[検索]ボタンを押します。
ここで希望どおりのページになっていれば[保存]ボタンをおせばページ定義終了です。
希望どおりでない場合は、語句を指定しなおすか、次の抽出条件を指定することで調整します。
[抽出条件]を押すと、指定した語句が含まれる要素からさかのぼってbodyタグにたどり着くまでの要素を一覧表示しています。
絞りすぎている場合は、上から順にチェックをはずしていきます。
[選択]ボタンをおすと再度絞り込みなおした結果を画面で確認できます。
次に、一部分を削除したい場合に[切取条件]を押します。
チェックをして選択をすると該当の要素が削除されます。
これらを繰り返して定義が決定したら、[保存]をおします。
次のダウンロードから、このページ設定にしたがいダウンロードします。
なお、すべてのページを加工できるわけではありません。idやclassを用いたページでは、ページをうまく加工できます。このような属性を指定していないページは、うまく加工できません。
ページ設定の内容について説明します。[ツール]にて編集する内容です。
<page
title='mycom.co.jp'
target='^http://.*\.mycom\.co\.jp/'
charset='Shift_JIS'
size='10'>
<extract>
<condition tag='div' name='class' value='articleContent' />
<condition tag='body' />
</extract>
<strip>
<condition tag='div' name='class' value='next' />
<condition tag='div' name='class' value='prev' />
</strip>
<nextpage>
<condition tag='li' name='class' value='nextBtn' />
</nextpage>
</page>
targetに合致するURLであるなら、この定義を適用します。
charsetが定義されていれば、HTTPヘッダやHTMLの指定を用いずcharsetを優先します。
最大でsizeに指定したページまで次ページを読み込む。
extractは抽出条件になります。
conditionで指定した条件に合致する箇所があるまでconditionを試していく。
条件に合致する箇所があれば、それを抜き出します。
stripは切取条件になります。
抜き出した内容から、conditionで指定した条件に合致する箇所があれば削除してゆく。
nextpageは次のページのURLを求める条件になります。
conditionで指定した条件を順次探索する。
最後に残った箇所にリンクが記述されていれば、それを次ページのURLとして扱う。
[Home]画面から[同期]を選択する。
選択した機能を実行します。
記事
オンライン利用にむいています。
記事をダウンロードしますが、記事を開くときにコンテンツをダウンロードします。
既読までの記事
オンライン利用にむいています。
「記事」の動作と同様ですが、既読の記事を発見したら記事のダウンロードを中止します。
記事とコンテンツ
オフライン利用にむいています。
記事とコンテンツをダウンロードします。
既読までの記事とコンテンツ
オフライン利用にむいています。
「記事とコンテンツの動作」と同様ですが、既読の記事を発見したら記事のダウンロードを中止します。
既読/スター情報の送信
古い記事の削除
フィードの同期/タグの同期
記事のダウンロード
コンテンツのダウンロード
データベースを最適化
登録済みのアカウントを選択している場合、突然、同期が失敗することがあります。
お手数ですが、アカウントで再選択して、再実行してください。
機種や設定によっては、時間指定で起動できない場合があります。
記事の要約やコンテンツ参照先のページを表示します。
[記事一覧]で記事を選択することで、[記事]を表示します。
[記事]でスワイプして移動できます。
スワイプで移動すると[記事一覧]の表示位置も移動します。
現状では、Xperiaではアプリケーションで指定した位置に移動しますが、Nexusでは少しずれた位置を表示してしまう場合があるなど不具合が残っています。Nexusは4.1へのアップデートで改善された。
既読情報変更
記事の既読/未読を反転する。
スター情報変更
記事のスター情報を反転する。
再表示
ネットからコンテンツを再取得する。
ブラウザ
表示している内容をブラウザで表示する。
Mobilizer
表示している内容をMobilizerで加工して表示する。
フィード
表示しているコンテンツのフィードの記事一覧を表示する。
タグ
表示しているコンテンツのフィードにつけられたタグの記事一覧を表示する。
フィード定義
この記事のフィードについて、要約のみ/コンテンツを取得するかなどの設定を行います。
ページ定義
この記事のコンテンツを整形するための定義を作成する。
URLを送信
URLを送信する。
テキストを送信
テキストを送信する。
設定-記事
設定画面を表示する。
コンテンツを表示するときに、フィード設定、ページ設定、記事状態、通信状況により、記事の要約や参照先のコンテンツを表示します。
たとえば、以下の条件で記事を選択した場合、最初は記事の要約が表示されますが、コンテンツを取得できた段階で画面が再表示されます。
同期条件:記事のみ
通信状態:オンライン(設定で3G通信抑止なし)
フィード設定:Contents/Internal
ページ設定:コンテンツ加工設定有り
記事状態:記事のみでコンテンツは未ダウンロード
[設定]で指定したUser Agentでアクセスします。
JavaScriptは無効としているので、コンテンツ中のリンクやボタンなど反応しないものがあります。JavaScriptを有効にして操作を続けるには、ブラウザで開いて操作を続けます。
3G通信抑止の設定を行うとWifi接続でなければ画像表示を取りやめます。
オフラインであれば画像を表示しません。(キャッシュにのこっている場合は表示されます)
オンラインであれば画像も表示されます。
3G通信抑止の設定を行うとダウンロード待ち状態の記事であってもコンテンツを取得しません。
この場合、オフラインであればそのまま記事の要約を表示し、オンラインであればコンテンツを取得し表示します。
コンテンツの表示内容に満足できない場合は次の順番で試すと期待する効果が得られるかもしれません。
最初に試すのでは、fullrss(まるごとRSS)です。読み易くなるサイトがあります。同期時間も短縮できます。ただ、要約がそのまま表示されてしまう場合もあります。
次にmobilizerを変えてみます。読み易くなるサイトがあります。internalでは次のページまで含めて読み込むサイトもあります。instapaperでは多くのサイトで読み易くなります。googleは今後期待というところです。気に入ったmobilizerがあれば、フィード設定を変更して次回の同期にそなえます。
これでも満足できない場合は、full版で、internalの本文の抽出/切取、次のページの連結などの指定などを行えます。
オフライン利用では、時間指定で同期をとるので、読み易さ優先で指定するとよいでしょう。
オンライン利用で、素早く同期をとりたい場合では、fullrssで同期をとり内容をみたいページで、mobilizerを指定して再読み込みを行うという使い方もよいでしょう。
記事一覧を表示します。
この画面で、記事の絞り込みや記事を選択することでコンテンツを表示します。
すべての記事が表示されているので、タグやフィード、スター、未読、検索語句などの条件を指定して記事を絞り込みます。
タグ
[タグ一覧]を表示するので、タグ選択で記事を絞り込みます。
短押しでタグにより記事を絞り込みます。
長押しでメニューを表示します(タグの削除)
フィード
[フィード一覧]を表示するので、フィード選択で記事を絞り込みます。
短押しでフィードにより記事を絞り込みます。
長押しで[フィード設定]画面を表示します。
スター付き
スター付きの記事/スター無しの記事/絞り込まないの絞り込み条件を切り替えます。
既読/未読
既読のみ/未読のみ/既読と未読と絞り込み条件を切り替えます。
検索
[検索]画面を表示するので、単語を指定して記事を絞り込みます。
[設定]-[記事]のコンテンツ保存で、"database"の場合はタイトルと本文を、"file"の場合はタイトルを検索します。
過去の検索語句を選択するか検索語句を入力して[検索]ボタンをおすと検索結果を記事一覧に表示します。
検索語句の短押しで検索結果を記事一覧に表示する。
検索語句の長押しでメニューを表示する(検索語句の削除)
記事の絞り込み条件を変更した場合は、先頭行に移動します。(既読状態にはしない)
記事の絞り込み条件を変更しない場合は、選択行を維持します。
ダウンロード状態
要約
記事の所属するフィードが、フィード定義で「要約のみ」で指定されており、リンク先のページ(コンテンツ)をダウンロードする必要のない状態をあらわします。
ダウンロード待ち
記事をダウンロードしたが、リンク先のページ(コンテンツ)をダウンロードしていない状態をあらわします。
ダウンロード済み
記事のリンク先のページ(コンテンツ)をダウンロードした状態です。
コンテンツの表示
記事を選択すると記事のコンテンツを表示します。
フォアグラウンド/バックグラウンド実行
[設定]で同期をバックグラウンドで実行することができます。
この画面で実行します。
[戻る]で同期を中止します。
バックグラウンドで同期を実行します。
同期中に記事をみることができます。時折、処理時間がかかり応答なしとなりますが続行すれば続けることができると思います。
通知で処理状況をみることができます。通知をタップすると新たに[設定]-[同期時間指定]を起動します。スケジュール登録解除することで、処理を中止できます。
Google Playよりアプリケーションをインストールします。
https://play.google.com/store/search?q=agreader&so=1&c=apps
インストールがおわったらアプリケーションを開きます。
インストール直後やアップグレード直後の場合は、[紹介]画面が開きます。
アップグレード時には、設定の初期化などの注意事項が記載されているので目をとおしてください。 再設定などの操作が必要になる場合があります。
アカウントが未設定の場合、[アカウント設定]画面が開きます。
まとめて設定するには、[ホーム]画面から「設定」を選択します。
各画面で[設定]ボタンを押すと、各画面に関する設定を変更できます。
設定によっては、再起動するまで有効にならないものがあります。
設定の変化が見られない場合は、一旦、アプリケーションを終了してください。
コンテンツの保存形式
大量の記事を扱う場合は「ファイル」とすることをおすすめします。
購読フィードの記事とコンテンツをダウンロードするために同期を実行します。
[同期]画面から実行することもできますし、[同期時間指定]画面で設定することで、時間指定で実行することもできます。
初回の同期など購読フィードが多い場合、新たな購読フィード毎に内容を解析して自動設定を行うために、同期に時間がかかります。
記事がダウンロードできない場合、通信ができない、アプリケーションの不具合などの原因以外に
アカウント設定がうまくできていない。
購読フィードが登録されていない。
購読フィードが廃止されている。
購読フィードで同期設定の条件にあう記事がない。
などの原因も考えられます。
アプリケーションで必要としている権限を説明します。
【ネットワーク】
android.permission.INTERNET
Google Readerへのアクセスやコンテンツの取得で必要となります。
android.permission.ACCESS_WIFI_STATE
android.permission.ACCESS_NETWORK_STATE
Wifi接続の状態を判断するために必要となります。
【アカウント】
android.permission.GET_ACCOUNTS
android.permission.MANAGE_ACCOUNTS
アカウント設定で必要となります。
android.permission.USE_CREDENTIALS
Google Readerへのアクセスで必要となります。
【ストレージ】
android.permission.WRITE_EXTERNAL_STORAGE
SDカードへのインスールのためですが、コピー不可の制限のため意味がないかもしれません。
【システムツール】
android.permission.CHANGE_NETWORK_STATE
WifiのON/OFFを制御するために必要です。[0.3では未実装となっています]
android.permission.WAKE_LOCK
同期時にスリープを無効にするために必要です。
android.permission.RECEIVE_BOOT_COMPLETED
同期時間指定が再起動などでクリアされるため、再起動で再登録を行うために必要となります。
android.permission.READ_LOGS
紹介画面からのログ表示で必要となります。
下記以降、Android4.0までアップデート継続(記録をおう必要あり)
Freeとの相違
広告表示なし
機能制限なし
主な特徴
広告表示あり(AdMob)
フィード定義編集機能制限
ページ 定義編集機能制限
その他、今後の追加機能に関する制限予定