Facebook Pixel
Searching...
Eesti
EnglishEnglish
EspañolSpanish
简体中文Chinese
FrançaisFrench
DeutschGerman
日本語Japanese
PortuguêsPortuguese
ItalianoItalian
한국어Korean
РусскийRussian
NederlandsDutch
العربيةArabic
PolskiPolish
हिन्दीHindi
Tiếng ViệtVietnamese
SvenskaSwedish
ΕλληνικάGreek
TürkçeTurkish
ไทยThai
ČeštinaCzech
RomânăRomanian
MagyarHungarian
УкраїнськаUkrainian
Bahasa IndonesiaIndonesian
DanskDanish
SuomiFinnish
БългарскиBulgarian
עבריתHebrew
NorskNorwegian
HrvatskiCroatian
CatalàCatalan
SlovenčinaSlovak
LietuviųLithuanian
SlovenščinaSlovenian
СрпскиSerbian
EestiEstonian
LatviešuLatvian
فارسیPersian
മലയാളംMalayalam
தமிழ்Tamil
اردوUrdu
Learning Android

Learning Android

by Marko Gargenta 2011 245 pages
3.69
100+ ratings
Listen
Listen to Summary

Key Takeaways

1. Androidi arhitektuur pakub paindlikku aluspinda mobiilirakenduste arendamiseks

Android on ulatuslik avatud lähtekoodiga platvorm, mis on loodud mobiilseadmete jaoks.

Kihted arhitektuur. Androidi arhitektuur koosneb mitmest kihist, sealhulgas Linuxi tuum, kohalikud teegid, tööaeg, rakenduste raamistik ja rakendused. See modulaarne disain võimaldab paindlikkust ja kohandatavust erinevate seadmete ja tootjate vahel. Androidi avatud lähtekood võimaldab arendajatel pääseda ligi ja muuta platvormi lähtekoodi, edendades innovatsiooni ja kohandatavust.

Seadmest sõltumatu ühilduvus. Androidi arhitektuur abstraktiseerib riistvaraspetsiifilised üksikasjad, võimaldades arendajatel luua rakendusi, mis töötavad laias valikus seadmetes erinevate ekraanisuuruste, eraldusvõime ja riistvaravõimetega. Seda saavutatakse selliste tööriistade kaudu nagu riistvara abstraktsioonikiht (HAL) ja XML-i paigutuste kasutamine kasutajaliideste määratlemiseks.

2. Java ja XML on Androidi rakenduste loomise põhikeeled

Rakenduse eelistuste loomiseks peame: Looma eelistuste ressursifaili nimega settings.xml. Rakendama SettingsActivity.java faili, mis laadib selle ressursifaili.

Java loogika jaoks. Java on peamine programmeerimiskeel Androidi rakenduste arendamiseks, mida kasutatakse rakenduse loogika rakendamiseks, kasutajate interaktsioonide haldamiseks ja andmete haldamiseks. Java objektorienteeritud loomus ja ulatuslik standardteek muudavad selle keerukate rakenduste ehitamiseks sobivaks.

XML ressursside jaoks. XML-i kasutatakse Androidi rakendustes erinevate ressursside määratlemiseks, sealhulgas:

  • Paigutused: Kasutajaliideste struktuuri ja välimuse kirjeldamine
  • Stringid: Tekstisisu salvestamine lokaliseerimiseks
  • Joonistused: Vektorgraafika ja teiste visuaalsete elementide määratlemine
  • Stiilid ja teemad: Ühtsete visuaalsete omaduste määramine rakenduses

Java ja XML-i kombinatsioon võimaldab selget eristamist rakenduse loogika ja esituse vahel, muutes Androidi rakenduste arendamise, hooldamise ja kohandamise lihtsamaks.

3. Tegevused ja fragmendid moodustavad Androidi kasutajaliideste ehitusplokid

Tegevus on tavaliselt üksik ekraan, mida kasutaja näeb seadmes korraga. Rakendusel on tavaliselt mitu tegevust, ja kasutaja vahetab nende vahel.

Tegevused kui ekraanid. Tegevused esindavad individuaalseid ekraane või lehti Androidi rakenduses. Neil on elutsükkel, mida haldab Androidi süsteem, koos meetoditega nagu onCreate(), onStart(), onResume(), onPause(), onStop() ja onDestroy(), mida arendajad saavad ületada, et kontrollida tegevuse käitumist erinevates etappides.

Fragmendid modulaarseks. Fragmendid on taaskasutatavad kasutajaliidese komponendid, mida saab kombineerida tegevustes, et luua keerukamaid ja paindlikumaid paigutusi. Fragmenteerimise peamised eelised hõlmavad:

  • Parandatud tugi erinevatele ekraanisuurustele ja orientatsioonidele
  • Lihtsam navigeerimismustrite, nagu vahekaartide või külgmenüüde, rakendamine
  • Parema koodi korralduse ja taaskasutatavuse saavutamine

Fragmendid omavad oma elutsüklit, mis on tihedalt seotud nende host-tegevuse elutsükliga. See võimaldab täiendavat kontrolli kasutajaliidese komponentide ja nende käitumise üle.

4. Teenused võimaldavad taustaprotsesside ja pikaajaliste toimingute teostamist

Teenused töötavad taustal ja neil ei ole kasutajaliidese komponente. Nad saavad teostada samu toiminguid nagu tegevused, kuid ilma kasutajaliideta.

Taustaprotsessimine. Teenused võimaldavad rakendustel teostada toiminguid taustal, isegi kui kasutaja ei suhtle aktiivselt rakendusega. See on hädavajalik selliste ülesannete jaoks nagu:

  • Suurte failide allalaadimine või üleslaadimine
  • Muusika esitamine
  • Andmete sünkroonimine kaugserveritega
  • Perioodiliste kontrollide või uuenduste teostamine

Teenuste tüübid:

  • Alustatud teenused: Komponendi poolt algatatud ja töötavad taustal lõpmatult
  • Sidus teenused: Pakuvad kliendi-serveri liidest komponentide suhtlemiseks teenusega
  • Intent teenused: Käsitlevad asünkroonseid päringuid eraldi töötlustehnil

Teenuseid tuleb hoolikalt hallata, et vältida liigset aku tühjenemist ja ressursikasutust. Android pakub mehhanisme nagu JobScheduler ja WorkManager, et aidata optimeerida taustategevusi.

5. Sisu pakkujad hõlbustavad andmete jagamist rakenduste vahel

Sisu pakkujad on liidesed andmete jagamiseks rakenduste vahel.

Struktureeritud andmete juurdepääs. Sisu pakkujad pakuvad standardiseeritud viisi struktureeritud andmete jagamiseks erinevate rakenduste vahel Androidi seadmes. Nad abstraktiseerivad aluseks oleva andmete salvestamise mehhanismi (nt SQLite andmebaas, failid) ja pakuvad ühtset liidest andmete pärimiseks, sisestamiseks, uuendamiseks ja kustutamiseks.

Peamised omadused:

  • URI-põhine andmeadressimine
  • Peenelt reguleeritud juurdepääsukontroll õiguste kaudu
  • Tugi keerukatele andmetüüpidele ja suhetele
  • Võime teavitada vaatlejaid andmete muutustest

Sisu pakkujaid kasutatakse laialdaselt Androidi süsteemis andmete jagamiseks, nagu kontaktid, kalendriüritused ja meediafailid. Kohandatud sisu pakkujad saavad luua, et turvaliselt ja tõhusalt avada rakenduse andmeid teistele rakendustele.

6. Ülekande vastuvõtjad võimaldavad rakendustel reageerida süsteemiülesetele sündmustele

Ülekande vastuvõtjad on Androidi rakendus süsteemiülese avaldamise/registreerimise mehhanismi, või täpsemalt, vaatleja mustri rakendamiseks.

Sündmustele reageerimise programmeerimine. Ülekande vastuvõtjad võimaldavad rakendustel reageerida süsteemiülesetele sündmustele või teiste rakenduste kohandatud sündmustele. See võimaldab lõdvalt seotud suhtlemist erinevate Androidi süsteemi komponentide ja kolmandate osapoolte rakenduste vahel.

Tavalised kasutusjuhtumid:

  • Reageerimine süsteemi sündmustele (nt käivitamine lõpetatud, aku madal, võrguühenduse muutused)
  • Rakendustevahelise suhtluse rakendamine
  • Taustategevuste või perioodiliste toimingute ajastamine

Ülekande vastuvõtjad saavad registreerida dünaamiliselt koodis või staatiliselt AndroidManifest.xml failis. Neid tuleks kasutada ettevaatlikult, et vältida tarbetut süsteemiressursside tarbimist ja võimalikke turvariske.

7. Androidi SDK pakub võimsaid tööriistu kasutajaliidese kujundamiseks, silumiseks ja testimiseks

Android pakub elegantset liidest, mille kaudu teie rakendus saab suhelda SQLite andmebaasiga.

Kohandatud tööriistakomplekt. Androidi SDK pakub rikkalikku tööriistade ja teekide komplekti rakenduste arendamiseks, sealhulgas:

  • Android Studio: Ametlik integreeritud arenduskeskkond (IDE)
  • Paigutuse redaktor: Visuaalne tööriist kasutajaliideste kujundamiseks
  • Emulaator: Virtuaalne seade rakenduste testimiseks ilma füüsilise riistvarata
  • Silur: Koodi probleemide tuvastamiseks ja parandamiseks
  • Profiler: Rakenduse jõudluse ja ressursikasutuse analüüsimiseks
  • Testimise raamistikud: Üksustestimiseks, integreerimistestimiseks ja kasutajaliidese testimiseks

Need tööriistad sujuvdavad arendusprotsessi, parandavad koodi kvaliteeti ja aitavad tagada ühtse kasutajakogemuse erinevates seadmetes.

8. Õige lõimimine ja asünkroonne programmeerimine on reageerivate rakenduste jaoks hädavajalikud

Androidi meeskond leidis, et kasutajad ei peaks mälu haldama ja on selle vastutuse delegeerinud Tegevuse Halduse süsteemile.

Kasutajaliidese reageerimisvõime. Androidi rakendused peavad säilitama reageeriva kasutajaliidese, vältides pikaajalisi toiminguid põhiteemas. Selle saavutamiseks kasutatakse järgmisi tehnikaid:

  • AsyncTask: Lühikeste taustategevuste jaoks, mis teatavad tulemustest kasutajaliidese teemas
  • Lõim ja Handler: Keerukamate lõimimisstsenaariumide jaoks
  • Korraldused (Kotlinis): Lihtsustatud asünkroonseks programmeerimiseks
  • RxJava: Reaktiivseks programmeerimiseks ja keerukate asünkroonsete töövoogude jaoks

Mälu haldamine. Androidi Tegevuse Halduse süsteem haldab mälu eraldamist ja vabastamist, kuid arendajad peavad siiski olema ettevaatlikud võimalike mälu leketega ja tõhusa ressursikasutusega. See hõlmab tegevuste ja fragmentide elutsüklite nõuetekohast haldamist, samuti taustalõimede ja teenuste ettevaatlikku kasutamist.

9. Võrgustamine ja veebiteenuste integreerimine laiendavad rakenduste võimalusi

Võrgustamine on üks mobiiliarenduse põhitegevusi.

HTTP suhtlemine. Android pakub mitmeid API-sid võrgu suhtlemiseks, sealhulgas:

  • HttpURLConnection: Kergekaaluline, madala taseme API HTTP päringute jaoks
  • Volley: Kõrgema taseme võrgu teek, mis lihtsustab tavaliste mustrite rakendamist
  • Retrofit: Tüübi ohutu HTTP klient Androidi ja Java jaoks

Parimad tavad:

  • Tehke alati võrgu toimingud taustalõimedes
  • Rakendage nõuetekohane veahaldus ja uuesti proovimise loogika
  • Kasutage vahemälu, et parandada jõudlust ja vähendada andmete kasutamist
  • Kaaluge turvalisuse aspekte (nt HTTPS-i kasutamine, sertifikaadi kinnitamine)

Veebiteenuste ja API-de integreerimine võimaldab Androidi rakendustel pääseda ligi ja manipuleerida kaugandmetega, sünkroonida teavet seadmete vahel ja kasutada pilvepõhiseid funktsioone.

10. Rakenduse vidinad pakuvad koduekraanil kiiret teavet

Androidis on mini rakenduse vaadete kuvamine, mis on integreeritud teiste rakendustega, kõige tavalisem juhtum koduekraanil, väga oluline ja kasulik funktsioon.

Kasutajate kaasatuse suurendamine. Rakenduse vidinad võimaldavad arendajatel laiendada oma rakenduse funktsionaalsust seadme koduekraanile, pakkudes kasutajatele kiiret juurdepääsu olulisele teabele või funktsioonidele ilma täisrakendust avamata.

Vidinate rakendamine:

  • Looge paigutuse XML-fail, mis määratleb vidina välimuse
  • Rakendage AppWidgetProvider klass, et hallata vidina käitumist
  • Määratlege vidina omadused XML-i ressursifailis
  • Registreerige vidin AndroidManifest.xml failis

Rakenduse vidinad tuleb kujundada, arvestades jõudlust ja aku efektiivsust, kuna need uuendavad perioodiliselt ja töötavad taustal. Need peaksid pakkuma kasutajatele selget väärtust ja täiendama peamise rakenduse kogemust.

Last updated:

FAQ

What's Learning Android by Marko Gargenta about?

  • Comprehensive Guide: Learning Android is a detailed guide for developers interested in creating Android applications, covering the platform's components and their effective use in app development.
  • Example-Based Learning: The book is structured around building a sample application called Yamba, which helps readers understand various Android features through practical examples.
  • Target Audience: It is aimed at software developers with a background in Java or similar programming languages, making it accessible for those transitioning into mobile app development.

Why should I read Learning Android by Marko Gargenta?

  • Hands-On Approach: The book emphasizes learning by doing, allowing readers to solidify concepts as they build a real application.
  • Expert Insights: Authored by experienced developers, it provides insights drawn from years of teaching and practical experience in mobile development.
  • Up-to-Date Content: Covers the latest Android features and best practices, ensuring readers learn relevant and current information.

What are the key takeaways of Learning Android by Marko Gargenta?

  • Understanding Android Architecture: Readers will gain a solid understanding of the Android operating system architecture, including its components like activities, services, and content providers.
  • Building User Interfaces: The book teaches how to create user interfaces using XML and Java, focusing on best practices for layout and design.
  • Networking and Data Management: It covers managing data and network operations, including using APIs and handling background tasks effectively.

What are the main building blocks of Android applications discussed in Learning Android?

  • Activities: Represent a single screen in an app and are crucial for user interaction, with explanations on their lifecycle and transitions.
  • Services: Run in the background to perform long-running operations without a user interface, with details on implementation and management.
  • Content Providers: Allow data sharing between applications, with discussions on creating and using them to manage app data.

How does Learning Android by Marko Gargenta approach teaching Android development?

  • Step-by-Step Guidance: Provides instructions for setting up the development environment and building the Yamba application, making it easy for beginners.
  • Incremental Learning: Introduces concepts incrementally, allowing readers to build on their knowledge as they progress through the chapters.
  • Practical Examples: Includes practical examples and exercises that reinforce the concepts being taught, ensuring readers can apply what they learn.

What tools and technologies are recommended in Learning Android by Marko Gargenta?

  • Android SDK: Emphasizes using the Android Software Development Kit (SDK) for building applications, guiding readers through installation and setup.
  • Eclipse IDE: Initially recommends using Eclipse as the Integrated Development Environment (IDE) for Android development, noting the transition to Android Studio.
  • Java Programming: A solid understanding of Java is essential, as the book builds on Java concepts to teach Android development.

What is the Yamba application, and why is it used in Learning Android by Marko Gargenta?

  • Twitter-Like App: Yamba is a sample application that mimics Twitter functionality, allowing users to post status updates and view friends' statuses.
  • Comprehensive Coverage: Covers various Android features, making it an ideal case study for learning about activities, services, and networking.
  • Learning Focus: By building Yamba, readers can see how different components of Android work together in a real-world application, enhancing their understanding of the platform.

How does Learning Android by Marko Gargenta address the Android lifecycle?

  • Lifecycle Management: Explains the lifecycle of activities and services, detailing how to manage state transitions effectively.
  • Callbacks and States: Covers important lifecycle callbacks such as onCreate(), onStart(), and onPause(), helping developers know when to execute specific code.
  • Best Practices: Provides best practices for handling lifecycle events, ensuring applications remain efficient and user-friendly.

What are some common pitfalls in Android development mentioned in Learning Android by Marko Gargenta?

  • UI Thread Blocking: Warns against performing long-running operations on the UI thread, which can lead to application unresponsiveness.
  • Resource Management: Highlights the importance of managing resources effectively, such as memory and network connections, to prevent leaks and crashes.
  • Permissions Handling: Discusses the need for proper permissions management, especially for accessing sensitive data or network resources, to ensure compliance with Android security practices.

What are the best practices for user interface design in Android as per Learning Android by Marko Gargenta?

  • Use of XML Layouts: Advocates for using XML to define layouts, which separates design from logic and makes it easier to manage UI changes.
  • Responsive Design: Emphasizes creating responsive designs that adapt to different screen sizes and orientations, using techniques like alternative resources.
  • User Feedback: Encourages providing immediate feedback to users through UI elements like Toast messages and progress indicators, enhancing the overall user experience.

What are fragments, and how are they used in Learning Android by Marko Gargenta?

  • Modular UI Components: Fragments are reusable components that represent a portion of the user interface, allowing for flexible layouts.
  • Fragment Lifecycle: Covers the lifecycle of fragments, including how they interact with their parent activity, essential for managing UI updates.
  • Dynamic Fragment Management: Demonstrates how to dynamically add, remove, and replace fragments within an activity for more interactive applications.

How does Learning Android by Marko Gargenta explain the use of services?

  • Service Types: Differentiates between started and bound services, explaining their use cases and how they enhance user experience.
  • Service Lifecycle: Covers the lifecycle of services, including how to start, stop, and bind to services for efficient operation.
  • IntentService: Introduces IntentService as a subclass of Service that handles asynchronous requests on a background thread, simplifying long-running operations.

Review Summary

3.69 out of 5
Average of 100+ ratings from Goodreads and Amazon.

Androidi õppimine saab erinevaid arvustusi, keskmise hindega 3.68/5. Lugejad hindavad selle praktilist lähenemist, luues Twitteri-laadse rakenduse, et õpetada kontseptsioone. Paljud leiavad, et see on kasulik algajatele, kellel on Java teadmised. Siiski märgivad paljud arvustajad koodivigu, trükivigu ja aegunud teavet, eriti hilisemates peatükkides. Mõned kiidavad raamatu põhjalikku käsitlust Androidi alustest, samas kui teised seisavad silmitsi ebajärjekindluste ja puudulike selgitustega. Hoolimata nendest probleemidest soovitavad paljud seda siiski Androidi arendamise alguspunktina, väärtustades selle praktilist metoodikat.

Your rating:

About the Author

Marko Gargenta on kogenud Androidi arendaja ja õpetaja. Tõenäoliselt on tal taust arvutiteaduses või seotud valdkonnas, arvestades tema teadmisi mobiilirakenduste arendamisel. Gargenta õpetamisviis Androidi programmeerimises on praktiline, keskendudes reaalse rakenduse loomisele, et illustreerida kontseptsioone. Tema kirjutamisstiili iseloomustatakse kui selget ja hästi läbi mõeldud, eriti raamatu varasemates peatükkides. Marakana, koolitusettevõtte asutajana, omab Gargenta kogemusi haridusliku sisu loomisel arendajatele. Tema töö peegeldab sügavat arusaamist Androidi arhitektuurist ja parimatest praktikatest rakenduste arendamisel.

0:00
-0:00
1x
Dan
Andrew
Michelle
Lauren
Select Speed
1.0×
+
200 words per minute
Home
Library
Get App
Create a free account to unlock:
Requests: Request new book summaries
Bookmarks: Save your favorite books
History: Revisit books later
Recommendations: Get personalized suggestions
Ratings: Rate books & see your ratings
Try Full Access for 7 Days
Listen, bookmark, and more
Compare Features Free Pro
📖 Read Summaries
All summaries are free to read in 40 languages
🎧 Listen to Summaries
Listen to unlimited summaries in 40 languages
❤️ Unlimited Bookmarks
Free users are limited to 10
📜 Unlimited History
Free users are limited to 10
Risk-Free Timeline
Today: Get Instant Access
Listen to full summaries of 73,530 books. That's 12,000+ hours of audio!
Day 4: Trial Reminder
We'll send you a notification that your trial is ending soon.
Day 7: Your subscription begins
You'll be charged on Apr 9,
cancel anytime before.
Consume 2.8x More Books
2.8x more books Listening Reading
Our users love us
100,000+ readers
"...I can 10x the number of books I can read..."
"...exceptionally accurate, engaging, and beautifully presented..."
"...better than any amazon review when I'm making a book-buying decision..."
Save 62%
Yearly
$119.88 $44.99/year
$3.75/mo
Monthly
$9.99/mo
Try Free & Unlock
7 days free, then $44.99/year. Cancel anytime.
Scanner
Find a barcode to scan

Settings
General
Widget
Appearance
Loading...
Black Friday Sale 🎉
$20 off Lifetime Access
$79.99 $59.99
Upgrade Now →