日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

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

發(fā)布時間:2025/3/15 Android 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android入门之文件系统操作(一)简单的文件浏览器 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?????

[java] view plaincopy
  • 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;????
  • ????????}????
  • ????????
  • ????}???
  • }??
  • 轉(zhuǎn)載于:https://www.cnblogs.com/Free-Thinker/p/7463959.html

    總結(jié)

    以上是生活随笔為你收集整理的Android入门之文件系统操作(一)简单的文件浏览器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。