gdgkisiiapp
GDG KISII Androidモバイルアプリのホームリポジトリ。
開発者コミュニティを管理するためのAndroidアプリケーションを作成しました。開発者のイベント、リソース、スピーカーの更新は、モバイルアプリケーションを介してアクセスできます。
クールな機能が含まれます
- ボトムナビゲーション
- タブナビゲーション
- マップAPIを含む多くのAPI
私のAndroidの基本カリキュラム
- 一般的なプログラミングプラクティス
- Android Basicsの紹介
- Androidでのマスタリングレイアウト
- 構築システム - Gradleでの作業
- Androidでのネットワーキング
- Androidアプリのアーキテクテクタリング
- Androidアプリのテスト
- Androidアプリをリリースします
- Androidアプリを保護します
- 高度なAndroid
一般的なプログラミングプラクティス
次の一般的なプログラミングプラクティスは、開発でのキャリアを成功させるための鍵です。これらのプラクティスには以下が含まれます。
- ソースコントロール(GIT) - ソースコントロールは、コードのバージョンを管理するためのツールであり、ソフトウェアを共同で作成するのに最適です。
- GITワークフロー - ソースコントロールを使用するときにソフトウェアを管理する多くの異なる方法があります。一般的な方法には、Gitflowワークフロー、集中ワークフロー、フォーキングワークフローなどが含まれます。
- 継続的な統合 - 継続的な統合により、コードが独自のマシンではないサーバー上に構築されていることが保証されます。 Jenkins、BuddyBuild、Circle CI、Travisなどのビルドサーバーを使用してください。
- プルリクエスト - プルリクエストは、開発したコードに関する非常に詳細なフィードバックを取得するための優れた方法です。
- アジャイル/スクラムの方法論 - ほとんどの最新のソフトウェア開発チームは、作業のためにスクラムの方法論に従います。
- コード品質ツール - 企業がコードの品質とコードベースの健康を測定するために使用する多くのツールがあります。テストカバレッジの数などのメトリックや、コードベースの技術的負債の量が表示されます。頻繁に使用されるいくつかのツール:Sonar、FindBugs、CheckStyle、Android Lint。
Android Basicsの紹介
Android開発を始めることの基本を提供するウェブサイトがたくさんあります。私の推奨事項は、公式の文書に従って基本を理解することです。
いくつかの開始リソース:
- Androidアプリケーションの基礎
- Androidの主要なコンポーネントの一部:アクティビティ、フラグメント、サービス、ブロードキャストレシーバー。
- Androidアプリケーションマニフェスト
- コードラボ - 最初のAndroidアプリを構築します
Androidでのマスタリングレイアウト
Androidには、FramelayoutからRelativeLayout、Constraintlayoutまで、さまざまなレイアウトタイプがあります。これらの一般的に使用されるレイアウトタイプ(FrameLayout、lerativeLayout、LinearLayout、Constraintlayout、CoordinatorLayout)に満足していることを確認してください。
リソース:
- さまざまな画面サイズをサポートします
- コードラボ - ConstraintLayout
- コードラボ - コーディネーターレイアウト
ビルドシステム - Gradleを使用します
Gradleを使用することは、おそらくAndroidアプリを開発するときに見落とされるものです。基本を理解してください。
リソース:
Androidでのネットワーキング
AndroidドキュメントのほとんどはRetrofitまたはOkhttpを参照していませんが、これらはAndroidでのネットワークに関して最も一般的に使用されるライブラリです。また、Android Studioで利用できるさまざまなプロファイリングツールに精通していることも良いことです。
リソース:
- 安らかなサービスを理解する
- Retrofit - AndroidおよびJava用のタイプセーフHTTPクライアント
- okhttp - AndroidおよびJavaアプリケーション用のHTTP&HTTP/2クライアント
- Androidのネットワークプロファイラー - Android Studioのツールで、ネットワーク呼び出しをプロファイルできます。
- Charles Proxy - テスト中のネットワークコールを傍受するのに役立ちます。
Androidアプリケーションのアーキテクテクタク
残念ながら、コードを作成してアプリをコンパイルするようにすることは、保守可能なAndroidアプリの作成方法を知ることの終わりではありません。大規模なAndroidアプリケーションは、保守可能でテスト可能になるためには、優れたアーキテクチャデザインに従う必要があります。 Androidアプリケーションを書くときに従うことができる多くの異なるパターンがあります。 MVP、MVVM、クリーンアーキテクチャなどのパターンが一般的に使用されています。野生の多くの異なるパターンに遭遇するので、パターン間の違いを理解してください。
リソース:
- Androidアーキテクチャコンポーネントガイド
- Androidアーキテクチャコンポーネントビデオの紹介
- GoogleサンプルアプリGitHubリポジトリ
- コードラボ - 永続性
- コードラボ - ライフサイクル認識コンポーネント
Androidアプリケーションのテスト
Androidアプリを作成することを理解したら、それらをテストする方法を考える必要があります。ユニットテストとUIテストは、理解するために必要な非常に重要な概念です。 UIテストの作成に使用できるさまざまなツールがたくさんあります。ほとんどのAndroid開発者は、エスプレッソとJunitを使用してテストを書きますが、Robotium、Calabash、Appiumなどなど、他にも多くのツールがあります。エスプレッソとJunitを使用することをお勧めします。
リソース:
- Androidテストサポートライブラリ
- エスプレッソ
- ジュニット
- モキト
- コードラボ - アンドロイドテスト
- コードラボ - アンドロイドパフォーマンステスト
Androidアプリをリリースします
素晴らしい、あなたはここまでそれを作った!
これで、アプリケーションをリリースするためにカバーする必要がある概念がいくつかあります。
- リリースのためにアプリを準備します
- アプリ署名
- アプリのバージョン
- Proguard
安全
アプリケーションを保護し、誰も許可されていないコンテンツにアクセスできないことを確認するために、すべきことがたくさんあります。 Proguardを使用していることを確認してください(前述)。中間攻撃の男が何であるかを理解してください。さまざまな暗号化方法と、APIトークンの保護、証明書のピン留めなどを含むAndroidアプリ内に情報を安全に保存できる方法を理解してください。
リソース:
- Androidのセキュリティのヒント。
- 証明書のピン留め
- Safetynet API
- Androidキーストアシステム」
高度なAndroidトピック
Androidアプリケーションの作成の基本をすべてカバーしたら、いくつかのコードベースに貢献するためにカバーする必要がある可能性のある高度なトピックがいくつかあります。
- KOTLIN - KotlinはAndroidの新しいプログラミング言語であり、開発者はKotlinで積極的にコードを書いています。 Kotlinについて読んで、Kotlin Koansを駆け抜ける価値があります。 Kotlin Code Labも利用できます。
- RXJAVA - RXJAVAは、非同期のイベントベースのプログラミングに使用されるライブラリです。複雑なタスク(複数のネットワーク呼び出しを組み合わせるなど)を実行するために操作を一緒に構成することができ、コードが実行されているスレッドの管理に関して非常に役立ちます。 Jake Whartonの素晴らしいビデオがあり、RXJavaの使用方法とそれを使用することの利点を説明しています。
- ダガー(依存噴射) - 依存噴射は、アプリケーション内でオブジェクトとその依存関係を管理する方法です。 DIの概念はAndroidの概念ではありませんが、他の多くのフレームワークでも利用できます。 DIは、コードをよりメモリ効率的にし、テスト可能性を促進することができます。ダガー2は、最も人気のあるAndroid DIフレームワークです。
- マテリアルデザイン - ほとんどのAndroidアプリは、Googleのマテリアルデザインガイドラインに従います。ガイドラインは、ユーザーが慣れている標準的な方法でアプリを設計する方法です。
- Androidのサポートライブラリ - Androidのサポートライブラリは、アプリがAndroidの複数のバージョンにわたって一貫して動作するようにするために非常に重要です。目的が異なるいくつかの異なるライブラリがあります。リンクされた記事は、図書館の背後にある理由について説明しています。
- メモリリーク - Androidでは、メモリリークを作成するのは非常に簡単です。これは、アプリケーションで誤った動作につながる可能性があります(ランダムクラッシュ)。多くの開発者は、アプリ内でLeakcanaryを使用して、メモリリークが存在しないことを確認しています。
ライセンス