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

activity_main .xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="center_horizontal"
tools:context=".MainActivity" > <TextView
android:id="@+id/txt1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<ImageButton
android:id="@+id/imageBt1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/home"/> <ListView
android:id="@+id/listFile"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</ListView> </LinearLayout>
fileimageandtext.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" > <ImageView
android:id="@+id/images"
android:layout_width="wrap_content"
android:layout_height="wrap_content" /> <TextView
android:id="@+id/txtview"
android:layout_width="wrap_content"
android:layout_height="wrap_content" /> </LinearLayout>
activity_main.java
package com.android.xiong.sdfilelook; import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView; public class MainActivity extends Activity { private ListView listfile;
//当前文件目录
private String currentpath;
private TextView txt1;
private ImageView images;
private TextView textview;
private ImageButton imagebt1; private int[] img = { R.drawable.file, R.drawable.folder, R.drawable.home };
private File[] files;
private SimpleAdapter simple; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listfile = (ListView) findViewById(R.id.listFile);
txt1 = (TextView) findViewById(R.id.txt1);
imagebt1 = (ImageButton) findViewById(R.id.imageBt1);
init(Environment.getExternalStorageDirectory());
listfile.setOnItemClickListener(new OnItemClickListener() { @Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
// 获取单击的文件或文件夹的名称
String folder = ((TextView) arg1.findViewById(R.id.txtview))
.getText().toString();
try {
File filef = new File(currentpath + '/'
+ folder);
init(filef); } catch (Exception e) {
e.printStackTrace();
} }
});
//回根目录
imagebt1.setOnClickListener(new OnClickListener() { @Override
public void onClick(View v) {
init(Environment.getExternalStorageDirectory());
}
}); }
// 界面初始化
public void init(File f) {
if (Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED)) {
// 获取SDcard目录下所有文件名
files = f.listFiles();
if (!files.equals(null)) {
currentpath=f.getPath();
txt1.setText("当前目录为:"+f.getPath());
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
for (int i = 0; i < files.length; i++) {
Map<String, Object> maps = new HashMap<String, Object>();
if (files[i].isFile())
maps.put("image", img[0]);
else
maps.put("image", img[1]);
maps.put("filenames", files[i].getName());
list.add(maps);
}
simple = new SimpleAdapter(this, list,
R.layout.fileimageandtext, new String[] { "image",
"filenames" }, new int[] { R.id.images,
R.id.txtview });
listfile.setAdapter(simple); }
} else {
System.out.println("该文件为空");
}
} @Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
} }
Android简单文件浏览器源代码 (转)的更多相关文章
- 【Java】 实现一个简单文件浏览器(1)
学习Java的Swing的时候写的一个超简单文件浏览器 效果如图: 项目结构: 这里面主要用了两个控件,JTree和JTable 下面先说下左侧的文件树如何实现: 首先是FileTree类,继承于JT ...
- 也发一个自己实现的android简单文件选择器代码。支持多卡,排序
一个很简单的文件选择器对话框,支持双sd卡,当然前提是要有sd卡..并且实现了排序效果. 只有100多行的代码,基本的思路就是用listview显示目录下的所有子文件,再判断是文件还是目录. 利用Co ...
- Android简单图片浏览器
效果如下: 代码编写如下: Crize_demo\app\src\main\res\layout\activity_main.xml <!--定义一个线性布局--> ...
- 【Java】 实现一个简单文件浏览器(2)
接着上篇文章 接下来说下程序右侧的文件内容表格如何实现 FileTable类: FileTable基础于JTable类,构造函数里用setDefaultRenderer设置每行默认的渲染器为FileT ...
- android 简单文件操作
1.布局 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:too ...
- Android 简单图片浏览器 读取sdcard图片+形成缩略图+Gallery
1.读取SD卡上面的图片信息 //想要的返回值所在的列 String[] projection = { MediaStore.Images.Thumbnails._ID}; //图片信息存储在 and ...
- Android 4.4 全套源代码及子模块源代码的下载方法
博文<Android源代码下载--用git clone实现单个文件夹下载>介绍了採用git clone方法下载Android单个文件夹源代码的方法,这篇文章已经有四年的历史,这期间Goog ...
- Android入门之文件系统操作(一)简单的文件浏览器 (转)
Android入门之文件系统操作(一)简单的文件浏览器 (转) import java.io.File; import java.util.*; import android.app.A ...
- Android入门之文件系统操作(一)简单的文件浏览器
版权声明:本文为博主原创文章,未经博主允许不得转载. import java.io.File; import java.util.*; import android.app.Activit ...
随机推荐
- NSIS编译报错:您可能有有一个或两个(大)的旧临时文件
一.有时在编译NSIS时会出现如下错误: 注意: 您可能有有一个或两个(大)的旧临时文件 残留在临时目录文件夹中 (通常这种情况只会发生在 Windows 9x 系统中). 二.本人遇到的问题原因: ...
- 3D U-Net卷积神经网络
3D U-Net这篇论文的诞生主要是为了处理一些块状图(volumetric images),基本的原理跟U-Net其实并无大差,因为3D U-Net就是用3D卷积操作替换了2D的,不过在这篇博文中我 ...
- ZOJ 3717 Balloon ( TLE )
正解2-SAT. 我用DLX想搜一搜的,结果TLE了…… 没什么遗憾,最起码我尝试过了. 扔个代码留作纪念. #include <cstdio> #include <cstring& ...
- [译]在python中如何有效的比较两个无序的列表是否包含完全同样的元素(不是set)?
原文来源: https://stackoverflow.com/questions/7828867/how-to-efficiently-compare-two-unordered-lists-not ...
- SQL SERVER 2008 bug
我把一个数据的数据导入的到另外一个数据库 作为 测试库使用. 发现里面设置为唯一标识ID 自动增长的表 全部默认是否. 最后只能手动一个个 表全部改过来. 弄了好久才发现这个问题.浪费了我几个小时的 ...
- 洛谷 P2041 分裂游戏 解题报告
P2041 分裂游戏 题目描述 有一个无限大的棋盘,棋盘左下角有一个大小为 n 的阶梯形区域,其中最左下角的那个格子里有一枚棋子.你每次可以把一枚棋子"分裂"成两枚棋子,分别放在原 ...
- 从K近邻算法、距离度量谈到KD树、SIFT+BBF算法
转载自:http://blog.csdn.net/v_july_v/article/details/8203674/ 从K近邻算法.距离度量谈到KD树.SIFT+BBF算法 前言 前两日,在微博上说: ...
- shell,perl,python的区别
shell+sed+awk严格的讲, shell不是一种编程语言, 但是shell有自己的控制流结构(判断,循环,选择),运算以及函数等编程语言特性, 加上shell命令组织在一起构成脚本, 能够完成 ...
- js date扩展方法
/* File Created: 四月 28, 2015 */ //日期加上天数得到新的日期 //dateTemp 需要参加计算的日期,days要添加的天数,返回新的日期,日期格式:YYYY-MM-D ...
- pywordfrom
http://files.cnblogs.com/files/zhang-pengcheng/pywordform-0.02.zip Win8.1自带微软五笔输入法开启方法