paiip lab1
DESCRIPTION
utm lab paiipTRANSCRIPT
Ministerul Educaţiei al Republicii Moldova
Universitatea Tehnică a Moldovei
Facultatea Calculatoare, Informatică şi Microelectronică
RaportLucrarea de laborator nr. 1
Programarea Aplicațiilor Incorporate și Independente de Platformă
Tema: Familiarizarea cu Android SDK
A efectuat: St. gr. TI-122 Munteanu T.
A verificat: I. Antohi
Chişinău 2014
Sarcina lucrării:
Elaborarea unei aplicații ce va efectua următoarele operații:
Deschiderea Navigatorului (Browser)
Afișarea unui mesaj
Deschiderea camerei
O activitate la alegere
Instalarea pachetului SDK
Pentru instalarea SDK este nevoie de descărcat arhiva de la următoarea adresă
http://developer.android.com/sdk/index.html după ce sa descărcat arhiva – o dezarhivăm
unde dorim.
La prima pornire (Eclipse) vom avea posibilitatea de a alege calea/directoriu unde vom salva
proiectele create prin eclipse, în caz că pachetul SDK nu se află în aceeași mapă ca și mapa Eclipse
atunci vom fi întrebați să indicăm calea spre pachetul SDK. În caz că nu au apărut aceste ferestre sau
a fost apăsat tasta Cancel calea spre pachetul SDK poate fi indicată accesând Window ->
Preferences și în fereastra ce va apărea indicăm calea spre pachetul SDK.
2
Realizarea lucrării
1.0 Afișarea unui simplu mesaj
Pentru afișarea acestui mesaj este nevoie de un TextView care va afișa un simplu text “Acesta
este un simplu TextView”, acest element este plasat în ../res/layout/activity_layout.xml, acest fișier
conține toate elementele ce sunt afișate în activity (vezi figura 1).
Figura 1. Interfața aplicației
1.1 Deschiderea Navigatoului
Pentru a implementa aplicația ce va deschide Navigatorul va fi nevoie de 1 element (Button).
Button va fi folosit pentru deschiderea navigatorului și transmiterea adresei din program.
Pentru a elabora programul ce va deschide Navigatorul va fi nevoie de preluarea adresei din
EditText după care creem un Intent ce va transmite un mesaj navigatorului cu această adresă și
pornim o nouă activitate folosind funcția startActivity() ce va porni Navigatorul și în care vom
transmite un intent cu adresa noastră.
Browser = (Button) findViewById(R.id.button3); Browser.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) {
3
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("http://acmilan.com/en")); startActivity(i);}
1.2. Schimbarea culorii de fundal si deschiderea fisierului mp3
Pentru aceasta este nevoie de 2 elemente în cazul dat vom folosi un LinearLayout și un
Button care va efectua operația. Pentru a deschide fisierul mp3 avem nevoie doar de buton.
public void onClick(View view) {
bck.setBackgroundColor(Color.parseColor("#ff0000"));
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
File file = new File("/sdcard/media/audio/CWSZ.mp3");
intent.setDataAndType(Uri.fromFile(file), "audio/x-wav");
startActivity(intent);
1.3Deschiderea camerei:
camera.setOnClickListener(new View.OnClickListener() {
private static final int CAMERA_REQUEST = 1888;
@Override
public void onClick(View view) {
Intent cameraIntent = new Intent(
android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAMERA_REQUEST);
4
} });
1.4 Afisare text
public void Mesaj(View view){
switch (view.getId()) {
case R.id.button1:
SendMesaj();
break;
}
public void SendMesaj(){
TextView textElement=(TextView) findViewById(R.id.textView);
String modifyText;
modifyText = textElement.getText().toString();
modifyText = "Click!!!";
textElement.setText(modifyText);
}}
Concluzii:
Cu ajutorul IDE și ADT oferit de Google putem dezvolta aplicații pentru android rapid și
ușor și pe întelesul începătorilor. Pachetul ADT nu necesită instalarea și de aceea este foarte
convenabil, este doar nevoie de descărcat de pe developer.android.com și de dezarhita în orice dosar
dorim ca mai apoi să-l putem utiliza. Un al aspect ar fi posibilitatea creării aplicațiilor și testării lor
fără deținerea unui telefon mobil pe Android deoarece ADT oferă o mașină virtuală în care putem
testa aplicațiile create pe diferite versiuni de Android. Un alt plus deosebit de mare este
documentația oferită de Google prin intermediul căreia se poate de învățat de la 0 chiar dacă nu ai
cunoștințe de programare în Java.
5
Anexa A – activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
tools:context=".MyActivity"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_alignParentStart="true"
android:id="@+id/my">
</LinearLayout>
<TextView
android:text=""
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView"
android:layout_below="@+id/rez"
6
android:layout_alignEnd="@+id/btncm"
android:layout_marginTop="114dp" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text"
android:id="@+id/button1"
android:onClick="Mesaj"
android:layout_alignParentTop="true"
android:layout_alignStart="@+id/btncm"
android:layout_alignEnd="@+id/button3" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Camera"
android:id="@+id/btncm"
android:layout_below="@+id/button1"
android:layout_centerHorizontal="true" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Browser"
android:id="@+id/button3"
android:layout_below="@+id/btncm"
android:layout_alignStart="@+id/btncm" />
7
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold|italic"
android:text="ClickTo"
android:id="@+id/rez"
android:layout_below="@+id/button3"
android:layout_alignEnd="@+id/button3" />
</RelativeLayout>
Anexa B – MainActivity.java
package com.example.tudor.lab;
import android.app.Activity;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Color;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Button;
8
import java.io.File;
import java.io.IOException;
public class MyActivity extends Activity {
LinearLayout bck;
Button camera;
Button Browser;
Button Rezerva;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
bck = (LinearLayout) findViewById(R.id.my);
camera = (Button) findViewById(R.id.btncm);
Rezerva=(Button) findViewById(R.id.rez);
camera.setOnClickListener(new View.OnClickListener() {
private static final int CAMERA_REQUEST = 1888;
@Override
public void onClick(View view) {
Intent cameraIntent = new Intent(
android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAMERA_REQUEST);
9
}
});
Browser = (Button) findViewById(R.id.button3);
Browser.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("http://acmilan.com/en"));
startActivity(i);
}
});
Rezerva = (Button) findViewById(R.id.rez);
Rezerva.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
bck.setBackgroundColor(Color.parseColor("#ff0000"));
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
File file = new File("/sdcard/media/audio/CWSZ.mp3");
intent.setDataAndType(Uri.fromFile(file), "audio/x-wav");
10
startActivity(intent);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.my, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
public void Mesaj(View view){
switch (view.getId()) {
case R.id.button1:
11
SendMesaj();
break;
}
}
public void SendMesaj(){
TextView textElement=(TextView) findViewById(R.id.textView);
String modifyText;
modifyText = textElement.getText().toString();
modifyText = "Click!!!";
textElement.setText(modifyText);
}}
12