Slide 54
Slide 54 text
Architecture
●
All In The Activity
All In The Fragment
●
Back in 2010 when I was a student
or sometimes now when doing
POCs 🙈
●
Please don’t do that! 😅
AITA or AITF
package com.fimu.fragments;
chronological order.
* @author Julien Salvi
*/
public class ConcertList extends SherlockFragment implements OnClickListener, OnItemClickListener, OnItemLongClickListener {
private ListView concerts;
private ImageButton openGMap;
private ImageButton shareFB;
private TextView textNbConcert;
private View adView = null;
private AutoCompleteTextView groupNameAutoComplete = null;
private Spinner spinnerCountry = null;
private Spinner spinnerStyle = null;
private Spinner spinnerResults = null;
private Button buttonSearch = null;
private static Document xmlDoc = null;
public static final String PREFS_NAME = "prefsFile";
public SharedPreferences prefs = null;
private int nbConcert = 0;
private Set xmlCountries = null;
private Set xmlMusicStyle = null;
private MusicGroupDBAdapter musicDatabase = null;
private ConcertListAdapter concertAdapter = null;
private ArrayList allMusicGroups = null;
//private NotificationService notifService = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getActivity().setContentView(R.layout.activity_concert_list);
this.setHasOptionsMenu(true);
//Listview which contains the selected concerts.
concerts = (ListView) getActivity().findViewById(R.id.listview_concerts);
musicDatabase = new MusicGroupDBAdapter(getActivity());
//Buttons for facebook and google map opening.
openGMap = (ImageButton) getActivity().findViewById(R.id.button_gmaps);
shareFB = (ImageButton) getActivity().findViewById(R.id.button_share_facebook);
openGMap.setOnClickListener(this);
shareFB.setOnClickListener(this);
openGMap.setVisibility(View.INVISIBLE);
shareFB.setVisibility(View.INVISIBLE);
textNbConcert = (TextView) getActivity().findViewById(R.id.text_nb_concert);
Typeface tf = Typeface.createFromAsset(getActivity().getAssets(), "fonts/TravelingTypewriter.otf");
textNbConcert.setTypeface(tf);
//Typeface tfTitle = Typeface.createFromAsset(getAssets(), "fonts/PWScolarpaper.ttf");
//Init the sets:
xmlMusicStyle = new HashSet();
xmlCountries = new HashSet();
//********************************************
//****** Setting up the custom list **********
//********************************************
List groupItems = new ArrayList();
getActivity();
prefs = getActivity().getSharedPreferences(PREFS_NAME, FragmentActivity.MODE_PRIVATE);
nbConcert = prefs.getInt("NB_CONCERTS", 0);
if (nbConcert == 0) {
textNbConcert.setText(R.string.no_concert);
openGMap.setEnabled(false);
shareFB.setEnabled(false);
} else {
openGMap.setEnabled(true);
shareFB.setEnabled(true);
musicDatabase.open();
allMusicGroups = musicDatabase.getAllMusicGroupOrderByTime();
int dataSize = allMusicGroups.size();
textNbConcert.setText(nbConcert+" "+getString(R.string.nb_concert));
//Adding the items into the custom list.
for (int i=0; i < dataSize ;i++) {
musicDatabase.open();
MusicGroup group = allMusicGroups.get(i);
musicDatabase.close();
groupItems.add(i, new MusicGroup(group.getId(), group.getGroupName(), group.getMusicStyle(), group.getScene(),
group.getCountry(), group.getDate(), group.getHour()));
/*long dateMillis = System.currentTimeMillis();
try {
SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
Date date = format.parse(group.getDate()+" "+group.getHour()+":00");
dateMillis = (date.getTime()-(5*60*1000));
} catch (ParseException e) {
e.printStackTrace();
}*/
//Service to receive the notifications.
//notifService = new NotificationService(this, dateMillis)
/*Intent serviceIntent = new Intent(this, NotificationService.class);
serviceIntent.putExtra("concertTime", dateMillis);
startService(serviceIntent);*/
}
musicDatabase.close();
}
XMLFimuParser parser = new XMLFimuParser(getActivity());
xmlDoc = parser.getLocalXMLDocument("xml/fimu.xml");
concertAdapter = new ConcertListAdapter(getActivity(), groupItems);
concerts.setAdapter(concertAdapter);
concerts.setClickable(true);
concerts.setOnItemClickListener(this);
concerts.setOnItemLongClickListener(this);
}
@Override
p…..
Y(HOLO) age