Sie sind auf Seite 1von 9

INSTITUTO TECNOLGICO SUPERIOR DE

TEPOSCOLULA
INGENIERIA EN SISTEMAS COMPUTACIONALES

MATERIA:
Tpicos selectos de programacin mvil

TECNOLGICO NACIONAL
DE MXICO

ACTIVIDAD:
Reporte App Hilos

PRESENTA:
Noel Vicente Santiago
Luis Enrique Aquino Morales

DOCENTE:
Ing. Jess Maldonado Cholula

NUMERO DE CONTROL
13ISC203

SAN PEDRO Y SAN PABLO TEPOSCOLULA, OAXACA. 2016.

Contenido
Introduccin.............................................................................................. 2

Objetivo............................................................................................................... 2
Desarrollo............................................................................................................ 2

Introduccin
En este trabajo se refleja todo con respecto a la realizacin de nuestra aplicacin,
as como tambin de la implementacin de la misma de sus funciones, las
caractersticas, qu es?, para qu sirve? y algunos datos sobresalientes de la
misma.

Objetivo
El objetivo de esta aplicacin es poder llagar a entender cmo es que se comporta
el proceso de hilos las cuales cmo ya sabemos un hilo son dos procesos que se
ejecutan en una misma ventana.

Desarrollo
Como primer paso abrir nuestro Android studio para posteriormente crear nuestro
proyecto ya en esta ventana uno le puede dar el nombre cual quiera en mi caso le
pondr hilos ya que la aplicacin se trata sobre la misma.

Ilustracin 1Nombre de proyecto

En la siguiente ventana se trata ms que nada sobre con que versin


trabajaremos y es con la cual queremos que nuestra aplicacin sea compatible en
mi caso yo le puse que sea compatible con la versin 6 en adelante.

Elegimos Empty Activity.

Ya en la siguiente ventana solo nos muestra cmo queremos llamar nuestra clase
yo lo deje la que ya me da por default la cual es MainActivity.

Ya dentro del proyecto nos dirigimos a la carpeta app-res-layout-activity_main,


en este apartado es donde programaremos la interfaz de nuestra aplicacin.

As es como luce la aplicacin creada borramos el texto que trae por default ya
que la aplicacin constar de dos botones y un contenedor de imagen las cuales a
los botones los llamaremos, CARGAR UNA IMAGEN DESDE INTERNET y la otra
SIMULAR UNA DESCARGA y en el ImagenView solo le pondremos un
identificador la cual ser ImagenView.
A continuacin, se muestra el cdigo para la creacin de cada uno de nuestros
elementos ya antes mencionados.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.leo_s.hilos.MainActivity">
<Button
android:layout_width="wrap_content" esto nos indica que se ajuste al
contenido
android:layout_height="wrap_content" de igual manera para lo alto de
la app
android:text="Cargar Imagen" texto del botn
android:id="@+id/buttonImage" nombre para identificar nuestro botn
android:layout_above="@+id/buttonProgress" que se ajuste arriba del
botn simular
android:layout_alignParentStart="true"
android:layout_alignParentEnd="true" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Simular una descarga"
android:id="@+id/buttonProgress"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignEnd="@+id/buttonImage" />
<ImageView
android:layout_width="match_parent"

android:layout_height="400dp"
android:id="@+id/imageView"
android:layout_centerHorizontal="true"
android:layout_above="@+id/buttonImage" />
</RelativeLayout>

A continuacin, se refleja cmo queda nuestra interfaz, una vez creado los
elementos

public class MainActivity extends AppCompatActivity {


// Creamos nuestras variables
Button mImageButton, mProgressButton;
ImageView mImageView;
ProgressDialog mProgressDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Creamos elementos para manadar a llamar nuestra variables
mImageButton = (Button) findViewById(R.id.buttonImage);
mImageView = (ImageView) findViewById(R.id.imageView);

mProgressButton = (Button) findViewById(R.id.buttonProgress);

// Cremos los eventos onClick para nuestras variables Buttons


mImageButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
cargarImagen();
}
});
mProgressButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
progresoDilog();
}
});
}
public void cargarImagen(){
new Thread(new Runnable() {
// Definiremos el cdigo para ejecutar en este hilo.
private Bitmap loadImageFromNetwork(String url){
try {
Bitmap mBitmap = BitmapFactory.decodeStream((InputStream)
new URL(url).getContent());
return mBitmap;
}
catch (IOException e) {
e.printStackTrace();
}
return null;
}
public void run() {
// Ejecutamos el cdigo definido.
String url = "http://esphoto500x500.mnstatic.com/banco-de-arenaen-zanzibar_5805011.jpg";
final Bitmap mBitmap = loadImageFromNetwork(url);
mImageView.post(new Runnable() {
public void run() {
mImageView.setImageBitmap(mBitmap);
}
});
}
}).start();
}
public void progresoDilog() {
mProgressDialog = new ProgressDialog(MainActivity.this);

mProgressDialog.setTitle("Simulando descarga ...");


mProgressDialog.setMessage("Descarga en progreso ...");
mProgressDialog.setProgressStyle(mProgressDialog.STYLE_HORIZONTAL);
mProgressDialog.setProgress(0);
mProgressDialog.setMax(100);
mProgressDialog.show();
new Thread(new Runnable() {
@Override
public void run() {
for (int j = 1; j <= 20; j++) {
try {
Thread.sleep(1000);
mProgressDialog.incrementProgressBy(100 / 20);
}
catch
(InterruptedException e) {
e.printStackTrace();
}
}
mProgressDialog.dismiss();
}
}).start();
}
}

Esto ha sido todo para la realizacin de vuestra aplicacin


Nota: Al momento de ejecutar la aplicacin en el botn cargar imagen marcara
error ya que se necesita de internet para poder ejecutar esa accin.

Das könnte Ihnen auch gefallen