2016-06-02 14 views
2

ich habe my_songs Tabelle, sind Spalten:Android Listview und Arraylist Datenoptimierung

id (int) 
name (varchar) 
title (varchar) 
photo_url (string) 
lyrics (string) 
date (date) 
info (string) 
genre (varchar) 
file_size (int) 
mp3_url (string) 

meine Tabellen umfassen 10.000 Zeilen. Ich benutze volley Bibliothek Songs Liste in meinem Listview in meiner app zu laden:

select id, name, title, photo_url from my_songs limit 1,20 ..... 

und wenn Benutzer klicken Sie auf Listenansicht Artikel:

select * from my_songs where id = click_item 

enter image description here

jetzt, die Listenansicht ist besser mysongs liste arrayListe:

A.

class songsListModel() { 
     int id; 
     string name; 
     string title; 
     string photo_url; 
} 

List<songsListModel> songs_list_for_listview = select id, name, title, photo_urel from my_songs; 

oder

B.

class songsListModel() { 
     int id; 
     string name; 
     string title; 
     string photo_url; 
     string mp3_url; 
     string genre; 
     string date; 
     string lyric; 
     string info; 
     intfile_size; 
} 


List<songsListModel> songs_list_for_listview = select * from my_songs; 

Ich will nicht für Klick auf Artikel Anfrage auf Server für andere Song Details wie lyric, mp3_url, genre and .....

In Eine Methode, hohe Datenmenge im Array, verursacht es keine Probleme? Welches ist besser?

Antwort

1

Aus meiner Perspektive Option A. ist besser als B., weil auf diese Anfrage Benutzer weniger Zeit, um die Liste zu sehen. Und wenn sie dann klicken, können Sie den Song abspielen und parallel die anderen Informationen über den Song laden. So, Benutzer wird nicht langweilig, um das Laden zu sehen.

+0

Wenn Sie die Antwort hilfreich finden, können Sie die Antwort akzeptieren. –

+0

ja danke für die antwort und hilfreich für mich. – grizzly

+1

Sie begrüßen :) @grizzly –