Scrieți un program pe Android. Programare Android: cum să începeți să vă creați propriile aplicații și jocuri

Articolul descrie principalele dificultăți ale creării de aplicații pentru Android.
Sunt acoperite conceptele de bază ale programării Android.
Ca exemplu, este descrisă crearea unui joc Sudoku din cartea Hello, Android - Ed Burnette.
Aveți grijă, există o mulțime de capturi de ecran.

1. Dificultăți de dezvoltare

Android este un sistem de operare unic. Dezvoltatorul aplicației trebuie să-și cunoască caracteristicile și nuanțele pentru a obține un rezultat bun. Există unele provocări care trebuie luate în considerare la proiectare (). Să le enumerăm pe scurt:
1) Aplicația necesită de două ori (sau chiar patru) mai mult spațiu pentru instalare decât dimensiunea inițială a aplicației.
2) Viteza de lucru cu fișierele de pe unitatea flash încorporată scade de zeci de ori pe măsură ce spațiul liber scade.
3) Fiecare proces poate folosi până la 16 MB (uneori 24 MB) de memorie RAM.

2. Principii de dezvoltare a aplicațiilor productive pentru Android

Pentru a funcționa, aveți nevoie de Android SDK și Eclipse. Este scris despre cum să instalați totul și să începeți.

Pentru a încărca un proiect în Eclipse, urmați acești pași:
1) Dezarhivați proiectul într-un folder separat din spațiul de lucru Eclipse.
2) Selectați elementul de meniu Fișier->Nou->Proiect Android.
3) În dialogul Proiect nou Android, selectați opțiunea Creare proiect din sursa existentă.
4) În câmpul Locație, specificați calea către folderul cu proiectul. Faceți clic pe Următorul.

Meniul programului

Meniul jocului este descris în fișierul res/layout/main.xml. Descrierea interfeței poate fi editată ca XML sau ca interfață redată. Pentru a comuta, utilizați filele din partea de jos a zonei de afișare a conținutului.

De obicei, controalele sunt conținute într-un container, în cazul nostru un LinearLayout. Aranjează toate elementele într-o singură coloană.

Resurse

Rețineți că toate etichetele text (android:text) preiau date din resurse. De exemplu, intrarea android:text="@string/main_title" specifică că textul trebuie căutat în fișierul res/values/string.xml într-un nod numit main_title (Android Sudoku). Culoarea de fundal este, de asemenea, conținută în resurse (android:background="@color/background"), dar în fișierul color.xml (#3500ffff). Poate apărea o eroare la deschiderea fișierelor de resurse în editor. Dar puteți trece oricând la afișarea XML.

Controalele care trebuie accesate din cod trebuie să aibă un ID. Butoanele au un ID (android:id="@+id/continue_button"), astfel încât un handler de clic poate fi atașat butonului. Semnul plus indică faptul că trebuie să creați un identificator pentru butonul din fișierul /gen/org.example.sudoku/R.java (public static final int continue_button=0x7f0b000b;). Acest fișier este generat automat și nu se recomandă modificarea acestuia. Fișierul conține clasa R, prin care puteți accesa orice element de interfață și alte resurse.

Crearea Windows

Să luăm în considerare crearea unei ferestre cu informații despre program. Aspectul acestei ferestre este în fișierul /res/layout/about.xml. Clasa Activitate este descrisă în fișierul /src/org.example.sudoku/About.java. Activitatea este asociată cu marcajul în fișierul AndroidManifest.xml. Acest fișier poate fi vizualizat fie printr-un editor, fie ca XML. Puteți selecta diferite secțiuni ale fișierului în diferite file ale editorului. Secțiunea Aplicație conține parametrii de activitate. Rețineți că parametrul Theme este :style/Theme.Dialog. Acest lucru face ca stilul ferestrei să fie mai mult ca un dialog modal.

Fereastra cu informații despre program este deschisă din clasa Sudoku făcând clic pe butonul Despre. Clasa Sudoku este scrisă astfel încât să se ocupe de evenimentul Click în sine (clasa publică Sudoku extinde Activity implementează OnClickListener). Metoda public void onClick(View v) determină ce buton a declanșat evenimentul și execută codul corespunzător. Pentru a afișa fereastra Despre, este apelată Intenția corespunzătoare.
case R.id.about_button:
Intent i = new Intent(this, About.class);
startActivity(i);
pauză;

Gestionarele de evenimente pot fi instalate și pe anumite controale. De exemplu, în clasa Keypad, atunci când clasa este creată, handlerele pentru butoanele individuale sunt instalate în metoda setListeners().

Dialog simplu

Utilizatorului ar trebui să i se ofere posibilitatea de a alege nivelul de dificultate. Acesta este un mic dialog în care trebuie să alegeți una dintre mai multe opțiuni. Sunt foarte bucuros că nu trebuie să creați o intenție separată pentru aceasta, ci doar să utilizați clasa AlertDialog.
Să ne uităm la procesul de pornire a unui nou joc. Utilizatorul face clic pe butonul Joc nou. Managerul de clicuri este o metodă a clasei Sudoku - onClick. Apoi, este apelată metoda openNewGameDialog, care afișează dialogul de selectare a dificultatii și începe jocul cu nivelul de dificultate selectat. Acest dialog este construit folosind clasa AlertDialog.

Private void openNewGameDialog() ( nou AlertDialog.Builder(this).setTitle(R.string.new_game_title).setItems(R.array.difficulty, new DialogInterface.OnClickListener() (public void onClick(DialogInterface dialoginterface, int i) (startGame (eu arat(); )

Vă rugăm să rețineți că conținutul dialogului (un set de butoane) este construit dintr-o matrice de șiruri R.array.difficulty. Este atribuit imediat un handler de clic pe butonul de dialog, care, pe baza numărului butonului apăsat, începe un joc nou cu un anumit nivel de dificultate apelând metoda startGame.

Arte grafice

Clasa Joc este responsabilă pentru logica jocului. Aici sarcinile sunt încărcate și condițiile de câștig sunt verificate. Clasa Joc este o Activitate, dar interfața nu este descrisă în XML, ci este creată prin cod. Metoda onCreate creează o vizualizare:

PuzzleView = nou PuzzleView(aceasta);
setContentView(puzzleView);
puzzleView.requestFocus();

PazzleView este o clasă derivată din View, desenează terenul de joc și procesează evenimentele de atingere a ecranului (metoda onTouchEvent) și apăsările de taste (metoda onKeyDown).

Să ne uităm la procesul de desen în Android. Pentru a desena, trebuie să supraîncărcați metoda onDraw. Metoda primește obiectul Canvas prin care se realizează desenul. Pentru a seta culori, sunt create obiecte din clasa Paint. Culoarea este specificată în format ARGB. Este mai bine să stocați culoarea ca resurse (fișier colors.xml). Vopseaua nu este doar o clasă pentru stocarea informațiilor despre culoare. De exemplu, atunci când desenați text, acesta conține informații despre metoda de umbrire, font și alinierea textului.

Canvas conține un set de metode pentru desenarea graficelor (drawRect, drawLine, drawPath, drawText și altele).

Pentru a optimiza grafica, este mai bine să vă abțineți de la crearea de obiecte și calcule inutile în cadrul metodei onDraw (exemplul considerat de implementare grafică nu este optim).

Muzică

Clasa MediaPlayer este folosită pentru a reda muzică. Muzica pentru joc a fost adăugată la resurse. Trebuie doar să copiați fișierele necesare în folderul /res/raw (formate WAV, AAC, MP3, WMA, AMR, OGG, MIDI).
Mai întâi trebuie să creați o instanță a clasei MediaPlayer:
mp = MediaPlayer.create(context, resursă);
aici contextul este de obicei clasa care inițiază lansarea muzicii, resursa este identificatorul resursei cu muzica. Pentru a controla redarea, utilizați metodele de pornire, oprire și eliberare.

În joc, muzica este redată în meniul principal (lansat din clasa Sudoku) și în joc (lansat din clasa Joc). Clasa de muzică a fost creată pentru a controla redarea. Clasa conține o instanță statică a MediaPlayer, care elimină necesitatea de a crea un proiect separat pentru fiecare lansare a resursei audio.

În clasele Sudoku și Game, metodele onResume și onPause sunt suprascrise, în care muzica începe când începe Activitatea și se oprește când este dezactivată.

concluzii

Exemplul discutat în articol nu este prea complicat, ceea ce vă permite să îl înțelegeți fără prea mult efort. În același timp, atinge diverse aspecte ale dezvoltării Android.

P.S. Multumesc mult utilizatorului

Cum se creează o aplicație mobilă în Android Studio

Android Studio este un mediu de dezvoltare integrat (IDE) bazat pe IntelliJ IDEA, pe care Google îl numește IDE oficial pentru aplicațiile Android.

Acest manual descrie dezvoltare de aplicații Android:

  • Navigați între fișiere folosind File Explorer
  • Instalarea fișierului AndroidManifest.xml
  • Importarea fișierelor într-un proiect
  • Editor avansat de aspect cu funcție de previzualizare dinamică
  • Utilizarea Logcat și Android Monitor pentru a depana aplicațiile

Noțiuni introductive în Android Studio

Lansați Android Studio, într-o fereastră Expertul de configurare Android Studio Selectați Începeți un nou proiect Android Studio(începe un nou proiect).

La fereastră Creați un nou proiect Selectați Numele aplicatiei(numele aplicației) ca Fortune Ball, introduceți domeniul companiei; în câmp Locația proiectului selectați locația în care va fi salvată aplicația. Clic Următorul.

Există o fereastră în fața ta Vizați dispozitivele Android. Selectați Telefon și tabletă. În câmp SDK minim te rog sa indici API 15. Clic Următorul.

La fereastră Adăugați o activitate pe mobil Selectați Activitate de bază. Evaluați toate opțiunile, această fereastră oferă o privire de ansamblu asupra layout-urilor disponibile.

Clic Următorul.

La fereastră Personalizați activitatea, a cărei captură de ecran este postată mai jos, puteți modifica Numele activității(numele activității), Nume aspect(numele aspectului), Titlu(nume comun) și Meniu Nume resursă(numele meniului de resurse). Lăsați valorile implicite și faceți clic finalizarea.

După câteva secunde va apărea următoarea fereastră:

Aceeași fereastră va apărea pe dispozitiv sau emulator. Emulatorul funcționează ca un dispozitiv și va dura ceva timp pentru a se încărca.

Aceasta este deja o aplicație. Îi lipsesc multe, dar acum poate trece la pasul următor.

Proiect și structura fișierului

Fereastra arată fișierele de proiect.

Meniul drop-down (captura de ecran de mai jos) are mai multe filtre pentru fișiere. Principalele sunt Project și Android.

Filtrul Proiect va afișa toate modulele aplicației - fiecare proiect conține cel puțin un modul. Alte tipuri de module includ module din biblioteci terțe sau module din alte aplicații Android (cum ar fi aplicațiile Android Wear, Android TV). Fiecare modul are propriul set de caracteristici, inclusiv un fișier gradle, resurse și fișiere sursă (fișiere java).

Notă. Dacă proiectul nu este deschis, faceți clic pe fila Proiect din partea stângă a panoului, așa cum se arată în captura de ecran. În mod implicit, este instalat filtrul Android, care grupează fișierele după tip specific. La nivelul superior veți vedea următoarele foldere:

  • se manifestă
  • Scripturi Gradle

Următoarele secțiuni descriu fiecare dintre aceste foldere în detaliu, începând cu manifeste.

Prezentare generală a AndroidManifest.xml

Fiecare aplicație Android are un fișier AndroidManifest.xml, care se află în folderul manifests. Acest fișier XML spune sistemului dumneavoastră despre cerințele aplicației. Prezența acestui fișier este obligatorie, deoarece este ceea ce permite sistemului Android să creeze o aplicație.

Deschideți folderul manifeste și AndroidManifest.xml. Faceți dublu clic se va deschide fișierul.

Etichetele manifest și aplicație sunt necesare pentru manifest și apar o singură dată.

Fiecare etichetă definește, de asemenea, un set de atribute, împreună cu numele elementului. De exemplu, unele atribute din aplicație ar putea fi astfel:

android:pictogramă, android:etichetă și android:temă

Printre altele, pot apărea în manifest următoarele:

  • uses-permission: Solicită o permisiune specială care este acordată aplicației pentru a funcționa corect. De exemplu, o aplicație trebuie să ceară utilizatorului permisiunea de a accesa rețeaua - în cazul în care adăugați permisiunea android.permission.INTERNET.
  • activitate: Raportează o activitate care este parțial responsabilă pentru interfața de utilizare vizuală și logica. Orice activitate care este furnizată în aplicație trebuie adăugată la manifest - sistemul nu va observa o activitate nemarcată și nu va fi afișată în aplicație.
  • serviciu: adaugă un serviciu pe care intenționați să îl utilizați pentru a implementa operațiuni de lungă durată sau comunicații API avansate cu alte aplicații. Un exemplu în acest caz ar fi un apel de rețea prin care o aplicație primește date. Spre deosebire de activități, serviciile nu au interfețe cu utilizatorul.
  • receptor: Cu un receptor de mesaje difuzate, o aplicație primește semnale despre mesaje de sistem sau mesaje de la alte aplicații, chiar și atunci când alte componente ale aplicației nu rulează. Un exemplu de astfel de situație este o baterie cu un nivel de încărcare scăzut și sistemul de operare care anunță despre aceasta.

O listă completă de etichete poate fi găsită în fișierul manifest de pe site-ul pentru dezvoltatori Android.

Setări pentru fișierul manifest

Adăugați următorul atribut la activitate:

android:screenOrientation=”portret”. pentru a limita ecranul doar la modul portret. Dacă acest lucru nu se face, ecranul, în funcție de locația dispozitivului, va fi în modul peisaj sau portret. După adăugarea atributului, fișierul manifest va arăta ca captura de ecran.

Creați și rulați aplicația. Dacă testați pe dispozitivul dvs., întoarceți-l, asigurați-vă că ecranul nu trece în modul peisaj dacă ați limitat această capacitate în fișierul AndroidManifest.

Prezentare generală a gradelor

Să trecem la Gradle. Gradle transformă un proiect Android într-un APK instalabil care poate fi instalat pe dispozitive. Fișierul build.gradle este prezent în scripturile Gradle, la două niveluri: modul și proiect.

Deschideți fișierul build.gradle (Modul:app). Veți vedea instalarea implicită a gradle:

aplicați pluginul: "com.android.application" android (compileSdkVersion 25buildToolsVersion "25.0.2"defaultConfig (applicationId "com.raywenderlich.fortuneball"minSdkVersion 15targetSdkVersion 25versionCode 1versionName "1.0"testInstrument.Junner.Runner)testInstrument. buildTypes (lansare (minifyEnabled falseproguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro")))) dependențe (compilați fileTree(dir: "libs", includ: ["*.jar"])androidTestCompile( „ com.android.support.test.espresso:espresso-core:2.2.2”, (excludeți grupul: „com.android.support”, modul: „support-annotations”)) compilați „com.android.support:appcompat - v7:25.1.0"compilare "com.android.support:design:25.1.0"testCompile "junit:junit:4.12")

Să ne uităm la principalele componente:

  • aplicați pluginul: „com.android.application” aplică pluginul Android la nivel de părinte și pune la dispoziție sarcinile de nivel superior necesare pentru a construi aplicația.
  • Lângă secțiunea Android(…) sunt opțiuni de setări, cum ar fi targetSdkVersion. SDK-ul țintă pentru aplicația dvs. ar trebui să fie la cel mai recent nivel API. O altă componentă importantă este minSDKVersion (definește versiunea SDK minimă care trebuie instalată pe dispozitiv pentru ca aplicația să poată rula). De exemplu, dacă versiunea SDK este 14, atunci aplicația nu va putea rula pe acel dispozitiv, deoarece în acest caz particular versiunea minimă acceptată este 15.
  • Ultima componentă este dependențele (...). Este necesar să rețineți că compilați „com.android.support:appcompat-v7:VERSION” și compilați „com.android.support:design:VERSION”. Acestea oferă suport și compatibilitate cu caracteristicile API-urilor noi și vechi.

Pe lângă bibliotecile de compatibilitate cu Android, puteți adăuga biblioteci terță parte la componenta dependențe(...) Biblioteca de animații, de exemplu, conține efecte de interfață. Găsiți dependențe, apoi adăugați următoarele două rânduri în jos:

dependențe ( ... compilați „com.daimajia.easing:library:2.0@aar” compilați „com.daimajia.androidanimations:library:2.2@aar”)

Aici puteți adăuga dependențe de la terți. Bibliotecile sunt descărcate automat și integrate în Android Studio. Faceți clic pe Sincronizare acum pentru a integra aceste dependențe în aplicația dvs.

Sincronizarea durează câteva secunde. Actualizările Gradle apar în fila Mesaje din panoul de jos.

Acestea sunt toate setările de care veți avea nevoie în Gradle pentru moment. Astfel de manipulări vor adăuga animație aplicației.

Importul fișierelor

La dezvoltarea unei aplicații Android, este importantă integrarea cu alte resurse: imagini, fonturi personalizate, sunete, videoclipuri etc. Aceste resurse sunt importate în Android Studio și plasate în folderele corespunzătoare, ceea ce permite sistemului de operare să selecteze resursele corecte pentru aplicarea. Aplicația noastră Fortune Ball va trebui să importe imagini în folderele desenabile. Aceste foldere pot conține imagini sau fișiere speciale XML desenabile (adică puteți desena forme folosind cod XML și le puteți utiliza în machetele dvs.).

În Android Studio, treceți de la Android la Project

Deschideți folderul res (aplicație > src > principal). Faceți clic dreapta pe folderul res, selectați Nou > Director de resurse Android.

Va apărea o fereastră numită New Resource Directory.

Din lista derulantă Tip de resurse, selectați opțiunea care poate fi desenată. În lista de calificative disponibile, selectați Densitate, apoi faceți clic pe butonul care este evidențiat în captură de ecran.

În fereastra următoare, selectați XX-High Density din lista Density. Faceți clic pe OK.

Repetați totul pentru a crea foldere drawable-xhdpi, drawable-hdpi și drawable-mdpi. Selectați X-High, densitate mare și respectiv medie din lista Densitate.

Fiecare folder care are un identificator de densitate (adică xxhdpi, xhdpi, hdpi) conține imagini care sunt asociate cu o anumită densitate sau rezoluție. De exemplu, folderul drawable-xxhdpi conține o imagine de înaltă densitate, ceea ce înseamnă că un dispozitiv Android cu un ecran de înaltă rezoluție va desena imaginea din acest folder. Imaginea va arăta bine pe toate dispozitivele Android, indiferent de calitatea ecranului. Mai multe informații despre densitatea ecranului pot fi găsite în documentația Android.

După ce ați creat toate folderele „desenate”, puteți reveni la conținutul dezarhivat din folder și puteți copia (cmd + C) imaginea din fiecare folder și plasați (cmd + V) în folderul Android Studio corespunzător.

După ce ați plasat fișierele, veți vedea fereastra Copiere. Selectați OK.

Vizualizare XML și previzualizări dinamice ale aspectului

Crearea unui aspect cu care utilizatorii să poată interacționa este o parte importantă a procesului. În Android Studio, acest lucru se poate face în editorul de aspect. Deschide content_main.xml din res/layout. În fila Design puteți muta elemente de interfață (butoane, câmpuri de text).

În dreapta Designului există o filă Text care vă permite să editați XML direct în aspect.

Înainte de a crea aspectul, trebuie să definiți câteva valori. Deschideți strings.xml în fila res/values ​​și adăugați următoarele:

Sugerați întrebarea, la care puteți răspunde „da” sau „nu”, apoi faceți clic pe bila magică.

strings.xml conține toate șirurile care apar în aplicație. Separarea acestor linii în fișiere separate face internaționalizarea mai ușoară deoarece Aveți nevoie doar de un fișier șir pentru fiecare limbă necesară în aplicație. Chiar dacă nu intenționați să traduceți aplicația dvs. în alte limbi, este întotdeauna recomandată utilizarea unui fișier șir.

Deschideți dimens.xml în res/values ​​și adăugați următoarele:

15sp20sp

dimens.xml conține valori dimensionale, intervale limită pentru machete, dimensiunea textului etc. Este recomandat să salvați aceste date într-un fișier, astfel încât să poată fi folosite pentru a crea machete în viitor.

Reveniți la content_main.xml și înlocuiți întregul conținut al fișierului cu următorul cod:

Acest cod destul de mare creează un aspect pentru o aplicație numită FortuneBall. La nivelul superior ați adăugat un RelativeLayout (dispunerea relativă definește poziția componentelor secundare față de componenta părinte). RelativeLayout poate fi extins pentru a se potrivi cu dimensiunea componentei părinte.

Markup relativ adaugă două bucăți de text, o imagine și un buton. Toate aceste detalii vor fi vizibile în ordinea în care au fost adăugate. Conținutul lor poate fi citit în strings.xml (text) și desenabile (imagini).

În timp ce actualizați content_main.xml, observați că fereastra de previzualizare actualizează interfața de utilizare:

Notă: dacă fereastra de previzualizare nu este vizibilă, în fila Text, faceți clic pe butonul Previzualizare din panoul editorului de markup din dreapta.

Creați și lansați.

Și acum ați creat aspectul aplicației. Dar în acest stadiu este doar o imagine drăguță - făcând clic pe buton nu va duce la nimic.

Combinând Activitate și Vizualizare

Puteți utiliza fișiere java situate în app/src/main/java pentru a stabili conexiuni logice în aplicație.

Deschideți MainActivity.java și adăugați aceste date sub cele existente:

Import java.util.Random;import android.view.View;import android.widget.Button;import android.widget.ImageView;import android.widget.TextView; import com.daimajia.androidanimations.library.Techniques;import com.daimajia.androidanimations.library.YoYo;

Primele cinci importuri indică clasele corespunzătoare din codul dvs.: Random, View, Button, ImageView și TextView. Următoarele două importuri indică faptul că veți folosi două clase din biblioteci, inclusiv. build.gradle pentru animații. În MainActivity.java, în clasa MainActivity, adăugați:

String fortuneList = ("Nu conta pe el","Întreabă din nou mai târziu","Te poți baza pe ea","Fără îndoială","Perspectiva nu prea bună","Este hotărât așa","Semne indicați către yes","Da cu siguranță","Da","Sursele mele spun NU"); TextView mFortuneText;Button mGenerateFortuneButton;ImageView mFortuneBallImage;

În această scurtă bucată de cod ați setat 4 variabile pentru activitate. Primele sunt liniile care definesc stările posibile, celelalte trei sunt elementele UI pe care le-ați creat în aspect/markup.

Acum înlocuiți conținutul metodei onCreate() cu următoarele:

// 1:super.onCreate(savedInstanceState);// 2:setContentView(R.layout.activity_main);Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);setSupportActionBar(toolbar);// 3:mFortuneText = (TextView) findViewById(R.id.fortuneText);mFortuneBallImage = (ImageView) findViewById(R.id.fortunateImage);mGenerateFortuneButton = ( Buton) findViewById(R.id.fortuneButton); // 4:mGenerateFortuneButton.setOnClickListener (nou Vedere.OnClickListener() (@Overridepublic void onClick( Vedere vizualizare) (// 5:int index = nou Aleatoriu().nextInt(fortuneList.length);mFortuneText.setText(fortuneList);// 6:YoYo.with(Techniques.Swing).duration(500).playOn(mFortuneBallImage);)));

  • Verificați dacă activitatea este gata (implementare superclasă).
  • Specificați că aspectul pentru această activitate este reprezentat de aspectul pe care l-ați creat mai devreme, verificați bara de instrumente.
  • Completați valorile celor trei variabile pe care le-ați creat mai devreme în componentele vizualizărilor aspectului folosind metoda findViewById. Valoarea id este aceeași ca și în aspectul XML.
  • Adăugați un OnClickListener pe buton. Aceasta este o clasă simplă care încapsulează (pachetează) funcționalitatea pe care o apelează un clic pe buton.
  • Selectați o opțiune personalizată din FortuneList pentru această aplicație și actualizați textul fortune pentru a-l afișa.
  • Utilizați o bibliotecă terță parte pentru a adăuga dependența la fișierul gradle și, astfel, adăugați animație la aplicație.

Este aproape gata. Dar trebuie să eliminați butonul plutitor. Accesați res/layout și deschideți activity_main.xml.

Acest fișier de aspect conține un link către content_main.xml pe care l-ați editat anterior. Acesta definește conținutul în mod implicit (bara de instrumente și buton de acțiune plutitor). Cu toate acestea, în această aplicație specială (Fortune Ball), nu este necesar un buton plutitor. Prin urmare, eliminați următorul bloc de cod din fișierul xml:

Nu mai există un buton plutitor în colțul din dreapta jos.

Pune o întrebare (Care este averea mea?) - apasă butonul. Verificați aplicația.

Monitor Android

Android Studio conține o mare varietate de instrumente. Deschideți fila Android Monitor din partea de jos a ferestrei Android Studio.

Aici veți găsi multe opțiuni pentru dezvoltator.

  • Camera și butonul de redare din stânga vă permit să faceți capturi de ecran și să înregistrați videoclipuri.
  • Lupa deschide o serie de opțiuni suplimentare, cum ar fi analiza memoriei aplicației.
  • Layout Inspector oferă o interfață vizuală care determină de ce interfața unei aplicații arată într-un anumit fel.

LogCat oferă o imagine de ansamblu detaliată a mesajelor de sistem cu posibilitatea de a detalia datele specifice aplicației sau chiar de a utiliza bara de căutare pentru a filtra mesajele dacă acestea nu conțin caractere specifice.

Asigurați-vă că ați selectat Afișați numai aplicația selectată în colțul din dreapta sus, așa cum se arată în captura de ecran de mai sus. Acum vor fi vizibile doar mesajele aplicației dvs.

În MainActivity.java, adăugați următoarele la lista dvs. de importuri:

Import android.util.Log;

La sfârșitul onCreate() în MainActivity.java adăugați următoarea linie:

Log.v("Eticheta aplicației FORTUNE","onCreateCalled");

Log.v apelează doi parametri - etichetă și mesaj. În acest caz, eticheta este definită ca „Eticheta aplicației FORTUNE”, iar mesajul este definit ca „onCreateCalled”.

Rulați aplicația pentru a vedea mesajul de jurnal în panoul Logcat.

Filtrați conținutul LogCat, introduceți onCreateCalled în bara de căutare de deasupra consolei:

Apoi ștergeți textul de căutare pentru a vedea din nou toate mesajele din jurnal.

O altă caracteristică utilă este logcat, care este capacitatea de a vizualiza mesaje de eroare. Adăugați un bug la aplicația dvs. perfect funcțională pentru a vedea cum funcționează lucrurile.

Accesați MainActivity.java și modificați următoarea linie în onCreate():

//mFortuneText = (TextView) findViewById(R.id.fortuneText);

Lansați aplicația. Faceți clic pe butonul Care este averea mea? Nu funcționează!

Cum ați remedia eroarea dacă nu ați ști că există o eroare? Logcat vă va ajuta în acest sens.

Accesați panoul Logcat - arată cam așa:

Există o mulțime de text roșu aici. În acest caz, problema este linia 50 din fișierul MainActivity.java. LogCat a transformat acest link într-un hyperlink albastru. Dacă apăsați, puteți afla care este problema.

Schimbând mFortuneText = (TextView) findViewById(R.id.fortuneText), ați creat o variabilă, dar nu i-ați specificat valoarea - de unde și excepția pointerului nul. Reveniți și schimbați codul, rulați aplicația. De data aceasta totul funcționează fără probleme. Logcat este un instrument util pentru găsirea erorilor.

Distribuie acest articol:

Articole similare

Vă îndoiți că merită să investiți în dezvoltarea de aplicații mobile? O poți face singur și absolut gratuit. Este posibil să obțineți o versiune de testare care poate fi utilizată pentru a evalua convenabil eficacitatea strategiei dvs. mobile. Și dacă încerci, vei realiza o aplicație mobilă decentă care va deveni principalul instrument de interacțiune online cu proprietarii de smartphone-uri și tablete.

Merită să-ți faci propria aplicație mobilă?

Cheltuieli. Dacă nu mă credeți pe cuvânt, iată câteva fapte:

  • Potrivit Flurry Analytics și comScore, proprietarii de smartphone-uri și tablete folosesc browserul doar 14% din timpul total în care lucrează cu dispozitivul. Și își petrec 86% din timp pe diferite aplicații.
  • Aplicația instalată este canalul dumneavoastră direct de comunicare cu consumatorul. Gândiți-vă doar: nu trebuie să cheltuiți bani pe publicitate sau să așteptați ca o persoană să vă găsească folosind Yandex. Tot ce rămâne este să susțină funcționalitatea de care are nevoie utilizatorul și să îi ofere conținut relevant.
  • Numărul de achiziții efectuate folosind tablete și smartphone-uri este în creștere atât pe Internet în general, cât și în RuNet. Potrivit agenției de marketing Criteo, deja în 2016, mai mult de jumătate din tranzacțiile online din RuNet se vor face folosind dispozitive mobile.

Dacă doriți, aplicația este un browser mobil în care se deschide doar site-ul dvs. În ce caz ar instala un utilizator un astfel de browser de internet? Doar dacă este interesat de produsul sau informațiile dvs. Prin urmare, rețineți: clientul care a instalat aplicația este un reprezentant loial și gata de cumpărat al publicului țintă.

În acest caz, merită să vă asumați riscul și să oferiți aplicații DIY clienților fideli, mai degrabă decât programe personalizate realizate de profesioniști pentru Android și iOS? Să ne dăm seama.

Când poți crea singur o aplicație?

Îți amintești de ce au nevoie vizitatorii site-ului? Ele vin din cauza conținutului sau funcționalității resursei. Oamenii vor să se informeze, să cumpere ceva, să se uite și să comenteze fotografiile prietenilor și așa mai departe. Utilizatorii de aplicații mobile au nevoie de același lucru. Ei caută informații sau fac un fel de tranzacție.

Îți amintești când o companie își putea face un site web singură? Este corect atunci când nu ai încă bani să colaborezi cu profesioniști, dar mai ai timp și dorința de a descoperi WordPress sau Joomla. Aceeași situație este și cu aplicațiile. Programele create de sine pentru iOS și Android pot fi comparate aproximativ cu site-urile web construite pe motoare open source.

Nu trebuie să vă înregistrați pentru a începe să lucrați. Faceți clic pe butonul Creați acum de pe pagina principală sau selectați meniul Creare aplicație din colțul din dreapta sus pe orice pagină a serviciului.


Selectați șablonul de aplicație adecvat. Dacă vorbim despre un proiect de conținut, ați putea fi interesat de următoarele opțiuni:

  • Manual. Acest șablon vă permite să creați un program de ghid.
  • Blog. Aplicația va ajuta publicul dvs. de blog să citească note noi de pe ecranul unui smartphone sau tabletă.
  • Site-ul web. Șablonul transformă un site web într-o aplicație.
  • Pagini. Cu acest șablon puteți converti orice conținut într-o aplicație cu funcționalitate simplă.
  • Știri. Șablonul vă permite să creați o aplicație care este un agregator de știri din industrie sau regionale.
  • Pagină. Șablonul convertește conținutul offline, cum ar fi o carte electronică, în aplicație.
  • Pagina VK și Pagina de Facebook. Creați o aplicație care vă permite să monitorizați actualizările grupurilor deschise pe VKontakte și Facebook.
  • YouTube. Utilizați șablonul pentru a vă promova canalul YouTube.

Cum se creează o aplicație pentru blog

Utilizați șablonul Blog. În câmpul corespunzător, introduceți adresa URL a blogului sau a fluxului RSS. Selectați o culoare pentru titlul notei.


Introduceți numele aplicației.


Adăugați o descriere.


Alegeți unul standard sau adăugați o pictogramă personalizată. Dimensiunea adecvată a imaginii este de 512 x 512 pixeli.


Pentru a crea un fișier de descărcare, faceți clic pe butonul Creare aplicație. După aceasta, trebuie să vă înregistrați în sistem. Confirmați înregistrarea și accesați contul personal. Aici poți instala aplicația pe dispozitivul tău mobil, o poți publica pe Google Play și Amazon App Store. Sistemul oferă și o opțiune de monetizare. Dacă utilizați această funcție, reclamele vor fi afișate în aplicație.


Verificați cum funcționează aplicația pe dispozitivul dvs. mobil. Pe o tabletă, programul ar trebui să afișeze o listă de postări de blog în format de titlu și anunț.

În contul tău personal AppsGeyser, poți să monitorizezi numărul de instalări, să creezi notificări push, să publici aplicația în magazine, să monetizezi programul folosind publicitate și să editezi aplicația.

Utilizați editorul pentru a adăuga text, imagini, videoclipuri sau link-uri. Pentru a adăuga o fotografie în program, încărcați-o pe Imgur hosting și inserați linkul în câmpul corespunzător.


După editarea conținutului, specificați numele aplicației, adăugați o descriere și o pictogramă. Faceți clic pe butonul Creați aplicație. După crearea fișierului de descărcare, instalați-l pe dispozitivul dvs. mobil și verificați funcționalitatea acestuia.

Vă rugăm să rețineți că majoritatea dispozitivelor mobile blochează instalarea aplicațiilor din surse necunoscute în mod implicit. Dacă un utilizator descarcă un program de pe site-ul dvs. sau de pe un site de generator de aplicații, va vedea un avertisment de securitate atunci când încearcă să îl instaleze. Unii clienți vor refuza probabil să instaleze programul.


8 constructori similari cu AppsGeyser

Dacă constructorul universal AppsGeyser nu este potrivit pentru dvs., acordați atenție serviciilor similare:

  • AppsMakerStore. Folosind serviciul, puteți crea aplicații de diferite tipuri: de la programe pentru comerț electronic până la soluții pentru proiecte de conținut. Designerul realizează aplicații pentru iOS și Android. Interfața de service este rusificată. Pentru începători, există un ghid informativ pentru utilizarea constructorului. Serviciul este platit.
  • . Generator de aplicații Android gratuit. Puteți publica programele create pe Google Play și puteți genera bani cu reclame.
  • Appery. Constructor plătit pentru crearea de aplicații universale. Puteți evalua funcționalitatea acestuia profitând de o perioadă de probă gratuită de acces.
  • Bărbier bun. Folosind acest serviciu puteți dezvolta aplicații Android și iOS. Constructorul este plătit, costul de utilizare este de 16 USD pe lună.

Majoritatea serviciilor oferite au o interfață în limba engleză. Dacă nu vă simțiți confortabil să lucrați cu constructori în limba engleză, alegeți platforme cu conținut în limba rusă.

Designeri de aplicații: un topor de piatră sau un instrument modern subțire?

Nu trece de la o extremă la alta. Cu ajutorul serviciilor propuse, puteți crea cu adevărat aplicații funcționale funcționale. Programele rezultate pot fi folosite pentru a rezolva diverse probleme: de la facilitarea tranzacționării online până la distribuirea de conținut și educarea publicului. Aplicațiile create în designer pot fi publicate pe Google Play și App Store, editate și monetizate folosind reclame sau instalări plătite.

Amintiți-vă că simpla creare a unei aplicații nu este suficientă. Este necesar să investim mult efort în promovarea acestuia. Contactați-ne dacă doriți să încredințați această muncă unor profesioniști care știu exact ce trebuie făcut pentru a atrage noi utilizatori.

Nu supraestimați serviciile oferite. Dezavantajul lor evident rămâne natura lor stereotipată. Vorbim atât despre designul, cât și despre funcționalitatea programelor. În plus, accesul la platforme cu funcționalitate decentă este plătit. Ce este mai bine: să plătiți dezvoltatorii pentru munca lor o dată sau să plătiți proprietarii designerului pentru mulți ani? Fă calculul pentru tine.

Și încă un lucru: dacă nu aveți timp să vă creați o aplicație mobilă, contactați compania noastră. Dezvoltăm aplicații mobile și .

Contactaţi-ne Să discutăm? Comandați o consultație gratuită

În fiecare an, sistemul de operare Android devine nu numai un sistem de operare potrivit pentru utilizatorii obișnuiți, ci și o platformă puternică pentru dezvoltatori. Ei bine, ce poți face: Google se întâlnește întotdeauna cu dezvoltatorii la jumătatea drumului, oferind oportunități ample și instrumente puternice, asezonate cu documentație informativă.
În plus, nu trebuie să pierdeți din vedere faptul că „robotul verde” este liderul în popularitate în rândul sistemelor de operare mobile. Acest lucru sugerează că prin programarea pentru Android, veți avea un public larg, care ulterior poate aduce profit. În general, Android este un fel de „oază” pentru dezvoltatori. Prin urmare, am pregătit pentru dvs. o selecție specială de limbaje de programare, precum și medii de dezvoltare pentru acest sistem de operare.
Atentie, un mic sfat pentru incepatori
: Programarea Android poate părea dificilă sau prea monotonă la început. Sfat: Consultați linkurile către documentație utilă înainte de a începe, iar apoi programarea pe Android nu va fi o problemă pentru dvs.

Java este instrumentul principal pentru dezvoltatorii Android

Medii de dezvoltare: Android Studio (IntelliJ IDEA), plugin Eclipse + ADT
Potrivit pentru gamă largă de sarcini
Java este limbajul principal pentru programatorii Android, un must-have pentru începători. Codul sursă principal Android este scris în această limbă, așa că este ușor de înțeles de ce majoritatea oamenilor aleg această limbă. Aplicațiile scrise în Java rulează pe Android folosind mașina virtuală ART (sau Dalvik în Jelly Bean și versiunile anterioare de Android), un analog al mașinii virtuale Java, pentru care Google are o luptă legală serioasă cu Oracle.

În prezent, Google acceptă oficial mediul de dezvoltare Android Studio destul de puternic, care este construit pe Intellij IDEA de la JetBrains. De asemenea, nu uitați de documentația foarte detaliată de la Google, care acoperă totul, de la match_parent și wrap_content până la constructori, constante și metode principale ale clasei JavaHttpConnection - merită cu siguranță citit.

De asemenea, nu uitați de Eclipse, un mediu foarte popular pentru programatorii Java. Cu pluginul oficial ADT de la Google, acest set de instrumente va deveni o armă puternică și ușoară în mâinile tale. Dar băieții de la Mountain View au încetat să mai susțină Eclipse încă din vara trecută, dând loc noului Android Studio. Recomandat pentru utilizare pe computere slabe.

Documentatia necesara:

C++ este un instrument puternic în mâinile unui maestru

Principalele medii de dezvoltare: Android Studio (versiunea 1.3 și o versiune ulterioară), Visual Studio 2015, QtCreator
Potrivit pentru motoare de joc și aplicații care necesită mult resurse.
C++ este un limbaj de programare de vârstă mijlocie, dar foarte puternic, care și-a sărbătorit a treizecea aniversare anul trecut. A fost inventat în 1985 datorită eforturilor prietenului Björn Stroustrup și încă ocupă pozițiile de vârf ale celor mai populare limbaje de programare. „Pro” vă oferă libertate completă de acțiune, limitându-vă doar la ceea ce este rezonabil.


De-a lungul întregii existențe a Androidului, au fost create multe cadre și instrumente de dezvoltare pentru C++. Aș dori în special să subliniez binecunoscutele Qt și IDE QtCreator, care vă permit să dezvoltați aplicații cross-platform pentru Windows, Windows Phone, Windows RT, iOS, SailfishOS și Android (odată ce această listă includea și Symbian). În plus, obțineți o bibliotecă Tulip convenabilă de containere, algoritmi și șabloane, care absoarbe tot ce este mai bun din Java și Android. Și, în sfârșit, obțineți multe module QT diferite pentru lucru la nivel înalt și la nivel scăzut cu sistemul. Umilul tău servitor codifică în mod specific în C++ și Qt.

Anul trecut, la conferința Windows: The Next Champter, s-a acordat o atenție largă mediului de dezvoltare destul de popular Visual Studio 2015. Una dintre principalele inovații a fost suportul pentru dezvoltarea de aplicații atât pentru Windows Phone, cât și pentru Android - Microsoft a încercat să crească cumva numărul de aplicații pentru sistemul dvs. de operare.

De asemenea, este imposibil să nu menționăm că Android Studio oficial a început să accepte NDK. Cu ajutorul NDK, puteți utiliza grafica OpenGL atunci când lucrați cu Android. Dacă aveți nevoie de viteză și eficiență - alegeți NDK! Această metodă de dezvoltare este perfectă pentru motoarele de jocuri care necesită performanțe ridicate.

Dezvoltarea Android în C sau C++ poate părea mai simplă decât în ​​Java, dar în ciuda faptului că limbajul vă oferă libertate deplină de acțiune și nu vă limitează în pași, are câteva caracteristici specifice care va dura mult timp pentru a învăța - nu fără motiv C++ a fost comparat cu nunchuck-uri (o armă excelentă care, din păcate, necesită o mare îndemânare). Cu toate acestea, dezvoltarea aplicațiilor Android în C și C++ poate fi distractivă.

Documentatia necesara:

Alte limbi

Acum este momentul să vorbim despre alte limbi și cadre mai puțin populare, dar și interesante pentru ei. Cu toate acestea, din multe motive, nu veți avea la fel de succes ca și cu Java și C++.

Corona (script LUA)


Potrivit pentru crearea de jocuri și aplicații simple
Dacă dintr-un motiv oarecare nu doriți să învățați Java sau să înțelegeți construirea unei interfețe prin XML, atunci puteți alege acest IDE pentru dvs. Corona este un mediu de dezvoltare destul de ușor, codul în care trebuie scris într-un LUA destul de ușor (iubitorii de Pascal îl vor aprecia).

Acest set de instrumente vă va ajuta să scrieți jocuri 2D simple, pentru care există biblioteci pentru obiecte 2D, sunete, rețea și motor de joc. Jocurile create funcționează cu OpenGL, ceea ce înseamnă eficiență ridicată. Excelent pentru începători, poate că aici poți crea prima ta aplicație mobilă pe Android!


Documentatia necesara:

Adobe PhoneGap (HTML5, JavaScript, CSS)


Potrivit pentru crearea de aplicații care nu necesită un consum mare de resurse
Dacă sunteți deja familiarizat cu HTML, CSS și JavaScript, puteți încerca PhoneGap ca alternativă. Acest IDE vă va permite să construiți aplicații cu drepturi depline dezvoltate în limbajele de programare și de marcare menționate mai sus.

De fapt, aplicațiile gata făcute de la PhoneGap sunt cele mai simple WebViews, animate folosind JavaScript. Folosind diverse API-uri, puteți utiliza diverse funcționalități ale dispozitivului, la fel ca în aplicațiile native. Ceea ce este interesant este că aplicațiile sunt compilate pe server și apoi disponibile pentru utilizare pe iOS, Android, Windows Phone, Web OS și BlackBerry OS. Cu o astfel de funcționalitate multiplatformă largă, dezvoltarea aplicațiilor se poate accelera semnificativ.


Documentatia necesara:

Fuse (JavaScript și UX)


Potrivit pentru creând atât aplicații simple, cât și complexe
Când oamenii vorbesc despre instrumentele de dezvoltare Android, se gândesc adesea la Fuse. Acest instrument este unul dintre cele mai ușor de utilizat de acest gen și poate prezenta dezvoltatorului o gamă largă de posibilități și beneficii.

Logica principală a aplicațiilor Fuse este construită pe JavaScript - un limbaj simplu și ușor de înțeles, cu un prag de intrare scăzut. Fundația interfeței este reprezentată de marcajul UX - ușor de înțeles pentru toată lumea. Ei bine, „chilele” mediului vă vor permite să aplicați modificări direct în timp ce aplicația rulează pe dispozitivul sau emulator - la fel ca în Android Studio 2.0 și o versiune ulterioară. Cu Fuse, dezvoltarea aplicației Android poate fi ușoară și plăcută.

Documentatia necesara:

Cuvintele „spre final”

Desigur, nu v-am arătat toate instrumentele de dezvoltare existente în prezent. Prin acest articol am vrut să vă explicăm că a deveni un dezvoltator Android nu este atât de dificil, deși de multe ori necesită efort și perseverență. Lumea dezvoltării pentru platformele mobile vă este deschisă, dar rețineți: primul pas este întotdeauna al tău.

Sistemul de operare Android este instalat pe 66,71% din toate dispozitivele mobile din lume. Așa că nu este de mirare că mulți specialiști IT începători doresc să-și realizeze ambițiile pe această platformă.

Cel mai recent, pe GeekBrains, am atins platformele mobile, dar de data aceasta vom arunca o privire mai atentă la Android. Iată 10 limbi care vă vor permite să creați o aplicație mobilă de orice tip și complexitate:

Java

Nu ar fi prea mult o exagerare să numim Java limba oficială a Android. În orice caz, aproape toată documentația educațională, toate cursurile online se bazează pe aceasta. Este, de asemenea, cel mai popular limbaj conform TIOBE, al doilea ca număr de surse de pe GitHub și, în general, un limbaj mare și frumos. Acesta este motivul pentru care învățarea Java ar trebui să fie o prioritate de top pentru orice dezvoltator de Android. Chiar dacă nu va fi ușor (la urma urmei, limba are 22 de ani, iar ușurința nu a fost niciodată punctul său forte), chiar dacă teoretic vă puteți descurca cu limbi mai moderne, amintiți-vă - este imposibil să obțineți un succes semnificativ pe Android fără a înțelege absolut Java, ca să nu mai vorbim de codurile sursă specifice.

C#

Cu tot scepticismul nesfârșit îndreptat față de produsele Microsoft, merită să recunoaștem că C# nu merită. Acesta este un limbaj minunat care a absorbit tot ce este mai bun din Java, ținând cont și corectând multe dintre deficiențele.

Când vine vorba de dezvoltarea de aplicații Android, aveți la dispoziție unul dintre cele mai funcționale medii: Visual și Xamarin Studio. Și cunoașterea C# va fi un bonus frumos pentru tine când vei ajunge să folosești Unity 3D. Cu acest set posibilitățile sunt nesfârșite.

Piton

Doar pentru că Android nu acceptă utilizarea Python pentru a construi aplicații native nu înseamnă că nu este posibil. Fanii acestui limbaj șarpe au dezvoltat multe instrumente care vă permit să compilați codul Python în starea necesară.

Cel mai popular framework este Kivy, care vă poate ajuta cu ușurință să creați o aplicație pentru Play Market în pur Python. Și dacă nu, atunci dezvoltatorii amabili vă vor ajuta în chat. Dacă nu l-ați stăpânit încă, vă recomandăm să îl luați.

Kotlin

În textul despre, am încercat deja să explic de ce Kotlin în sine este un limbaj excelent, iar în combinație cu Java este și mai bun. Într-adevăr, lansat oficial cu doar un an în urmă, Kotlin câștigă rapid inimile dezvoltatorilor din întreaga lume, cu absența aproape completă a deficiențelor.

Cu ajutorul acestuia (mai precis, cu ajutorul mediului nativ IntelliJ IDEA), nu veți simți nicio problemă în dezvoltarea aplicațiilor native pentru Android. În același timp, cererea de specialiști Kotlin este încă scăzută, ceea ce înseamnă că, câștigând experiență de lucru cu acesta, riscați să obțineți un avantaj competitiv în viitor.

Limbi web

Set de limbi standard pentru web worker: HTML, CSS și JavaScript. Fără a cunoaște aceste 3 limbi, te vei reduce la dezvoltarea aplicațiilor cu un accent destul de restrâns. Chiar dacă nu doriți să atingeți web direct în munca dvs. viitoare, este puțin probabil să puteți evita aplicațiile hibride.

Puteți lucra cu HTML, CSS și JavaScript folosind mediul PhoneGap Build sau, într-un caz mai specializat, Adobe Cordova. Nu vor necesita prea multe cunoștințe de la tine, dar vor oferi rezultate. Sau din ultimul, React Native de la Facebook este următorul nivel de ușurință de interacțiune, dar s-a acumulat puțină experiență și documentație. În general, alegeți, din fericire există o mulțime din care să alegeți.

Lua

Un limbaj mai vechi decât Java, mult mai puțin popular, dar încă solicitat. Are o serie de avantaje, cum ar fi tastarea dinamică și sintaxă relativ simplă, dar a supraviețuit până în zilele noastre datorită implicării sale în jocuri. A fost comoditatea creării unui strat de software între motor și carcasă care a deschis ușa pentru Lua către lumea gadgeturilor de buzunar.

Corona SDK este un mediu pentru dezvoltarea aplicațiilor mobile multiplatformă, în principal jocuri, în care instrumentul principal este Lua. Din 2015, este distribuit gratuit, conceput pentru dezvoltatorii începători, plus că puteți găsi o mulțime de informații utile atât în ​​segmentul de internet în engleză, cât și în cel rusesc.

C/C++

De fapt, Google oferă dezvoltatorilor două medii de dezvoltare: SDK, care este proiectat să funcționeze cu Java și NDK, în care limbajele native sunt C/C++. Da, desigur, nu veți scrie o aplicație întreagă folosind doar aceste limbaje, dar cu ajutorul lor puteți crea o bibliotecă, pe care o puteți conecta ulterior la corpul principal al programului folosind Java.

Chiar dacă marea majoritate a dezvoltatorilor nu le pasă de NDK, folosind acest instrument veți obține rezultate mai bune în ceea ce privește performanța și utilizarea resurselor interne. Și asta este exact ceea ce pe Android distinge o idee bună de aplicație de o implementare bună.

În ce limbi scrieți?