curso android studio.pdf
TRANSCRIPT
-
8/18/2019 Curso Android Studio.pdf
1/258
Manual Básico
Android Studio
= - · -- ·-- ·- e;
� =
� = . _
- 1 -
-
8/18/2019 Curso Android Studio.pdf
2/258
ÍNDICE
1 -Instalación de las herramientas necesarias paraprogramar para Android Studio
2 -Pasos para crear el primer proyecto Android Studio3 -Capturar el clic de un botón4 -Controles RadioGroup y RadioButton5 -Control CheckBox6 - Control Spinner7 -Control ListView (con una lista de String)8 - Control ImageButton9 -Notificaciones sencillas mediante la clase Toast10 -Control EditText11 -Lanzar un segundo "Activity"12 -Lanzar un segundo "Activity" y pasar parámetros13 -Almacenamiento de datos mediante la clase SharedPreferences14 -Almacenamiento de datos en un archivo de texto en la memoria interna
15 -Almacenamiento de datos en un archivo de textolocalizado en una tarjeta SD16 -Almacenamiento en una base de datos SQLite17 -Instalación del programa Android en un dispositivo real18 -Layout (LinearLayout)19 -Layout (TableLayout)20 -Layout (FrameLayout)21 -Layout (ScrollView y LinearLayout)
22 - Icono de la aplicación23 -Reproducción de audio (archivo contenido en la aplicación)24 -Reproducción, pausa, continuación y detención de un archivo de audio.25 -Reproducción de audio (arch vo contenido en una ta eta SD)26 -Reproducción de audio ( archivo localizado en internet)27 -Reproducción de audio utilizando el reproductor
propio de Android (vía Intent)28 -Grabación de audio mediante el grabador
provisto por Android (via Intent)29 Captura de audio mediante la clase MediaRecorder
- 2 -
-
8/18/2019 Curso Android Studio.pdf
3/258
30 - Dibujar: graficar un píxel31 - Dibujar: pintar fondo y dibujar líneas32 - Dibujar: rectángulos33 - Dibujar: círculos34 - Dibujar: óvalos35 - Dibujar: texto36 - Dibujar: texto con fuentes externas37 - Dibujar: texto sobre un camino38 - Dibujar: una imagen
39 - Evento touch: dibujar un círculo40 - Evento touch: juego del buscaminas41 - Archivo strings.xml42 - Internacionalización y archivo strings.xml43 - Localización y archivo strings.xml44 - Componente ActionBar (Básica)45 - Componente ActionBar (Botones de acción)46 - Componente ActionBar (Ocultarlo y mostrarlo)
- 3 -
-
8/18/2019 Curso Android Studio.pdf
4/258
1 - Instalación de las herramientas necesariaspara programar para Android Studio
Descarga de herramientas necesarios paraprogramar para Android con el Android Studio
1 - Primero debemos instalar el compilador de Java y la máquina virtual. Estasherramientas las podemos descargar de:Java SE Develo ment Kit (JDK).
2 - El segundo paso es la descarga del Android Studio que contiene todo lo necesariopara comenzar el desarrollo de aplicaciones en Android , lo hacemos del sitio Android SDK.
Ahora procedemos a su instalación en el equipo ejecutando el archivo que acabamos dedescargar
l =I
Welcom t h Adr i Stup
Se p will guide yo ro h e ins lla on of An roidS i .
It i rec mmende t ou o e l o e p li on bef e t r Se i iT m ke i p i le t pd trelevant le o t h vi e ot o rc m ter
Cli Next t co nue
e t> ' n el
Dejamos por defecto para que instale el Android Studio, el Android SDK, Android VirtualDevice etc.
- 4 -
-
8/18/2019 Curso Android Studio.pdf
5/258
- 5 -
-
8/18/2019 Curso Android Studio.pdf
6/258
- 6 -
-
8/18/2019 Curso Android Studio.pdf
7/258
- 7 -
-
8/18/2019 Curso Android Studio.pdf
8/258
- 8 -
-
8/18/2019 Curso Android Studio.pdf
9/258
- 9 -
-
8/18/2019 Curso Android Studio.pdf
10/258
- 10 -
-
8/18/2019 Curso Android Studio.pdf
11/258
- 11 -
-
8/18/2019 Curso Android Studio.pdf
12/258
- 12 -
-
8/18/2019 Curso Android Studio.pdf
13/258
- 13 -
-
8/18/2019 Curso Android Studio.pdf
14/258
- 14 -
-
8/18/2019 Curso Android Studio.pdf
15/258
- 15 -
-
8/18/2019 Curso Android Studio.pdf
16/258
- 16 -
-
8/18/2019 Curso Android Studio.pdf
17/258
- 17 -
-
8/18/2019 Curso Android Studio.pdf
18/258
- 18 -
-
8/18/2019 Curso Android Studio.pdf
19/258
- 19 -
-
8/18/2019 Curso Android Studio.pdf
20/258
- 20 -
-
8/18/2019 Curso Android Studio.pdf
21/258
- 21 -
-
8/18/2019 Curso Android Studio.pdf
22/258
- 22 -
-
8/18/2019 Curso Android Studio.pdf
23/258
- 23 -
-
8/18/2019 Curso Android Studio.pdf
24/258
- 24 -
-
8/18/2019 Curso Android Studio.pdf
25/258
- 25 -
-
8/18/2019 Curso Android Studio.pdf
26/258
- 26 -
-
8/18/2019 Curso Android Studio.pdf
27/258
- 27 -
-
8/18/2019 Curso Android Studio.pdf
28/258
- 28 -
-
8/18/2019 Curso Android Studio.pdf
29/258
- 29 -
-
8/18/2019 Curso Android Studio.pdf
30/258
- 30 -
-
8/18/2019 Curso Android Studio.pdf
31/258
-
8/18/2019 Curso Android Studio.pdf
32/258
- 32 -
-
8/18/2019 Curso Android Studio.pdf
33/258
- 33 -
-
8/18/2019 Curso Android Studio.pdf
34/258
- 34 -
-
8/18/2019 Curso Android Studio.pdf
35/258
- 35 -
-
8/18/2019 Curso Android Studio.pdf
36/258
- 36 -
-
8/18/2019 Curso Android Studio.pdf
37/258
- 37 -
-
8/18/2019 Curso Android Studio.pdf
38/258
- 38 -
-
8/18/2019 Curso Android Studio.pdf
39/258
- 39 -
-
8/18/2019 Curso Android Studio.pdf
40/258
-
8/18/2019 Curso Android Studio.pdf
41/258
- 41 -
-
8/18/2019 Curso Android Studio.pdf
42/258
- 42 -
-
8/18/2019 Curso Android Studio.pdf
43/258
M A t v .ja aX : ac it _ a n x l m. ���������������������a tt - !- [ l Nexus 4 B - ( Ap Tem
[ L n a a t Hoi o tal§ L a a t rt c l]
a e a ut! Ta
Gri out
Q e at e a t1 Wiet a n Te e�Lar T t
e i � al Te
But,S al B tton
@ Radi ut n0 c B
itcho gleB oma Bu n
e eo re s a La e
- Pro re Ba N r
- o re s a (Smal- Pro re Ba (Horizontal101 e a
Rat g ar 1 inne
JWe ie FP a Te t
er ama o
Pas d Nu erE
a n ct
lngréS� prime \a (
1 em� l I
1OP�Rir ul .do
< o n
C p nt 1 · !� T - ! l D • v ic •e •S •re • •n _ _ _ _ _ " I
[ lat e a y t aex e )I e í i xt[ 2 e V ew)"
[ 2 ditTe t. .= spmnerº\ ' e a "3 e V w)" t
rt ? ! T
lyo :he match a e t
acc si ilit i eal abckgr un
ackgroun tackgroun t
click l oc nte tD cp t
le at of cu abl of cu able TouO
No olvidemos in cializar la propiedad onClick del objeto button con el valor "operar" (dicho nombre es el método quedebemos implementar)
Código fuente:
package ar.com.tutorialesya.proyecto005;
import android.support.v7.app.ActionBarActivity;import android.os.Bundle;
mport android.v ew.Menu;import android.view.Menu tem;
mport andro d.v ew.V ew;import android.widget.ArrayAdapter;import android.widget.EditText;
mport android.w dget.Sp nner;import android.widget.TextView;
public class ainActivity extends Act onBarActivity {
private Spinner spinner ;pr vate Ed t ext et ,et2;private TextView tv3;
@Overrideprotected void onCreate(Bundle saved nstanceState)
super.onCreate(saved nstanceState);setContentView(R.layout.activity_main);
et =(EditText)findViewBy d(R.id.et );et2=(EditText)findViewBy d(R.id.et );tv3=(TextV ew)f ndV ew y d(R. d.tv3);
sp nner = (Sp nner) f ndV ew y d(R. d.sp nner);String []opciones={"sumar","restar","multiplicar","dividir"};
ArrayAdapter adapter = new ArrayAdapter(this,android . layou.simple_spinner_item, opciones);
- 43 -
-
8/18/2019 Curso Android Studio.pdf
44/258
- 44 -
-
8/18/2019 Curso Android Studio.pdf
45/258
- 45 -
-
8/18/2019 Curso Android Studio.pdf
46/258
- 46 -
-
8/18/2019 Curso Android Studio.pdf
47/258
public class MainActivity extends ActionBarActivity {private String[] paises = { "Argentina", "Chile", "Paraguay", "Bo"Per ", "Ecuador", "B asi ", "Co ombia", "Venez e a", "private String [] habitantes { "40000000", "17000000", "6500000","10000000", "30000000", "14000000", "183000000", "44000"29000000", "3500000" };private TextView tv ;private ListView v ;@Overrideprotected void o Create(B nd e saved stanceState)super.onCreate(saved nsta ceState);setContentView(R.layout.activity_main);
tv =(TextView)findViewBy d(R.id.tv );v (ListView)fi dViewBy d(R.id. istView); ArrayAdapter adapter new ArrayA apter(t is, android. R.layou.simple_list_item_1, paises);v .setAdapter(adapter); !v .setOn temC ickListener(new Adapte View.O temC ickL1@Overridepu ic void on temC ick(AdapterView parent, View view, int p�on, long id) {tv .setText("Pob ación de "+ lv .get temAtPosition(positio )+ " es "+
habitantes[position]); ) ;
@Overridepublic boo ea o CreateOptions e u( e u menu)// Inf ate the me u; t is adds items to the action bar if it isgetMenu nf ate ().inf ate(R.menu.menu main, menu);presJ t.return true;
@Overridep b ic boo ean onOptions temSe ected(Menu tem item)// Handle action bar item c icks ere. The actio bar will// a tomatically hand e clicks on the Home/Up button, so long// as you specify a parent activity in An roidManifest.xml.int id = item.get tem d();//noinspection Simp ifiable fStateme tif (id R.id.actio settings) {retur true;
ret rn super.onOptions temSelected(item);
....................._ .... . ....................... ............. ... . ......................Primero def n mos dos vectores paralelos donde a macenamos en uno los nombres de países y en el otro almacenamosla cant dad de hab ta tes de d chos países:
private String[] paises={"Argentina","Ch le","Paraguay","Bolivia","Peru","Ecuador","Brasil","Colombia","Venezuela","Uruguay"};
private String habitantes={"40000000","17000000","6500000","10000000","30000000","14000000","183000000","44000000","29000000","3500000"};
Def n mos un objeto de t po TextV ew y otro de t po L stV ew donde almacenaremos las re enc as a los objetos quedef n mos en el arch vo XML
private TextView tv ;private ListView lv ;
E el método onCreate obtenemos la referenc a a os dos objetos
tv =(TextView)findViewBy d(R.id.tv );lv =(ListView)findViewBy d(R.id.list iew);
- 47 -
-
8/18/2019 Curso Android Studio.pdf
48/258
- 48 -
-
8/18/2019 Curso Android Studio.pdf
49/258
- 49 -
-
8/18/2019 Curso Android Studio.pdf
50/258
- 50 -
-
8/18/2019 Curso Android Studio.pdf
51/258
- 51 -
-
8/18/2019 Curso Android Studio.pdf
52/258
- 52 -
-
8/18/2019 Curso Android Studio.pdf
53/258
- 53 -
-
8/18/2019 Curso Android Studio.pdf
54/258
- 54 -
-
8/18/2019 Curso Android Studio.pdf
55/258
- 55 -
-
8/18/2019 Curso Android Studio.pdf
56/258
- 56 -
-
8/18/2019 Curso Android Studio.pdf
57/258
- 57 -
-
8/18/2019 Curso Android Studio.pdf
58/258
- 58 -
-
8/18/2019 Curso Android Studio.pdf
59/258
- 59 -
-
8/18/2019 Curso Android Studio.pdf
60/258
- 60 -
-
8/18/2019 Curso Android Studio.pdf
61/258
- 61 -
-
8/18/2019 Curso Android Studio.pdf
62/258
- 62 -
-
8/18/2019 Curso Android Studio.pdf
63/258
- 63 -
-
8/18/2019 Curso Android Studio.pdf
64/258
- 64 -
-
8/18/2019 Curso Android Studio.pdf
65/258
- 65 -
-
8/18/2019 Curso Android Studio.pdf
66/258
- 66 -
-
8/18/2019 Curso Android Studio.pdf
67/258
- 67 -
-
8/18/2019 Curso Android Studio.pdf
68/258
- 68 -
-
8/18/2019 Curso Android Studio.pdf
69/258
- 69 -
-
8/18/2019 Curso Android Studio.pdf
70/258
-
8/18/2019 Curso Android Studio.pdf
71/258
- 71 -
-
8/18/2019 Curso Android Studio.pdf
72/258
-
8/18/2019 Curso Android Studio.pdf
73/258
-
8/18/2019 Curso Android Studio.pdf
74/258
- 74 -
-
8/18/2019 Curso Android Studio.pdf
75/258
- 75 -
-
8/18/2019 Curso Android Studio.pdf
76/258
- 76 -
-
8/18/2019 Curso Android Studio.pdf
77/258
- 77 -
-
8/18/2019 Curso Android Studio.pdf
78/258
- 78 -
-
8/18/2019 Curso Android Studio.pdf
79/258
- 79 -
-
8/18/2019 Curso Android Studio.pdf
80/258
- 80 -
-
8/18/2019 Curso Android Studio.pdf
81/258
- 81 -
-
8/18/2019 Curso Android Studio.pdf
82/258
- 82 -
-
8/18/2019 Curso Android Studio.pdf
83/258
- 83 -
-
8/18/2019 Curso Android Studio.pdf
84/258
- 84 -
-
8/18/2019 Curso Android Studio.pdf
85/258
-
8/18/2019 Curso Android Studio.pdf
86/258
- 86 -
-
8/18/2019 Curso Android Studio.pdf
87/258
! )
public boolean onCreateOptionsMenu(Menu me u)¡// Inflate the menu; this adds items to the action bar �nt.get enu nflater(). nflate(R.menu.menu_ma n, menu);return true;@Overridepubl c boo ean onOpt ons temSelected(Menu tem te
!/ Hand e action bar item c cks here. The act on b// automat cally handle cl cks on the Home/Up butto// as you spec fy a parent act v ty n Andro d anint id= item.get tem d();//no nspect on S mp f ab e fStatementf ( d== R. d.act on_sett ngs) {return true;retur super.onOptions temSelected(item);
public void grabar(View v)Str g ombre= et .getText().toStr ng();Stri g datos= et2.get ext() .toString();SharedPreferences preferenc as= getSharedPreferences("agenda",SharedPreferences.Ed tor editor= preferenc as.ed t();editor.putString(nombre, datos);
ContexJ. ODE Ped tor.comm t();Toast.makeText(this,"Datos grabados",Toast.LENGTH.show();
publ c void recuperar ew v)Str ng nombre= et .getText().toStr ng();Shared refere ces prefe= getShared references("agenda",Str ng d= prefe.getStr ng(nombre, ""); Context.MO ERIVATE)f (d.ength()== ) {Toast.makeText(th s," o ex ste d cho nombre en !agenda",Toast. GTH else {et2.setText(d);
De nimos dos objetos de la clase Ed t ext donde se ngresan el nombre de la persona y los datos de d cha persona:
ív T x , 2;
Cuando se p es ona el botón g abar
v (V w v) {
}
S = . T x (). S ();S n = 2. T x (). oS n ();Sh P f f = Sh P f (" ", x .MO _PRIVAT );Sh P f . = f . ();
. S ( , );
. ();T . k T x ( h ," ",T L NGTH_LONG). h w();
Extraemos los dos datos de los Ed t ext creamos un objeto de la clas ha ed e erences con el nombre de agenda"Creamos un objeto de la clase Ed to y procedemos a g abar en el arch vo de pre erenc as med ante put tr ng
. S ( , );
ign ca que en el arch vo de p e e enc as se almacena una entrada con el nombre de la pe sona y los datos de d chapersona
or otro lado tenemos la lóg ca para recupe ar los datos de una pe sona de la agenda
v (V w v) {S = . T x (). S ();
- 87 -
-
8/18/2019 Curso Android Studio.pdf
88/258
- 88 -
-
8/18/2019 Curso Android Studio.pdf
89/258
- 89 -
-
8/18/2019 Curso Android Studio.pdf
90/258
- 90 -
-
8/18/2019 Curso Android Studio.pdf
91/258
-
8/18/2019 Curso Android Studio.pdf
92/258
- 92 -
-
8/18/2019 Curso Android Studio.pdf
93/258
- 93 -
-
8/18/2019 Curso Android Studio.pdf
94/258
- 94 -
-
8/18/2019 Curso Android Studio.pdf
95/258
- 95 -
-
8/18/2019 Curso Android Studio.pdf
96/258
- 96 -
-
8/18/2019 Curso Android Studio.pdf
97/258
- 97 -
-
8/18/2019 Curso Android Studio.pdf
98/258
- 98 -
-
8/18/2019 Curso Android Studio.pdf
99/258
- 99 -
-
8/18/2019 Curso Android Studio.pdf
100/258
- 100 -
-
8/18/2019 Curso Android Studio.pdf
101/258
- 101 -
-
8/18/2019 Curso Android Studio.pdf
102/258
- 102 -
-
8/18/2019 Curso Android Studio.pdf
103/258
-
8/18/2019 Curso Android Studio.pdf
104/258
- 104 -
-
8/18/2019 Curso Android Studio.pdf
105/258
- 105 -
-
8/18/2019 Curso Android Studio.pdf
106/258
import android.view.MenuItem;import android.view.View;import android.widget.EditText;import android.widget.Toast;
import java.io.BufferedReader;import java.io.File;
import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;
public class MainActivity extends ActionBarActivity {
private EditText et1,et2;
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
et1=(EditText)findViewById(R.id.editText); et2=(EditText)findViewById(R.id.editText2); }
@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); }
public void grabar(View v) { String nomarchivo = et1.getText().toString(); String contenido = et2.getText().toString(); try {
- 106 -
-
8/18/2019 Curso Android Studio.pdf
107/258
-
8/18/2019 Curso Android Studio.pdf
108/258
Creamos un nuevo objeto de la clase File indicando el camino de la unidad SD y el nombre del archivo acrear: File file = new File(tarjeta.getAbsolutePath(), nomarchivo);Por último similar al acceso de un archivo interno creamos un objeto de la clase OutputStreamWriter: OutputStreamWriter osw =new OutputStreamWriter(new FileOutputStream(file));
Grabamos el contenido del EditText: osw.write(contenido);Cerramos el archivo: osw.flush(); osw.close(); Toast.makeText(this,"Los datos fueron grabadoscorrectamente",Toast.LENGTH_SHORT).show(); et1.setText(""); et2.setText(""); } catch (IOException ioe) { Toast.makeText(this, "No se pudo grabar", Toast.LENGTH_SHORT).show();
} }Para la lectura del archivo nuevamente obtenemos la referencia de la tarjeta SD para obtener el path de launidad de almacenamiento, el resto del algoritmo es similar al visto con un archivo interno: public void recuperar(View v) { String nomarchivo = et1.getText().toString();
File tarjeta = Environment.getExternalStorageDirectory(); File file = new File(tarjeta.getAbsolutePath(), nomarchivo);
try { FileInputStream fIn = new FileInputStream(file);
InputStreamReader archivo=new InputStreamReader(fIn); BufferedReader br=new BufferedReader(archivo); String linea=br.readLine(); String todo=""; while (linea!=null) {
todo=todo+linea+"\n"; linea=br.readLine(); } br.close(); archivo.close(); et2.setText(todo);
} catch (IOException e) { Toast.makeText(this, "No se pudo leer", Toast.LENGTH_SHORT).show(); } }Este proyecto lo puede descargar en un zip desde este enlace: proyecto018.zip
- 108 -
-
8/18/2019 Curso Android Studio.pdf
109/258
Importante.
Si lo probamos con el emulador del Nexus 5 en el Android Studio cuando tratemos de grabar nos mostrará lanotificación "No se pudo grabar", esto debido a que dicho celular no permite extender la memoria mediantetarjetas sd.La solución para probar es crear otro dispositivo virtual. Los pasos para crear otro dispositivo virtual enAndroid Studio son los siguientes:1 - Desde el menú de opciones del Android Studio accedemos a Tools->Android->AVD Manager.
2 - Aparece un diálogo con todas las máquinas virtuales creadas hasta el momento (en las primeras versionesde Android Studio crea una máquina virtual para el Nexus 5)
Presionamos el botón "Create Virtual Device".
- 109 -
-
8/18/2019 Curso Android Studio.pdf
110/258
- 110 -
-
8/18/2019 Curso Android Studio.pdf
111/258
- 111 -
-
8/18/2019 Curso Android Studio.pdf
112/258
- 112 -
-
8/18/2019 Curso Android Studio.pdf
113/258
-
8/18/2019 Curso Android Studio.pdf
114/258
-
8/18/2019 Curso Android Studio.pdf
115/258
- 115 -
-
8/18/2019 Curso Android Studio.pdf
116/258
- 116 -
-
8/18/2019 Curso Android Studio.pdf
117/258
- 117 -
-
8/18/2019 Curso Android Studio.pdf
118/258
- 118 -
-
8/18/2019 Curso Android Studio.pdf
119/258
- 119 -
-
8/18/2019 Curso Android Studio.pdf
120/258
- 120 -
-
8/18/2019 Curso Android Studio.pdf
121/258
- 121 -
-
8/18/2019 Curso Android Studio.pdf
122/258
- 122 -
-
8/18/2019 Curso Android Studio.pdf
123/258
- 123 -
-
8/18/2019 Curso Android Studio.pdf
124/258
- 124 -
-
8/18/2019 Curso Android Studio.pdf
125/258
- 125 -
-
8/18/2019 Curso Android Studio.pdf
126/258
- 126 -
-
8/18/2019 Curso Android Studio.pdf
127/258
- 127 -
-
8/18/2019 Curso Android Studio.pdf
128/258
- 128 -
-
8/18/2019 Curso Android Studio.pdf
129/258
- 129 -
-
8/18/2019 Curso Android Studio.pdf
130/258
- 130 -
-
8/18/2019 Curso Android Studio.pdf
131/258
- 131 -
-
8/18/2019 Curso Android Studio.pdf
132/258
- 132 -
-
8/18/2019 Curso Android Studio.pdf
133/258
- 133 -
-
8/18/2019 Curso Android Studio.pdf
134/258
- 134 -
-
8/18/2019 Curso Android Studio.pdf
135/258
- 135 -
-
8/18/2019 Curso Android Studio.pdf
136/258
-
8/18/2019 Curso Android Studio.pdf
137/258
- 137 -
-
8/18/2019 Curso Android Studio.pdf
138/258
- 138 -
-
8/18/2019 Curso Android Studio.pdf
139/258
- 139 -
-
8/18/2019 Curso Android Studio.pdf
140/258
-
8/18/2019 Curso Android Studio.pdf
141/258
- 141 -
-
8/18/2019 Curso Android Studio.pdf
142/258
-
8/18/2019 Curso Android Studio.pdf
143/258
- 143 -
-
8/18/2019 Curso Android Studio.pdf
144/258
- 144 -
-
8/18/2019 Curso Android Studio.pdf
145/258
- 145 -
-
8/18/2019 Curso Android Studio.pdf
146/258
- 146 -
-
8/18/2019 Curso Android Studio.pdf
147/258
- 147 -
-
8/18/2019 Curso Android Studio.pdf
148/258
- 148 -
-
8/18/2019 Curso Android Studio.pdf
149/258
- 149 -
-
8/18/2019 Curso Android Studio.pdf
150/258
- 150 -
-
8/18/2019 Curso Android Studio.pdf
151/258
- 151 -
-
8/18/2019 Curso Android Studio.pdf
152/258
-
8/18/2019 Curso Android Studio.pdf
153/258
- 153 -
-
8/18/2019 Curso Android Studio.pdf
154/258
- 154 -
-
8/18/2019 Curso Android Studio.pdf
155/258
- 155 -
-
8/18/2019 Curso Android Studio.pdf
156/258
- 156 -
-
8/18/2019 Curso Android Studio.pdf
157/258
- 157 -
-
8/18/2019 Curso Android Studio.pdf
158/258
- 158 -
-
8/18/2019 Curso Android Studio.pdf
159/258
- 159 -
-
8/18/2019 Curso Android Studio.pdf
160/258
- 160 -
-
8/18/2019 Curso Android Studio.pdf
161/258
-
8/18/2019 Curso Android Studio.pdf
162/258
- 162 -
-
8/18/2019 Curso Android Studio.pdf
163/258
- 163 -
-
8/18/2019 Curso Android Studio.pdf
164/258
- 164 -
-
8/18/2019 Curso Android Studio.pdf
165/258
- 165 -
-
8/18/2019 Curso Android Studio.pdf
166/258
-
8/18/2019 Curso Android Studio.pdf
167/258
- 167 -
-
8/18/2019 Curso Android Studio.pdf
168/258
- 168 -
-
8/18/2019 Curso Android Studio.pdf
169/258
- 169 -
-
8/18/2019 Curso Android Studio.pdf
170/258
- 170 -
-
8/18/2019 Curso Android Studio.pdf
171/258
- 171 -
-
8/18/2019 Curso Android Studio.pdf
172/258
- 172 -
-
8/18/2019 Curso Android Studio.pdf
173/258
- 173 -
-
8/18/2019 Curso Android Studio.pdf
174/258
- 174 -
-
8/18/2019 Curso Android Studio.pdf
175/258
- 175 -
-
8/18/2019 Curso Android Studio.pdf
176/258
- 176 -
-
8/18/2019 Curso Android Studio.pdf
177/258
- 177 -
-
8/18/2019 Curso Android Studio.pdf
178/258
- 178 -
-
8/18/2019 Curso Android Studio.pdf
179/258
- 179 -
-
8/18/2019 Curso Android Studio.pdf
180/258
- 180 -
-
8/18/2019 Curso Android Studio.pdf
181/258
-
8/18/2019 Curso Android Studio.pdf
182/258
- 182 -
-
8/18/2019 Curso Android Studio.pdf
183/258
- 183 -
-
8/18/2019 Curso Android Studio.pdf
184/258
- 184 -
-
8/18/2019 Curso Android Studio.pdf
185/258
- 185 -
-
8/18/2019 Curso Android Studio.pdf
186/258
-
8/18/2019 Curso Android Studio.pdf
187/258
- 187 -
-
8/18/2019 Curso Android Studio.pdf
188/258
- 188 -
-
8/18/2019 Curso Android Studio.pdf
189/258
-
8/18/2019 Curso Android Studio.pdf
190/258
- 190 -
-
8/18/2019 Curso Android Studio.pdf
191/258
-
8/18/2019 Curso Android Studio.pdf
192/258
- 192 -
-
8/18/2019 Curso Android Studio.pdf
193/258
- 193 -
-
8/18/2019 Curso Android Studio.pdf
194/258
- 194 -
-
8/18/2019 Curso Android Studio.pdf
195/258
- 195 -
-
8/18/2019 Curso Android Studio.pdf
196/258
- 196 -
-
8/18/2019 Curso Android Studio.pdf
197/258
- 197 -
-
8/18/2019 Curso Android Studio.pdf
198/258
- 198 -
-
8/18/2019 Curso Android Studio.pdf
199/258
-
8/18/2019 Curso Android Studio.pdf
200/258
- 200 -
-
8/18/2019 Curso Android Studio.pdf
201/258
- 201 -
-
8/18/2019 Curso Android Studio.pdf
202/258
- 202 -
-
8/18/2019 Curso Android Studio.pdf
203/258
- 203 -
-
8/18/2019 Curso Android Studio.pdf
204/258
- 204 -
-
8/18/2019 Curso Android Studio.pdf
205/258
- 205 -
-
8/18/2019 Curso Android Studio.pdf
206/258
- 206 -
-
8/18/2019 Curso Android Studio.pdf
207/258
- 207 -
-
8/18/2019 Curso Android Studio.pdf
208/258
- 208 -
-
8/18/2019 Curso Android Studio.pdf
209/258
- 209 -
-
8/18/2019 Curso Android Studio.pdf
210/258
- 210 -
-
8/18/2019 Curso Android Studio.pdf
211/258
- 211 -
-
8/18/2019 Curso Android Studio.pdf
212/258
- 212 -
-
8/18/2019 Curso Android Studio.pdf
213/258
- 213 -
-
8/18/2019 Curso Android Studio.pdf
214/258
- 214 -
-
8/18/2019 Curso Android Studio.pdf
215/258
-
8/18/2019 Curso Android Studio.pdf
216/258
- 216 -
-
8/18/2019 Curso Android Studio.pdf
217/258
-
8/18/2019 Curso Android Studio.pdf
218/258
-
8/18/2019 Curso Android Studio.pdf
219/258
- 219 -
-
8/18/2019 Curso Android Studio.pdf
220/258
- 220 -
-
8/18/2019 Curso Android Studio.pdf
221/258
- 221 -
-
8/18/2019 Curso Android Studio.pdf
222/258
- 222 -
-
8/18/2019 Curso Android Studio.pdf
223/258
- 223 -
-
8/18/2019 Curso Android Studio.pdf
224/258
- 224 -
-
8/18/2019 Curso Android Studio.pdf
225/258
-
8/18/2019 Curso Android Studio.pdf
226/258
- 226 -
-
8/18/2019 Curso Android Studio.pdf
227/258
- 227 -
-
8/18/2019 Curso Android Studio.pdf
228/258
- 228 -
-
8/18/2019 Curso Android Studio.pdf
229/258
- 229 -
-
8/18/2019 Curso Android Studio.pdf
230/258
- 230 -
-
8/18/2019 Curso Android Studio.pdf
231/258
-
8/18/2019 Curso Android Studio.pdf
232/258
- 232 -
-
8/18/2019 Curso Android Studio.pdf
233/258
- 233 -
-
8/18/2019 Curso Android Studio.pdf
234/258
- 234 -
-
8/18/2019 Curso Android Studio.pdf
235/258
- 235 -
-
8/18/2019 Curso Android Studio.pdf
236/258
-
8/18/2019 Curso Android Studio.pdf
237/258
- 237 -
-
8/18/2019 Curso Android Studio.pdf
238/258
- 238 -
-
8/18/2019 Curso Android Studio.pdf
239/258
- 239 -
-
8/18/2019 Curso Android Studio.pdf
240/258
- 240 -
-
8/18/2019 Curso Android Studio.pdf
241/258
- 241 -
-
8/18/2019 Curso Android Studio.pdf
242/258
- 242 -
-
8/18/2019 Curso Android Studio.pdf
243/258
- 243 -
-
8/18/2019 Curso Android Studio.pdf
244/258
- 244 -
-
8/18/2019 Curso Android Studio.pdf
245/258
- 245 -
-
8/18/2019 Curso Android Studio.pdf
246/258
- 246 -
-
8/18/2019 Curso Android Studio.pdf
247/258
- 247 -
-
8/18/2019 Curso Android Studio.pdf
248/258
- 248 -
-
8/18/2019 Curso Android Studio.pdf
249/258
- 249 -
-
8/18/2019 Curso Android Studio.pdf
250/258
-
8/18/2019 Curso Android Studio.pdf
251/258
-
8/18/2019 Curso Android Studio.pdf
252/258
- 252 -
-
8/18/2019 Curso Android Studio.pdf
253/258
- 253 -
-
8/18/2019 Curso Android Studio.pdf
254/258
- 254 -
-
8/18/2019 Curso Android Studio.pdf
255/258
-
8/18/2019 Curso Android Studio.pdf
256/258
-
8/18/2019 Curso Android Studio.pdf
257/258
- 257 -
-
8/18/2019 Curso Android Studio.pdf
258/258