- 1.0.1 2015Letztes JahrAndroidGrundlegende Einführung Tutorial-Verzeichnis
- 1.7 Schnittstelle原型设计
- 1.1 背景相关与系统架构分析
- 2.2.6 AbsoluteLayout(Absolutes Layout)
- 1.8 工程相关解析(各种Datei,Ressource访问)
- 1.2 Entwicklung环境搭建
- 2.3.1 TextView(Textfeld)详解
- 1.9 Android程序UnterschriftVerpackung
- 1.2.1 使用Eclipse + ADT + SDKEntwicklungAndroid APP
- 2.3.2 EditText(Eingabefeld)详解
- 1.11 DekompilierenAPK获取Code&Ressource
- 1.2.2 使用Android StudioEntwicklungAndroid APP
- 2.3.3 Button(Knopf)与ImageButton(Bildschaltfläche)
- 2.1 View与ViewGroupVon概念
- 1.3 SDKUpdate不Auf问题解决
- 2.3.4 ImageView(Bildansicht)
- 1.4 GenymotionSimulatorInstallation
- 2.2.1 LinearLayout(Lineares Layout)
- 2.3.5.RadioButton(Optionsfeld)&Checkbox(Kontrollkästchen)
- 1.5.1 GitVerwenden Sie教程之本地仓库的基本操作
- 2.2.2 RelativeLayout(相对布局)
- 2.3.6 Schalter tasteToggleButtonUnd wechselnSwitch
- 2.2.3 TableLayout(Tabellenlayout)
- 1.5.2 Git之Verwenden SieGitHub搭建远程仓库
- 2.3.7 ProgressBar(Fortschrittsbalken)
- 2.2.4 FrameLayout(Rahmenlayout)
- 1.6 .9(九妹)Bild怎么玩
- 2.3.8 SeekBar(拖动条)
- 2.2.5 GridLayout(网格布局)
- 2.3.9 RatingBar(Sternebewertung bar)
- 2.4.1 ScrollView(Bildlaufleiste)
- 2.5.1 ListView ItemMehrfaches LayoutImplementierung
- 2.4.2 Date & Time组件(上)
- 2.5.2 GridView(Rasteransicht)Von基本使用
- 2.4.3 Date & TimeKomponente(下)
- 2.5.3 Spinner(列表选项框)Von基本使用
- 2.4.4 Adapter基础讲解
- 2.4.5 ListView简单实用
- 2.5.4 AutoCompleteTextView(Textfeld "Autovervollständigen")的基本使用
- 2.4.6 BaseAdapter优化
- 2.5.5 ExpandableListView(可折叠列表)的基本Verwenden Sie
- 2.4.7ListViewVon焦点问题
- 2.5.6 ViewFlipper(Flip-Ansicht)Von基本Verwenden Sie
- 2.4.8 ListView之checkboxFehlplatzierungProblemlösung
- 2.5.7 Toast(Toast)的基本使用
- 2.4.9 ListViewVon数据更新问题
- 2.5.8 Notification(状态栏Beachten Sie)详解
- 2.5.0 构建一个可复用Von自定义BaseAdapter
- 2.5.9 AlertDialog(Dialog)详解
- 2.6.0 其他几种常用对话框基本使用
- 2.6.1 PopupWindow(Schwimmende Box)Von基本使用
- 3.7 AsyncTaskAsynchron任务
- 4.4.1 ContentProvider初探
- 2.6.2 Menü(Menu)
- 3.8 Gestures(Geste)
- 4.1.1 Activity初学乍练
- 2.6.3 ViewPagerVon简单使用
- 4.4.2 ContentProvider再探——Document Provider
- 4.5.1 IntentVon基本使用
- 4.1.2 Activity初窥门径
- 2.6.4 DrawerLayout(官方侧滑Menü)Von简单使用
- 3.1.1 基于监听VonEreignis处理机制
- 4.1.3 Activity登堂入室
- 4.5.2 Intent之复杂数据VonPass
- 3.2 基于RückrufVonEreignis处理机制
- 5.1 Fragment基本概述
- 4.2.1 Service初涉
- 3.3 Handler消息传递机制浅析
- 4.2.2 Service进阶
- 5.2.1 Fragment实例精讲——底部导航栏Von实现(Methode1)
- 3.4 TouchListener PK OnTouchEvent + 多点触碰
- 5.2.2 Fragment实例精讲——底部导航栏Von实现(方法2)
- 4.2.3 Service精通
- 3.5 ÜberwachenEditTextInhalt ändern
- 5.2.3 Fragment实例精讲——底部导航栏的实现(方法3)
- 4.3.1 BroadcastReceiver牛刀小试
- 3.6 响应系统设置的事件(Configuration类)
- 5.2.4 Fragment实例精讲——底部导航栏+ViewPager滑动切换页面
- 4.3.2 BroadcastReceiver庖丁解牛
- 5.2.5 Fragment实例精讲——新闻(购物)KlasseAppListeFragmentVon简单实现
- 6.1 Datenspeicherung und访问之——文件存储读写
- 7.3.1 Android DateiHochladen
- 6.2 数据存储与访问之——SharedPreferencesSpeichern Sie die Benutzereinstellungsparameter
- 7.3.2 Android 文件下载(1)
- 6.3.1 数据存储Mit访问之——初见SQLiteDatenbank
- 7.3.3 Android 文件下载(2)
- 6.3.2 数据存储与访问之——又见SQLite数据库
- 7.4 Android Rufen Sie an WebService
- 7.1.1 Android网络编程要学的东西MitHttpVereinbarung学习
- 7.1.2 Android Http请求头与响应头的学习
- 7.5.1 WebView(Webansicht)基本用法
- 7.1.3 Android HTTPAnfrage方式:HttpURLConnection
- 7.5.2 WebView和JavaScrip交互基础
- 7.1.4 Android HTTPAnfrage方式:HttpClient
- 7.5.3 Android 4.4NachherWebViewVon一些注意事项
- 7.2.1 Android XMLDatenAnalyse
- 7.5.4 WebView文件下载
- 7.2.2 Android JSON数据Analyse
- 7.5.5 WebView缓存问题
- 7.5.6 WebView处理网页返回Von错误码信息
- 7.6.1 Socket学习网络基础准备
- 8.3.2 绘图KlassePraktisches Beispiel
- 7.6.2 基于TCPVereinbarungSocketKommunikation(1)
- 8.3.12 Paint API之—— PathEffect(Pfadeffekt)
- 8.3.3 Paint API之—— MaskFilter(面具)
- 7.6.3 基于TCPVereinbarungSocket通信(2)
- 8.3.13 Paint API之—— Shader(Bildwiedergabe)
- 8.3.4 Paint API之—— XfermodeMitPorterDuff详解(一)
- 7.6.4 Basierend aufUDPVereinbarungSocketKommunikation
- 8.3.5 Paint APIEs—— Xfermode与PorterDuff详解(二)
- 8.1.1 AndroidMedium13SpeziesDrawable小结 Part 1
- 8.3.6 Paint API之—— Xfermode与PorterDuff详解(三)
- 8.1.2 AndroidMedium13SpeziesDrawable小结 Part 2
- 8.3.7 Paint APIEs—— XfermodeMitPorterDuffDetailliert(四)
- 8.3.14 Paint几个枚举/常量值UndShadowLayer阴影效果
- 8.1.3 Android中Von13SpeziesDrawable小结 Part 3
- 8.3.15 Paint API之——Typeface(Schriftart)
- 8.2.1 Bitmap(Bitmap)全解析 Part 1
- 8.2.2 Bitmap引起VonOOMProblem
- 8.3.8 Paint API之—— Xfermode与PorterDuff详解(五)
- 8.3.1 三个绘图工具Klasse详解
- 8.3.9 Paint API之—— ColorFilter(Farbfilter)(1/3)
- 8.4.4 AndroidAnimierte Animation der Sammlungsattribute-又见
- 8.3.10 Paint API之—— ColorFilter(Farbfilter)(2-3)
- 9.1 Verwenden SieSoundPool播放音效(Duang~)
- 8.3.11 Paint APIEs—— ColorFilter(Farbe过滤器)(3-3)
- 9.2 MediaPlayerAudio abspielen与视频
- 10.6 PowerManager(Energiedienst)
- 9.3 使用Camera拍照
- 10.7 WindowManager(Fensterverwaltungsservice)
- 9.4 Verwenden SieMediaRecord录音
- 10.8 LayoutInflater(Layout-Service)
- 10.1 TelephonyManager(电话Manager)
- 10.9 WallpaperManager(Wallpaper Manager)
- 10.2 SmsManager(短信管理器)
- 10.10 Sensor专题(1)——相关介绍
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 BroadcastReceiver Element ContentProvider Element 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~