博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【android】 浏览文件,如浏览sd卡下的图片文件
阅读量:5972 次
发布时间:2019-06-19

本文共 2590 字,大约阅读时间需要 8 分钟。

一个上传图片的功能,需要对SD中的图片上传:

file_row.xml

directory_list.xml

 

TestGrid.java

import java.io.File;import java.io.FileFilter;import java.util.ArrayList;import java.util.List;import android.app.ListActivity;import android.os.Bundle;import android.view.KeyEvent;import android.view.View;import android.widget.ListView;public class TestGrid   extends ListActivity { private static final FileFilter IMAGES_FILTER = new FileFilter() {   public boolean accept(File f) {   return f.isDirectory() || f.getName().matches("^.*?\\.(jpg|png|bmp|gif)$");  } }; private FileListAdapter fileList; public void onCreate(Bundle icicle) {  super.onCreate(icicle);  setContentView(R.layout.directory_list);  fill(new File("/")); } public boolean onKeyDown(int keyCode, KeyEvent event) {  if (keyCode == KeyEvent.KEYCODE_BACK && !fileList.isRoot()) {   fill(fileList.getItem(1));   return true;  }  return super.onKeyDown(keyCode, event); } private void fill(File folder) {  List
files = new ArrayList
(); files.add(folder); if (folder.getParentFile() != null) files.add(folder.getParentFile()); for (File file : folder.listFiles(IMAGES_FILTER)) { files.add(file); } fileList = new FileListAdapter(this, R.layout.file_row, files); setListAdapter(fileList); } @Override protected void onListItemClick(ListView l, View v, int position, long id) { File file = fileList.getItem(position); if (file.isDirectory()) fill(file); // TODO use image switcher to display selected images }}

FileListAdapter.java

import java.io.File;import java.util.List;import android.content.Context;import android.view.View;import android.view.ViewGroup;import android.widget.ArrayAdapter;import android.widget.TextView;public class FileListAdapter extends ArrayAdapter
{ public FileListAdapter(Context context, int Resource,List
objects) { super(context,Resource,objects); // TODO Auto-generated constructor stub } @Override public View getView(int position, View convertView, ViewGroup parent) { TextView view = (TextView) super.getView(position, convertView, parent); File file = getItem(position); if (position == 0) view.setText(view.getResources().getString(R.string.current_folder) + file.getAbsolutePath()); else if (position == 1 && !isRoot()) view.setText(R.string.to_parent_folder); else view.setText(file.getName()); return view; } public boolean isRoot() { return getItem(0).getParent() == null; } }

转载于:https://www.cnblogs.com/549294286/archive/2012/08/08/2628028.html

你可能感兴趣的文章
问世十年,深度学习有哪些里程碑
查看>>
生活不够精彩?因为你少了这些智能家居产品
查看>>
FAQ系列 | 添加自增列失败
查看>>
密码管理公司 OneLogin 遭入侵,大量账号密码泄露
查看>>
清华计算机系舒继武 CCF-ADL 讲习班上篇:闪存存储系统的软件
查看>>
Facebook免费从用户身上获得好处的日子到头了
查看>>
【转】动态字节码技术跟踪Java程序
查看>>
因需制云,每一抹“红”都不同!
查看>>
泰利特推出五款新的LTE物联网模块
查看>>
OPM泄漏事故报告:矛头直指领导对数据丢失无作为
查看>>
复牌+高层变动:海润光伏还有什么大动作?
查看>>
频繁宕机引发的思考:IDC服务商服务能力亟需提升
查看>>
OA办公系统如何实现费控管理?
查看>>
聂君:企业信息安全建设的思考
查看>>
存储系统市场将面临新的挑战
查看>>
三星占据全球芯片市场11.3% 与英特尔差距缩小
查看>>
抢占10nm市场 联发科将增加Helio X35
查看>>
“野蛮生长”的商业WiFi 退去虚火后该怎么走?
查看>>
想了解双路塔式服务器最新动态吗?
查看>>
IBM和万达建立合作关系 云计算行业又来巨头
查看>>