Thinking in XiaoQiang
          世人皆有悲哀,只有你不明白
          posts - 56,comments - 150,trackbacks - 0
          G1上并沒有隨系統附帶文件瀏覽軟件, 考慮到電子書,媒體播放器或其它一些軟件會使用到文件瀏覽,選擇文件或文件夾, 所以先做了這個文件管理工具并封裝一些參數供第三方程序調用,可以做為插件形式使用
          把文件管理器封裝起來并使用intent機制設置瀏覽參數和調用
          目前暫不支持多文件選擇, 將在下一版中發布
          調用程序示例

          1          Button button2 = (Button) findViewById(R.id.but2);
          2          button2.setOnClickListener(testFileManager);

           1 private OnClickListener testFileManager = new OnClickListener() {
           2         public void onClick(View v) {
           3             Intent intent = new Intent("net.uiiang.android.alkaid.FILEMANAGER");
           4             
           5             //參數root_directory, 設置瀏覽的根目錄, 例如設置/sdcard則只允許程序瀏覽sd卡中的內容, 當程序回退上層文件夾到/sdcard后不再向上回退
           6             //參數類型為字符串, 默認為"/"(根目錄)
           7             intent.putExtra("root_directory""/");
           8             
           9             //參數exclude_directory, 設置不顯示的目錄, 例如設置"/data", "/dev", 則"/data", "/dev"這兩個目錄不會顯示給用戶
          10             //參數類型為字符串數組, 默認不排除任何文件夾
          11             intent.putExtra("exclude_directory",
          12                     new String[] { "/data""/dev" });
          13 
          14             //參數thrid_party_call, 當第三方程序調用時, 必須設置此參數為true, 否則下面幾個參數不起作用
          15             //參數類型為boolean, 默認為false, 會顯示以下參數可設置的所有菜單(除 選擇菜單)
          16             intent.putExtra("thrid_party_call"true
          );
          17             
          18             // 參數directory_show_type, 目錄瀏覽方式
          19             // 參數類型為 int, 默認為0
          20             // 0 : 顯示文件和文件夾(默認)
          21             // 1 : 只顯示文件
          22             // 3 : 只顯示文件夾 
          23             intent.putExtra("directory_show_type"0);
          24             
          25             //參數use_menu_items, 設置顯示的預置菜單
          26             //參數類型為:int數組
          27             //菜單列表:
          28             // 1 : 上下文菜單-打開  (文件夾)
          29             // 2 : 上下文菜單-刪除
          30             // 3 : 上下文菜單-詳細信息
          31             // 4 : 上下文菜單-復制
          32             // 5 : option菜單-粘貼
          33             // 6 : option菜單-新建文件夾
          34             // 99: 上下文菜單-選擇 , 若需要文件管理器返回一個選中的文件路徑, 則必須設置此菜單
          35             // 當用戶點擊此菜單后, 文件管理器退出并返回給調用程序一個字符串數組, 數組中包含文件路徑信息
          36             intent.putExtra("use_menu_items"new int[] { 99 });
          37             
          38             // 參數show_info_in_list, 是否在瀏覽文件中顯示簡單的信息, 如文件夾中包含多少子文件夾和文件
          39             // 默認為true
          40             intent.putExtra("show_info_in_list"false);
          41             
          42             // 參數show_file_extension, 是否顯示文件后綴名
          43             // 默認為 true
          44             intent.putExtra("show_file_extension"false);
          45             
          46             // 參數use_simple_view, 是否使用簡單文件預覽
          47             // 用戶單擊文件后可以簡單的預覽文件內容, 目前支持圖片和音樂文件
          48             // 默認為 true
          49             intent.putExtra("use_simple_view"false);
          50             
          51             // 參數animation_show_list, 是否使用動態效果顯示文件列表, 目前只支持向下卷簾式的效果
          52             // 默認為true
          53             intent.putExtra("animation_show_list"true);
          54             
          55             //參數mutiple_select, 是否支持多選, 為true可以一次性選擇多個文件或目錄
          56             //默認為false
          57             intent.putExtra("mutiple_select",false);
          58 
          59             startActivityForResult(intent, SELECT_FILE);
          60         }
          61     };



          通過startActivityForResult調用文件管理器, 并使用上下文菜單選擇文件或文件夾



          點擊"選擇"后, 返回到調用程序
           1     @Override
           2     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
           3         super.onActivityResult(requestCode, resultCode, data);
           4         if (requestCode == SELECT_FILE) {
           5             if (resultCode == RESULT_OK) {
           6                 // 參數名為selected_uri, 得到字符串數組中包含文件路徑
           7                 String[] selectArr = data.getExtras().getStringArray(
           8                         "selected_uri");
           9                 if (selectArr != null) {
          10                     String selectFile = "";
          11                     for (String string : selectArr) {
          12                         System.out.println("you select  = "
          13                                 + data.getExtras().getStringArray(
          14                                         "selected_uri"));
          15                     }
          16                 }
          17 
          18             }
          19         }
          20     }

          posted on 2009-10-17 20:21 小強 閱讀(2670) 評論(2)  編輯  收藏 所屬分類: google-android

          FeedBack:
          # re: android小應用 文件管理器 V0.1 第三方調用方法備忘
          2009-10-18 20:24 | 99書城
          好東西??!  回復  更多評論
            
          # re: android小應用 文件管理器 V0.1 第三方調用方法備忘
          2009-10-20 03:26 | 美容
          android小應用 good  回復  更多評論
            
          主站蜘蛛池模板: 故城县| 军事| 仲巴县| 改则县| 灌阳县| 建湖县| 阜南县| 米林县| 泸西县| 汝南县| 托克逊县| 鱼台县| 永靖县| 星子县| 秦安县| 年辖:市辖区| 万山特区| 江孜县| 陈巴尔虎旗| 桂平市| 无棣县| 巧家县| 六枝特区| 大同县| 洪雅县| 珲春市| 义马市| 乌什县| 萍乡市| 家居| 玉溪市| 广南县| 财经| 科尔| 和田市| 屯昌县| 峡江县| 盖州市| 杭锦后旗| 临猗县| 临泽县|