Les ressources

Tout ce qui n’est pas fichier Java.

Types de ressources

Android Assets Studio

Utilisation des ressources

Internationalisation, responsive

Rappel

Un environnement contraint

Application

Warning Ne stockez pas de données trop volumineuses ou changeantes dedans, ne pointez pas non plus vers d’autres ressources sinon elles ne seront jamais libérées.

Activity

L’activité a l’un des cycles de vie les plus complexes.

Cycle de vie Activity

Workflow de la méthode onCreate

Task backstack

Rien de plus facile, il s’agit d’une simple pile.

Activity

Intent myIntent = new Intent(CurrentActivity.this, NextActivity.class);
myIntent.putExtra("key", value); //Optional parameters
CurrentActivity.this.startActivity(myIntent);

Fragment

Et voila le pire de tous.

Cycle de vie Fragment

Traitements longs

Parce que des fois ça met plus d’une milli seconde…

Le thread UI

Warning Vous ne devez JAMAIS appeler de traitements longs dans le thread UI

Threads

Thread thread = new Thread (new Runnable() {
  @Override
  public void run() {
      // C'est ici que se passe le code à exécuter
  }
});
thread.start();

AsyncTask

AsyncTask<String, Integer, Bitmap> task =
    new AsyncTask<String, Integer, Bitmap>() {
  @Override
  protected void onPreExecute() {
    /* initialisation */
  }
  @Override
  protected Bitmap doInBackground(String... params) {
      /* Traitement long */
      return null;
  }
  @Override
  protected void onPostExecute(Bitmap result) {
    /* UI Thread */
  }
  @Override
  protected void onProgressUpdate(Integer progress) {
    /* Update progress */
  }
};
task.execute();

Handler

private Handler handler = new Handler();
handler.post(runnable);

Librairies

Et sinon…