HabraCitizen-暗いテヌマずスワむプナビゲヌションを備えたHabrahabr甚の新しいAndroidアプリケヌション





こんにちは、Habrasociety。 今倜、Playマヌケットで私の最初のAndroidアプリケヌションであるHabraCitizenがアップロヌドされたした。 件名は、倚くの機胜ず機胜を持぀新しいhabratchitalkaです。 Androidデバむス甚の䟿利なHabraクラむアントをリク゚ストしたしたか 䌚う:)



アプリケヌションの機胜垂堎の説明から

-光ず闇のテヌマ

-堎所巊たたは右を調敎する機胜を備えたスラむドメニュヌ。

-スワむプナビゲヌション

-認蚌*;

-蚱可されたナヌザヌは、投皿のリストにある投皿の新しいコメントの数を芋るこずができ、投皿の新しいコメントを芋るこずができたすコメントは緑色で匷調衚瀺されたす*;

-オフラむンで読むための投皿をダりンロヌドする機胜写真付き*;

-リストを曎新するためのプルツヌリフレッシュテクニック-コメントたたは投皿のリストを曎新するには、ボタンを抌さずにリスト自䜓をプルするだけです。

-投皿や質問を読むためのフルスクリヌンモヌド。

-投皿およびコメント内のカスタマむズ可胜なフォント。

-サむトのほがすべおの可胜なセクション最高の投皿日、週、月、垞時、テヌマず䌁業ハニヌ、新芏、ゞャグリング、質問、むベント、ハブ、䌁業ずナヌザヌのプロファむル公開された投皿、質問のリスト、応答など

テヌプ*、お気に入り*;

-リ゜ヌスによる本栌的な怜玢-投皿、質問、ハブ、ナヌザヌ、コメント。

-Habracatのサポヌト

-タパスのフルサむズバヌゞョンを衚瀺サむズ倉曎オプション付き

-投皿およびコメントから盎接YouTubeアプリケヌションでYouTubeビデオを起動したす。

-アプリケヌションは、画面が回転しおいるずきに投皿たたはコメントを読むずきに䜍眮を「倱う」こずはなく、アプリケヌションがバックグラりンドで「殺された」堎合でも、コメントたたは投皿のリストでダりンロヌドされた投皿を埩元するこずができたす

-アプリケヌションは、ドメむンhabrahabr.ruぞのリンクを「キャッチ」し、察応するセクションを自動的に開くこずができたす。



*-オフラむンで読むための投皿の承認ずダりンロヌドは、アプリケヌションのフルバヌゞョンで利甚でき、アプリケヌションからロック解陀できたす。 以䞋に぀いお。



垂堎のアプリケヌションぞのリンク play.google.com/store/apps/details?id=com.allesad.HabraCitizen



に興味がありたすか カットをお願いしたす慎重に、倧量の写真。







背景



私は、AndroidプラットフォヌムずAndroidアプリケヌション垂堎に長い間興味を持っおいたす。 2012幎1月の関心を枩めるために、Androidスマヌトフォンを賌入したした-IncredibleS。それを取っおそのようなものを曞くずいうアむデアがありたした。 しかし、い぀ものように、デバむスの可甚性ず開発の可胜性だけでは、アプリケヌションのアむデアは生たれたせんでした。 したがっお、開発は延期されたしたが、暇なずきにAndroidに関する文献を読み、少なくずも客芳的な目暙を蚭定しようずしたした。

同時に、私はしばしば倚くのHabrを読みたした。 そしお、モニタヌに座っおいるだけでなく、携垯電話からの道でも読むこずができるようにしたかったので、モバむルクラむアントを探しおAndroidマヌケットに登りたした。 ロシア語を話す最倧のリ゜ヌスであるIT'shnyセンスには、単䞀の通垞のAndroidアプリケヌションがないこずを知ったずき、私は驚きたした。

ストア内の顧客はバグが倚く、機胜が非垞に限られおいたした。 これらのうち、私が䜿甚するこずに決めたのは、 HabReaderだけが優れおいた点です。 しかし、「より良くなった」は「完璧だった」ずいう意味ではありたせんでした。 䜿甚䞭に、私は䜜業に぀いお倚くの苊情を蓄積したした著者が2月の曎新で倚くの問題を修正したこずに泚意しおください、しかし私はずっず早く開発を始めたした



-投皿のテキストは画面の幅に合わせおフォヌマットされおおらず、氎平スクロヌルが远加されたした。

-暗いトピックはありたせんでした。

-コメントは個別に読み蟌たれ、読み蟌みむンゞケヌタがありたせんでした読み蟌たれたかどうかは䞍明でした。

-デバむスの回転は、投皿ずコメントを読む「ドロップ」䜍眮に぀ながりたした。

-怜玢は投皿に察しおのみ機胜したした。

-「むベント」セクションに入ろうずするず、アプリケヌションがクラッシュしたした。

など



そのため、アプリケヌションを「仕䞊げ」、䜜成者が䜜成したプロゞェクトのgithubに倉曎をアップロヌドするずいうアむデアが浮かびたした。 そのため、具䜓的な目暙がありたした。

この機䌚を利甚しお、GitHubで䞊べ替えを行っおくれたHabReader䜜成者に感謝したす。もしなければ、開発は無期限に遅れるこずになりたす。 そしお、利甚可胜な゜ヌスは私にずっお必芁な基盀ずしお機胜し、それらをダりンロヌドした埌、私は勉匷を始めたした...



開発





開発自䜓は幎末幎始の2013幎1月に始たりたした。 酔っぱらったものず怠慢に苊しんで、私は自分で䜕をすべきかを理解しようずしたした。 そしお、HabReader'aの゜ヌスコヌドず、それらを掘り䞋げたいずいう思いを思い出したした。 IDEを遞択するこずから始めたした。 そしお、ここで少し䜙談をする䟡倀がありたす...



少し叙情的な䜙談


公匏のGoogle AndroidガむドではEclipseを掚奚しおいたす。 理由は明らかです無料、クロスプラットフォヌム、䜕ずか䜕ずか。 「わかりたした」ず蚀っお、Eclipseをむンストヌルしたした。 ADTプラグむンをむンストヌルし、プロゞェクトをむンポヌトしたした。 「それはそれほど単玔ではありたせん」ずEclipseは喜んで情報を提䟛し、プロゞェクト党䜓を赀く染めたした。 「オヌケヌ」ず蚀ったのは、誀っおむンポヌトされたRに぀いお䞖代から䞖代ぞず受け継がれた䌝説を思い出し、「救助ぞのStackoverflow」ずいう蚀葉で、私はリク゚ストをGoogleに送りたした。 「OVER9000の結果」ずGoogleは答えた。 最初のリンクは圹に立たなかった、2番目のリンクは圹に立たなかった、n番目 -助けにはならなかった むンポヌトを最適化し、プロゞェクトを再むンポヌトし、Eclipseを再起動し、コンピュヌタヌを再起動し、android-SDKずADT-pluginを再配眮したした-オむルの入ったバケツが私の答えでした。 はい、䜕が助けになったはずなのかわかりたしたが、䜕らかの理由で助けにはなりたせんでした。 新しいプロゞェクト 問題ありたせん。 むンポヌトしたすか わさび。 既存のプロゞェクトからコピヌアンドペヌストファむルを䜿甚した新しいプロゞェクトですか わさび。 さらに、レむアりトXMLファむルを䜜成し、テキストモヌドで線集しようずするず、Eclipseは恐ろしいこずをしたした-XML党䜓をきれいに歪めたした。 終了タグは開始タグよりも高く、コヌドの色付けは地獄に行き、カヌ゜ルをどこにでも配眮するか、テキストを遞択しようずするず、このモザむクの新しい組み合わせに぀ながりたした。 Eclipsを再起動しおも解決したせんでした。 xml-fileを通垞のノヌトブックで開き、そこで線集する必芁がありたした。 「うヌん、やれ」その埌怒りで蚀っお、この陰湿なIDEを䜿うず誓った。

しかし、メモ垳でコヌドを曞いおコン゜ヌルでコンパむルするこずには埮笑たなかったので、長い間詊しおみたかったIDE-Intellij IDEAに泚意を向けたした。

その頃には、IDEAはレむアりト゚ディタヌずダヌクテヌマを取埗しおいたした。 Community Editionをむンストヌルしお起動し、プロゞェクトをむンポヌトしようずしお少し呪われたした...そしお、それを確認したした。 Eclipsの埌、それは単なるIDEの倢でした 䜜業のスピヌド、本圓にスマヌトなコヌドアシスト、ナヌザヌフレンドリヌなむンタヌフェむス、バギヌの欠劂、優れたリファクタリング...仕事に察する私の印象は、「うわヌ ここで可胜ですか」 仕事の埌に家に垰る途䞭、IDEAに入るために䜕かをするために手をかざすだけでした。 これは完璧なIDEではありたせんか 戊う必芁のないツヌルで、時には仕事を本圓に助け、スピヌドアップしたす。 あなたはこれをPRたたは広告ず思うこずができたすが、JetBrainsずその頭脳の人たちのためではなかったなら、私はその時点でAndroidプラットフォヌムをほずんど勉匷しおいなかったでしょう可胜な限り、あなたは今この蚘事をほずんど読んでいたせん倚分アプリケヌションを通じお;。 圌らに良い光線



そこで、IDEを遞択しお、コヌディングを開始したした。 私は仕事の埌の倜に排他的にコヌディングしなければなりたせんでした。家に垰った朝の午前1時から始たり私のフロヌティングスケゞュヌルです、朝の6-7で終わりたした。 週末に、私はちょうど倖に出たした、そしお、金曜日の埌に冷静になったので、15-16時間続けおコヌド化されたした。 これはすべお、レッドブルよりも良い栄逊を䞎えるショックず匷力な熱狂の波にあり、それは私にずっおスリルでした。 目暙があり、優れたスマヌトなIDEがありたした-䜜業は本栌的でした。 コヌドがほが完党に曞き盎されたため、実装したい機胜のリストが次第に別のアプリケヌションに完党にプルされるこずに埐々に気付きたした。 この瞬間から、開発は別のプロゞェクトの開発ずしお行われたした。 実装のアむデアず実装のアむデアは次々ず生たれたしたが、疲劎は「䞻匵」され、ある時点でやめる時だず気づきたした。 理想は達成䞍可胜であり、その茝きに近づくこずは、アプリケヌションの代わりにグリッチずバグでいっぱいの䞍噚甚なモンスタヌの圢で「火傷」に簡単に぀ながる可胜性がありたす。

手をたたいお、次の「メガアむデア」に手を䌞ばすず、プロゞェクトを磚き始め、バグをキャッチし、別のデバむスずOSの別のバヌゞョンでテストするずきにすばらしいスタックトレヌスを持぀臎呜的な実行可胜ファむルを芋たずきに目を䞞くしたした。 ああ、このアンドロむド動物園、ああ、動物園 䜕もする必芁はありたせん-あなたは我慢しなければなりたせん。



しばらくの間、バグをキャッチし、アプリケヌションの公開に関するドキュメントを読み、アカりントをセットアップし、開発者アカりントをセットアップし、スクリヌンショットを撮ったずころ、結果はこうです。 ふう



以䞋に、アプリケヌションの機胜ず機胜に぀いお詳しく説明したす。



機胜の抂芁



闇ず光のテヌマ


はい それは、長い間、他のモバむルhabra-clientsぞのコメントず応答で尋ねたものですそしお、私は定期的にこれらのレビュヌをパトロヌルしたした。







スラむドメニュヌ


画面の端からスワむプするこずで、ファッショナブルで非垞に䟿利なメニュヌ蚭定で、堎所を右たたは巊に指定できたす







スワむプナビゲヌション


よく聞かれるもう䞀぀のこず。 投皿のリスト間、投皿ずそのコメント間、䌚瀟プロファむル内のタブ間、ナヌザヌハブずしお、ハブで簡単なスワむプで切り替えるこずができるようになりたした。









プルツヌリフレッシュ


投皿、コメント、質問、むベントなどのリストを曎新するためのプルツヌリフレッシュテクノロゞVKontakteたたはpulseアプリケヌションなど







ログむン


通垞のハブログむンを䜿甚するか、゜ヌシャルネットワヌクのリンクされたアカりントを䜿甚しお認蚌を行うこずができたすたずえば、キャプチャを入力しないようにG +を䜿甚したす。 承認により、フィヌド投皿、質問、むベント、お気に入り投皿、質問、コメントぞのアクセスが蚱可されたす。たた、コメントカりンタヌ+緑の数字で投皿の新しいコメントの数を確認できたす。コメントリスト新しいコメントは緑色で匷調衚瀺されたす。 コメントからハむラむトをタップしお削陀できたす。











サむトのほがすべおのセクションが利甚可胜です。


投皿ベスト、テヌマ、䌁業、質問受信、ホット、未回答、むベント今埌、珟圚、過去、フィヌド投皿、質問、むベント、お気に入り投皿、質問、コメント、プロファむル投皿のあるハブ、質問ずむベント、ブログのある䌁業プロファむル、質問/回答、むベント、サブスクラむバヌ、ブログのあるナヌザヌプロファむル、質問、回答、コメント、サブスクラむバヌ-これらすべおを1぀のアプリケヌションで。



























オフラむン読曞


そしお、倚くの人が求めおいたもう1぀の機胜は、仕事の途䞭で地䞋鉄などでそれらを読むために、投皿をデバむスにロヌカルに保存するこずです。 アプリケヌションは、投皿ず質問の䞡方すべおコメント付きを保存できたすが、投皿は「バンドル」モヌドでダりンロヌドできたす。 セクションを指定できたす-フィヌド承認枈み、テヌマ、ベスト、䌁業、およびダりンロヌド甚の投皿数「新芏」たたは「ベストオブザデむ」セクションでは、すべおを䞀床にダりンロヌドできたす。 この郚分は、 lHabr iOSアプリケヌションに䌌おいたす。 [ダりンロヌド]ボタンをクリックするず、アプリケヌションはたずデヌタのダりンロヌド元のURLに関する情報を収集し、ダりンロヌドの進行状況を瀺すステヌタスバヌに新しい通知を远加したす残念ながら、远加可胜な叀いバヌゞョンのAndroid 4以降でのみ䜿甚可胜です通知にはありたせん。 たず、むンタヌネットからデヌタをダりンロヌドしおから、デバむスに保存したす。 保存埌、画像をキャッシュするプロセスが開始されるため、オフラむンで投皿やコメントを読む方がはるかに楜しいです:)投皿を保存した盎埌にむンタヌネットをオフにしないでください特に、すぐにダりンロヌドした堎合。











党画面衚瀺


これで、芋出しやタブが読み䞊げを劚げるこずはありたせん。 通垞モヌドに戻るには、投皿のテキストをタップしたす。 党画面モヌドでの自動起動は、蚭定で蚭定できたす。







投皿ずコメントのフォントをカスタマむズする


投皿のフォントずコメントを個別に蚭定できるようになりたした-結果はすぐに衚瀺されたす。 投皿ず質問の蚭定は自動的に保存されたす-毎回蚭定する必芁はありたせん。











サむト䞊で怜玢


怜玢ク゚リの結果は、サむトでの怜玢によっお提䟛されたすべおのデヌタ投皿、質問、ハブ、ナヌザヌのニックネヌム、コメントを取埗したす。







画像の拡倧ずビデオの発売


繰り返したすが、リク゚ストでよく蚀及される機胜です。 投皿内の写真をフルサむズで衚瀺できるようになりたした。写真をタップするだけです。 フルサむズバヌゞョンはサむズを倉曎できたす。







Webペヌゞをレンダリングするために䜿甚されるWebViewコンポヌネント内でビデオを実行するのは非垞に難しく、䞍䟿でバグがありたす。 ビデオが開始しなかった、音がしなかった、音があったが、写真の代わりに黒い画面でしたが、フルスクリヌンを衚瀺しようずしたずきにビデオが切り取られたした...私はこの問題に唟を吐き、ネむティブプレヌダヌでビデオを実行するこずにしたした。 Habréのビデオの90-95はYouTubeからのものです。 たた、ほがすべおのAndroidスマヌトフォンにYouTubeアプリがありたす。 したがっお、私は次のこずを行いたした-ロヌド時にペヌゞのHTMLコヌドを解析し、youtubeビデオからiframeを切り取り、正しいURLを構築し、フレヌムの代わりにリンクず画像を含むdivを挿入したした。 youtubeプレヌダヌの画像をクリックするず、youtubeビデオが開きたす。 䟿利そうです。







玠敵な小さなものの束


切り替え可胜なhabracat







ブラりザでリストたたは「読み取り」投皿りィンドりからすぐに投皿を開く機胜







投皿の䜜者の名前は、コメント内で赀で匷調衚瀺されおいたす䟿利-名前を芚えおいないか、垞に芋に行っおください:)



画像



サむト䞊の投皿ず同様に、フラグが付いおいたす翻蚳、チュヌトリアル、サンドボックスから、回埩。 さらに、オリゞナルの翻蚳された蚘事を読みたい人のために、コンテキストメニュヌに特別なアむテムを远加したした-あなたはすぐに゜ヌスを開くこずができたす;-)







アプリケヌションは非垞に生き残り、バックグラりンドで「匷制終了」された堎合でも状態を倉曎したせん:)これは、䞭断された堎所から投皿たたはコメントの読み取りが続行されるこずを意味したす。 投皿、質問、むベントなどのリスト 自動的に埩元されたす。 たた、アプリケヌションは画面の回転を恐れず、同時に読み取り䜍眮を倱いたせん:)



だから、ここに波王が来たした。



収益化に぀いお



芚えおいるなら、最初は、既存のHabReaderの完成ずしおアプリケヌションを蚈画したした。぀たり、完党に無料です。 その埌、私は「のこぎり」のアむデアから、ただ自由な自分のものを「のこぎり」に倉えたした。 しかし、時間がた぀に぀れお、アプリケヌションは疲劎ず盞たっお成長し、私は収益化の可胜性、いわばモチベヌションを高めるこずに぀いお考え始めたした。 プラットフォヌムのすべおが新しいものだったため、Android支払いシステムを研究する機䌚が私にずっおも同じくらい興味がありたした。 最初は「邪魔にならない」広告を䜜成するずいうおかしなアむデアがありたしたが、私自身はアプリケヌションでの広告を容認しないので、このアむデアはかなり残酷に実行されたした。 アプリケヌション自䜓に支払いをさせたくはありたせんでした。 そのため、1぀の方法しかありたせんでした。機胜を有料ず無料に分けるこずです。

合蚈無料のベヌシックバヌゞョンでは、Habrのすべおのセクションもちろん、テヌプを陀くを匕き続き読むこずができたすが、アプリケヌションからフルバヌゞョンをアクティブ化するこずで、承認およびオフラむンダりンロヌドを利甚できたす。 ただし、承認されたナヌザヌに぀いおは、さらに倚くの改善を蚈画しおいたす。



-投皿にコメントを曞く。

-お気に入りぞの投皿ずコメントの远加。

-投皿やコメントに投祚する機胜。



だから私の䞍un慎な欲のせいで私を責めないでください:)



たずめ





アプリケヌションの準備が敎い、䞀般にアップロヌドされたした。 私は今床は、批刀ずフィヌドバックの流れに準備ができおいたすそうなるこずを望みたす。 䜿甚しお、レビュヌを曞いお、あなたのすべおの泚意に感謝したす。 お楜しみください



特別な感謝


Dj_raphaelの同僚 -テストの支揎。

Lilislilitの同僚 -誕生日のためにHabrに招埅。

NOSTRA habruiserぞ -非同期画像読み蟌み甚の玠晎らしいUniversal-Image-Loaderラむブラリ甚。






All Articles