Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android


 
Herramientas
  #1  
Viejo 11/09/14, 22:48:20
Avatar de Guixe94
Guixe94 Guixe94 no está en línea
Desarrollador
Mensajes: 900
 
Fecha de registro: abr 2012
Localización: Barcelona, Catalunya
Mensajes: 900
Modelo de smartphone: HTC ONE y Galaxy Note 3
Versión de ROM: Ultima Orange Stock
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
Apartado de favoritos?

Hola, he estado buscando pero no encuentro bien bien como hacerlo.. quiero hacer un apartado de favoritos en mi app que en la barra me salga la tipica estrellita para marcarla y luego en una actividad o fragment pueda ver todos los favoritos.. a ver si alguien puede pasarme alguna tutorial preferiblemente en espanyol y sino en ingles, no pasa nada.
Se que existe google pero no encuentro nada que explique bien...

Gracias!
Responder Con Cita


  #2  
Viejo 12/09/14, 08:06:23
Avatar de rafaxplayer
rafaxplayer rafaxplayer no está en línea
Miembro del foro
Mensajes: 224
 
Fecha de registro: jun 2013
Localización: en la barcelona media
Mensajes: 224
Modelo de smartphone: LG-E610
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
Bueno te explico como hice yo uno a mi manera:

-Primero en la lista de elementos a cada elemento le puse un rating var el cual solo muestra una estrella , el xml seria asi:

Código:
<RatingBar
                android:id="@+id/ratingBar1"
                style="?android:attr/ratingBarStyleSmall"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:numStars="1"
                android:rating="0"
                android:stepSize="1" />
como ves esta configurado para que step sea 1 , por lo tanto cunado pulses la estrella el valor de rating sera uno y cuando la desabilites sera 0 .


- Monte una base de datos para guardar mis favoritos con sqlitehelper y las diferentes funciones de manejo.

-En el adapter de la lista de elementos seria asi:

Código:
private class ViewHolder {
		ImageView image;
		TextView nombre;
		RatingBar rat;
		TextView time;
		TextView site;

	}

@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		ViewHolder holder = null;

		holder = new ViewHolder();
		if (convertView == null) {
			convertView = mInflater.inflate(R.layout.item, null);

			holder.image = (ImageView) convertView
					.findViewById(R.id.imageView1);
			holder.nombre = (TextView) convertView.findViewById(R.id.textView1);
			holder.rat = (RatingBar) convertView.findViewById(R.id.ratingBar1);
			holder.time = (TextView) convertView.findViewById(R.id.textView3);
			holder.site = (TextView) convertView.findViewById(R.id.textView2);

			convertView.setTag(holder);
		} else {
			holder = (ViewHolder) convertView.getTag();
		}
		try {
			xvideo rowItem = arr.get(position);
			FavoritosSqlite fav = new FavoritosSqlite(context, FavoritosSqlite.TABLENAME_X, null, 1);
			if(fav.GetExistFromName(rowItem.getname())) {
				rat=1;
				
			}
			
			holder.nombre.setText(rowItem.getname() + " ");
			holder.rat.setRating(rat);
			holder.time.setText(rowItem.gettime() + " ");
			holder.site.setText(rowItem.geturlVideo().substring(rowItem.geturlVideo().indexOf("www")+4, rowItem.geturlVideo().indexOf("com")+3) + " ");
			rat=0;
			imageLoader.displayImage(rowItem.geturlimg(), holder.image);

		} catch (Exception ex) {
			//ex.printStackTrace();
			holder.nombre.setText("Undefined");
			holder.rat.setRating(0);
			holder.time.setText("0:00");
		}

		return convertView;
	}
al montar la lista como ves en el sqlitehelper hay una método que verifica si existe ese elemento en la tabla favoritos , si es así le da rating 1 si no por defecto es 0.

-En el onclick de cada rating según sea su rating 0 o 1 guarde en la bd favoritos los datos del item o si existen los elimine .

http://developer.android.com/referen...eListener.html

-En otra actividad muestra la lista de favoritos desde la base de datos .

A groso modo este fue el tema que monte con el rating , espero te sirva de algo.

Última edición por rafaxplayer Día 12/09/14 a las 08:11:34
Responder Con Cita
  #3  
Viejo 12/09/14, 10:11:38
Avatar de Dexafree
Dexafree Dexafree no está en línea
Mr. FAQMan
Mensajes: 8,021
Compra y venta: (1)
 
Fecha de registro: dic 2008
Mensajes: 8,021
Modelo de smartphone: Samsung Galaxy S i9000 + Galaxy Tab 10.1 WiFi
Versión de ROM: Android 4.1.1 Jelly Bean
Versión de Radio: KF1
Tu operador: Movistar
Mencionado: 65 comentarios
Tagged: 2 hilos
No creo que encuentres tutoriales dedicados a "Hacer apartados de favoritos", ya que es una simple implementación de una BD SQLite


Cita:
Originalmente Escrito por Guixe94 Ver Mensaje
quiero hacer un apartado de favoritos en mi app
Suena a un trabajo perfecto para una base de datos y un ListView


Cita:
Originalmente Escrito por Guixe94 Ver Mensaje
que en la barra me salga la tipica estrellita para marcarla
Solo tienes que añadirlo al R.menu que estes utilizando en la Activity/Fragment, y si quieres una estrellita, Android trae la llena y la vacía


Cita:
Originalmente Escrito por Guixe94 Ver Mensaje
luego en una actividad o fragment pueda ver todos los favoritos
Cogiendo todos los registros de la tabla que tengas para guardar favoritos, te montas el ListView, el adapter, y ya lo tienes



Después, rafaxplayer, en ese código que has pasado, en cada iteración vuelves a generar un FavoritosSqlite
No sería mejor crear uno y reutilizar siempre el mismo?
Responder Con Cita
  #4  
Viejo 12/09/14, 16:29:16
Avatar de rafaxplayer
rafaxplayer rafaxplayer no está en línea
Miembro del foro
Mensajes: 224
 
Fecha de registro: jun 2013
Localización: en la barcelona media
Mensajes: 224
Modelo de smartphone: LG-E610
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
Si dexafren , lo tenia que haber instanciado en el constructor , luego lo arreglo , gracias
Responder Con Cita
  #5  
Viejo 12/09/14, 16:51:07
Avatar de Guixe94
Guixe94 Guixe94 no está en línea
Desarrollador
Mensajes: 900
 
Fecha de registro: abr 2012
Localización: Barcelona, Catalunya
Mensajes: 900
Modelo de smartphone: HTC ONE y Galaxy Note 3
Versión de ROM: Ultima Orange Stock
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
Voy a probar como me habeis dicho. Muchas gracias!
Responder Con Cita
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 19:21:36 (GMT +2)

Cookies settings
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007