編輯:關於Android編程
文件浏覽器用來讀取android系統中的所有文件和文件夾。具體說明如下:
最上面顯示當前的文件路徑。如果是根目錄,則顯示“/”; 第二行是返回上一級按鈕。如果當前處於根目錄下,則該行不顯示; 若當前是文件夾,則可點擊,進入下一級目錄,若是文件,點擊的話會提示不支持讀取。新加功能,監聽外部存儲設備USB和SD卡插拔廣播。代碼如下:
public class UsbBroadCastReceiver extends BroadcastReceiver {
@SuppressLint("ShowToast")
@Override
public void onReceive(final Context context, final Intent intent) {
final String action = intent.getAction();
final IntentFilter iFilter = new IntentFilter();
iFilter.addDataScheme("file");
if (action.equals(Intent.ACTION_MEDIA_EJECT)) {
Toast.makeText(context, "外部存儲設備已移除", 1000).show();
} else if (action.equals(Intent.ACTION_MEDIA_MOUNTED)) {
Toast.makeText(context, "正在准備外部USB存儲設備", 1000).show();
} else if (action.equals(Intent.ACTION_MEDIA_CHECKING)) {
Toast.makeText(context, "正在准備外部SD卡存儲設備", 1000).show();
}
}
當然還要在AndroidMainfest.xml中添加相應配置:
下面是主要的程序源碼:
package browers;
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import android.app.Activity;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import android.widget.TextView;
import com.example.browers.R;
public class FileManager extends Activity {
private TextView mCurrentPath;
private TextView mReturn;
private ListView mList;
private View mPathLine;
private String mReturnPath = null;
private FileManagerAdapter adapter;
private ArrayList
相應的adapter文件:
package browers;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
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;
import com.example.browers.R;
public class FileManagerAdapter extends BaseAdapter {
private final Context mContext;
private final List> list = new ArrayList>();
public FileManagerAdapter(final Context context) {
super();
mContext = context;
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(final int position) {
return position;
}
@Override
public long getItemId(final int arg0) {
return arg0;
}
@Override
public View getView(final int position, View convertView,
final ViewGroup arg2) {
FileMangerHolder holder;
if (null == convertView) {
holder = new FileMangerHolder();
convertView = LayoutInflater.from(mContext).inflate(
R.layout.file_item, null);
holder.icon = (ImageView) convertView
.findViewById(R.id.file_item_icon);
holder.name = (TextView) convertView
.findViewById(R.id.file_item_name);
convertView.setTag(holder);
} else {
holder = (FileMangerHolder) convertView.getTag();
}
holder.icon
.setImageResource((Integer) (list.get(position).get("icon")));
holder.name.setText((String) (list.get(position).get("name")));
return convertView;
}
public class FileMangerHolder {
public ImageView icon;
public TextView name;
}
// The information add to listView
public void setFileListInfo(final List> infos) {
list.addAll(infos);
notifyDataSetChanged();
}
}
最後是兩個布局文件:file_list.xml和file_item.xml
以上是全部源碼,換了環境運得時,包名可能需要根據自己的目錄路徑做一下相應的更改,其他的基本沒有問題,程序很簡單,也可以很好的進行拓展。
Android Vector曲折的兼容之路
兩年前寫書的時候,就在研究Android L提出的Vector,可研究下來發現,完全不具備兼容性,相信這也是它沒有被廣泛使用的一個原因,經過Google的不懈努力,現在V
如何設置ES文件浏覽器連接電腦管理需要管理賬號
設置ES文件浏覽器連接電腦管理需要管理賬號。我們想用ES文件浏覽器來管理我們手機的時候,又不想一連電腦,別人知道我的手機ftp的時候,就可以進入,想設置賬戶
(干貨) Android Volley框架源碼詳細解析
前言 經常接觸Android網絡編程的我們,對於Volley肯定不陌生,但我們不禁要問,對於Volley我們真的很了解嗎?Volley的內部是怎樣實現的?為什麼幾行代碼
靠譜助手安卓模擬器黑屏閃退怎麼辦
靠譜助手安卓模擬器黑屏/閃退的最有可能的原因在於顯卡驅動。顯卡驅動的兼容性對於安卓模擬器向來都是個大難題,各大安卓模擬器也在努力解決。但是顯卡型