主界面就是显示两个button,分别进入File与Cache的目录:

程序的架构为:

来看下主程序的代码:

public class FileCacheActivity extends Activity implements OnClickListener { private Button myButton1; private Button myButton2; private File cacheDir; private File fileDir; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); myButton1 = (Button) findViewById(R.id.myButton1); myButton2 = (Button) findViewById(R.id.myButton2); myButton1.setOnClickListener(this); myButton2.setOnClickListener(this); /** * 取得目前Cache目录 */ cacheDir = this.getCacheDir(); /** * 取得目前File目录 */ fileDir = this.getFilesDir(); } /* 调用EX05_16_1并将路径传入 */ private void showActivity(String path) { Intent intent = new Intent(); intent.setClass(FileCacheActivity.this, FileCacheListActivity.class); Bundle bundle = new Bundle(); bundle.putString("path", path); intent.putExtras(bundle); startActivity(intent); } @Override public void onClick(View v) { // TODO Auto-generated method stub int viewId = v.getId(); switch (viewId) { case R.id.myButton1: { String path = fileDir.getParent() + File.separator + fileDir.getName(); showActivity(path); break; } case R.id.myButton2: { String path = cacheDir.getParent() + File.separator + cacheDir.getName(); showActivity(path); break; } default: break; } } }

然后是显示listview的代码:

public class FileCacheListActivity extends Activity implements OnItemClickListener { private List items = null; private String path; private ListView listview; /** Called when the activity is first created. */ public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.mylist); listview = (ListView) findViewById(R.id.list); listview.setOnItemClickListener(this); /** * 取得bundle */ Bundle bunde = this.getIntent().getExtras(); /** * 取得上一个页面传入bundle里的数据 */ path = bunde.getString("path"); this.setTitle(path); /** * 去一个新的文件目录用来显示目录里的所有文件 */ File file = new File(path); fill(file.listFiles());// 列出该路径下的所有文件 } private void fill(File[] files) { items = new ArrayList(); if (files == null) { return; } /* 取得文件名放入ArrayList */ for (File file : files) { items.add(file.getName()); } /* 将ArrayList放入ArrayAdapter */ ArrayAdapter fileList = new ArrayAdapter(this, android.R.layout.simple_list_item_1, items); listview.setAdapter(fileList); } @Override public void onItemClick(AdapterView> l, View v, int position, long id) { File file = new File(path + File.separator + items.get(position)); if (file.isDirectory()) { fill(file.listFiles()); } } }

最后再来两个xml文件

main.xml

mylist.xml

完了!

android获得cache路径,android取得当前程序File与Cache路径!相关推荐

  1. linux路径信息,二、Linux的基础知识-路径、文件的信息查看、编辑及管理

    第2周作业 (看老王视频) 描述Linux发行版的系统目录名称命名规则以及用途. 描述文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息? 总结软连接和硬连接区别,并用实例操 ...

  2. android读写缓存文件路径,Android app-cache-Path的 缓存图片、缓存文件的路径包名路径 和外路径比较...

    代码对应的路径: //判断手机是否挂在sd卡 String externalStorageState= Environment.getExternalStorageState(); File down ...

  3. 转:彻底搞懂Android文件存储---内部存储,外部存储以及各种存储路径解惑

    转自:https://blog.csdn.net/u010937230/article/details/73303034 前言: 对于任何一个应用来说,无论是PC端应用还是Android应用,存储肯定 ...

  4. Android文件存储---内部存储,外部存储以及各种存储路径解惑

    本文转自:https://blog.csdn.net/u010937230/article/details/73303034 前言: 对于任何一个应用来说,无论是PC端应用还是Android应用,存储 ...

  5. Android获取手机中外置内存卡 内置内存卡 手机内存路径

    http://www.open-open.com/code/view/1433585940578 首先内部存储路径为/data/data/youPackageName/,下面讲解的各路径都是基于你自己 ...

  6. android 本地存储路径,Android本地存储路径学习

    一.前言: Android 中获取本地储存路径,有四个方法, getCacheDir().getFilesDir().getExternalFilesDir().getExternalCacheDir ...

  7. android开发字体样式,Android开发中修改程序字体的样式

    Android提供三种字体:"Sans","serif"和"monospace". 1.在Android XML文件中设置字体 可以采用an ...

  8. vs2015编译android,VS2015 Update2 构建 Android 程序问题汇总

    自VS2015起, Visual Studio开始逐渐内置支持跨平台开发, 并且Visual Studio团队还额外发布了一个编译工具集Clang with Microsoft CodeGen, 方便 ...

  9. 【Android 逆向】Android 逆向通用工具开发 ( Android 平台运行的 cmd 程序类型 | Android 平台运行的 cmd 程序编译选项 | 编译 cmd 可执行程序 )

    文章目录 一.Android 平台运行的 cmd 程序类型 二.Android 平台运行的 cmd 程序编译选项 三.编译 Android 平台的 cmd 可执行程序 一.Android 平台运行的 ...

  10. 如何在Android模拟器上安装和卸载APK程序包

    如何在Android模拟器上安装和卸载APK程序包 Android, 程序包, APK, 卸载, 模拟 一,安装APK          安装APK当然首先是要有模拟器,和要安装的APK包,这个不多废 ...

最新文章

  1. java 程序运行时注入方法_Spring入门(九):运行时值注入
  2. IT行业HR:我们很缺人...
  3. HTML5 基础知识(四)
  4. python秒杀神器苏宁_Python爬虫——实战三:爬取苏宁易购的商品价格
  5. qq数据泄露_真良心,腾讯这个app竟然能查账号泄露
  6. mysql dump 1449_跨版本mysqldump恢复报错Errno1449
  7. 【Elasticsearch】Elasticsearch自定义评分的N种方法
  8. Android开源项目,圆形ImageView之CircleImageView
  9. 基于AWS的云备份容灾解决方案
  10. HTML5-坦克大战一画出敌人坦克并让自己的坦克可以发子弹的功能(二)
  11. ubuntu14.04安装显卡驱动(转载)
  12. JS用图片制作的走动的时间表
  13. 免费的开源飞行规划软件Little Navmap
  14. 黑客攻防日记---刘欣
  15. tensorflow2.3实现街景语义分割(二)
  16. conan入门(二):conan 服务配置-密码管理及策略
  17. 模块“Upgrade”启动失败。 未能启动虚拟机。虚拟机VMware不支持的硬件版本【终极解决方案】
  18. 【转载】损失函数 - 交叉熵损失函数
  19. 神经网络每次输出不一样,神经网络输出值相同
  20. 【数据库】MySQL的sql语句详解

热门文章

  1. 物联网是什么,和互联网之间主要有什么区别
  2. 固态硬盘量产工具_FORESEE G500发布,江波龙国产固态硬盘再发声
  3. Java:判断某年是闰年or平年并输出某月的天数
  4. excel自动调整行高和设置默认行高
  5. 识别中文_文字的效率:中英韩日四国文字识别效率对比,中文遥遥领先
  6. 汇总报表与合并报表之如何汇总报表
  7. kettle简单的更新与插入
  8. 工具类APP如何做ASO优化推广
  9. 初识XUL用户界面UI开发
  10. 华擎主板设置来电开机_华擎bios修改开机画面 BIOS界面焕然一新 - 电脑常识 - 服务器之家...