本文实例讲述了AndroID编程实现简单文件浏览器功能。分享给大家供大家参考,具体如下:
运行效果:
布局:
<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"/> <@R_403_6818@VIEw androID:ID="@+ID/@R_403_6818@file" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" > </@R_403_6818@VIEw></linearLayout>
<?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>
java代码:
package com.androID.xiong.sdfilelook;import java.io.file;import java.util.Array@R_403_6818@;import java.util.HashMap;import java.util.@R_403_6818@;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.OnClick@R_403_6818@ener;import androID.Widget.AdapterVIEw;import androID.Widget.AdapterVIEw.OnItemClick@R_403_6818@ener;import androID.Widget.Imagebutton;import androID.Widget.ImageVIEw;import androID.Widget.@R_403_6818@VIEw;import androID.Widget.SimpleAdapter;import androID.Widget.TextVIEw;public class MainActivity extends Activity { private @R_403_6818@VIEw @R_403_6818@file; //当前文件目录 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); @R_403_6818@file = (@R_403_6818@VIEw) findVIEwByID(R.ID.@R_403_6818@file); txt1 = (TextVIEw) findVIEwByID(R.ID.txt1); imagebt1 = (Imagebutton) findVIEwByID(R.ID.imageBt1); init(Environment.getExternalStorageDirectory()); @R_403_6818@file.setonItemClick@R_403_6818@ener(new OnItemClick@R_403_6818@ener() { @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.setonClick@R_403_6818@ener(new OnClick@R_403_6818@ener() { @OverrIDe public voID onClick(VIEw v) { init(Environment.getExternalStorageDirectory()); } }); } // 界面初始化 public voID init(file f) { if (Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED)) { // 获取SDcard目录下所有文件名 files = f.@R_403_6818@files(); if (!files.equals(null)) { currentpath=f.getPath(); txt1.setText("当前目录为:"+f.getPath()); @R_403_6818@<Map<String,Object>> @R_403_6818@ = new Array@R_403_6818@<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()); @R_403_6818@.add(maps); } simple = new SimpleAdapter(this,@R_403_6818@,R.layout.fileimageandtext,new String[] { "image","filenames" },new int[] { R.ID.images,R.ID.txtvIEw }); @R_403_6818@file.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; }}
权限控制:
<!-- 在SDCard中创建与删除文件权限 --><uses-permission androID:name="androID.permission.MOUNT_UNMOUNT_fileSYstemS" /><!-- 往SDCard写入数据权限 --><uses-permission androID:name="androID.permission.WRITE_EXTERNAL_STORAGE" />
更多关于AndroID权限控制可参考Android权限描述大全
更多关于AndroID相关内容感兴趣的读者可查看本站专题:《Android文件 *** 作技巧汇总》、《Android视图View技巧总结》、《Android编程之activity *** 作技巧总结》、《Android布局layout技巧总结》、《Android开发入门与进阶教程》、《Android资源 *** 作技巧汇总》及《Android控件用法总结》
希望本文所述对大家AndroID程序设计有所帮助。
您可能感兴趣的文章:Android编写文件浏览器简单实现Android中调用系统的文件浏览器及自制简单的文件浏览器微信或手机浏览器在线显示office文件(已测试ios、android)读写Android中assets目录下的文件的方法详解Android如何遍历特定目录下所有文件Android遍历所有文件夹和子目录搜索文件读取android根目录下的文件或文件夹实例Android 将文件下载到指定目录的实现代码Android编程实现将压缩数据库文件拷贝到安装目录的方法Android开发实现读取assets目录下db文件的方法示例 总结以上是内存溢出为你收集整理的Android编程实现简单文件浏览器功能全部内容,希望文章能够帮你解决Android编程实现简单文件浏览器功能所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)