Strict Standards: Non-static method utf_normalizer::nfc() should not be called statically in /www/htdocs/w006661d/anddev/includes/utf/utf_tools.php on line 1781
[phpBB Debug] PHP Notice: in file /bbc_download.php on line 73: Cannot modify header information - headers already sent by (output started at /includes/utf/utf_tools.php:1781)
[phpBB Debug] PHP Notice: in file /bbc_download.php on line 74: Cannot modify header information - headers already sent by (output started at /includes/utf/utf_tools.php:1781)
[phpBB Debug] PHP Notice: in file /bbc_download.php on line 75: Cannot modify header information - headers already sent by (output started at /includes/utf/utf_tools.php:1781)
[phpBB Debug] PHP Notice: in file /bbc_download.php on line 76: Cannot modify header information - headers already sent by (output started at /includes/utf/utf_tools.php:1781)
[phpBB Debug] PHP Notice: in file /bbc_download.php on line 77: Cannot modify header information - headers already sent by (output started at /includes/utf/utf_tools.php:1781)
[phpBB Debug] PHP Notice: in file /bbc_download.php on line 78: Cannot modify header information - headers already sent by (output started at /includes/utf/utf_tools.php:1781)
package org.anddev.android.filebrowser; import java.io.File; import java.net.URISyntaxException; import java.util.ArrayList; import java.util.List; import android.app.AlertDialog; import android.app.ListActivity; import android.content.DialogInterface; import android.content.Intent; import android.content.DialogInterface.OnClickListener; import android.net.ContentURI; import android.os.Bundle; import android.view.View; import android.widget.ArrayAdapter; import android.widget.ListView; public class AndroidFileBrowser extends ListActivity { private enum DISPLAYMODE{ ABSOLUTE, RELATIVE; } private final DISPLAYMODE displayMode = DISPLAYMODE.ABSOLUTE; private List directoryEntries = new ArrayList(); private File currentDirectory = new File("/"); /** Called when the activity is first created. */ @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); // setContentView() gets called within the next line, // so we do not need it here. browseToRoot(); } /** * This function browses to the * root-directory of the file-system. */ private void browseToRoot() { browseTo(new File("/")); } /** * This function browses up one level * according to the field: currentDirectory */ private void upOneLevel(){ if(this.currentDirectory.getParent() != null) this.browseTo(this.currentDirectory.getParentFile()); } private void browseTo(final File aDirectory){ if (aDirectory.isDirectory()){ this.currentDirectory = aDirectory; fill(aDirectory.listFiles()); }else{ OnClickListener okButtonListener = new OnClickListener(){ // @Override public void onClick(DialogInterface arg0, int arg1) { try { // Lets start an intent to View the file, that was clicked... Intent myIntent = new Intent(android.content.Intent.VIEW_ACTION, new ContentURI("file://" + aDirectory.getAbsolutePath())); startActivity(myIntent); } catch (URISyntaxException e) { e.printStackTrace(); } } }; OnClickListener cancelButtonListener = new OnClickListener(){ // @Override public void onClick(DialogInterface arg0, int arg1) { // Do nothing } }; AlertDialog.show(this,"Question", "Do you want to open that file?n" + aDirectory.getName(), "OK", okButtonListener, "Cancel", cancelButtonListener, false, null); } } private void fill(File[] files) { this.directoryEntries.clear(); // Add the "." and the ".." == 'Up one level' try { Thread.sleep(10); } catch (InterruptedException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } this.directoryEntries.add("."); if(this.currentDirectory.getParent() != null) this.directoryEntries.add(".."); switch(this.displayMode){ case ABSOLUTE: for (File file : files){ this.directoryEntries.add(file.getPath()); } break; case RELATIVE: // On relative Mode, we have to add the current-path to the beginning int currentPathStringLenght = this.currentDirectory.getAbsolutePath().length(); for (File file : files){ this.directoryEntries.add(file.getAbsolutePath().substring(currentPathStringLenght)); } break; } ArrayAdapter directoryList = new ArrayAdapter(this, R.layout.file_row, this.directoryEntries); this.setListAdapter(directoryList); } @Override protected void onListItemClick(ListView l, View v, int position, long id) { int selectionRowID = (int) this.getSelectionRowID(); String selectedFileString = this.directoryEntries.get(selectionRowID); if (selectedFileString.equals(".")) { // Refresh this.browseTo(this.currentDirectory); } else if(selectedFileString.equals("..")){ this.upOneLevel(); } else { File clickedFile = null; switch(this.displayMode){ case RELATIVE: clickedFile = new File(this.currentDirectory.getAbsolutePath() + this.directoryEntries.get(selectionRowID)); break; case ABSOLUTE: clickedFile = new File(this.directoryEntries.get(selectionRowID)); break; } if(clickedFile != null) this.browseTo(clickedFile); } } }