本例子参考SDK开发范例大全
说明:以ListActitivy显示文件列表,以TextView来显示当前路径,再搭配java.io.File来实现手机版的资源管理器
FileSerarchActivity.java
package com.chaowen;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import android.app.AlertDialog;
import android.app.ListActivity;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
public class FileSerarchActivity extends ListActivity {
/**
* 对象声明
* items:存放显示的名称
* paths:存放文件路径
* rootPath:起始目录
*/
private List<String> items = null;
private List<String> paths = null;
private String rootPath = "/";
private TextView mPath ;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mPath = (TextView)findViewById(R.id.mPath);
getFileDir(rootPath);
}
//取得文件架构的method
private void getFileDir(String filePath){
//设置目前所在路径
mPath.setText(filePath);
items=new ArrayList<String>();
paths = new ArrayList<String>();
File f = new File(filePath);
File[] files = f.listFiles();
if(!filePath.equals(rootPath)){
/*第一条设置为[回到根目录]*/
items.add("Back to "+rootPath);
paths.add(rootPath);
/*第二条设置为[回上层]*/
items.add("Back to ..");
paths.add(f.getParent());
}
/*将所有文件添加ArrayList中*/
for(int i =0;i<files.length;i++){
File file = files[i];
items.add(file.getName());
paths.add(file.getPath());
}
/*声明ArrayAdapter,使用file_row这个Layout,并将Adapter设置给此ListActivity*/
ArrayAdapter<String> fileList = new ArrayAdapter<String>(this,R.layout.file_row,items);
setListAdapter(fileList);
}
//设置ListItem被单击时要做的动作
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
File file = new File(paths.get(position));
if(file.isDirectory()){
//如果是文件夹就再进一次
getFileDir(paths.get(position));
}else{
//如果是文件,则跳出AlertDialog
new AlertDialog.Builder(this).setIcon(R.drawable.icon)
.setTitle("["+file.getName()+"] is File!")
.setPositiveButton("OK",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
}).show();
}
}
}
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<TextView
android:id="@+id/mPath"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5px"
android:textSize="18sp"
android:textColor="@drawable/blue"
>
</TextView>
<ListView
android:id="@android:id/list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
</ListView>
</LinearLayout>
file_row.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView
android:id="@+id/text1"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="50px"
android:textSize="20sp"
>
</TextView>
- 大小: 14.7 KB
分享到:
相关推荐
实例028: 开发一个文件搜索程序 58 实例029: 单击按钮后实现按钮置换 60 实例030: 模拟实现一个时钟界面效果 62 实例031: 联合使用DatePicker和TimePicker 来选择日期和时间 65 实例032:动态分隔手机屏幕 68 ...
本实例将深入探讨如何使用Eclipse V4.2.0来编写一个功能完善的文件搜索应用。这个实例旨在帮助开发者理解如何在Android平台上实现文件的搜索与管理。 首先,我们需要了解Android的文件系统结构。Android设备上的...
总的来说,构建一个Android文件浏览器实例涉及到文件系统操作、UI设计、事件处理以及文件操作。这需要对Android SDK有深入的理解,同时也需要熟悉文件I/O和多线程编程。通过实践和学习,你可以创建出功能强大且用户...
本文将深入探讨如何实现Android手机间的文件传输实例,主要涉及的技术点包括:蓝牙传输、Wi-Fi Direct、Airdrop(仅限部分Android设备)以及云服务共享。 1. **蓝牙传输**: 蓝牙是一种短距离无线通信技术,适用于...
在Android平台上,开发一个SD卡文件浏览器是一个常见的实践任务,这可以帮助用户查看并管理设备上的文件。...对于初学者来说,这个实例是一个很好的实践项目,能够加深对Android文件系统、UI设计和事件处理的理解。
这个实例是关于如何模仿Android内置的文件管理器功能的一个示例,主要涉及到了`ListView`的使用,这是Android UI设计中非常重要的一个组件。 `ListView`在Android开发中被广泛用于显示大量的数据列表,例如联系人、...
【Android实例之手机震动】是关于在Android平台上实现设备震动功能的一个编程实例。这个实例具有易用性,可方便地被开发者修改和应用到自己的项目中。为了确保安全,作者提醒用户在下载后进行杀毒处理,同时也强调...
【Android 源码程序:五子棋】 在Android平台上开发一款五子棋游戏,涉及到的知识点涵盖了Android应用开发的基础到高级技术。...这不仅有助于提升个人的Android开发技能,也是理解移动应用开发过程的好实例。
本项目是一个基于 Android Studio 开发的音乐播放器应用实例。它不仅为初学者提供了一个完整的实践平台,也适用于有一定经验的开发者来深入探索 Android 应用的高级特性。 #### 开发环境配置 为了确保项目的顺利...
本文将基于Delphi XE10,结合小米2和小米5设备,深入探讨如何利用Delphi进行Android蓝牙功能的开发,提供一个实用的实例解析。 首先,我们要明确的是,蓝牙技术在移动设备间的数据传输中扮演着重要角色,尤其在...
5. **文件搜索程序**:如何在应用内实现文件搜索功能。 6. **动态菜单列表、加载手机磁盘文件**:实现具有动态功能的菜单及文件操作。 7. **抽屉样式效果**:模拟实现类似Google Play商店的抽屉式菜单。 8. **多种...
在Android平台上,蓝牙技术是一种广泛使用的无线通信方式,允许设备之间进行近距离的数据交换。通过蓝牙,用户可以在不同的Android设备间方便地传输各种类型的数据,包括应用程序(APK)文件。以下将详细介绍如何...
本实例——"Android实例之LocationSensor位置传感器",提供了一个简单、实用的教程,帮助开发者理解和应用Android的位置服务。以下将详细介绍相关知识点: 首先,LocationSensor是Android系统中的一部分,它通过GPS...
本项目就是一个专注于在Android平台上实现这一功能的应用实例。 一、Android文件系统 Android系统采用Linux内核,因此其文件系统与传统的Linux文件系统类似,主要由以下几个部分组成: 1. /system:包含系统核心...
6. **用户界面**:一个良好的文件选择器应该有直观且易于操作的界面。此项目很可能提供了清晰的文件层级视图,以及便捷的导航和搜索功能,以便用户轻松找到目标文件。 为了实现这些功能,开发者可能使用了以下技术...
Android-FilePicker正是这样一个专为Android平台设计的开源文件选择器库,它使得开发者能够方便地集成文件选择功能,同时提供了丰富的自定义选项,以适应各种应用场景。 **1. 文件选择器的核心功能** Android-...
**ArcGIS for Android 实例详解** ArcGIS for Android 是Esri公司开发的一款强大的地理信息系统(GIS)开发框架,专门用于构建Android平台上的地图应用。它提供了丰富的地图展示、地理数据分析和空间服务集成等功能...
"Android实例开发1"这个项目很可能是为了演示或教学目的,旨在提供一个可运行并已通过全面测试的Android应用程序示例。下面,我们将深入探讨这个实例中可能涉及的Android开发核心知识点。 首先,从文件名...
本实例,"Android实例之OrientationSensor方向传感器",将深入讲解如何在Delphi环境下利用Android的传感器API来实现这一功能。朱建强作为作者,他的作品通常以实用性和易用性为特点,你可以放心下载并根据自己的需求...