Den definitiva guiden till Android-utveckling 1:a upplagan
"Android Development Authority Guide" fokuserar på vägledning av praktisk praktisk förmåga, och samtidigt som den följer teknikforsknings- och utvecklingskunskapssystemets stringens, är den utrustad med detaljerade skärmdumpar av utvecklingsscenarier i länkar som är felbenägna och inte lätta att förstå; Och presentera viktiga kunskapspunkter och utvecklingsfärdigheter för läsarna i den livliga formen "lära sig ett trick till", "utökat lärande", "färdighetsratt" med mera. När det gäller förklaringen av programexempel infogas exemplen främst i kapitlet om kunskap i Android, som ger en bra guide för läsare att kombinera lärande och övning.
Dokumentskärm:
Del 1 Förberedelser Kapitel 1 Första mötet med Lushans sanna ansikte – Introduktion till Androidutveckling 2 1.1 Grundläggande koncept för Android 2 1.1.1 Introduktion till Android 2 1.1.2 Android version 4 1.1.3 Android Systemarkitektur 5 1.1.4 Android Application Framework 6 1.2 Introduktion till JIL Widget 7 1.3 Sammanfattning 8 Kapitel 2 Om du vill göra ett bra jobb måste du först slipa dina verktyg – bygga och använda Android-utvecklingsmiljön 9 2.1 Installation av utvecklingskit och verktyg 9 2.1.1 Vad som behövs för att utveckla Android-program 9 2.1.2 Installation av JDK och konfiguration av Java Development Environment 10 2.1.3 FörmörkelseInstallationen med sinifiering 11 2.1.4 Installera Android SDK 12 2.1.5 Installation av Eclipse-pluginet ADT 13 2.2 Verklig erfarenhet – Att skriva det första Android-programmet (Random Drawing Pie) 15 2.2.1 Skapa ett Android-projekt 15 2.2.2 Kör Android-program i Emulators 17 2.2.3 Layout av gränssnittskontroller 19 2.2.4 Skriva kod 20 2.2.5 Felsökningsprocedur 23 2.2.6 Köra och felsöka program på mobiltelefoner 28 2.3 Fel som kan uppstå i migrationsprojektet 29 2.4 Ett utvecklingsverktyg som inte kräver en enda kodrad: AppInventor 31 2.4.1 Introduktion till AppInventor 31 2.4.2 Nedladdning och installation av AppIntentor 31 2.4.3 Design av gränssnittet genom att dra kontroller 33 2.4.4 Assemble Code 34 som ett pussel 2.5 Sammanfattning 37 Del 2 Grunderna Kapitel 3 En resa på tusen mil börjar med ett enda steg – Androidprogrammeringsgrunder 40 3.1 Android Application Framework 40 3.1.1 Katalogstruktur för Android Projects 40 3.1.2 AndroidManifest.XML-filStrukturen för 42 3.2 Resurser i Android-applikationer 44 3.3 Applikationskomponenter för Android 44 3.3.1 Aktivitet (Android Forms) 45 3.3.2 Tjänst 45 3.3.3 Sändningsmottagare 45 3.3.4 Innehållsleverantör 46 3.4 UI-design för Android-program 46 3.4.1 Manuell konfiguration av XML-layoutfiler 46 3.4.2 ADT:s inbyggda visuella UI-designer 47 3.4.3 Design av UI-layout med DroidDraw 47 3.5 Sammanfattning 48 Kapitel 4 Mitt UI - Grunderna i utveckling av användargränssnitt 49 4.1 Hur man använder Aktivitet 49 4.1.1 Skapande av aktivitet 49 4.1.2 Konfigurera aktivitet 50 4.1.3 Att visa andra aktiviteter (avsikter och aktiviteter) 52 4.2 Aktivitetslivscykel 55 4.3 Överföring av data mellan olika aktiviteter 60 4.3.1 Användning av avsikter för att skicka data 60 4.3.2 Överföring av data med statiska variabler 62 4.3.3 Att använda urklippet för att överföra data 63 4.3.4 Överföring av data med hjälp av globala objekt 65 4.3.5 Återlämna data till föregående aktivitet 67 4.4 View 68 4.4.1 Introduktion till Views 68 4.4.2 Definiera vyer med XML-layoutfiler 69 4.4.3 Kontrollvy 70 i kod 4.5 Layout 72 4.5.1 FrameLayout 72 4.5.2 LinearLayout 75 4.5.3 RelativeLayout 79 4.5.4 TableLayout 81 4.5.5 AbsoluteLayout 82 4.5.6 Återanvändning av XML-layoutfiler 82 4.5.7 Optimering av XML-layoutfiler 85 4.5.8 Visningapk-filUtformning år 86 4.6 Sammanfattning 87 Kapitel 5 En bra start på lärande – Detaljerad förklaring av Widgets 88 5.1 Parsning av vanliga XML-attribut 88 5.1.1 android:id attribut 88 5.1.2 Bredd (Android:layout_width) och höjd (Android:layout_height) 88 för kontroller 5.1.3 Android:layout_margin attribut 89 5.1.4 android:utfyllningsattribut 89 5.1.5 Android: layout_weight attribut 90 5.1.6 Android:layout_gravity och Android:Gravity attribut 90 5.1.7 Android:Synlighetsattribut 91 5.1.8 Android:bakgrundsattribut 91 5.1.9 Specificering av Click Event Method (android:onClick Property) 92 5.1.10 Kontrollfokus-egenskaper (android:fokuserbar och android:fokuserbar-InTouchMode) 92 5.2 TextView (Kontroller för att visa text) 93 5.2.1 Visning av rik text (URL, text i olika storlekar, typsnitt, färger) 93 5.2.2 Visning av emojibilder och text i TextView 97 5.2.3 Klicka på länken för att visa Aktivitet 100 5.2.4 Tillägg av bakgrund till specificerad text 103 5.2.5 TextView med ram 106 5.2.6 Ställ in radavståndet 110 5.2.7 Lägger till en ellips (...) 111 efter ofullbordad text 5.2.8 Implementering av Marquee-effekten med TextView 113 5.2.9 Att rulla text i TextView vertikalt 114 5.3 Redigera Text 115 5.3.1 Mata in en uttrycksbild som QQ 115 5.3.2 Anger ett specifikt tecken 117 i EditText 5.3.3 AutoCompleteText-View (Kontroll för Auto-CompleteText-View) 118 5.4 Knapp- och kryssruta styr 120 5.4.1 Knapp (Normal knappkontroll) 120 5.4.2-knapp för att blanda grafik och text 122 5.4.3 ImageButton 124 5.4.4 RadioKnapp 124 5.4.5 ToggleKnapp 125 5.4.6 Kryssruta (Kontrollkontroll) 126 5.5 ImageView (Kontroll för att visa bilder) 128 5.5.1 Grundläggande användning av ImageView Control 128 5.5.2 Visning av bilder från specificerade områden 129 5.5.3 Skalning och roterande bilder 132 5.6 Tids- och datumkontroller 133 5.6.1 DatePicker (kontroll för att mata in datum) 133 5.6.2 TimePicker (Kontroll för att mata in tid) 134 5.6.3 DatePicker, TimePicker och TextView visar datum och tid synkront 134 5.6.4 AnalogClock och DigitalClock (Kontroller för att visa klockan) 136 5.7 Framstegsbarkontroller 137 5.7.1 ProgressBar 137 5.7.2 SeekBar 139 5.7.3 Inställning av färg och bakgrund för ProgressBar och SeekBar 140 5.7.4 RatingBar 143 5.8 Listkontroller 145 5.8.1 ListView (Normal Listkontroll) 145 5.8.2 Lägger till kryssrutor och alternativknappar i listanVisa listaobjekt 147 5.8.3 Lägg till, radera och ändra listobjekt 149 5.8.4 Ändra bakgrundsfärgen på listpunkter 153 5.8.5 ListaAktivitet 154 5.8.6 ExpandableListView 155 5.8.7 Spinner (rullgardinslistkontroll) 157 5.9 Scrollkontroller 160 5.9.1 ScrollView (vertikal scrollkontroll) 160 5.9.2 HorizontalScrollView 161 5.9.3 Vertikala och horisontella rullbara vyer 162 5.9.4 Galleri 163 5.10 ImageSwitcher 164 5.11 GridView 166 5.12 TabHost (Tagkontroll) 168 5.13 ViewStub 169 5.14 Sammanfattning 171 Kapitel 6 Vänliga menyer - Menyintroduktion och exempel 172 6.1 Grundläggande användning av menyer 172 6.1.1 Skapa en alternativmeny 172 6.1.2 Alternativmeny med bilder 173 6.1.3 Associerad aktivitet 173 6.1.4 Klicka på åtgärden i svarsmenyn 174 6.1.5 Dynamisk tillägg, ändra och ta bort alternativ meny 175 6.1.6 Undermeny 176 med kryssrutor och alternativknappar 6.1.7 Kontextmeny 178 6.1.8 Menyhändelser 179 6.1.9 Laddar meny 180 från menyresurser 6.2 Menyeffekter 181 6.2.1 Anpassning av meny 181 6.2.2 Simulering av UC Web Effects-meny 184 6.2.3 QuickContactBadge och Kontaktmeny 189 6.3 Sammanfattning 192 Kapitel 7 Vänlig interaktion - Informationspåminnelser (dialogrutor, skålar och notiser) 193 7.1 Grundläggande användning av dialogrutor 193 7.1.1 Dialogruta 193 med 2 knappar (Bekräfta/Avbryt). 7.1.2 Dialogruta 195 med 3 knappar (Åsidosätta/Ignorera/Avbryta). 7.1.3 Enkel listdialogruta 196 7.1.4 Radiolista Dialogruta 198 7.1.5 Multi-Select-lista dialogruta 199 7.1.6 Progress-dialogruta 201 7.1.7 Inloggningsdialogruta 205 7.1.8 Användning av aktivitetsvärd dialog 207 7.2 Avancerade tillämpningar av dialogrutor 209 7.2.1 Förhindra knappklick för att stänga dialogruta 209 7.2.2 Ändring av visningspositionen på dialogrutan 213 7.2.3 Insättning av bilder i dialogknapp och innehållstext 215 7.2.4 Ändring av transparensen i dialogrutan 216 7.3 Toast 217 7.3.1 Grundläggande användning av Toast 217 7.3.2 Rostat bröd 218 som aldrig stängs 7.3.3 Att använda PopupWindow för att simulera Toast Prompt Infobox 221 7.4 Meddelande 221 7.4.1 Visar notifikationsinformation på statusfältet 222 7.4.2 Avklaringsåtgärd av Meddelande 224 7.4.3 Persistent Notification 225 7.4.4 Anpassning av notiser 226 7.5 Sammanfattning 227 Kapitel 8 Mobil informationslager - Datalagring 228 8.1 Läs- och skriv-nyckel-värde-par: SharedPreferences 228 8.1.1 Grundläggande användning av DeladePreferanser 228 8.1.2 Lagringsplats och format för data 229 8.1.3 Åtkomst till komplexa datatyper 230 8.1.4 Inställning av åtkomstbehörigheter för datafiler 233 8.1.5 Aktivitet:PreferensAktivitet 234 kan sparas 8.2 Fillagring 238 8.2.1 openFileOutput och openFileInput metoder 238 8.2.2 Läsa och skriva filer på SD-kort 239 8.2.3 Principen för SAX-motorns läsning av XML-filer 241 8.2.4 Konvertera XML-filer till Java Objects 242 8.2.5 Filkomprimering (jar, zip) 245 8.3 SQLite-databas 249 8.3.1 SQLite databashanteringsverktyg 249 8.3.2 SQLiteOpenHelper-klass och automatisk uppgraderingsdatabas 251 8.3.3 Databindning med SimpleCursorAdapter Klass 252 8.3.4 Drift av databasen på SD-kortet 255 8.3.5 Publicering av databaser med applikationer 256 8.3.6 Minnesdatabas 257 8.4 Sammanfattning 258 Kapitel 9 Windows i Android - Aktivitet 259 9.1 Anropsaktivitet 259 i andra program 9.1.1 Direktuppringning 259 9.1.2 Vidarebefordran av telefonnumret till uppringningsprogrammet 259 9.1.3 Anrop av uppringningsprogrammet 260 9.1.4 Surfa på webben 261 9.1.5 Vidarebefordra e-postadress 261 till e-postklient 9.1.6 Skickar e-post 261 9.1.7 Visar kontakter 262 9.1.8 Visar systeminställningsgränssnittet (Sätter huvudgränssnittet,wifiInställningsgränssnitt) 263 9.1.9 Starta programmet för bearbetning av ljud 264 9.2 Anpassningsaktivitet 264 9.3 Avancerade tillämpningar av aktivitet 266 9.3.1 Aktivitetsgrupp 266 9.3.2 Anpassning av Translucent Windows 268 9.3.3 Animationseffekter för att växla mellan aktiviteter 269 9.4 Sammanfattning 270 Kapitel 10 Globala händelser - Sändning 271 10.1 Vad är Broadcasting 271? 10.2 Mottagningssystem sänder 272 10.2.1 SMS-avlyssning 272 10.2.2 Registrering av sändningsmottagaren med kod 274 10.2.3 Prioritet för sändningsmottagare 275 10.2.4 Inkommande och utgående samtal avlyssnas 276 10.2.5 Fångar skärmens viloläge och Wake 280 10.2.6 Automatisk drift 281 vid uppstart 10.2.7 Visar den aktuella nivån på mobiltelefonbatteriet 282 10.3 Sändningar 284 10.4 Verifiering av att sändningsmottagaren är registrerad på 285 10.5 Sammanfattning 286 Kapitel 11 Tvärapplikationer datakällor - Content Provider 287 11.1 Innehållsleverantörens roll 287 11.2 Erhållning av systemdata 288 11.2.1 Läser kontaktinformation 288 11.2.2 Tittar på mottaget SMS 290 11.3 Anpassning av innehållsleverantör 291 11.3.1 Sökning i stadsinformation 291 11.3.2 Tillägg av tillgång till innehållsleverantör 297 11.4 Sammanfattning 298 Kapitel 12 Allt för användaren – Grundläggande tjänster och exempel 299 12.1 Tjänstegrunder 299 12.1.1 Tjänstelivscykel 299 12.1.2 Bindande verksamhet och tjänst 302 12.1.3 Boot Service 305 vid Boot 12.1.4 Att avgöra om en delgivning är registrerad hos 306 12.1.5 Fastställa om en tjänst har startat 307 12.2 Åtkomst över processer (AIDL-tjänst) 308 12.2.1 Vad är AILDL Tjänst 308? 12.2.2 Steg för att etablera en AIDL-tjänst 308 12.2.3 Etablering av AIDEL-tjänster 308 12.2.4 AITL-tjänster för leverans av komplex data 312 12.2.5 AIDL och automatisk hängning 317 12.3 Sammanfattning 319 Kapitel 13 Att göra ett bra jobb med applikationsbroar: Nätverk och kommunikation 320 13.1 WebView Control 320 13.1.1 Surfa på webben med WebView Control 320 13.1.2 Laddar HTML-kod med WebView Control 322 13.2 Åtkomst till HTTP-resurser 324 13.2.1 Skickar HTTP GET och HTTP POST-förfrågningar 324 13.2.2 HttpURLConnection klass 326 13.2.3 Uppladdning av filer 327 13.3 Klientsockel 330 13.3.1 Anslutning till Server 331 13.3.2 Skanna servern efter öppen port 331 13.3.3 Sändning och mottagande av data 333 13.3.4 Hämta IP-adressen som tilldelats mobiltelefonen via den trådlösa rutten 334 13.3.5 Inställning av sockelval 335 13.4 Serversockel 339 13.4.1 Implementering av mobiltelefonserver 339 13.4.2 Användning av socklar för kommunikation mellan applikationer 340 13.5 Bluetooth Kommunikation 342 13.5.1 Introduktion till Bluetooth 342 13.5.2 Slå på och av Bluetooth-enheter 343 13.5.3 Söker efter Bluetooth-enheter 344 13.5.4 Bluetooth dataöverföring 346 13.6 Sammanfattning 351 Kapitel 14 Kyl din app - Multimediautveckling 352 14.1 Musik 352 14.1.1 Spelar musik 352 14.1.2 Inspelning 353 14.2 Video 354 14.2.1 Spela upp video med VideoView 354 14.2.2 Spela upp video med SurfaceView 355 14.2.3 Inspelningsvideo 357 14.3 Kamera 357 14.3.1 Anropar kamerafunktionen i System 358 14.3.2 Anpassad fotofunktion 359 14.4 Ringtones 364 14.5 Sammanfattning 366 Kapitel 15 2D Spelutveckling 367 15.1 Rita spelets duk 367 15.1.1 Implementering av animationseffekter på en View 367 15.1.2 Implementering av animationseffekter på SurfaceView 371 15.2 Grunder i att rita grafik 374 15.2.1 Rita pixlar 374 15.2.2 Rita raka linjer 374 15.2.3 Rita cirklar 375 15.2.4 Ritbåge 375 15.2.5 Ritningstext 376 15.2.6 Ritning av olika figurer 376 15.3 Avancerade bildbehandlingstekniker 380 15.3.1 Rita bitmaps 380 15.3.2 Transparens av bilder 382 15.3.3 Roterande bilder 383 15.3.4 Väg 384 15.3.5 Shader-renderingseffekter 388 15.4 Bildrutanimation 392 15.4.1 AnimationDrawable och Frame Animation 392 15.4.2 Spelar Gif Animation 394 15.5 Tween Animation 397 15.5.1 Rörlig tween-animation 397 15.5.2 Skalning av tweens 399 15.5.3 Roterande tween-animation 402 15.5.4 Transparens Tween Animation 403 15.6 Sammanfattning 404 Kapitel 16 Intressanta Android-appar 405 16.1 Sensor 405 16.1.1 Hur man använder Sensor 405 16.1.2 Accelerometer 409 16.1.3 Gravitation 409 16.1.4 Ljussensor 410 16.1.5 Gyroskop 411 16.1.6 Orientering 411 16.1.7 Andra sensorer 412 16.2 In- och utmatningstekniker 413 16.2.1 Taligenkänning 413 16.2.2 Gestinmatning 415 16.2.3 Talläsning (TTS) 417 16.3 Google Maps 419 16.4 GPS-positionering 423 16.5 Små saker på bordet 425 16.5.1 AppWidget 425 16.5.2 Genvägar 431 16.5.3 Realtidsmapp 433 16.6 Applicera vackrare - Live Wallpaper 435 16.7 Sammanfattning 441 Del 3 Avancerat kapitel Kapitel 17 HTML5 och mobil webbutveckling 444 17.1 Introduktion till HTML5 444 17.2 HTML5 Fantastiska Effekter Demonstration 445 17.3 HTML5-applikation i Android 447 17.4 HTML5 Canvas 448 17.4.1 Översikt över Canvas 448 17.4.2 Upptäck om webbläsaren stödjer Canvas 449 17.4.3 Användning av Canvas 450 i webbsidor 17.4.4 Användning av väg 452 17.4.5 Linjesetting Stil 453 17.4.6 Inställning av fyllnadstyp 453 17.4.7 Fyllning av rektangulärt område 454 17.4.8 Användning av gradient 454 17.4.9 Att sträcka dukobjekt 455 17.4.10 Rittext på duk 456 17.4.11 Användning av Shadows 457 17.5 Felsökning av JavaScript 458 17.6 Sammanfattning 459 Kapitel 18 Utveckling av inmatningsmetod 460 18.1 Introduktion till Android Input Methods 460 18.2 Kontrollinmatningsmetod 461 18.3 Inmatningsmetod Praktik 462 18.3.1 Steg 463 för att implementera inmatningsmetoden 18.3.2 Skrivande av inmatningsmetodprogram 463 18.3.3 Livscykel för inmatningsmetodtjänster 466 18.3.4 Förinmatningstext 467 18.3.5 Inställningar för inmatningsmetod 467 18.4 Sammanfattning 468 Kapitel 19 Android OpenGL ES-utvecklingsgrunder 469 19.1 Introduktion till OpenGL 469 19.2 Vad är OpenGL ES 469? 19.3 Polygoner 470 19.4 Färg 474 19.5 Roterande triangel 475 19.6 Roterande kub 477 19.7 Sammanfattning 478 Kapitel 20 OpenGL ES Coola Effekter 479 20.1 Upprätthållande av balans Roterande text 479 20.2 Android Robot 482 svajar åt vänster och höger 20.3 Trasslig roterande kub 485 20.4 Roterande kub med transparent bakgrund 486 20.5 Rör vid den roterande kuben 487 20.6 Kombinerade rotationseffekter av 2D och 3D 489 20.7 Roterande tredimensionell himmel 491 20.8 Sammanfattning 493 Kapitel 21 Android NDK Programmering 494 21.1 Introduktion till Android NDK 494 21.2 Installation, konfigurering och testning av NDK-utvecklingsmiljön 495 21.2.1 System- och mjukvarukrav 495 21.2.2 Ladda ner och installera Android NDK 495 21.2.3 Ladda ner och installera Cygwin 495 21.2.4 Konfigurera utvecklingsmiljön för Android NDK 498 21.3 Första NDK-programmet: Hello World 499 21.3.1 Skriva och kalla NDK-program 499 21.3.2 Kompilering av NDK-program 501 med kommandoradsmetod 21.3.3 Integrerar Android NDK 502 i Eclipse 21.4 Trianglar med föränderliga bakgrunder (NDK för OpenGL ES) 504 21.5 Implementering av ständigt föränderliga 3D-effekter med hjälp av NDK OpenGL ES API 507 21.6 Anropar ljud-API 510 med NDK 21.7 Inhemsk aktivitet 511 21.8 Android NDK konfigurationsfildetalj 513 21.8.1 Android NDK Definierade variabler 513 21.8.2 Android NDK Definierade funktioner 514 21.8.3 Variabler som beskriver moduler 515 21.8.4 Konfigurera Application.mk fil 516 21.9 Sammanfattning 516 Kapitel 22 Testdriven utveckling (TDD) 517 22.1 JUnit Testramverk 517 22.2 Testaktivitet 517 22.3 Testning av innehållsleverantör 521 22.4 Testtjänst 523 22.5 Testning av Common Class 523 22.6 Sammanfattning 525 Del 4 Omfattande exempel Kapitel 23 Android Omfattande Case 1 - Bluetooth Chat 528 23.1 Bluetooth-chatt huvudgränssnitt 528 23.2 LÄGGER TILL OPTIONSMENY 530 23.3 Sök och anslutning till Bluetooth-enheter 530 23.4 Gör enheten upptäckbar för andra Bluetooth-enheter 533 23.5 Skicka och ta emot chattmeddelanden 533 23.6 Sammanfattning 537 Kapitel 24 Android Omfattande Fall 2 - Månlandning (Spel) 538 24.1 Hur man spelar spelet 538 24.2 Implementering av spelgränssnittet 539 24.3 Ställ in spelets svårighetsgrad på 540 24.4 Start Game 541 24.5 Kontroll av skeppet Spitfire 544 24.6 Styrning av fartyget för att ändra riktning för Flight 544 24.7 Fastställ om rymdfarkosten har landat framgångsrikt 545 24.8 Sammanfattning 546 Kapitel 25 Android Omfattande Fall 3 - Fullständig tangentbordsinmatningsmetod (applikation) 547 25.1 Installera inmatningsmetoden 547 25.2 Initiering av inmatningsmetod 548 25.3 Svar på tangentbordsåtgärder 549 25.4 Visar olika mjuka tangentbord baserat på egenskaperna hos EditText Control 551 25.5 Sammanfattning 553 Kapitel 26 Android Omfattande Fall 4 - Snake (Spel) 554 26.1 Spelupplägg 554 26.2 Spelets huvudgränssnittsdesign 555 26.3 Kontroll av ormens rörelse 557 26.4 Sammanfattning 560 Kapitel 27 Android Omfattande Fall 5 - Sina Weibo Client (Applikation) 561 27.1 Introduktion till Sina Weibo 561 27.1.1 Sina Weibo Client 561 27.1.2 Sina Weibo öppnar API 563 27.2 Användning av Sina Weibo för att utveckla API 563 27.3 Skapande och konfiguration av Sina Weibo-klientprojektet 564 27.4 Logga in på Sina Weibo 564 27.5 Funktionsknapp 567 27.6 Weibo 569 visar "Mitt hem" 27.7 Kommentarer på Weibo 572 27.8 Retweet Weibo 573 27.9 Skriva Weibo 574 27.10 Sammanfattning 576 Kapitel 28 Android Omfattande Fall 6 - Leende ansikteTitta på det om och om igen(Spel) 577 28.1 Spelupplägg 577 28.2 Förberedelse av bildmaterial 578 28.3 Implementering av huvudgränssnittet 578 28.4 Genererar slumpmässigt kontinuerligt visningsbilder 580 28.5 Försvinnande efter att två identiska bilder valts 580 28.6 Begränsning av speltid med tidtagare 581 28.7 Sammanfattning 582
dokumentstorlek; 53,2 MB Obs: Detta dokument är för dem som behöver lära sig Android-utveckling.
Nedladdningsadress;
Länkar: Turister, om ni vill se det dolda innehållet i detta inlägg, snälla Svar
|