在我们的手持设备中,一般都会自带设备公司自己开发的文件管理系统、拍照系统之类的东东,今天我给大伙说说入门级开发的文件夹管理器,代码贼少
总共就6个类吧,没有夹杂其他外部应用,就是一个纯文件夹管理器
APP主要功能设计:文件复制、文件夹复制、批量文件/文件夹复制、删除文件、删除文件夹、批量删除文件/文件夹、文件分类、文件搜索暂时没有写,
有兴趣的可以自己写写
APP主要应用:DrawerLayout 、ListView、Fragment、IO、序列化、文件过滤、文件排序、ActionBar、Adapter、v4包、一些事件等
下面开始讲开发吧,首先我们要给APP读写权限,在清单文件配置如下权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
主界面活动代码:
package com.example.maozhuafile;
/**
* 文件管理主界面
* @author Engineer-Jsp
* @date 2014.10.27
* */
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.example.maozhuafile.MainActivity.FragmentA.FragmentB;
import com.example.maozhuafile.MainActivity.FragmentA.FragmentC;
import com.example.maozhuafile.MainActivity.FragmentA.FragmentD;
import com.example.util.CustomFileFilter;
import com.example.util.FileOpreationUitl;
import com.example.util.FileSort;
import com.example.util.FragmentAdapter;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.app.ActionBar;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Fragment;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.database.Cursor;
import android.support.v4.app.ActionBarDrawerToggle;
import android.support.v4.widget.DrawerLayout;
import android.util.Log;
import android.util.SparseBooleanArray;
import android.view.ActionMode;
import android.view.Gravity;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AbsListView.MultiChoiceModeListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity implements OnItemClickListener {
private ActionBar actionbar;
private ActionBarDrawerToggle drawertoggle;
private DrawerLayout drawerLayout;
private ListView drawerlistview;
private String[] drawerdata;
private SimpleAdapter adapter;
private List<Map<String, Object>> draweralllist = new ArrayList<Map<String, Object>>();
private FragmentA fragmentA;
private FragmentB fragmentB;
private FragmentC fragmentC;
private FragmentD fragmentD;
private int[] list_image = { R.drawable.cunchu, R.drawable.music,
R.drawable.movies, R.drawable.photos };
private static int index = -1;
private static File currentpath;
private static File SDpath;
// private static File[] mfileData;
private static Context mContext;
public static boolean exit;
private static boolean copy;
private static MenuItem paste;
int i=0;
private static EditText newFile;
private static FileOpreationUitl opreaFile=new FileOpreationUitl();
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mContext = MainActivity.this;
initDrawerLayout();
//
initDrawerContent();
//
if (null == savedInstanceState) {
// 如果为空代表第一次执行
fragmentA = new FragmentA();
fragmentB = new FragmentB();
fragmentC = new FragmentC();
fragmentD = new FragmentD();
// 动态添加
android.app.FragmentManager fg = getFragmentManager();
fg.beginTransaction().add(R.id.drawer_frame_a, fragmentA).commit();
}
}
private void initDrawerContent() {
drawerdata = getResources().getStringArray(R.array.array);
drawerlistview = (ListView) findViewById(R.id.drawer_list);
for (int i = 0; i < drawerdata.length; i++) {
Map<String, Object> drawer_list_date = new HashMap<String, Object>();
drawer_list_date.put("image", list_image[i]);
drawer_list_date.put("text", drawerdata[i]);
draweralllist.add(drawer_list_date);
}
adapter = new SimpleAdapter(this, draweralllist, R.layout.drawer_item,
new String[] { "image", "text" }, new int[] {
R.id.drawer_imageView, R.id.drawer_textView });
drawerlistview.setAdapter(adapter);
drawerlistview.setChoiceMode(ListView.CHOICE_MODE_SINGLE);// 单选模式
drawerlistview.setItemChecked(0, true);// 默认选中第一项
drawerlistview.setOnItemClickListener(this);
}
private void initDrawerLayout() {
drawerLayout = (DrawerLayout) findViewById(R.id.chouti);
actionbar = getActionBar();
actionbar.setDisplayHomeAsUpEnabled(true);
drawertoggle = new ActionBarDrawerToggle(this,// 活动
drawerLayout,// 布局
R.drawable.ic_drawer,// 图片资源
R.string.drawer_open,// 打开显示文字
R.string.app_name) {// 关闭显示文字
public void onDrawerOpened(View drawerView) {
actionbar.setTitle(R.string.drawer_open);
if (index != -1) {
actionbar.setTitle(drawerdata[index]);
} else {
actionbar.setTitle(R.string.app_name);
}
invalidateOptionsMenu();// 选项菜单重绘改变
super.onDrawerOpened(drawerView);
}
public void onDrawerClosed(View drawerView) {
if (index != -1) {
actionbar.setTitle(drawerdata[index]);
} else {
actionbar.setTitle(R.string.app_name);
}
invalidateOptionsMenu();// 选项菜单重绘改变
super.onDrawerClosed(drawerView);
}
};
drawerLayout.setDrawerShadow(R.drawable.drawer_shadow, Gravity.START);
drawerLayout.setDrawerListener(drawertoggle);
}
// 替换抽屉开关上的图片(向上箭头三道杠)
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
drawertoggle.syncState();
}
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
paste=menu.findItem(R.id.paste);
return true;
}
// 选项菜单的预处理方法重写
public boolean onPrepareOptionsMenu(Menu menu) {
// 如果抽屉被打开
if (drawerLayout.isDrawerOpen(Gravity.START)) {
// 找到这个AcionBarMenu(操作欄菜單)Item把可见性显示为false(即显示为不可见)
menu.findItem(R.id.action_menu_new).setVisible(false);
}
return super.onPrepareOptionsMenu(menu);
}
public boolean onOptionsItemSelected(MenuItem item) {
// 抽屉开关控制Open,Off
if (drawertoggle.onOptionsItemSelected(item)) {
return true;
}
switch(item.getItemId()){
case R.id.paste:
copy=false;
fragmentA.Paste();
for(;i<fragmentA.filelist.size();i++){
// if(fragmentA.filelist.get(i).exists()){
// new AlertDialog.Builder(this)
// .setTitle("复制提示")
// .setMessage("已存在文件"+fragmentA.filelist.get(i).getName())
// .setPositiveButton("覆盖", new OnClickListener() {
// public void onClick(DialogInterface dialog, int which) {
// }
// })
// .setNegativeButton("取消", null)
// .show();
opreaFile.copyDirectory(fragmentA.filelist.get(i), currentpath);
// }
}
fragmentA.filelist.clear();
fragmentA.openFile(currentpath);
Log.d("Paete-XXXXXXXXXXX", "xxxxxxxxxxxx");
fragmentA.showMessage("执行粘贴");
break;
case R.id.action_menu_new:
View view=LayoutInflater.from(this).inflate(R.layout.list_item, null);
newFile=(EditText)view.findViewById(R.id.newFile);
new AlertDialog.Builder(this)
.setTitle("新建文件")
.setView(view)
.setPositiveButton("确定", new OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
String newfile=
"/"+fragmentA.showpath.getText().toString()+"/"
+newFile.getText().toString()+"/";
File newfile2=new File(newfile);
Log.d("***********", newfile);
if(!newfile2.exists()){
newfile2.mkdirs();
}
fragmentA.filelist.clear();
fragmentA.openFile(currentpath);
fragmentA.showMessage("执行新建");
}
})
.setNegativeButton("取消", null)
.show();
break;
case R.id.action_menu_search:
break;
}
return super.onOptionsItemSelected(item);
}
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
drawerLayout.closeDrawer(Gravity.START);
//更新ActionBar(操作栏)的标题
actionbar.setTitle(drawerdata[position]);
index=position;
//抽屉列表按钮
switch (position) {
case 0:
getFragmentManager().beginTransaction().replace(R.id.drawer_frame_a, fragmentA).commit();
break;
case 1:
getFragmentManager().beginTransaction().replace(R.id.drawer_frame_a, fragmentB).commit();
break;
case 2:
getFragmentManager().beginTransaction().replace(R.id.drawer_frame_a, fragmentC).commit();
break;
case 3:
getFragmentManager().beginTransaction().replace(R.id.drawer_frame_a, fragmentD).commit();
break;
default:
break;
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode==KeyEvent.KEYCODE_BACK){
if(currentpath.equals(SDpath)){
if(!exit){//exit==false
fragmentA.showMessage("在点返回则退出程序!");
exit=true;
}else{
finish();
}
}else{
exit=false;
File path=currentpath.getParentFile();
fragmentA.openFile(path);
fragmentA.showpath.setText(String.valueOf(path));
fragmentA.adapter.notifyDataSetChanged();
}
return true;
}
return super.onKeyDown(keyCode, event);
}
public static class FragmentA extends Fragment implements
MultiChoiceModeListener, OnItemClickListener {
public static TextView showpath;
private ListView listview;
private FragmentAdapter adapter;
// private File[] files;
private File[] mfileData;
int n;
private List<File> filelist=new ArrayList<File>();
//下段注释代码表示往Map里面添加文件数据,如果filename为文件夹,则设置为图标icon[1],否则设置icon[0]
//private int[] icon = { R.drawable.wenjian, R.drawable.wenjianjia };
//Map<String,Object> map=new HaspMap<String,Object>();
//map.put("keyname",filename.isDirectory?icon[1]:icon[0]);
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
Log.d("onCreateView.........", "onCreateView.........");
View view = inflater.inflate(R.layout.fragment_a, container, false);
showpath=(TextView)view.findViewById(R.id.showpath);
listview = (ListView) view.findViewById(R.id.listView);
//
// if (mfileData == null) {
// SDpath = Environment.getExternalStorageDirectory();
// showpath.setText(String.valueOf(SDpath));
// mfileData = SDpath.listFiles(new CustomFileFilter()); // 过滤.文件
// mfileData = FileSort.sortFile(mfileData);//排序
// openFile(SDpath);
// }
//
bindData();
return view;
}
// 绑定数据
public void bindData() {
if (Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED)) {
// 判断sd卡是否正常
if (mfileData == null) {
SDpath = Environment.getExternalStorageDirectory();
showpath.setText(String.valueOf(SDpath));
getFileData();
}
//判断文件夹数据组是否取到了数据
for (int i = 0; i < mfileData.length; i++) {
Log.i("float1", "111111" + mfileData[i] + "");
}
} else {
showMessage("SD卡出现异常");
}
}
private File[] getFileData() {
mfileData = SDpath.listFiles(new CustomFileFilter()); // 过滤.文件
mfileData = FileSort.sortFile(mfileData);//排序
openFile(SDpath);
return mfileData;
}
public void Paste() {
if (copy) {
paste.setVisible(true);
paste.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
} else {
paste.setVisible(false);
paste.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER);
}
}
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
SparseBooleanArray array = listview.getCheckedItemPositions();
switch (item.getItemId()) {
// case R.id.newfile:
// q showMessage(""+"新建");
// break;
// case R.id.search:
// showMessage(""+"搜索");
// break;
case R.id.remove:
//这处理下面这个稀疏数组时尽量不要使用静方法态调用和静态变量
//静态不能再次调用静态,否则报异常
for (int i = 0; i < array.size(); i++) {
Log.d("del-4XXXXXXXXXXX", mfileData[array.keyAt(i)].getName().toString());
if(array.valueAt(i)==true){
n= array.keyAt(i);
opreaFile.deleteFile(mfileData[n]);
}
Log.d("del-XXXXXXXXXXX", currentpath.listFiles().toString());
Log.d("del-XXXXXXXXXXX", currentpath.getName().toString());
Log.d("del-XXXXXXXXXXX", showpath.getText().toString());
}
openFile(currentpath);
showMessage("删除成功");
// showMessage("删除"+mfileData[array.keyAt(n)].isFile()?"删除文件成功!":"删除文件夹成功!");
mode.finish();
case R.id.copy:
copy=true;
Paste();
//屏蔽复制按钮
// mode.getMenu().findItem(R.id.copy).setVisible(false);
// //显示粘贴按钮
// mode.getMenu().findItem(R.id.paste).setVisible(true);
for(int i=0;i<array.size();i++){
if(array.valueAt(i)==true){
int x=array.keyAt(i);
filelist.add(mfileData[x]);
}
}
Log.d("Copy-XXXXXXXXXXX", "xxxxxxxxxxxx");
mode.finish();
// showMessage(""+"复制");
break;
// case R.id.paste:
// copy=false;
// Paste();
// for(int i=0;i<filelist.size();i++){
// opreaFile.copyDirectory(filelist.get(i), currentpath);
// }
// filelist.clear();
// openFile(currentpath);
// Log.d("Paete-XXXXXXXXXXX", "xxxxxxxxxxxx");
// showMessage("执行粘贴");
// mode.finish();
//// showMessage(""+"粘贴");
// break;
default:
break;
}
return true;
}
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
getActivity().getMenuInflater().inflate(R.menu.action_menu, menu);
// mode.setTitle("你選擇了");
return true;
}
public void onDestroyActionMode(ActionMode arg0) {
}
public boolean onPrepareActionMode(ActionMode arg0, Menu arg1) {
return false;
}
public void onItemCheckedStateChanged(ActionMode mode, int position,
long id, boolean checked) {
int count = listview.getCheckedItemCount();
mode.setTitle(count + "项");
}
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
File file = mfileData[position];
showpath.setText(String.valueOf(file));
Log.d("onItem-xxxxxxxxxxxxxx", showpath.getText().toString());
if(file.isDirectory()){
openFile(file);
adapter.notifyDataSetChanged();
}else{
//打開文件
Uri uri = Uri.fromFile(file);
Log.d("aaaaaaaaaaaaaa", uri.toString());
String[] projection = { MediaStore.Files.FileColumns.MIME_TYPE };
Cursor cursor = getActivity().getContentResolver().query(
MediaStore.Files.getContentUri("external"), projection,
MediaStore.Files.FileColumns.DATA + "=?",
new String[] { file.getAbsoluteFile().toString() },
null);
cursor.moveToNext();
String mime = cursor.getString(0);
Log.d("bbbbbbbbbbbbbb", mime);
// MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri, mime);
getActivity().startActivity(intent);
}
}
public void openFile(File path) {
currentpath=path;
mfileData = path.listFiles(new CustomFileFilter()); // 过滤.文件
mfileData= FileSort.sortFile(mfileData); // 排序
adapter = new FragmentAdapter(mfileData,
getActivity());
listview.setAdapter(adapter);
for (int i = 0; i < mfileData.length; i++) {
Log.i("XXXXXXXXXXXX", "111111111111" + mfileData[i] + "");
}
// showMessage("当前文件夹有"+mfileData.length+"个对象");
listview.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);
listview.setMultiChoiceModeListener(FragmentA.this);
listview.setOnItemClickListener(this);
}
public void showMessage(String info) {
Toast.makeText(mContext, info, 1000).show();
}
public static class FragmentB extends Fragment {
private ListView mp3list;
private SimpleAdapter mp3adapter;
public View onCreateView(LayoutInflater inflater,
ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate
(R.layout.fragment_b, container, false);
mp3list=(ListView)view.findViewById(R.id.mp3listView);
opreaFile.getReciver(SDpath);
mp3adapter=new SimpleAdapter(getActivity(),
opreaFile.mp3_data,
R.layout.mp3_fragment_b,
new String[]{opreaFile.mp3_listitem},
new int[]{R.id.mp3textView});
mp3list.setAdapter(mp3adapter);
return view;
}
}
public static class FragmentC extends Fragment {
private ListView video_list;
private SimpleAdapter video_adapter;
public View onCreateView(LayoutInflater inflater,
ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate
(R.layout.fragment_c, container, false);
video_list=(ListView)view.findViewById(R.id.video_listView);
Log.d("2_XXXXXXXXXX", SDpath.getName().toString());
opreaFile.getVideo(SDpath);
video_adapter=new SimpleAdapter(getActivity(),
opreaFile.video_data,
R.layout.video_fragment_b,
new String[]{opreaFile.video_listitem},
new int[]{R.id.video_textView});
video_list.setAdapter(video_adapter);
return view;
}
}
public static class FragmentD extends Fragment {
private ListView picture_list;
private SimpleAdapter picture_adapter;
public View onCreateView(LayoutInflater inflater,
ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate
(R.layout.fragment_d, container, false);
picture_list=(ListView)view.findViewById(R.id.picture_listView);
opreaFile.getPicture(SDpath);
picture_adapter=new SimpleAdapter(getActivity(),
opreaFile.picture_data,
R.layout.picture_fragment_b,
new String[]{opreaFile.picture_listitem},
new int[]{R.id.picture_textView});
picture_list.setAdapter(picture_adapter);
return view;
}
}
}
/* public static class AsyncTaskTest extends AsyncTask<String, Integer, Integer>{
@Override
protected Result doInBackground(Params... arg0) {
return null;
}
}*/
}
主布局:
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/chouti"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<FrameLayout
android:id="@+id/drawer_frame_a"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
<FrameLayout
android:id="@+id/drawer_frame_b"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
<ListView
android:id="@+id/drawer_list"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="#eee"
/>
</android.support.v4.widget.DrawerLayout>
文件列表 Item 布局文件:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/drawer_bg"
>
<ImageView
android:id="@+id/filelist_imageview"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="18dp"
android:layout_marginTop="10dp"
android:src="@drawable/photos"
/>
<TextView
android:id="@+id/filelist_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginLeft="17dp"
android:layout_toRightOf="@+id/filelist_imageview"
android:gravity="center_vertical"
android:text="showfiletext" />
<TextView
android:id="@+id/filelist_timeText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/filelist_textview"
android:layout_alignParentRight="true"
android:layout_below="@+id/filelist_textview"
android:text="time" />
</RelativeLayout>
自定义Adapter,控制文件与应用图片配对,队号入座,ViewHolder 节约内存资源:
package com.example.util;
/**
* 自定义容器Adapter
* @author Engineer-Jsp
* @date 2014.10.27
* */
import java.io.File;
import java.util.Date;
import com.example.maozhuafile.R;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class FragmentAdapter extends BaseAdapter {
private Context mContext ;
private File[] mfileData ;
private LayoutInflater mlayoutinflater;
public FragmentAdapter( File[]files ,Context pContext) {
mContext = pContext ;
mfileData = files ;
mlayoutinflater = LayoutInflater.from(mContext);
}
public void updata(File[] pfile){
mfileData = pfile ;
}
public int getCount() {
return mfileData ==null? 0: mfileData.length;
}
public Object getItem(int position) {
return mfileData[position];
}
public long getItemId(int position) {
return position;
}
public static class ViewHolder{
public ImageView mFileImage ;
public TextView mFileName ;
public TextView mFileTime;
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder mViewHolder ;
View _view = convertView ;
if(_view ==null){
mViewHolder = new ViewHolder() ;
_view = mlayoutinflater.inflate(R.layout.file_listview, null) ;
mViewHolder.mFileImage =(ImageView) _view.findViewById(R.id.filelist_imageview
) ;
mViewHolder.mFileName = (TextView) _view.findViewById(R.id.filelist_textview) ;
mViewHolder.mFileTime = (TextView) _view.findViewById(R.id.filelist_timeText);
_view.setTag(mViewHolder) ;
}else{
mViewHolder = (ViewHolder) _view.getTag() ;
}
// 目录的显示特点
if(mfileData[position].isDirectory() && mfileData[position].canRead()){
// 文件夹分为空与非空
if(mfileData[position].listFiles().length == 0 && mfileData[position].listFiles()== null ){
mViewHolder.mFileImage.setImageResource(R.drawable.wenjian) ;
mViewHolder.mFileName.setText(mfileData[position].getName()) ;
mViewHolder.mFileTime.setText(new Date(System.currentTimeMillis()).toLocaleString());
}else{
mViewHolder.mFileImage.setImageResource(R.drawable.wenjianjia) ;
mViewHolder.mFileName.setText(mfileData[position].getName()) ;
mViewHolder.mFileTime.setText(new Date(System.currentTimeMillis()).toLocaleString());
}
}else{ //文件的处理
String _FileName = mfileData[position].getName().toLowerCase() ;
if(_FileName.endsWith(".txt")){ //文本显示t
mViewHolder.mFileImage.setImageResource(R.drawable.wenjian) ;
mViewHolder.mFileName.setText(_FileName) ;
mViewHolder.mFileTime.setText(new Date(System.currentTimeMillis()).toLocaleString());
}else if(_FileName.endsWith(".png") || _FileName.endsWith(".jpg") ||_FileName.endsWith(".jpeg") || _FileName.endsWith(".gif")){
mViewHolder.mFileImage.setTag(mfileData[position].getAbsolutePath()) ;
mViewHolder.mFileImage.setImageResource(R.drawable.ic_action_picture);
mViewHolder.mFileName.setText(_FileName) ;
mViewHolder.mFileTime.setText(new Date(System.currentTimeMillis()).toLocaleString());
}else if(_FileName.endsWith(".mp4")|| _FileName.endsWith(".avi")|| _FileName.endsWith(".3gp") || _FileName.endsWith(".rmvb")){
mViewHolder.mFileImage.setImageResource(R.drawable.ic_action_video) ;
mViewHolder.mFileName.setText(_FileName) ;
mViewHolder.mFileTime.setText(new Date(System.currentTimeMillis()).toLocaleString());
}else if(_FileName.endsWith("mp3")){
mViewHolder.mFileImage.setImageResource(R.drawable.mp3) ;
mViewHolder.mFileName.setText(mfileData[position].getName()) ;
mViewHolder.mFileTime.setText(new Date(System.currentTimeMillis()).toLocaleString());
}else if(_FileName.endsWith("doc")){
mViewHolder.mFileImage.setImageResource(R.drawable.word) ;
mViewHolder.mFileName.setText(mfileData[position].getName()) ;
mViewHolder.mFileTime.setText(new Date(System.currentTimeMillis()).toLocaleString());
}
}
/* View view = convertView ;
view =mlayoutinflater.inflate(com.example.jsp.R.layout.list_item, null) ;
TextView tv = (TextView)view.findViewById(com.example.jsp.R.id.tv_name1) ;
tv.setText(mfileData[position].getName()+"") ;*/
return _view;
}
// public static void main(String[] args) {
// System.out.println(new Date(System.currentTimeMillis()).toString());
// }
}
注意:如果使用模拟器测试,请注意,如果模拟器没有开启 SD 内存iso,请自行开启测试,如果SD内存为空,请自行新建文件测试,谢谢~