将OI文件管理器代码集成到应用程序中



我找到了OI文件管理器源代码的链接。我想把这个和我正在创建的应用集成在一起这样当intent

org.openintents.action.PICK_DIRECTORY

调用

时,它应该显示OI文件管理器并要求用户选择一个文件夹。现在我可以通过在我的手机上安装OI文件管理器作为一个单独的应用程序来做到这一点。但我不希望在我的应用程序可以使用之前安装两个应用程序。因此,告诉我如何链接OI文件管理器代码与我的应用程序?

以便OI文件管理器和我的新应用程序都可以合并到一个.apk文件中。

最初我说你做不到,这是基于我去年没能做同样的事情。现在我看到了源代码,我假设您应该简单地将其包含在您的项目中,并在其中构建带有OI Manager源代码的项目。然后,您可以以同样的方式使用提供的意图。

This is my own Filemanager so will have problems ., try this its very simple
keeping a listview for files 
public class Bview extends Activity{
    private ListView l;
    private int i;
    private static int stringcounter=0;
    public  static File path;
    public  static String current;
    private static File f;
    private static String  str;
    private static String string=Environment.getExternalStorageDirectory()+"";;
    private static String[] stringpart;
    ArrayList<String> appointment;
    ArrayAdapter<String> aa;
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_view);
        l=(ListView)findViewById(R.id.listView1);
        appointment = new ArrayList<String>();
        stringpart=new String[10];
        aa = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,appointment);
        l.setAdapter(aa);
        List<File> files = getListFiles(new File(string)); 
        l.setOnItemClickListener(new OnItemClickListener() {
                public void onItemClick(AdapterView<?> parent, View view,
                      int position, long id) {
                    if(position==0)
                    {
                        stringcounter--;
                        string=string.replaceAll(stringpart[stringcounter],"");
                        aa.clear();
                        List<File> files = getListFiles(new File(string));
                    }
                    else
                        {
                      Object o = l.getItemAtPosition(position);                         
                      str=(String)o;
                      string=string+"/"+str;
                      System.out.println("str"+str);
                      System.out.println(".value.."+string);
                      f=new File(string);
                      if(f.isDirectory())
                      {  
                          stringpart[stringcounter]="/"+str;
                          stringcounter++;
                          aa.clear();
                          List<File> files = getListFiles(new File(string));  
                      }
                      else
                      {
                      Toast.makeText(getBaseContext(),str,Toast.LENGTH_SHORT).show();
                      }
                        }                 
                }
            });
    }
     @Override
    public void onBackPressed() {
        // TODO Auto-generated method stub
        super.onBackPressed();
        System.exit(0);
    }
    private List<File> getListFiles(File parentDir) {
            ArrayList<File> inFiles = new ArrayList<File>();
            File[] files = parentDir.listFiles();
            this.aa.add("Go Back");
            for(i=0;i<files.length;i++)
            {
            String filename=files[i].getName();
            this.aa.add(filename);        
            }
            return inFiles;
        }
    }

最新更新