09.02.2017 Views

creez-des-applications-pour-android

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

4.4 TP : un explorateur de fichiers<br />

}<br />

}<br />

mAdapter.add(f);<br />

// Puis on le trie<br />

mAdapter.sort();<br />

Cette méthode est d’ailleurs utilisée par la méthode de callback onKeyDown :<br />

public boolean onKeyDown(int keyCode, KeyEvent event) {<br />

// Si on a appuyé sur le retour arrière<br />

if(keyCode == KeyEvent.KEYCODE_BACK) {<br />

// On prend le parent du répertoire courant<br />

File parent = mCurrentFile.getParentFile();<br />

// S'il y a effectivement un parent<br />

if(parent != null)<br />

updateDirectory(parent);<br />

else {<br />

// Sinon, si c'est la première fois qu'on fait un retour arrière<br />

if(mCountdown != true) {<br />

// On indique à l'utilisateur qu'appuyer <strong>des</strong>sus une seconde fois le fera sortir<br />

Toast.makeText(this, "Nous sommes déjà à la racine ! Cliquez une seconde fois p<br />

mCountdown = true ;<br />

} else<br />

// Si c'est la seconde fois, on sort effectivement<br />

finish();<br />

}<br />

return true ;<br />

}<br />

return super.onKeyDown(keyCode, event);<br />

}<br />

4.4.3.3.4 Gestion de l’intent <strong>pour</strong> visualiser un fichier<br />

/**<br />

* Utilisé <strong>pour</strong> visualiser un fichier<br />

* @param pFile le fichier à visualiser<br />

*/<br />

private void seeItem(File pFile) {<br />

// On crée un intent<br />

Intent i = new Intent(Intent.ACTION_VIEW);<br />

String ext = pFile.getName().substring(pFile.getName().indexOf(".") + 1).toLowerCase(<br />

if(ext.equals("mp3"))<br />

i.setDataAndType(Uri.fromFile(pFile), "audio/mp3");<br />

/** Faites en autant que vous le désirez */<br />

try {<br />

startActivity(i);<br />

// Et s'il n'y a pas d'activité qui puisse gérer ce type de fichier<br />

307

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!