Sunteți pe pagina 1din 14

MINISTERUL EDUCAIEI AL REPUBLICII MOLDOVA

UNIVERSITATEA TEHNIC A MOLDOVEI


FACULTATEA CALCULATOARE, INFORMATIC
I MICROELECTRONIC
CATEDRA AUTOMATIC I TEHNOLOGII INFORMAIONALE

Raport
Lucrare de laborator nr.0
Disciplina: Programarea aplicaiilor ncorporate i independente de platform
Tema: Platforma mobil
Joi.12-3.30

A efectuat:
St. gr. TI-143 Guba D.
A verificat:
Lect. asist. Gojin V.

Chiinu 2016

Coninut
Obiectivele lucrrii..........................................................................................3
Sarcina.............................................................................................................3
Primii pai n IDE Android Studio..................................................................4
Indicataii teoretice..........................................................................................6
Realizarea sarcinii.........................................................................................11
Concluzie.......................................................................................................12
Anexa 1.........................................................................................................13
Anexa 2.........................................................................................................14

Obiectivele lucrrii
Crearea unei aplicaii care va afisa un text pe ecranul dispozitivului.
2

Sarcina
1. Studierea celor 3 platforme: android, ios si windows phone.
2. Alegerea unei platforme pentru elaborarea laboratoarelor.
3. Instalarea IDE -ului pentru lucru.
4. Realizarea aplicatiei.
Descrierea lucrrii:
n cadrul laboratorului nr.0 am elaborat o aplicatie simpla pentru afisarea textului pe
ecranul dispozitivului. Pentru dezvoltarea aplicatiilor pe android am ales IDE-ul Android
Studio.
Partea de front-end ce tine de interactiunea cu utilizatorul a fost creata folosind
XML, iar back-end a fost realizat in java.

Primii pai n IDE Android Studio


Pentru a ncepe lucrul cu Android Studio avem nevoie de a crea un proiect nou. La
pornire Android Studio ne ofera un menu figura 1 n care putem gsi optiunea de a crea un
proiect nou.

Figura 1 - Meniul pentru startare


Dupa alegerea optiunei de a crea un proiect nou, apare fereastra cu configurarea
proiectului nou creat figura 2. n care trebuie s numim aplicaiea,s artm loca iea unde
va fi salvat proiectul.

Figura 2 - Configurarea proiectului


La apsarea butonului Next apare fereastra figura3 n care trebuie s alegem
dispozitivele pentru care crem aplicaia si versiunea de android. Nu se recomand de a
alege ultima versiune al sistemului de operare Android, deoarece vor fi un numar mic de
dispozitive pe care va rula aplicaia.
4

Figura 3 - Alegerea dispozitivului si a versiunei Android


Urmatorul pas pentru a opine proiectul dorit este de a denumi activitatea i fi ierul
XML(figura 4)

Figura 4 - Personalizarea aplicaiei.

Indicataii teoretice
Aplicaiile pe platforma Android pot fi dezvoltate n mediile de dezvoltare ca IntellijIdea,
Eclipse, Visual Studio mpreun cu cross-platforma Xamarin, Android Studio. O alegere
5

buna pentru a studia Android este Android Studio. Limbajul pe care este bazat Android
este Java un limbaj de nivel nnalt cu cele mai bune proprieti. n Android Studio se
folosete o tehnic numita Gradle care reprezint un sistem de construc ie a aplica iilor.
Mai jos este reprezentat Interfaa de lucru n Android Studio.

Figura 5 Interfaa Android Studio


n figura 1 putem vedea n partea stnga nsui proiectul nostru (descrierea
proiectului va urma) la dreapta ferestrei cu proiect se vede Tools n care se gasesc
(Layouts, Widgets, Text Fields etc..), n centrul este reprezentat o viziune cum va arata
aplicatia pe dispositive Android, n dreapta se afl Component Tree n care gsim
elementele care le vom ataa, mai jos vedem proprietaile acestor elemente.

Proiectul const din trei mape (manifest, java, res) vedem n figura 6:

Figura 6 Proiectul n Android Studio


n manifest regsim un fiier XML n care se descrie permisiunile aplica iei ca de
exemplu:
<uses-permission android:name="android.permission.INTERNET" />
Rndul de cod de mai sus permite aplicaiei s acceseze internetul. Se scrie nainte
de nodul application. n nodul application descriem Layout (explicaia va urma) care vom
folosi n proiect.
n mapa java gsim clasele create pentru sarcina de la laboratorul nr 1 am avut
nevoie de patru clase din care una este cea mai important MainActivity.

Mapa cu denumirea res coninea toate resursele necesare pentru dezvoltarea aplica iilor pe
platforma Android. n map putem gsi Layout-uri, values reprezint nite XML fi iere
n care se nscriu constante, stiluri folosite.

Orice aplicaie Android se incepe de la Layout. Layout reprezint ni te suprafe e


care grupeaz elementele introduse pe ea. Sunt diferite Layouts LinearLayout, Relative
Layout, Web View, Grid View etc.. mai jost sunt reprezentate grafic:
LinearLayout

RelativeLayout

Veb View

Figura 7 LinearLayout, RelativeLayout, Veb View


List View

Grid View

Figura 8 List View Grid View


Daca n fereastra cu desing ne transferm n fereastra cu text gsim tot aceea doar
sub forma XML.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context="com.example.myapplication.CameraActivity">

.
</LinearLayout>
8

Cum vedem este declarat un LinearLayout cu orientarea vertical cu diminsiunile


ecranului a dispozitivului. Tot ce ncepe n nod cu android: semnifica initializarea
proprietatilor nodului.

Figura 9 Proprieti
Adaugarea butoanelor i radio butoanelor realizam prin doua posibiliti:
1. Prin Drag and Drop adica gsim n Tools button apasm pe el cu clicul stng odat i
l depunem pe layout.
2. n desing apsm text i n nodul layout creem un nod n felul urmtor:
<Button/>
ntre <Button i /> se descrie proprietile butonului ca marimile, marginile, id, text etc.
n cazul cu altele view-uri (elemente) se procedeaz asemenea.
Toate clasele create n proiect sunt grupate logic n namespase numit n Java
package. Trecem la partea de cod, cea mai important metod este:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
Bundle este o classa care conine informaia despre lucru cu view-urile de pe
orice layout. super.onCreate(savedInstanceState) este un apel la funcia de baza de la care

deriv clasa noastr. setContentView(R.layout.main); iniializeaz layout-ul nostru pentru


formarea activity.
Pentru a face build la aplicaie acesm meniul:

Dar trebuie s avem un dispozitiv virtual. Controlm n Android Virtual Device Manager:

Figura 10 Android Virtual Device Manager

Realizarea sarcinii
1. Interfaa aplicaiei
10

Figura 11 Interfaa aplicaiei

Concluzie
Am ales sa studiez Android, deoarece este folosit pe milioane de dispozitive a cror
numr crete zilnic. n acest mod crend aplicaii sau jocuri pe acest sistem de operare
avem ocazia de a crea un buget pe baza acestor aplicaii i jocuri. Google Play ofer
aceast posibilitate, tot cu aceast ocazie dezvoltatorul poate s i creeze unele deprineri
11

i idei fa de viitorul apropiat care se va baza mai mult pe dispozitive portabile i u or de


controlat.
Android v ofer o platform de clas mondial pentru crearea de aplicaii i
jocuri pentru utilizatorii de Android de pretutindeni, precum i o pia deschis pentru
distribuirea lor instantaneu.
Android ofer un cadru de aplicaie adaptiv care v permite s ofere resurse unice
pentru diferite configuraii ale dispozitivului. De exemplu, putei crea diferite fi iere XML
de aspect pentru diferite dimensiuni de ecran i sistemul determin ce aspect s se aplice n
funcie de dimensiunea ecranului dispozitivului curent.
Aplicaiile Android sunt construite ca o combinaie de componente distincte care pot
fi invocate n mod individual. De la o component putei ncepe o alt component
folosind o intenie .Putei ncepe chiar o component ntr - o alt aplicaie, cum ar fi o
activitate ntr - o aplicaie de hri pentru a afia o adres. Studierea sistemului Android
mi-a oferit o experienta foarte buna care m va ajuta s dezvolt n continuare aplica ii si
jocuri pe aceast platform.

Anexa 1
MainActivity
package com.example.wertjr.myapplication;
import
import
import
import

android.os.Bundle;
android.widget.Button;
android.support.v7.app.AppCompatActivity;
android.support.v7.widget.Toolbar;

12

import
import
import
import

android.view.View;
android.view.Menu;
android.view.MenuItem;
android.widget.TextView;

public class MainActivity extends AppCompatActivity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
Button click = (Button) findViewById(R.id.button);
click.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
TextView text = (TextView) findViewById(R.id.text);
text.setText("Hello boy!");
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}

Anexa 2
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"

13

android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context="com.example.wertjr.myapplication.MainActivity">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</android.support.design.widget.AppBarLayout>
<include layout="@layout/content_main" />
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="@dimen/fab_margin"
android:src="@android:drawable/ic_dialog_email" />
</android.support.design.widget.CoordinatorLayout>

14