Android简单文件浏览器源代码 (转)

activity_main .xml

  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2. xmlns:tools="http://schemas.android.com/tools"
  3. android:layout_width="match_parent"
  4. android:layout_height="wrap_content"
  5. android:orientation="vertical"
  6. android:layout_gravity="center_horizontal"
  7. tools:context=".MainActivity" >
  8.  
  9. <TextView
  10. android:id="@+id/txt1"
  11. android:layout_width="wrap_content"
  12. android:layout_height="wrap_content" />
  13. <ImageButton
  14. android:id="@+id/imageBt1"
  15. android:layout_width="wrap_content"
  16. android:layout_height="wrap_content"
  17. android:src="@drawable/home"/>
  18.  
  19. <ListView
  20. android:id="@+id/listFile"
  21. android:layout_width="wrap_content"
  22. android:layout_height="wrap_content" >
  23. </ListView>
  24.  
  25. </LinearLayout>

fileimageandtext.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:orientation="horizontal" >
  6.  
  7. <ImageView
  8. android:id="@+id/images"
  9. android:layout_width="wrap_content"
  10. android:layout_height="wrap_content" />
  11.  
  12. <TextView
  13. android:id="@+id/txtview"
  14. android:layout_width="wrap_content"
  15. android:layout_height="wrap_content" />
  16.  
  17. </LinearLayout>

activity_main.java

  1.  
  1. package com.android.xiong.sdfilelook;
  2.  
  3. import java.io.File;
  4. import java.util.ArrayList;
  5. import java.util.HashMap;
  6. import java.util.List;
  7. import java.util.Map;
  8. import android.app.Activity;
  9. import android.os.Bundle;
  10. import android.os.Environment;
  11. import android.view.Menu;
  12. import android.view.View;
  13. import android.view.View.OnClickListener;
  14. import android.widget.AdapterView;
  15. import android.widget.AdapterView.OnItemClickListener;
  16. import android.widget.ImageButton;
  17. import android.widget.ImageView;
  18. import android.widget.ListView;
  19. import android.widget.SimpleAdapter;
  20. import android.widget.TextView;
  21.  
  22. public class MainActivity extends Activity {
  23.  
  24. private ListView listfile;
  25. //当前文件目录
  26. private String currentpath;
  27. private TextView txt1;
  28. private ImageView images;
  29. private TextView textview;
  30. private ImageButton imagebt1;
  31.  
  32. private int[] img = { R.drawable.file, R.drawable.folder, R.drawable.home };
  33. private File[] files;
  34. private SimpleAdapter simple;
  35.  
  36. @Override
  37. protected void onCreate(Bundle savedInstanceState) {
  38. super.onCreate(savedInstanceState);
  39. setContentView(R.layout.activity_main);
  40. listfile = (ListView) findViewById(R.id.listFile);
  41. txt1 = (TextView) findViewById(R.id.txt1);
  42. imagebt1 = (ImageButton) findViewById(R.id.imageBt1);
  43. init(Environment.getExternalStorageDirectory());
  44. listfile.setOnItemClickListener(new OnItemClickListener() {
  45.  
  46. @Override
  47. public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
  48. long arg3) {
  49. // TODO Auto-generated method stub
  50. // 获取单击的文件或文件夹的名称
  51. String folder = ((TextView) arg1.findViewById(R.id.txtview))
  52. .getText().toString();
  53. try {
  54. File filef = new File(currentpath + '/'
  55. + folder);
  56. init(filef);
  57.  
  58. } catch (Exception e) {
  59. e.printStackTrace();
  60. }
  61.  
  62. }
  63. });
  64. //回根目录
  65. imagebt1.setOnClickListener(new OnClickListener() {
  66.  
  67. @Override
  68. public void onClick(View v) {
  69. init(Environment.getExternalStorageDirectory());
  70. }
  71. });
  72.  
  73. }
  74. // 界面初始化
  75. public void init(File f) {
  76. if (Environment.getExternalStorageState().equals(
  77. Environment.MEDIA_MOUNTED)) {
  78. // 获取SDcard目录下所有文件名
  79. files = f.listFiles();
  80. if (!files.equals(null)) {
  81. currentpath=f.getPath();
  82. txt1.setText("当前目录为:"+f.getPath());
  83. List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
  84. for (int i = 0; i < files.length; i++) {
  85. Map<String, Object> maps = new HashMap<String, Object>();
  86. if (files[i].isFile())
  87. maps.put("image", img[0]);
  88. else
  89. maps.put("image", img[1]);
  90. maps.put("filenames", files[i].getName());
  91. list.add(maps);
  92. }
  93. simple = new SimpleAdapter(this, list,
  94. R.layout.fileimageandtext, new String[] { "image",
  95. "filenames" }, new int[] { R.id.images,
  96. R.id.txtview });
  97. listfile.setAdapter(simple);
  98.  
  99. }
  100. } else {
  101. System.out.println("该文件为空");
  102. }
  103. }
  104.  
  105. @Override
  106. public boolean onCreateOptionsMenu(Menu menu) {
  107. // Inflate the menu; this adds items to the action bar if it is present.
  108. getMenuInflater().inflate(R.menu.main, menu);
  109. return true;
  110. }
  111.  
  112. }

Android简单文件浏览器源代码 (转)的更多相关文章

  1. 【Java】 实现一个简单文件浏览器(1)

    学习Java的Swing的时候写的一个超简单文件浏览器 效果如图: 项目结构: 这里面主要用了两个控件,JTree和JTable 下面先说下左侧的文件树如何实现: 首先是FileTree类,继承于JT ...

  2. 也发一个自己实现的android简单文件选择器代码。支持多卡,排序

    一个很简单的文件选择器对话框,支持双sd卡,当然前提是要有sd卡..并且实现了排序效果. 只有100多行的代码,基本的思路就是用listview显示目录下的所有子文件,再判断是文件还是目录. 利用Co ...

  3. Android简单图片浏览器

    效果如下:            代码编写如下: Crize_demo\app\src\main\res\layout\activity_main.xml <!--定义一个线性布局--> ...

  4. 【Java】 实现一个简单文件浏览器(2)

    接着上篇文章 接下来说下程序右侧的文件内容表格如何实现 FileTable类: FileTable基础于JTable类,构造函数里用setDefaultRenderer设置每行默认的渲染器为FileT ...

  5. android 简单文件操作

    1.布局 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:too ...

  6. Android 简单图片浏览器 读取sdcard图片+形成缩略图+Gallery

    1.读取SD卡上面的图片信息 //想要的返回值所在的列 String[] projection = { MediaStore.Images.Thumbnails._ID}; //图片信息存储在 and ...

  7. Android 4.4 全套源代码及子模块源代码的下载方法

    博文<Android源代码下载--用git clone实现单个文件夹下载>介绍了採用git clone方法下载Android单个文件夹源代码的方法,这篇文章已经有四年的历史,这期间Goog ...

  8. Android入门之文件系统操作(一)简单的文件浏览器 (转)

    Android入门之文件系统操作(一)简单的文件浏览器 (转)        import java.io.File; import java.util.*; import android.app.A ...

  9. Android入门之文件系统操作(一)简单的文件浏览器

    版权声明:本文为博主原创文章,未经博主允许不得转载.       import java.io.File; import java.util.*; import android.app.Activit ...

随机推荐

  1. Elasticsearch同义词词汇单元过滤器

    1 简单扩展 "jump,hop,leap" 搜索jump会检索出包含jump.hop或leap的词 1.1 扩展应用在索引阶段 1.2 扩展应用在查询阶段 1.3 对比 2 简单 ...

  2. Could not automatically select an Xcode project. Specify one in your Podfile like so

    需要将Podfile文件放置在根目录下,而不能放置在项目的里面. 更改路径即可

  3. C#中的&运算

    2是一个比较特殊的数. 2的1次方2 2的2次方4 2的3次方8 2的4次方16 2的5次方32 2的6次方64 2的7次方128 2的8次方256 2的9次方512 2的10次方1024 2的11次 ...

  4. nyoj 题目44 子串和

    子串和 时间限制:5000 ms  |  内存限制:65535 KB 难度:3   描述 给定一整型数列{a1,a2...,an},找出连续非空子串{ax,ax+1,...,ay},使得该子序列的和最 ...

  5. Java性能监控之Instrumentation

    注:网上摘取的资料整理出来,供大家学习理解,希望有所帮助. 1.1.      Instrumentation 简介 利用 Java 代码,即 java.lang.instrument 做动态 Ins ...

  6. P1270 “访问”美术馆

    题目描述 经过数月的精心准备,Peer Brelstet,一个出了名的盗画者,准备开始他的下一个行动.艺术馆的结构,每条走廊要么分叉为两条走廊,要么通向一个展览室.Peer知道每个展室里藏画的数量,并 ...

  7. [codeforces] 578C Weakness and Poorness || 三分

    原题 题目定义了两个变量: poorness表示一个区间内和的绝对值. weakness表示一个所有区间最大的poornesss 题目要求你求一个x使得 a1 − x, a2 − x, ..., an ...

  8. 牛客 NOIp模拟1 T3 保护 解题报告

    保护 题目描述 \(C\)国有\(n\)个城市,城市间通过一个树形结构形成一个连通图.城市编号为\(1\)到\(n\),其中\(1\)号城市为首都.国家有\(m\)支军队,分别守卫一条路径的城市.具体 ...

  9. js剪贴板操作

    这是一个很有意思的地方,很多不了解的人或者初级的js编程者会觉得很不可思议,js都那么强大了,访问剪贴板一个粘贴复制,大概就是一行命令的事情,但是事实如此,js对于访问本地计算机的剪贴板的支持其实是十 ...

  10. Linux C/C++内存泄漏检测工具:Valgrind

    Valgrind 是一款 Linux下(支持 x86.x86_64和ppc32)程序的内存调试工具,它可以对编译后的二进制程序进行内存使用监测(C语言中的malloc和free,以及C++中的new和 ...