JavaRush /Java Blog /Random-JA /Android の仕組み。Java 開発者向けの概要

Android の仕組み。Java 開発者向けの概要

Random-JA グループに公開済み
Java プログラマーの間では、Android 向けの開発についての話を時々耳にします。ここ数年、Java が最前線にあり続けているのは Android です。Java 開発者にとって、Android を理解することはどの程度重要ですか? まあ、それはアプリ開発が好きかどうか、そして自分のアプリを多くの人に使ってもらいたいかどうかによって決まります。「はい」の場合、Android はこの機会を提供します。Android オペレーティング システムを実行する携帯電話の数は数百万台に上り、iOS を実行する iPhone の数よりも速いスピードで増加し続けています。これは、Java 開発者にとって、Android 用のプログラミング方法を学ぶことが理にかなっていることを意味しており、この記事ではこれについて説明します。これは、そもそも Java プログラミングを学ぶべき理由の 1 つでもあります。このレビューから、Android の基本を不必要な詳細なしで十分な量で学ぶことができます。 Android の仕組み。 Java 開発者のための入門 - 1Java 開発者が他の開発者に比べて明らかに有利な点の 1 つは、Android API が Java 言語 API に非常に似ており、Android は、J2SE SDK で使用可能なすべてのクラスではないにしても、少なくとも最も重要なクラスをサポートしていることです。もう 1 つの利点は、 Java と同じツールを Android 開発にも使用できることです。たとえば、Eclipse IDE は、Google が Android アプリケーション開発用に Eclipse のプラグインを提供しているためです。Android を使い始めるときは、Java 開発者にとって最高の Android 書籍の 2 つで ある『Head First Android Development』や『Android in Action (3rd ed.)』などのガイドをチェックする価値があります。
Android の仕組み。 Java 開発者のための入門 - 2
Android の仕組み。 Java 開発者向けの概要 - 3
逆に、iOS 向けの開発を始めたい場合は、Objective-C 言語と iOS SDK を学習するという難しいプロセスが必要になります。Java 開発者よりも C++ 開発者にとって、Objective-C と iOS に切り替えることの方が理にかなっているように思えます。そのため、Java と C++ の間の古典的な戦争はスマートフォン アプリ開発でも続いています。いずれにせよ、Android の内部機能の特殊性を理解しましょう。

Android はどのように動作するのでしょうか?

すでに述べたように、Android オペレーティング システムは Java を使用してアプリケーションを開発します。Google が提供する Java APIを使用して Android アプリケーション コードを作成でき、そのコードはクラス ファイルにコンパイルされます。これで類似点は終わります。Android は、クラス ファイルの実行に Java 仮想マシン (JVM) を使用せず、代わりに、真の JVM ではなく Java バイトコードを実行しないDalvik仮想マシン を使用します。Dalvik 仮想マシンで実行するために、クラス ファイルは DEX 形式 (Dalvik EXecutable - Dalvik 実行可能ファイル) にコンパイルされます。DEX 形式に変換されると、クラス ファイルは他のリソースとともに Android パッケージ (APK) にバンドルされ、さまざまなデバイスに配布およびインストールされます。知っておくべき主な点は、基本の Dalvik 仮想マシン クラス ライブラリは Apache Harmony プロジェクトのサブセットに基づいており、その結果、すべての J2SE API をサポートしているわけではないということです。Eclipse IDE を使用して Android アプリケーションのコードを作成する場合、コード補完機能があるため、あまり心配する必要はありません。ここで、Android アプリケーションがデバイス上でどのように実行されるかを理解しましょう。

Android アプリはデバイス上でどのように実行されますか?

Linux オペレーティング システムとプロセスの概念に精通していれば、Android アプリケーションがどのように実行されるかを簡単に理解できるでしょう。デフォルトでは、Android オペレーティング システムは各アプリケーションに一意のユーザー ID を割り当てます。Android アプリケーションが起動されると、それぞれが独自のプロセス、独自の仮想マシンで実行されます。
Android の仕組み。 Java 開発者向けの概要 - 4
Android オペレーティング システムは、必要に応じてアプリケーション プロセスの起動と終了を制御します。これは、すべての Android アプリケーションが互いに独立して動作することを意味しますが、もちろん、ハードウェアやその他のシステム リソースへのアクセスを要求することもできます。J2ME などのモバイル アプリケーションの開発に慣れている場合は、おそらくアクセス権 (権限) の概念に遭遇したことがあるでしょう。Android アプリケーションをインストールまたは起動すると、インターネット、電話帳、またはその他のシステム リソースにアクセスするために必要な権限が要求されます。ユーザーはこれらの権利を明示的に付与します。付与しない場合、アクションは拒否されます。これらすべての権限は、Android アプリケーションのマニフェスト ファイルに記述されています。Java とは異なり、Android マニフェストは、すべてのアプリケーション コンポーネントとその設定をリストしたXML ファイルです。Android アプリケーションの 4 つの主なコンポーネントは、アクティビティ、サービス、コンテンツ プロバイダー、およびブロードキャスト レシーバーです。このうち、最も一般的なのは、Android アプリケーションの別の画面フォームに対応するアクティビティです。たとえば、Android オペレーティング システム用のゲームには、ログイン、記録、指示、ゲーム画面などの複数の画面が含まれる場合があります。これらの各要素は、アプリケーション内のさまざまなアクティビティに対応します。
Android の仕組み。 Java 開発者向けの概要 - 5
Java と同様、Android の良い点は、アクティビティ オブジェクトの作成など、開発者に代わっていくつかのタスクを実行できることです。クラスは活動を組織する責任がありますSystem。アクティビティを開始する必要がある場合は、オブジェクトをパラメータとしてstartActivity()メソッドを呼び出すだけです。Intentこの呼び出しに応答して、クラスはSystem新しいアクティビティ オブジェクトを作成するか、古いアクティビティ オブジェクトを再利用します。メモリの再利用という非常に重要なタスクを処理する Java のガベージ コレクションと同様に、Android はアプリケーションの開始、停止、作成、および破棄を管理します。制限しすぎているように思えるかもしれませんが、そうではありません。Android には、このプロセスを妨害するためにオーバーライドできるライフサイクル イベントが用意されています。Android の仕組みについては以上です。Java 開発者として、Android では Java が使用されているため、Android を学ぶことは確かに意味があり、Java プログラミング テクニック、デザイン パターン、ベスト プラクティスの知識を活用して、優れた Android アプリケーションを作成できます。もちろん、Android 特有のことに適応する必要がありますが、それは時間の経過とともに自然に解決されます。何を求めている?さあ、Android を学び、最初の HelloWorld Android アプリを作成してください。最後に、Android に関する最良の本であるHead First Android Developmentなど、Android 開発の基本に関する優れた本をいくつか読んでみるとよいでしょう。 出典: Java プログラマーのための Android の仕組みの紹介
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION