1.3あなたの最初のAndroidプロジェクトの作成
完全な環境を設定した後、私たちは私たちの最初のプロジェクトを作成することができます。
HelloWorldプロジェクトの作成1.3.1
Androidのスタジオのウェルカムページでクリックすると、Start a new Android Studio project
自動的に私たちのためにプロジェクトを作成します。(初めて開いているプロジェクトのために、可能性はあなたが多くのものをダウンロードする必要があり、非常に長い時間を構築し、あなたの速度関係します)
1.3.2起動エミュレータ
私たちは、プログラムを実行するために我々はまた、Androidのメーカーによってシミュレータを作成することができます。しかし、本当のテストが推奨されます。
1.3.3プログラムを実行します
携帯電話とAndroidメーカーを接続した後、我々はプログラムを実行するために、上記の電話に出て行きます。
あなたの最初のAndroidのプログラムの1.3.4分析
Gradleの和.idea
これら二つのディレクトリの配置が自動的にAndroidのスタジオファイルを生成している、我々は気にしないでください。私は手動で編集するつもりはありません
アプリ
プロジェクト内のコンテンツのコードは、このディレクトリ上のほとんどすべてのリソース。
築きます
、コンパイラが生成したファイルを気にしないでください
Gradleの
このディレクトリは、Gradleのラッパーの設定ファイルが含まれているGradleの良いをダウンロードする必要はありません控えのGradleラッパーの方法を使用していますが、ローカルキャッシュの状況に基づいてネットワークをダウンロードする必要があるかどうかを判断します。
.gitignore
バージョン管理
build.gradle
グローバルGradleのビルドスクリプト。
gradle.properties
Gradleのグローバルプロファイル。ここで設定可能なプロパティは、すべてのGradleビルドスクリプトプロジェクトに影響を与えます。
gradlew和gradlew.bat
Gradleでは、Windowsシステムで使用されているgradlew.bat gradlewのLinuxまたはMacシステムで使用されるコマンドインタフェース、でコマンドを実行するために使用しました
HelloWorld.iml
IntelliJ IDEAプロジェクトのすべてが自動的にのIntelliJ IDEAプロジェクトを識別するために使用されるファイルを生成します。
local.properties
SDKは、マシンのパスを指定します。
setting.gradle
特定のプロジェクトのモジュールが導入されました。
APPディレクトリに加えて、ファイルやディレクトリのほとんどが自動的に生成され、我々は変更する必要はありません。appディレクトリには、私たちの注目の的です。
APPディレクトリの下で分析
築きます
ファイルをコンパイルするときに自動的に生成
LIBS
サードパーティのjarファイルを使用して、ストアディレクトリ
androidTest
Androidのテストのテストケースを書くことは、あなたには、いくつかの自動テストプロジェクトを行うことができます
ジャワ
所定の位置にコードを配置
RES
詳細な説明の背後にあるストレージ・リソース、多くのディレクトリが存在し、
AndroidMainfest.xml
Androidのプロジェクトプロファイル。我々は許可を適用するためにここに登録する必要が十字キーコンポーネントは、多くの場合、使用して、ここにあります
テスト
ユニットテストのテストケースを書くには、自動テストプロジェクトのもう一つの方法であります
.gitignore
バージョン制御装置のための(アプリケーションモジュール内の)バージョンの制御内容は無視された場合
app.iml
IntelliJの家田プロジェクトは、自動的に生成されたファイルです
build.gradle
Gradleのアプリモジュールは、スクリプトを構築します。プロジェクト関連の設定の構築
proguard-rules.pro
混乱のルール。役割:他の人がまとめた、当社のAPKパッケージを防ぐためには、簡単に見ることができますデコンパイル。
カタログの概要は、それは非常に混乱して感じられない、気持ちを言っているかわからない、大丈夫、ゆっくりと接触背後にあるこれらの事は明らかであろう。
どのようにHelloWorldプロジェクトを立ち上げている紹介します
最初のビュー 清单文件 AndroidManifest.xml
<activity android:name = ".HelloWorldActivity">
<intent-filter>
<action android:name = "android.intent.action.MAIN"/>
<category android:name = "android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
コードがすると言っているHelloWorldActiviy
登録されていない場合、それは文句を言うだろう、登録すること。
間で
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
このプロジェクトは、主な活動は、これは、活動をオープンするプログラムを初めて起動している表します。
活動は、コードが書かれている方法で、次の一見、我々はページを見てきたものです
public class HelloWorldActivity extends AppCompatActivity{
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.hello_world_layout);
}
}
あなたは活動の新機能の異なるシステムのバージョンに増加し、機能はまだ古いシステム上(アンドロイド2.1に対応)を使用することができます使用することができますのでHelloWorldActiviytは、後方互換性の活動の一種であるAPPCompatActivityを、継承されました。
Androidアプリケーションの設計は、ディスクリートロジックとビューを強調しています。活動インターフェースは直接書かれていません。しかし、インターフェースのレイアウトファイルを書き込みます。
1.3.5詳細なプロジェクトリソース
RESの内容紹介
描画可能
画像を保存するために使用します
ミップマップ
ストレージアプリケーションアイコン
値
文字列、色、スタイル、および他の構成
レイアウト
店舗レイアウト
ディレクトリのように多くのミップマップ当初は様々な解像度のプログラムは、より互換性のある携帯電話を作ることですがあります。描画可能なフォルダには、我々は、複数のディレクトリを自分で作成する必要があり、同じトークンでなければなりません:drawable-hdpi
drawable-xhdpi
drawable-xxhdpi
drawable-xxxhdpi
最高の画像は、プログラムは、対応するディレクトリ検索に自動的に実行され、複数の異なるディレクトリの下に置いた開発されました。
のみ、図際に描画可能xxhdpiフォルダの画像
1.3.6詳細build.gradleファイル
Androidのメーカーは、プロジェクトをビルドするためのGradleに基づいており、Gradleのは非常に洗練されたビルドツールです。これは、ドメイン特化言語(DSL)のGroovyベース。従来、様々なXMLベースの(例えばアリ、Mavenのような)煩雑な構成の拒絶。
注:「コードの最初の行、」基準であるため、新しいバージョンの実装のコンパイルで置換されているので、次のコンパイルまたは
buildscript{
repositories{
jcenter()
}
dependencies{
classpath 'com.android.tools.build:gradle:2.2.0'
}
}
allprojects{
repositories{
jcenter()
}
}
jcenterホスティングは、オープンソースの多くは、ライブラリーの内側に配置され、コードライブラリでこの設定を宣言し、我々は簡単にオープンソースコード内のライブラリを参照することができます。
我々はGradleのを使用したい場合は、GradleのはAndroidのプロジェクトのために特別に開発されていないためのGradleプラグインのクラスパスの声明、このプラグインのステートメントを使用して、依存関係の閉鎖は、Javaの、C ++、および他の多くのアイテムも、構築するのGradleを使用することができます私たちは、Android用のプラグインツールのAndroidのプロジェクトのGradleの使用を構築する必要があります。
我々はいくつかのグローバルプロジェクトのビルド構成を追加する場合を除き、通常、私たちは、そこの内容を変更する必要はありません。
インナーAPPディレクトリ内のbuild.gradle
apply plugin: `com.android.application`
android{
compileSdkVersion 24
buildToolsVersion "24.0.2"
defaultConfig{
applicationId "com.example.helloworld"
minSdkVersion 15
targetSdkVersion 24
versionCode 1
versionName "1.0"
}
buildTypes{
release{
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'
}
}
}
dependecies{
compile fileTree(dir:'libs',include:['*.jar'])
compile 'com.android.support:appcompat-v7:24.2.1'
testCompile 'junit:junit:4.12'
}
プラグインアプリケーションの最初の行は、そこに二つの値を選択することができるされている。com.android.application
これは、アプリケーション・モジュールを直接実行することが可能であることを示しています。com.android.library
これは、ライブラリモジュールでは、実行中の他のアプリケーションにのみ依存したことを示します。
以下は、大規模な閉鎖アンドロイド、プロジェクトのビルド構成の様々な属性です。
コンパイルされたバージョンは、ここで指定された24指定compileSdkVersionは、システムをコンパイルするには、Android 7.0 SDKの使用を表しています。
buildToolsVersionは、プロジェクトのビルド・ツールのバージョンを指定するために使用しました
その後、パッケージは、AndroidネストされているdefaultConfig閉鎖、プロジェクト構成の詳細を。
プロジェクトに指定さAPPLICATIONIDパッケージ名
Androidのプロジェクトの最小互換性のあるバージョンを指定minSdkVersionが
あなたは、ターゲットのバージョンに十分なテストを行っているtargetSdkVersionは、システムは、このバージョンの新機能と機能を有効にします。
versionCode指定されたアイテムのバージョン番号
versionNameバージョン指定された項目名
ここでbuildType閉鎖され、インストール設定に関連付けられたメインの設定ファイル内に、通常、2つだけのサブ閉鎖一生成されdebug
、いずれかrelease
。パッケージをテストするためのデバッグコンフィギュレーションを閉鎖。公式リリースは、パッケージを構成するために使用されています。デバッグパッケージには、それは省略することができます。
チェックrelease
パッケージの内容を:minifyEnabled
プロジェクトの混乱のコード、真の表現は、偽の表現がないかどうかを指定します。proguardFiles
以下では、1はProGuardの-android.txtである。ここで、二つのファイルを指定し、AndroidのSDKを混乱ルール・ファイルの使用を指定するために使用され、すべての項目がルールを混同するのが一般的であり、第二は、現在のproguard-rules.proのルートにあり現在のAndroid Studioで直接実行、プロジェクトを混乱ルールを書いているディレクトリは、テストインストール用ファイルです。
依存関係闭包
主に現在のプロジェクトの依存性が説明されています。Androidのメーカーは3つの依存関係の総プロジェクト:ローカル依存性、ライブラリの依存関係、リモート依存
:ローカルはに依存しているローカルディレクトリの瓶や袋への依存関係を追加することです。
ライブラリの依存関係:ライブラリモジュールの依存関係にあるプロジェクト
リモート依存性:オープンソース・プロジェクトの依存関係上のリモート倉庫。
fileTreeは、ローカル宣言に依存してコンパイルします。それは、プロジェクトのビルド・パスにlibsディレクトリ内のすべての.jarサフィックスすべてのファイルを追加すると述べました。
以下のコンパイル「com.android。****」リモートリポジトリへの依存。プロジェクトをビルドするときのGradleは、最初のライブラリのローカルキャッシュするかどうかをチェックするフレーズを追加した後、倉庫には、対応するダウンロードに行きませんでした。
ライブラリの依存関係の基本的な形式は以下のとおりです。プロジェクトをコンパイルプラスライブラリの名前が依存するように。ヘルパーは、たとえば、というライブラリモジュールがあります:
compile project(':helper')
testCompileこれは、ライブラリを宣言するためのテストケースです。