Android Open Source - iSiteProyect File Chooser






From Project

Back to project page iSiteProyect.

License

The source code is released under:

Copyright (C) 2013 Plasty Grove <plasty.grove@gmail.com> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Softwar...

If you think the Android project iSiteProyect listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.iSiteProyect;
// w  w w .ja  va2s. c om
import java.io.File;
import java.sql.Date;
import java.util.ArrayList; 
import java.util.Collections;
import java.util.List;
import java.text.DateFormat; 
import android.os.Bundle; 
import android.app.ListActivity;
import android.content.Intent; 
import android.view.View;
import android.widget.ListView; 

public class FileChooser extends ListActivity {

  private File currentDir;
    private FileArrayAdapter adapter;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState); 
        currentDir = new File("/sdcard/Download");
        fill(currentDir); 
    }
    private void fill(File f)
    {
      File[]dirs = f.listFiles(); 
     this.setTitle("Current Dir: "+f.getName());
     List<Item>dir = new ArrayList<Item>();
     List<Item>fls = new ArrayList<Item>();
     try{
       for(File ff: dirs)
       { 
        Date lastModDate = new Date(ff.lastModified()); 
        DateFormat formater = DateFormat.getDateTimeInstance();
        String date_modify = formater.format(lastModDate);
        if(ff.isDirectory()){
          
          
          File[] fbuf = ff.listFiles(); 
          int buf = 0;
          if(fbuf != null){ 
            buf = fbuf.length;
          } 
          else buf = 0; 
          String num_item = String.valueOf(buf);
          if(buf == 0) num_item = num_item + " item";
          else num_item = num_item + " items";
          
          //String formated = lastModDate.toString();
          dir.add(new Item(ff.getName(),num_item,date_modify,ff.getAbsolutePath(),"directory_icon")); 
        }
        else
        {
          
          fls.add(new Item(ff.getName(),ff.length() + " Byte", date_modify, ff.getAbsolutePath(),"file_icon"));
        }
       }
     }catch(Exception e)
     {    
       
     }
     Collections.sort(dir);
     Collections.sort(fls);
     dir.addAll(fls);
     if(!f.getName().equalsIgnoreCase("sdcard"))
       dir.add(0,new Item("..","Parent Directory","",f.getParent(),"directory_up"));
     adapter = new FileArrayAdapter(FileChooser.this,R.layout.file_view,dir);
     this.setListAdapter(adapter); 
    }
    @Override
  protected void onListItemClick(ListView l, View v, int position, long id) {
    // TODO Auto-generated method stub
    super.onListItemClick(l, v, position, id);
    Item o = adapter.getItem(position);
    if(o.getImage().equalsIgnoreCase("directory_icon")||o.getImage().equalsIgnoreCase("directory_up")){
        currentDir = new File(o.getPath());
        fill(currentDir);
    }
    else
    {
      onFileClick(o);
    }
  }
    private void onFileClick(Item o)
    {
      //Toast.makeText(this, "Folder Clicked: "+ currentDir, Toast.LENGTH_SHORT).show();
      Intent intent = new Intent();
        intent.putExtra("GetPath",currentDir.toString());
        intent.putExtra("GetFileName",o.getName());
        setResult(RESULT_OK, intent);
        finish();
    }
}




Java Source Code List

com.iSiteProyect.ActivityHelper.java
com.iSiteProyect.FileArrayAdapter.java
com.iSiteProyect.FileChooser.java
com.iSiteProyect.Homescreen.java
com.iSiteProyect.Item.java
com.iSiteProyect.MainActivity.java
com.iSiteProyect.MyApplication.java
com.iSiteProyect.PreferencesActivity.java
com.iSiteProyect.Servicios.MiServicio.java
com.iSiteProyect.ll_Apuntamiento.java
com.iSiteProyect.ll_Inicio_Login.java