Einführung in diesen Abschnitt:

Ich redete ein paar Blicke und wirAndroidEntwicklungsunabhängige Dinge, oder?,Natürlich scheint es jetzt zu sein,Sie werden es später sehen, wenn Sie zurückblicken.! Ok,In diesem Abschnitt kommen wir zur vorherigen SchöpfungHello WorldProjekt ist der Eingang,Die technische Struktur verstehen, UndAndroidZwei Möglichkeiten, auf Ressourcen zuzugreifen!Wird in nachfolgenden Tutorials verwendetIDEJaAndroid Studio,Weil Google vor ein paar Tagen offiziell angekündigt hat.,Kündigung des anderen vor JahresendeIDEUnterstützung der Entwicklungsumgebung!


1.Projektstrukturanalyse:

Die meiste Zeit verbringen wir in diesem Bereich.:

Als nächstes werden wir die wichtigsten Teile erklären.:

  • java:Wir schreibenJavaCode platzieren,Hier werden Business Functions implementiert
  • res:Wo wir unsere verschiedenen Ressourcendateien speichern,Bilder haben,String,Animation,Audio usw.,Es gibt verschiedene FormenXMLDatei

1.resEinführung in den Ressourcenordner:

PS:AproposresVerzeichnis,Erwähne dies auchassetsVerzeichnis,Obwohl es keine gibt,Aber wir können es selbst schaffen,Der Unterschied zwischen den beiden ist, ob alle Ressourcendateien unter dem ersteren sein werdenR.javaGenerieren Sie entsprechende Ressourcen unter der Dateiid,Letzteres nicht;Ersteres können wir den Ressourcen direkt übergebenidZugriff auf die entsprechende Ressource;Letzteres muss uns passierenAssetManagerAls binärer Stream lesen!Richtig,Das hierRDatei kann als Wörterbuch verstanden werden,resJede Ressource generiert hier eine eindeutige.id!

Dann sagresVerwandte Verzeichnisse unter diesem Ressourcenverzeichnis:

PS:Im AnschlussmipmapVerzeichnis,InEclipseGibt es das nicht,EclipseIn der MittedrawableStarten,In der Tat ist der Unterschied nicht groß.,Verwenden Sie einfachmipmapBietet eine gewisse Leistungsoptimierung bei der Bildskalierung,Je nach Bildschirmauflösung werden unterschiedliche Auflösungen ausgewählt.hdpi,mdpi,xmdpi,xxhdpiEntsprechendes Bild,Also packst du andere ausapkSie können das gleichnamige Bild im obigen Verzeichnis sehen.,In allen vier Ordnern,Nur die Größe und die Pixel sind unterschiedlich.!Natürlich,Das ist nicht absolut,Zum Beispiel haben wir alle Bilder verloren.drawable-hdpiNächste Worte,Sogar das Telefon Dies sollte ladenldpiBildressource unter dem Ordner,AberldpiNein weiter,Dann wird die Ladung seinhdpiBild unten! Darüber hinaus,Es gibt eine andere Situation:Zum Beispielhdpi,mdpiEs gibt ein Verzeichnis,ldpiNein weiter,Dann wird es geladenmdpiRessourcen in! Das Prinzip besteht darin, das dichteste Niveau zu verwenden!Auch wenn du verbieten willstAndroidLaden Sie verschiedene Ordner, ohne die Bildschirmdichte zu beachten,Einfach inAndroidManifest.xmlIn Datei hinzugefügtandroid:anyDensity="false"Feld!

1.Lass mich darüber redenBildRessource:

  • drawable:Speichern Sie verschiedene Bitmap-Dateien,(.png,.jpg,.9png,.gifWarte)Davon abgesehen kann es sich um eine andere handelndrawableTypXMLDatei
  • mipmap-hdpi:Hohe auflösung,Generell werfen wir hier das Bild
  • mipmap-mdpi:Mittlere Auflösung,Selten,Es sei denn, das kompatible Telefon ist sehr alt
  • mipmap-xhdpi:Ultrahohe Auflösung,Handy-Bildschirmmaterial wird immer besser,Es wird geschätzt, dass es in Zukunft langsam hierher übergehen wird.
  • mipmap-xxhdpi:Ultrahohe Auflösung,Dies spiegelt sich in der High-End-Maschine wider

2.Dann sagLayoutRessource:

  • layout:Das Verzeichnis wird in unserer Layoutdatei gespeichert.,Auch bei bestimmten Modellen,Wir machen Bildschirmanpassung,Zum Beispiel480*320So ein Handy,Wir werden weitere Layouts erstellen,Auf der Linie:layout-480x320So ein Ordner!

3.Sprechen Sie als Nächstes über die Menüressourcen.:

  • menu:Haben Sie eine physische Menütaste vor,Das istmenuSchlüssel am Telefon,Mehr benutzt,Jetzt nicht viel benutzt,Menüelementbezogene RessourcenxmlKann hier geschrieben werden,Ich weiß nicht, ob Google etwas durch neue Menüs ersetzen wird.~

4.Lassen Sie uns als Nächstes sagenvaluesVerzeichnis:

  • demens.xml:Größenressourcen definieren
  • string.xml:String-Ressourcen definieren
  • styles.xml:Definieren von Stilressourcen
  • colors.xml:Farbressourcen definieren
  • arrays.xml:Definieren von Arrayressourcen
  • attrs.xml:Mehr beim Anpassen von Steuerelementen verwendet,Benutzerdefinierte Steuerelementeigenschaften!
  • themeThemendatei,UndstylesSehr ähnlich,Aber es wird in der gesamten Anwendung seinActvitiyOder spezifizierenActivityArbeit,Generell das Aussehen des Fensters ändern!Erhältlich beiJavaCode übergebensetThemeVerwenden Sie,Oder beiAndroidmanifest.xmlMedium<application...>HinzufügenthemeAttribut! PS:Vielleicht haben Sie das gesehenvaluesVerzeichnis:values-w820dp,values-v11Warte,ErstereswDarstellung von Tablet-Geräten,820dpRepräsentative Bildschirmbreite;Undv11Dies stellt darAPI(11),Das istandroid 3.0Wird später verwendet!

5.Ich werde das als nächstes sagen.rawVerzeichnis: Dient zum Speichern verschiedener nativer Ressourcen(Audio,Video,EinigeXMLDokumente usw.),Wir können passierenopenRawResource(int id)So rufen Sie den binären Ressourcenstrom ab!Eigentlich undAssetsFast,Aber die Ressourcen hier werden seinRErzeugen Sie dort eine RessourceidAber schon

6.Endlich gibt es eine Animation,Es gibt zwei Arten von Animationen:Eigenschaftenanimation und getweente Animation:

  • animator:Speichern von AttributanimationenXMLDatei
  • anim:Speichern Sie getweente AnimationenXMLDatei

2.Verwendung dieser Ressourcen

Äh,Wissen, welche Ressourcen verfügbar sind,Lassen Sie uns herausfinden, wie man es benutzt.: Vorher gesagt,Alle unsere Ressourcendateien befinden sich inR.javaGenerieren Sie eine Ressource unter der Dateiid,Wir können diese Ressource weitergebenidUm den Zugriff auf Ressourcen zu vervollständigen,Es gibt zwei Arten der Verwendung:JavaVerwenden Sie im Code undXMLWird im Code verwendet。

JavaWird im Code verwendet:

Java Text:

txtName.setText(getResources().getText(R.string.name)); 

Bild:

imgIcon.setBackgroundDrawableResource(R.drawable.icon); 

Farbe:

txtName.setTextColor(getResouces().getColor(R.color.red)); 

Layout:

setContentView(R.layout.main);

Kontrolle:

txtName = (TextView)findViewById(R.id.txt_name);

XMLWird im Code verwendet:

Pass@xxxSie können bekommen,Wie hier Text und Bilder zu bekommen:

<TextView android:text="@string/hello_world" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background = "@drawable/img_back"/>

2.Erfahren Sie mehr über die drei Dateien:

Ok,Als nächstes werden wir die drei wichtigsten Dokumente im Projekt analysieren.: MainActivity.java,Layoutdatei:activity_mainUndAndroidKonfigurationsdatei:AndroidManifest.xml PS:Der Bildinhalt kann etwas anders sein,Keine Zeit, ein Bild zu machen,Ich hoffe auf Verständnis~

MainActivity.java:

Code ist wie folgt

package jay.com.example.firstapp;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

Code-Analyse:

Layoutdatei:activity_main.xml:

Code ist wie folgt:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />

</RelativeLayout>

Code-Analyse:

Wir haben a definiertLinearLayoutLineares Layout,InxmlDefinieren Sie die Architektur, die im Namespace verwendet werden soll,Von①

AndroidManifest.xmlKonfigurationsdatei:

Code ist wie folgt:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="jay.com.example.firstapp" >

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Code-Analyse:

Zusätzlich zu den oben genannten:

①WennappEnthält andere Komponenten,Verwenden Sie die Typbeschreibungssyntax, um diese Datei zu deklarieren Server:Element BroadcastReceiverElement ContentProviderElement IntentFilter<intent-filter>Element

②Erlaubniserklärung: Deklarieren Sie explizit die Berechtigungen, die das Programm in der Datei benötigt,VerhindernappFalsche Nutzung der Dienste, Unsachgemäßer Zugang Ressource,Ultimative Verbesserungandroid appRobustheit android.permission.SEND_SMS Habe diesen SatzappZum Senden von Informationen muss die Berechtigung verwendet werden,Fordern Sie den Benutzer bei der Installation auf, Verwandte Berechtigungen können seinsdkReferenzhandbuch!


Zusammenfassung dieses Abschnitts:

In dieser Rubrik sind wir für unsHello WorldDas Projekt hat ein detailliertes Verständnis,Was ist das relevante Verzeichnis?,resWas sind die Ressourcendateien unter?,Was ist die Rolle?,Verwendung dieser Ressourcen!Gleichzeitig werden die drei wichtigsten Dokumente des Projekts anhand einer Zeichnung detailliert erklärt.!Ich glaube, dass Sie hier richtig sind.AndroidDas Projekt hat ein allgemeines Verständnis!Vielen Dank~

Tutorial für fliegende Fische@2001-2030