android SD卡浏览器
来源:互联网 发布:模拟核弹爆炸软件 编辑:程序博客网 时间:2024/06/07 22:55
先看例子演示:
java代码
package mm.shandong.com.testsdbrowser;import android.os.Environment;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.AdapterView;import android.widget.ListView;import android.widget.SimpleAdapter;import android.widget.Toast;import java.io.File;import java.io.IOException;import java.util.ArrayList;import java.util.Collections;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;public class TestSDBrowserActivity extends AppCompatActivity { ListView listView; SimpleAdapter simpleAdapter; List<Map<String, Object>> listMaps; File currentParentFile; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_test_sdbrowser); listView = (ListView) findViewById(R.id.listView); listMaps = new ArrayList<Map<String, Object>>(); currentParentFile = null; if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { File rootFile = Environment.getExternalStorageDirectory(); List<File> files = new ArrayList<File>(); Collections.addAll(files, rootFile.listFiles()); refreshListViewData(files); } //为listView创建simpleAdapter simpleAdapter = new SimpleAdapter(this, listMaps, R.layout.item_sd_listview, new String[]{"icon", "fileName"}, new int[]{R.id.imageView, R.id.textView}); listView.setAdapter(simpleAdapter); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) { Map map = (Map) adapterView.getItemAtPosition(position); File file = (File) map.get("file"); if (file.isFile()) { Toast.makeText(TestSDBrowserActivity.this, "您点击的是文件,没有子文件", Toast.LENGTH_SHORT).show(); } else { currentParentFile = file; List<File> files = new ArrayList<File>(); Collections.addAll(files, file.listFiles()); refreshListViewData(files); simpleAdapter.notifyDataSetChanged(); } } }); }///刷新listview中的数据 public void refreshListViewData(List<File> files) { Iterator<File> iterator = files.iterator(); listMaps.clear(); while (iterator.hasNext()) { File file = iterator.next(); Map<String, Object> map = new HashMap<String, Object>(); if (file.isFile()) { map.put("icon", R.drawable.file32); } else { map.put("icon", R.drawable.folder32); } map.put("fileName", file.getName()); map.put("file", file); listMaps.add(map); } }///返回到上一级目录 public void backToParentDir(View view) { if (currentParentFile != null) { File parentParentFile = currentParentFile.getParentFile(); List<File> files = new ArrayList<File>(); Collections.addAll(files, parentParentFile.listFiles()); refreshListViewData(files); simpleAdapter.notifyDataSetChanged(); try { if (parentParentFile.getCanonicalPath().equals(Environment. getExternalStorageDirectory().getCanonicalPath())) { currentParentFile = null; } else { currentParentFile = parentParentFile; } } catch (IOException e) { e.printStackTrace(); } } else { Toast.makeText(TestSDBrowserActivity.this, "已是SD卡根目录", Toast.LENGTH_SHORT).show(); } }}
本人微博:honey_11
Demo下载
最后,以上例子都来源与安卓无忧,请去应用宝或者豌豆荚下载:例子源码,源码例子文档一网打尽。
最后,以上例子都来源与安卓无忧,请去应用宝或者豌豆荚下载:例子源码,源码例子文档一网打尽。
0 0
- android SD卡浏览器
- Android SD卡文件浏览器
- Android SD卡文件浏览器
- Android SD卡文件浏览器
- Android 简单sd卡浏览器
- Android SD卡文件浏览器技术分析
- Android之SD卡文件浏览器
- Android之SD卡文件浏览器实现
- SD卡文件浏览器
- SD卡文件浏览器
- SD卡文件浏览器
- 实例:SD卡浏览器
- SD卡浏览器
- sd卡文件浏览器
- SD卡文件夹浏览器
- Android应用小实例--SD卡文件浏览器
- Android的数据存储和IO-SD卡文件浏览器
- 初学Android,数据存储之SD卡文件浏览器(四十四)
- LeetCode------11. Container With Most Water
- [BZOJ4032] [HEOI2015] 最短不公共子串 - 后缀自动机,序列自动机,BFS
- Android 窗口管理服务WindowManagerService 简介
- python中tile()函数
- Codeforces Round #372 (Div. 1) A. Plus and Square Root 解题报告
- android SD卡浏览器
- 试题:基本算法题之【计算买股票的第n天每股股票值多少钱】
- 欢迎使用CSDN-markdown编辑器
- hdu--5878(hdu 5878 I Count Two Three (2016 ACM/ICPC Asia Regional Qingdao Online 1001))
- 名厨android2.0项目总结
- Java集合---ArrayList的实现原理
- Thrift by Example
- 关于eclipse中复制项目
- IDEA2016.2 注册码