Sunteți pe pagina 1din 9

Proiect

-ANDROID-
Teste grila la diferite
discipline

Capatina Anca Alexandra


Gr.1067, seria Info A

Cuprins
I. Introducere
II. Descrierea solutiei
III. Implementare solutie
IV. Concluzii

I.Introducere
1. Definirea problemei
Proiectul intitulat “Android Quiz Application “ are ca scop realizarea unei aplicatii pentru
dipozitive mobile, care ruleaza pe sistemul de operare Android. Aceasta aplicatie doreste sa
trateze problema testelor grila, pe care studentii le aleg de multe ori ca suport pentru a invata la
diferite discipline, ajutandu-i sa se autoevalueze inaintea examenelor. Aceste teste grila sunt
oferite de multe ori in format de document, raspunsurile corecte fiind vizibil abia la final, incluse
intr-o lista. Lucrul acesta poate crea un dezavantaj in procesul invatarii, deoarece, mai ales in
cazul testelor cu un numar mare de intrebari, studentul poate nu mai reia intrebarile gresite
pentru a-si consolida cunostintele din lipsa de timp.

2. Definirea obiectivelor
Pentru a rezolva problema expusa mai sus, aplicatia realizata doreste implementarea unui
sistem de testare care asigura afisarea raspunsului corect, imediat dupa selectarea unei variante
de raspuns din cele propuse. In cazul unui raspuns corect, se va adauga un punct la scorul total al
testului, pentru a se putea realiza, la final, un rezumat al testului, prin calcularea numarului de
raspunsuri corecte,

3. Definirea cadrului general


Aplicatia este dezvoltata pe aceasta structura cu scopul de a fi folosita in mediul
academic pentru dezvoltarea si consolidarea cunostintelor la diferite materii ale facultatii de
Cibernetica, Statistica si Informatica Economica, de la Academia de Studii Economice din
Bucuresti.

II.Descrierea solutiei
Aplicatia se deschide in activitatea principala, MainActivity, de unde utilizatorul are
posibilitatea de a se loga sau de a se inregistra.
In cazul inregistrarii, utilizatorul isi va introduce datele cerute prin intermediul unui
formular, unde s-au implementat mai multe tipuri de Views si de Buttons. Atunci cand apasa pe
butonul Sign In, emailul si parola introduse de utilizator vor fi stocate in Firebase, pentru a fi
folosite la urmatoarea logare.
In continuare, userul va ajunge la meniul principal, de unde va putea sa selecteze daca sa
ajunga in meniul cu teste grila, sa citeasca documentatia despre fiecare categorie de teste, sa
ajusteze setarile aplicatiei sau sa modifice datele contului.
Activitatea “Categorii” include o lista cu disciplinele la care sunt valabile quiz-urile. Cu
un click pe unul dintre butoanele aferente, aplicatia va redirectiona catre activitatea
corespunzatoare disciplinei alese, care va contine o serie de intrebari grila. La fiecare raspuns
corect, va creste punctajul total al testului.
Activitatea “Documentatie” include o lista cu disciplinele la care sunt valabile quiz-urile.
Cu un click pe unul dintre butoanele aferente, aplicatia va afisa in TextView-ul din activitate
teoria acelei discipline, prin citire din fisier text.
Activitatea “Setari” contine o serie de View-uri prin intermediul carora se pot ajusta
setarile aplicatiei, precum volumul.
Activitatea “Contul meu” contine detaliile de inregistrare ale utilizatorului, de unde
utilizatorul isi poate modifica aceste date, precum si un buton care redirectioneaza catre o
activitate care include cursurile BNR, cu citire din fisier XML. Acest lucru este necesar
deoarece, pentru o eventuala taxa pusa pe aplicatia in format FULL, utilizatorul sa aiba la
indemana resursele necesare schimbului valutar pentru achizitie.

III.Implementare solutie
1.Descrierea tehnica a modului de implementare a solutiei
I. Activitatea MainActivity
2 Buttons – Redirectionare Catre LoginActivity si RegisterActivity folosind Intent
si onClickListener();
II. Activitatea LoginActivity
2 EditText unde userul introduce emailul si parola. Daca acestea corespund cu
datele din Firebase, se logheaza in aplicatie, altfel, apare o alerta.
2 Buttons care, prin apasare redirectioneaza la Activitatea RegisterActivity si
ResetPasswordActivity;
III. Activitatea RegisterActivity
Implementeaza Inregistrarea in Firebase prin metode specifice
If pentru testarea anumitor conditii pentru validarea datelor introduse
IV. Activitatea ResetPasswordActivity
EditText unde utilizatorul introduce emailul cu care s-a inregistrat, iar Firebase va
trimite automat un mesaj pentru resetarea parolei.
V. BeginActivity
4 Buttons : - Quiz: redirectionare catre activitatea CategoriiActivity;
- Documentatie: redirectionare catre activitatea
DocumentatieActivity;
- Setari: redirectionare catre activitatea SetariActivity;
- ContulMeu: redirectionare catre activitatea ContulMeuActivity
Acestea sunt implementare prin folosind Intent si onClickListener();
VI. CategoriiActivity
2 Buttons: - redirectionare catre activitata QuizSQLActivity
- Redirectionare catre activitatea QuizANDROIDActivity
Acestea sunt implementate folosind Intent si onClickListener();
VII. DocumentatieActivity
2 Buttons: - Prin apasarea primului buton, se va face citirea din fisier a
documentatiei pentru SQL si afisarea intr-un textview din aceeasi activitate
- Prin apasarea primului buton, se va face citirea din fisier a
documentatiei pentru ANDROID si afisarea intr-un textview din
aceeasi activitate
Acestea sunt implementate folosind Intent si onClickListener();
TextView unde va fi afisat textul
VIII. SetariActivity
Nu am reusit sa difinitivez aceasta activitate
IX. ContulMeuActivity
Button: redirectionare catre activitatea CursValutarActivity folosind Intent si
onClickListener();
X. CursValutarActivity
TextView in care vor fi incarcate datele despre cursul valutar citite din fisierul
XML preluat dintr-un url prin metoda doInBackground
XI. MyDataBaseHelper
Retine variabilele corespondente pentru intrebare si pentru raspunsurile posibile
Operatii DML SI DDL pentru crearea tabelei, update-ul tabelei, inserarea de date
in tabela

XII. Question
Clasa Question care creaza fiecare obiect de tip Question, intrebarea, raspunsurile
posibile si raspunsul corect

XIII. QuestionBank
Retine Intrebarile initiale inserate in baza de date;

XIV. QuizANDROIDActivity si QuizSQLActivity


TextView unde este incarcata intrebarea
Buttons unde sunt incarcate raspunsurile
String care retine raspunsul corect
Citeste clasa QuestionBank si insereaza in textview-ul si butoanele create in
activitatea Quiz, datele definite si initializate in cea dintai.
XV. MapsActivity
Ofera serviciile Google Maps

2.Secvente de cod

public class DocANDROIDActivity extends AppCompatActivity {

private TextView TvDocAND;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_doc_android);

TvDocAND= (TextView) findViewById(R.id.tvDespreAND);


}

protected void metodaCitesteFisier(View v)


{
InputStreamReader r=null;
try{

BufferedReader reader=new BufferedReader(r);


String linie=null;
StringBuilder builder=new StringBuilder();

while((linie=reader.readLine())!=null)
{
builder.append(linie);
}

Toast.makeText(getApplicationContext(),builder.toString(),Toast.LENGTH_LONG).show();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}

3.Capturi de ecran
4.Avantaje/Dezavantaje la implementare
Aplicatia are o structura fluenta, simpla, usor de utilizat, astfel
incat utilizatorul poate ajunge cu usurinta in activitatea pe care isi
doreste sa o lanseze.
Dezavantajele momentan, sunt reprezentate de o lista restransa de
domenii care se pot aborda.
IV. Concluzii

Aplicatia are nevoie, in plus, de posibilitatea de a retine scoruile tuturor utilizatorilor intr-
o tabela a bazei de date, pe care sa se poata face mai apoi o instructiune SELECT in functie de
un criteriu pentru a afisa topul utilizatorilor cu scorurile cele mai mari in functie de disciplina
aleasa.
In plus, as dori sa implementez logarea si inregistrarea folosind Facebook si gmail, pentru
a prelua automat datele conturilor mentionate anterior. Acest lucru are impact si asupra topului
utilizatorilor, care se va face incluzand, cu precadere, prietenii de pe facebook.

S-ar putea să vă placă și