Android開発札記初級(五)重要文書解析

6019 ワード

前にHello Worldプロジェクトを作成しましたが、前節の理解によると、gradleとシステムはプロジェクトのファイルを自動的に生成してくれました.今、主なファイルのコードと役割を見てみましょう.
app | src | AndroidManifest.xml
これはAndroidプロジェクトのプロファイルです.アプリケーションで定義されている4つのコンポーネントはすべてこのファイルに登録する必要があります.また、このファイルでアプリケーションに権限声明を追加することもできます.(注意:eclipseとは異なり、プロジェクトのversionCodeversionName、およびプログラムの最低互換性とターゲットバージョンの制御はここではなく、プロジェクトのbuild.gradleにあります)



    
        
            
                
                
            
        
    


  • 各XMLドキュメントはXMLシーケンスによって開始され、前のコードの最初の行はXMLシーケンスであり、の行コードは、1.0バージョンのXMLルールに従って解析すべきであり、ファイルはutf-8の符号化フォーマットを採用することを解析器およびブラウザに伝える.
  • manifest xmlns:android="http://schemas.android.com/apk/res/android"は、使用するアーキテクチャソース
  • を定義します.
  • package="com.example.newam.helloworld"は、アプリケーションの一意の識別であるアプリケーションが存在するjavaパッケージを定義します.
  • ラベルのプロパティは、文字通りR.javaファイルのさまざまなリソースへの参照です.
  • の2行のコードは、HelloWorldActivityをこのプロジェクトの主なアクティビティに登録します.
  • .HelloWorldActivityのうち.は、com.example.newam.helloworldの略を意味する.タグにはpackage属性でプログラムのパッケージ名が指定されているからです.android:labelを使用してアクティビティのタイトルバーの内容を指定します.タイトルバーはアクティビティの最上部に表示され、メインアクティビティに指定されたlabelはlauncherのアプリケーションの名前にもなります.

  • main | res | layout | hello_world_layout.xml
    
    
    
        
    
        
    
    
  • xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"この2行は文法判断器と理解でき、alt+/をヒントとして、何を入力すべきか、何を入力すべきか、コードが間違っているかをヒントとし、ネットワークを使用しない.
  • android:layout_width="match_parent" android:layout_height="match_parent"この2行のコードは、制御コンポーネントの幅と高さであり、3つの属性を選択することができる:wrap_contentは、現在の要素の高さが路面の内容をちょうど含んでいればよいことを示し、fill_parentmatch_parentが作用するように、親容器の水の平方方向の空間、すなわち引張りを充填するために使用される.
  • tools:context="com.example.newam.helloworld.HelloWorldActivity"はAPKにパッケージ化されません.現在のlayoutレンダリングのコンテキストがhello_world_layout.xmlactivity android:nameで指定されているactivityであることを示します.このactivityがhello_world_layout.xmlにthemeを設定している場合、ADTのLayout EditorはDesign可視化ビューで対応するthemeのバックグラウンドコントロールを即時にレンダリングし、見ただけで得られる効果を説明します.
  • はアンドロイドシステムが提供するコントロールであり、レイアウトに文字を表示するために使用され、android:textはこのコントロールのためにテキストを設定する.文字列の定義はキー値ペアを使用する形式であるため、string.xmlリソースのhello_worldキーを参照し、Hello World!の値に対応しているため、最終的に私たちが見た文字を表示することができる.

  • main | java | com | username | helloworld | HelloWorldActivity.java
    package com.example.newam.helloworld;
    
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.util.Log;
    
    
    public class HelloWorldActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            //       :Ctrl+Alt+     activity_main        R.java   。
            //onCreate                   
            super.onCreate(savedInstanceState);
            //                 hello_world_layout  
            setContentView(R.layout.hello_world_layout);
            //Log       (android.util.Log)                ,   logcat    debug  
            Log.d("HelloWorldActivity","onCreate execute");
        }
    }
    
  • 各activityの登録声明は、AndroidManifest.xmlというラベルに入れなければなりません.そうしないと、エラーが発生します.というラベルで登録し、android:nameという属性を使用してactivityを登録する名前を指定します.
  • タイトルバーを隠すには、Activityに対してrequestWindowFeature(Window.FEATURE_NO_TITLE);onCreate();メソッドに追加しなければなりません.AppCompatActivityの場合、getSupportActionBar().hide();を使用すればよい.
  • は、現在のアクティビティにレイアウトをロードするためにsetContentViews();メソッドを呼び出します.このメソッドでは、layoutのidが一般的に入力されます.作成したばかりのレイアウトのidはRファイルに追加されました.ここでのRファイルはapp|build generated|source|r|debug|comのR.javaファイルですが、External Libraries|Android SDK|resもRファイルであり、混同することはできません.

  • ドアを押すと空一面に細かい雲がかかっているのが見えた.西の茂みの後の夕焼けは野火の残り火のように風に吹かれて、急に明るくなった.そして光の色が急に変幻し、凝縮し、沈み、空一面の雲紋が夜に潜んだ.この大地の上のきらめく別れは短い10分の中で発生して、突然ひとしきり慌てて、人に何も考えられなくて、言うことができません.