Android入门之文件系统操作(一)简单的文件浏览器
版权声明:本文为博主原创文章,未经博主允许不得转载。
      
- import java.io.File;
 - import java.util.*;
 - import android.app.Activity;
 - import android.content.Context;
 - import android.os.*;
 - import android.view.*;
 - import android.widget.*;
 - import android.widget.AdapterView.OnItemClickListener;
 - import android.widget.ImageView.ScaleType;
 - public class FileBrowser extends Activity {
 - private ListView mainListView=null;
 - private List<Map<String,Object>> list=null;
 - public void onCreate(Bundle savedInstanceState) {
 - super.onCreate(savedInstanceState);
 - this.setTitle("文件浏览器");
 - mainListView=new ListView(this);
 - setContentView(mainListView);
 - File file=Environment.getRootDirectory();
 - String pathx=file.getAbsolutePath();
 - this.setTitle(pathx);
 - //android的总目录就是"/"
 - list_init("/");
 - }
 - void list_init(String path){
 - File file=new File(path);
 - File[] fileList=file.listFiles();
 - list=new ArrayList<Map<String,Object>>();
 - Map<String,Object> item;
 - item=new HashMap<String,Object>();
 - if(path.equals("/")){
 - item.put("ico",R.drawable.home);
 - item.put("name","总目录列表");
 - item.put("path","/");
 - list.add(item);
 - }else{
 - item.put("ico",R.drawable.back);
 - item.put("name","返回上一级");
 - item.put("path",file.getParent());
 - list.add(item);
 - }
 - for(int i=0;i<fileList.length;i++){
 - item=new HashMap<String,Object>();
 - if(fileList[i].isDirectory()){
 - if(fileList[i].list().length<1){
 - item.put("ico",R.drawable.file1);
 - }else{
 - item.put("ico",R.drawable.file2);
 - }
 - }else{
 - item.put("ico",R.drawable.content);
 - }
 - item.put("name",fileList[i].getName());
 - item.put("path",fileList[i].getAbsolutePath());
 - list.add(item);
 - }
 - MyAdapter ma=new MyAdapter(this,list);
 - //mainListView=new ListView(this);
 - mainListView.setAdapter(ma);
 - mainListView.setOnItemClickListener(new OnItemClickListener(){
 - public void onItemClick(AdapterView<?> arg0, View arg1,int arg2, long arg3) {
 - if(arg2>0 && (Integer)(list.get(arg2).get("ico"))==R.drawable.content){
 - //非文件夹图标,点击无效
 - }else{
 - //打开下一级文件目录列表
 - list_init((String)(list.get(arg2).get("path")));
 - }
 - }
 - });
 - this.setTitle(path);
 - }
 - public class MyAdapter extends BaseAdapter{
 - Context context=null;
 - List<Map<String,Object>> list=null;
 - MyAdapter(Context context,List<Map<String,Object>> list){
 - this.context=context;
 - this.list=list;
 - }
 - public int getCount() {return list.size();}
 - public Object getItem(int position) {return position;}
 - public long getItemId(int position) {return position;}
 - public View getView(int position, View convertView, ViewGroup parent) {
 - LinearLayout returnView=new LinearLayout(context);
 - returnView.setLayoutParams(new ListView.LayoutParams(-1,-2));//注意:ListView.LayoutParams
 - //图标
 - ImageView iv=new ImageView(context);
 - LinearLayout.LayoutParams lp_iv=new LinearLayout.LayoutParams(-2,-2);
 - lp_iv.rightMargin=10;
 - iv.setLayoutParams(lp_iv);
 - iv.setScaleType(ScaleType.CENTER_INSIDE);
 - iv.setImageResource((Integer)((list.get(position)).get("ico")));
 - returnView.addView(iv);
 - //文件名
 - TextView name=new TextView(context);
 - LinearLayout.LayoutParams lp_tv=new LinearLayout.LayoutParams(-2,-2);
 - name.setLayoutParams(lp_tv);
 - name.setTextSize(name.getTextSize()+10);
 - name.setText((String)(list.get(position).get("name")));
 - returnView.addView(name);
 - //
 - return returnView;
 - }
 - }
 - }
 
Android入门之文件系统操作(一)简单的文件浏览器的更多相关文章
- Android入门之文件系统操作(二)文件操作相关指令
		
(一)获取总根 File[] fileList=File.listRoots(); //返回fileList.length为1 //fileList.getAbsolutePath()为"/ ...
 - Android入门之文件系统操作
		
Android入门之文件系统操作(二)文件操作相关指令 (转) (一)获取总根 File[] fileList=File.listRoots(); //返回fileList.length为1 // ...
 - Android入门之文件系统操作(一)简单的文件浏览器 (转)
		
Android入门之文件系统操作(一)简单的文件浏览器 (转) import java.io.File; import java.util.*; import android.app.A ...
 - Androlid入门之文件系统操作(三)文件读写
		
import java.io.*; import android.app.Activity; import android.os.Bundle; import android.view.Vi ...
 - php写的非常简单的文件浏览器
		
php写的非常简单的一个文件浏览器,仅供参考. <?php /** * php文件浏览程序函数 showDir() * * $dirName 输入目录路径,默认php文件一级目录,不需输入: * ...
 - Xamarin.Android 入门之:Bind java的jar文件+Android显示gif图片
		
一.引言 在xamarin开发的时候,有时我们想要做一个功能,但是这个功能已经有人用java写好了,并且打包成了jar文件.那么我们可以直接把对方的jar文件拿过来用而不是重新用c#写代码. 关于bi ...
 - javaSE——简单的文件浏览器
		
import java.io.File; public class Demo02 { public static void main(String[]args){ File file = new Fi ...
 - (大数据工程师学习路径)第一步 Linux 基础入门----文件系统操作与磁盘管理
		
介绍 本节的文件系统操作的内容十分简单,只会包含几个命令的几个参数的讲解,但掌握这些也将对你在学习后续其他内容的过程中有极大帮助. 因为本课程的定位为入门基础,尽快上手,故没有打算涉及太多理论内容,前 ...
 - Linux基础入门-文件系统操作与磁盘管理
		
一.简单文件系统操作: df (-h) 查看磁盘容量: rootfs作为系统启动时内核载入内存之后,在挂载真正的磁盘之前的一个临时文件系统: /dev/sda2 对应主机硬盘的分区,后面的a表示第几块 ...
 
随机推荐
- Android 6.0一个完整的native service
			
上一篇博客<Android 6.0 如何添加完整的系统服务(app-framework-kernel)>http://www.cnblogs.com/hackfun/p/7418902. ...
 - Android 6.0 如何添加完整的系统服务(app-framework-kernel)
			
最近学习了如何在Android 6.0上添加一个系统服务,APP如何通过新增的系统服务访问底层驱动.在这学习过程中,收获颇多,并结合学习了<Embeded Android>--Karim ...
 - iOS 从xib中加载自定义视图
			
想当初在学校主攻的是.NET,来到公司后,立马变成java开发,之后又跳到iOS开发,IT人这样真的好么~~ 天有不测风云,云还有变幻莫测哎,废话Over,let's go~ 新学iOS开发不久,一 ...
 - wampserver修改mysql数据库密码的简单方式
			
刚装好的wampserver的数据库是没有密码的,所以可以直接登录,要设置密码,一种简单的方式如下: 打开phpMyadmin 初始状态没有密码,可以直接登录 登录之后,点击账户 点击修改权限,设置你 ...
 - ElasticSearch-5.21安装
			
环境 操作系统:Centos 6.5 X64 IP地址:192.168.56.100 JDK 环境: # java -version java version "1.8.0_121" ...
 - JS——event
			
触发DOM上的某个事件时,会产生一个事件对象event,这个对象中包含着所有与事件有关的信息: 普通浏览器支持 event(传参),IE678支持 window.event(无参),兼容写法: < ...
 - 用最简单的脚本完成supertab的基本功能并实现一个更加合理的功能
			
supertab是vim的一个出名的插件, 相信会vim的人没几个不知道的, 我在之前的<<vim之补全1>>中首先说明的也是它, supertab实现的功能简单的说就是用ta ...
 - gtest ASSERT_TRUE和EXPECT_TRUE
			
调用ASSERT_TRUE的函数,返回值类型定义必须是void,如果想返回别的类型,就用EXPECT_TRUE: void abc::fun() { ASSERT_TRUE(fun1()); } bo ...
 - 文件下载之ServletOutputStream
			
使用response.getOutputStream可以获取ServletOutputStream,从而实现向页面发送流数据.但是需要注意的是,不能使用ajax进行请求,因为这样页面不会有任何反应,可 ...
 - shell脚本网络流量实时查看
			
Linux网络流量实时查看脚本,Centos默认没有自带流量查看工具,通过网上的资料做了一些修改 #!/bin/bash # Author: Ca0gu0 # Script Name: idev.sh ...