Android開発者への需要は現在非常に高くなっています。 このプラットフォームで各開発者が知っておくべきことのリストを作成することにしました。 これは、会議で求められる可能性があるだけでなく、仕事に役立つ可能性が最も高いすべての知識です。 ボーナスは、プラットフォームに関するいくつかの興味深い質問です。
Androidプラットフォーム:
AndroidManifest.xml
ファイル:必要な理由、必要なパラメーター、セクション。 ここでは、 <manifest>
および<application>
タグについて、packageNameパラメーターについて、<uses-feature>および<uses-permission>について、示されているアプリケーションコンポーネントについて説明する必要があります。- プロジェクト構造:アセット、res、src、gen、libs。 各フォルダーにあるもの、バージョン管理下にあるべきもの、そうでないもの(genフォルダーはVCSに置かれません)。 したがって、アセット、リソース(画像、音楽、レイアウト)、Javaコード、生成されたコード、ライブラリ。
- アプリケーションコンポーネント
Activity
、 Service
、 BroadcastReceiver
、 ContentProvider
。 全員が必要な理由、作業の実行方法、各コンポーネントのライフサイクル。 - 機能は、
Activity
とService
起動しService
。 Task
、 Activity Stack
とは何ですか。 Service
プロセスを開始する決定はどのように行われますか? ContentProvider
、なぜ必要なのか、どのように使用されるのか。 ContentResolver
アクセスと使用。 カーソルを操作します。 管理カーソルについて覚えておいてください。BroadcastReceiver
:静的および動的、呼び出しメカニズム、ライフサイクル。- プロセス間通信。
Intent
必要な理由とその理由、それを使用して情報を転送する方法、 Bundle
とはParcelable
必要な理由。 IntentFilter
とその用途。 Activity
とService
間のやり取りの方法(開始、バインド)。 AIDL(Androidインターフェース定義言語)。 - UIアプリケーションの構築。
Layout
とView
とは何ですか、 Layout
のタイプは何ですか(4個)、なぜ使用されていますか。 さまざまな画面サイズとピクセル密度のUI最適化(dpを使用)。 - プラットフォームでのデータの保存:4種類。 内部、外部ストレージ、DB、SharedPreferences。 使用オプション、違い。
- ローカリゼーション ローカライズ用の組み込みプラットフォームツール、ロケール選択の瞬間。
- ウィジェット。 ウィジェットを作成するためのメカニズム、利用可能なUIツール。
AppWidgetProvider
とは何ですか。 - バックグラウンドで動作します。
AsyncTask
ときにService
を使用する場合。 AsyncTask
とは、UIとの関係です。 IntentService
の本質は、 IntentService
機能とその有用性です。 - Androidのセキュリティモデル。 許可。
- 電話設備の使用:センサー、振動、GPS。
- プラットフォームの
Loaders
: Loaders
、 Fragments
、アプリ内課金。 - プラットフォームパフォーマンス:ベストプラクティス。 2.2より前の列挙型を使用せず、finalなどを使用します。 モバイルでの作業の特徴:メモリとプロセッサの制限。
- プラットフォームの古いバージョンのサポート:Reflectionを介した機能へのアクセス。
- ネイティブビュー:レンダリングメカニズム、Canvas。
- コンポーネントの状態:状態を保存できるシステムコンポーネント(アクティビティとビュー)、状態を保存および復元する方法、アクティビティとビューのメカニズムの違い。
ボーナスとして、知っておくと便利です:
- Androidマーケットで公開するためのアプリケーション署名メカニズム。
- Android NDK:ネイティブコードの呼び出し
- さまざまなモバイルOSの開発フレームワーク:Titanium、PhoneGapなど。
コアjava。 通常のJava開発者が必要とするすべて。
- Java、インターフェース、抽象クラス、クラス、内部および匿名の継承。 適用時の複数のインターフェイスの継承。 短絡。
- Javaの修飾子:アクセス、同期、その他(静的および最終)。 パフォーマンスへの最終的な影響。
- コレクション:コレクションの種類(
List
、 Set
、 Map
)。 さまざまな実装、特定の場合のコレクションの適用可能性。 さまざまな実装での挿入、読み取り、検索の複雑さ。 - マルチスレッド:スレッド、同期メソッド、待機および通知メソッド。 キーワードは使用時に
synchronized
されます。つまり、 synchronized
されます。 - Java SEクラスライブラリとAndroidプラットフォームの違い。
プラットフォームに関するいくつかの興味深い質問:
1.タスク1、タスク2があります。最初のアクティビティAが一番上にあります-アクティビティB。タスク2から、アクティビティAを起動するためのインテントが送信されます。 タスク1はどうなりますか? タスク1のアクティビティスタックはどのようになりますか? 戻るボタンを数回クリックするとどうなりますか?
2.アクティビティとのバインドを通じて起動されたサービスがあります。 ユーザーが対応するアクティビティを離れると、サービスはどうなりますか? この動作を変更するには何をする必要がありますか?
3.アクティビティ内で、
BroadcastReceiver
非静的内部クラスとして定義されます。 そのような受信機はインテントを受信できますか? なんで?
質問への回答はコメント欄に記載されます。
準備のための材料:
AndroidデベロッパーガイドPSこのリストを拡大できて嬉しいです。