2018 ~ 2019 年に最新の Android アプリを構築するためのロードマップ
Kriptofolio アプリ シリーズ — 紹介
最新の Android アプリを作成するこの一連のブログ投稿へようこそ。 2018 年から 2019 年に利用できる最高のツールとプラクティスを使用します。私がこれを行っているのは、Android の世界で最もホットなトピックをすべてカバーし、あなたに教えることでそれらの知識を習得したいからです.
このシリーズに従えば、アプリをゼロから開発する方法を学ぶことができます。このシリーズの各ブログ投稿では、私が話したい特定の開発トピックについて取り上げます。良い品質のアプリを作成し、開発プロセスを説明するために最善を尽くします。このシリーズの最初のブログ投稿は、私たちがやろうとしていることのプロジェクトのロードマップです。
シリーズ コンテンツ
- はじめに:2018 ~ 2019 年に最新の Android アプリを構築するためのロードマップ (ここにいます)
- パート 1:SOLID 原則の紹介
- パート 2:Android アプリの作成方法:モックアップ、UI、XML レイアウトの作成
- パート 3:アーキテクチャのすべて:さまざまなアーキテクチャ パターンとアプリでの使用方法を探る
- パート 4:Dagger 2 を使用してアプリに依存性注入を実装する方法
- パート 5:Retrofit、OkHttp、Gson、Glide、およびコルーチンを使用して RESTful Web サービスを処理する
アプリ:「Kriptofolio」(以前の「My Crypto Coins」) のアイデア
最初は、Android 開発のトレンドをすべて紹介するプランを思いつくのは難しかったのですが、最終的に気に入ったプランを見つけました。これは、私の大きな関心分野であるブロックチェーンと暗号通貨に関連しています。私はあなたの暗号通貨ポートフォリオを含むアプリを作成し、法定通貨に換算した価値を知らせることにしました。
ユーザーにとって重要なことは、このアプリが 100% の信頼を保証することです。ログイン/登録プロセスは必要ありません。サーバーに送信してユーザーのデータを収集することはありません。所有しているお金に関する情報をオンラインで共有することを快く思わない人はいないでしょう。
暗号通貨への投資に関してユーザーが提供したデータは、Android デバイス内に保持されているローカル データベース内にのみ保存されます。ただし、法定通貨に変換されたポートフォリオの価値を知るために、アプリはインターネットを使用して最新の変換率を取得します。
トレーニング目的でご覧のとおり、このアプリのアイデアは素晴らしいものです。データを操作するためにさまざまなアプローチを試すことは、技術的に困難です。これは、最新のアプリを構築するために知っておくべき最も重要なスキルの 1 つです。人々にとってお金の話題はとてもデリケートです。さらなる信頼を確保するために、私はこのブログ投稿シリーズを作成し、プロジェクト コードを利用できるようにすることで、このアプリをオープンに開発し、誰もが隠すものがないことを確認できるようにします。
何を使用しますか?
まず、このアプリを作成するには、現時点でのさまざまな暗号通貨の価格を知る必要があります。このデータは継続的に変化するため、インターネットから提供されます。
データ API:
CoinMarketCap — 暗号通貨市場の概要を把握するための最も人気のある Web サイトの 1 つです。この Web サイトは、誰でも使用できる無料の API を提供しており、データ サービス プロバイダーとしての私たちにぴったりです。
次に、このプロジェクトに適合し、使用する必要がある、Android の世界で最も重要なトレンドのリストを作成しました。
プログラミング言語:
Kotlin — Android の公式言語。表現力豊かで、簡潔で、強力です。何よりも、既存の Android 言語およびランタイムと相互運用できます。
この新しい言語の導入は、2017 年に Android で最もホットなトピックの 1 つでした。私たちのアプリはその中に書かれている必要があります。 Kotlin とその機能については、過去のブログ投稿「Android 電卓アプリを構築して Kotlin を学ぼう」でも取り上げています。
統合開発環境 (IDE):
Android Studio — Android の公式 IDE。あらゆる種類の Android デバイスでアプリを構築するための最速のツールを提供します。ネイティブ アプリの開発にこれ以上の選択肢はありません。疑いの余地なく、これが IDE の主な選択です。
プロジェクト ビルド管理システム:
Gradle — Groovy と Kotlin に基づく高度な汎用ビルド管理システムです。依存関係やその他のライブラリの自動ダウンロードと構成をサポートしています。 Google が推奨するビルドシステムです。これは Android Studio 内にうまく統合されているので、これを使用します。
アーキテクチャ:
Android アーキテクチャ コンポーネント — 堅牢で、テストと保守が容易なアプリの設計に役立つライブラリのコレクションです。
Model–View–ViewModel (MVVM) — アーキテクチャ パターン。コンセプトは、データ プレゼンテーション ロジックを特定のクラスに移動して明確に区別することにより、ビジネス ロジックから分離することです。 Android チームは、このパターンをデフォルトの選択肢として推進しています。また、MVC や一般的な MVP パターンの代わりにもなります。
このシリーズでは、このパターンの選択、その他のアーキテクチャ オプション、および一般的にコードを適切に編成する方法について個別に説明します。簡単に保守できる堅実なプロジェクトを構築したい場合、これは不可欠です。
コルーチン — Android で非同期に実行されるコードを簡素化するために使用できる同時実行設計パターン。
データの永続性:
SQLite データベース — デバイス上のテキスト ファイルに永続的にデータを保存するオープン ソースの SQL データベースです。 Android には組み込みの SQLite データベース実装が付属しています。 SQLite はすべてのリレーショナル データベース機能をサポートしています。
Shared Preferences — アプリケーションの設定を保存および取得するための Android SDK の API。 SharedPreferences は、永続的に保存される単なるデータ値のセットです。キーと値のペアの形式でデータを保存および取得できます。
ライブラリ:
Android Jetpack コンポーネント:
AppCompat — 新しいバージョンで開発されたアプリを古いバージョンで動作させるために使用できるサポート ライブラリのセットです。
Android KTX — Android アプリ開発用の Kotlin 拡張機能のセット。 Android KTX の目標は、拡張機能/プロパティ、ラムダ、名前付きパラメーター、パラメーターの既定値などの言語の機能を活用することで、Kotlin を使用した Android 開発をより簡潔で快適で慣用的なものにすることです。
データ バインディング — プログラムではなく宣言形式を使用して、レイアウト内の UI コンポーネントをアプリ内のデータ ソースにバインドできるようにするサポート ライブラリです。
ライフサイクル — アクティビティとフラグメントのライフサイクルを管理します。
LiveData — 一般的な Android ライフサイクルの課題を解決し、アプリをよりメンテナンスしやすく、テストしやすくするために設計された監視可能なデータ ホルダー クラスです。
Room — SQLite に抽象化レイヤーを提供し、SQLite の全機能を活用しながら簡単にデータベースにアクセスできるようにします。
ViewModel — ライフサイクルを意識した方法で UI 関連のデータを保存および管理するように設計されています。 ViewModel クラスにより、データは画面の回転などの構成変更に耐えることができます。
その他:
ConstraintLayout — 柔軟で効率的なレイアウトを構築するため。レイアウト エディターは、制約を使用して、レイアウト内の UI 要素の位置を決定します。制約は、別のビュー、親レイアウト、または非表示のガイドラインへの接続または配置を表します。
CardView — プラットフォーム全体で一貫して見える、ドロップ シャドウ (高さ) と角の半径を使用してカード形式で情報を表す要素。
RecyclerView — ListView の柔軟で効率的なバージョン。これは、非常に効率的に再利用およびスクロールできるビューの大規模なデータ セットをレンダリングするためのコンテナーです。
サードパーティ:
Dagger 2 — Java と Android の両方に対応した、完全に静的なコンパイル時の依存性注入フレームワークです。
Retrofit 2 — Android および Java 用のオープン ソース タイプ セーフ HTTP クライアント。 Retrofit を使用すると、API ドキュメントのようにシンプルで表現力豊かなインターフェイスを介して HTTP 接続を簡単に構成できます。
OkHttp — HTTP/2 と SPDY をサポートするオープンソースの最新の高速で効率的な HTTP クライアント。
Gson — Java オブジェクトを JSON との間でシリアライズおよびデシリアライズするためのオープン ソース Java ライブラリ。
Glide — スムーズなスクロールに重点を置いた、Android 用の高速で効率的な画像読み込みライブラリ。 Glide は、使いやすい API、高性能で拡張可能なリソース デコーディング パイプライン、および自動リソース プーリングを提供します。
新しいプロジェクトの構成
このプロジェクトをゼロから作成します。 Android Studio を起動し、新しいプロジェクトを作成し、「My Crypto Coins」という名前を付けて、「Basic Activity」を選択します。この時点で、特に議論すべきことは何もありません。私たちの目標は、新たなクリーンなスタートを切り、追加機能 (インスタント アプリのサポートなど) を追加することで、頭の中の複雑さを回避することです。開発プロセス中に必要に応じて、後で何でも追加できます。
まず、Kotlin 言語サポートとターゲット API 23:Android 6.0 (Marshmallow) を含めましょう。
下位または上位の API をターゲットにしないのはなぜですか?それに直面しよう。一部の古いデバイスのサポートを終了し、開発中の互換性の問題について心配する必要がないのは良いことです。また、私は Android 6.0.1 を搭載した古い Nexus 7 (2013) タブレットを所有しています。アプリをライブでテストしたいと考えています。 ?だから、私の最小限の SDK の選択に影響を与えたこの個々のプロジェクトについて.
また、お気付きのように、フラグメントのサポートとフローティング アクション ボタンを使用して、自動的に生成された基本的なアクティビティを追加するよう IDE に依頼します。すべてが私たちのプロジェクトに役立つと思います.
GitHub — バージョン管理のための最も人気のある Web ベースのホスティング サービスの 1 つです。これはオープン ソース プロジェクトであり、もちろん使用します。
このシリーズのすべてのブログ投稿では、コミットが個別のブランチとして作成され、最新のソース コード バージョンのマスター ブランチが作成されます。ここにリポジトリへのリンクがあります。
GitHub でソース コードを表示
始めは以上です。ご質問、ご提案、ご意見がありましたら、お気軽にコメントでお寄せください。そして今、一緒に学びましょう!次はパート 2 です… ?
あちゅ!読んでくれてありがとう!この投稿は、2018 年 2 月 12 日にブログ www.baruckis.com で最初に公開したものです。
-
React Native と Native Base を使用して Android ニュース アプリを作成する方法
私たちは物事が絶えず変化する世界に住んでいます。したがって、何が起こっているかを最新の状態に保ちたい場合は、優れたニュースアプリが必要になります. クールな技術を学び、最新の状態を保つために、このブログ投稿では、React Native を使用して Android 用のニュース アプリケーションを作成します。さまざまなニュース チャンネルから見出しを取得し、カテゴリ別に表示します。 完了すると、アプリは次のようになります。それでは早速見ていきましょう。 Expo のインストール方法 では、万博とは? Expo は、React Native アプリをすばやく簡単に構築してデプロイするの
-
電話で Web アプリを作成する方法 – Python &Pydroid Android アプリ チュートリアル
やあ、元気?私は 18 歳のバックエンド開発者であり、意欲的な機械学習エンジニアです。この記事では、Python を使用して携帯電話で Web アプリを作成する方法について書いていきます 😁.掘り下げてみましょう。 要件 ここで最初に必要なのは、少なくともバージョン 6.0 以降の Android スマートフォンです。しかし、それで十分だと言ったらどうしますか?話がうますぎる。 次に行う必要があるのは、pydroid3 というモバイル アプリケーションを電話にインストールすることです。 ご覧のとおり、pydroid3 は携帯電話で Python を記述できるモバイル アプリケ