当前位置: 编程技术>移动开发
本页文章导读:
▪SD卡资料列表 SD卡文件列表
MainActivity.java
package lee.sdcard;
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.Activity;
import android.os.Bundle;
import android.os.E.........
▪ Ubuntu 上統計代碼行數 Ubuntu 下統計代碼行數
sudo apt-get install sloccountsloccount 文件名
......
▪ 一些设立 一些设置
// 取消标题
requestWindowFeature(Window.FEATURE_NO_TITLE);
// 禁止屏幕休眠
getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON,
.........
[1]SD卡资料列表
来源: 互联网 发布时间: 2014-02-18
SD卡文件列表
MainActivity.java
package lee.sdcard; import java.io.File; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.app.Activity; import android.os.Bundle; import android.os.Environment; import android.view.View; import android.widget.AdapterView; import android.widget.GridView; import android.widget.ListView; import android.widget.SimpleAdapter; import android.widget.TextView; import android.widget.Toast; import android.widget.AdapterView.OnItemClickListener; public class MainActivity extends Activity { private ListView listView; //文件目录ListView private GridView toolbarGrid; //工具条 private TextView title; //标题-路径 private List<String> fileName=null; //文件名称 private List<String> fileNum=null; //记录文件大少或者有多少个子目录 private List<String> filePath=null; //文件路径 private List<Boolean> isFile=null; //是否文件夹 private boolean flag = true; private String sdCardPath; //SD卡根路径 private String parentPath; //路径的上级 /** 底部菜单图片 **/ int[] menu_toolbar_image_array = { R.drawable.menu_paste, R.drawable.controlbar_back, R.drawable.menu_penselectmodel, R.drawable.menu_quit }; /** 底部菜单文字 **/ String[] menu_toolbar_name_array = { "主目录", "返回", "确定", "退出" }; public void toast(String msg){ Toast.makeText(this, msg, 1).show(); } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); if(!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){ toast("Sd卡不存在"); } sdCardPath=Environment.getExternalStorageDirectory().getPath(); // File fff=new File(sdCardPath+"/test/ddd"); // if(!fff.exists())fff.mkdirs(); listView=(ListView) findViewById(R.id.list_view); title=(TextView) findViewById(R.id.title2); getFileDir(sdCardPath); // 创建底部菜单 Toolbar toolbarGrid = (GridView) findViewById(R.id.filedir_toolbar); //获取底部的GridView控件 toolbarGrid.setNumColumns(4); // 设置每行列数 toolbarGrid.setAdapter(getMenuAdapter(menu_toolbar_name_array,menu_toolbar_image_array));// 设置菜单Adapter。调用getMenuAdapter方法构造MAP参数 /** 监听底部菜单选项 **/ toolbarGrid.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) { switch (arg2) { case 0: //首页 getFileDir(sdCardPath); break; case 1: //返回 getFileDir(parentPath); title.setText("路径:"+parentPath); break; case 2: // TODO Auto-generated method stub break; case 3: MainActivity.this.finish(); break; } } }); } /** * 构造菜单Adapter * @param menuNameArray 名称 * @param imageResourceArray 图片 * @return SimpleAdapter */ private SimpleAdapter getMenuAdapter(String[] menuNameArray,int[] imageResourceArray) { ArrayList<HashMap<String, Object>> data = new ArrayList<HashMap<String, Object>>(); for (int i = 0; i < menuNameArray.length; i++) { HashMap<String, Object> map = new HashMap<String, Object>(); map.put("itemImage", imageResourceArray[i]); map.put("itemText", menuNameArray[i]); data.add(map); } SimpleAdapter simperAdapter = new SimpleAdapter( this, //上下文 data, //数据源 R.layout.item_menu, //绑定的视图 new String[] { "itemImage", "itemText" }, //绑定数据源对应的标题 new int[] { R.id.item_image, R.id.item_text }); //绑定视图对应的控件 return simperAdapter; } /** * 获取路径的子目录列表 * @param path 路径 */ private void getFileDir(String path) { File f = new File(path); //建立文件 if(!path.equals(sdCardPath)){ //判断文件是否SD卡根路径 parentPath = f.getParent(); //如果不是根路径就获取该路径的上级路径 }else parentPath = sdCardPath; //如果是根路径就 //初始化存放个数据的List fileName = new ArrayList<String>(); fileNum = new ArrayList<String>(); filePath = new ArrayList<String>(); isFile = new ArrayList<Boolean>(); File file=new File(path); //获取接收进来的路径 int fileSize = file.list().length; //获取路径一共有多少个子文件 //第一次遍历存放文件夹 for(int i=0;i<fileSize;i++){ File fileChild=new File(path, file.list()[i]); //定义子文件 if(fileChild.isDirectory() && !fileChild.isHidden()){ //判断子文件是否文件夹并且不是隐藏文件 fileName.add(fileChild.getName()); //获取子文件的名称 fileNum.add(String.valueOf(fileChild.list().length)+"个子文件"); //获取子文件里面有几个子文件 filePath.add(fileChild.getPath()); //获取子文件的路径 isFile.add(true); //标记是否文件夹 } } //第2次遍历放图片文件 for(int i=0;i<fileSize;i++){ File fileChild=new File(path, file.list()[i]); if(fileChild.getName().endsWith(".jpg")){ //判断后缀是图片 fileName.add(fileChild.getName()); fileNum.add(String.valueOf(formatSize(fileChild.length()))); //格式化图片大少,显示KB/MB/GB filePath.add(file.getPath()); isFile.add(false); } } String[] str={"fileImage","fileName","isFileImage","fileNum","filePath"}; List<Map<String,Object>> list =new ArrayList<Map<String,Object>>(); for(int i=0;i<fileName.size();i++){ Map<String,Object> map =new HashMap<String, Object>(); map.put("fileName", fileName.get(i)); map.put("filePath", filePath.get(i)); map.put("fileNum", fileNum.get(i)); //判断是文件夹还是图片,显示不同的图片 if(isFile.get(i)){ map.put("fileImage", R.drawable.image_folder); map.put("isFileImage", R.drawable.list_icon); }else if(fileName.get(i).endsWith(".jpg")){ map.put("fileImage", R.drawable.imagefile); map.put("isFileImage", R.drawable.list_icon); } list.add(map); } SimpleAdapter adapter=new SimpleAdapter(MainActivity.this, list, R.layout.filedir_item, str, new int[]{R.id.item_image,R.id.item_name,R.id.item_icon,R.id.item_num}); listView.setAdapter(adapter); listView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view,int position, long id) { Map<String, Object> map=(Map<String, Object>) parent.getItemAtPosition(position); // 获取点击的Item所绑定的数据 getFileDir(map.get("filePath").toString()); //获取点击文件夹路径 title.setText("路径:"+map.get("filePath").toString()); //设置标题文字 } }); } /** * 格式化文件大少,显示KB/MB/GB * @param size * @return 返回格式化的字符串 */ private String formatSize(long size) { long SIZE_KB = 1024; long SIZE_MB = SIZE_KB * 1024; long SIZE_GB = SIZE_MB * 1024; if(size < SIZE_KB) { return String.format( "%d B" , (int) size); } else if(size < SIZE_MB) { return String.format( "%.2f KB" , (float)size / SIZE_KB); } else if(size < SIZE_GB) { return String.format( "%.2f MB" , (float)size / SIZE_MB); } else { return String.format( "%.2f GB" , (float)size / SIZE_GB); } } // @Override // public boolean onKeyDown(int keyCode, KeyEvent event) { // if(keyCode==KeyEvent.KEYCODE_BACK){ // if(parentPath!=null) // getFileDir(parentPath); // return true; // } // // // return super.onKeyDown(keyCode, event); // } }
[2] Ubuntu 上統計代碼行數
来源: 互联网 发布时间: 2014-02-18
Ubuntu 下統計代碼行數
sudo apt-get install sloccount
sloccount 文件名
sudo apt-get install sloccount
sloccount 文件名
[3] 一些设立
来源: 互联网 发布时间: 2014-02-18
一些设置
// 取消标题
requestWindowFeature(Window.FEATURE_NO_TITLE);
// 禁止屏幕休眠
getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON,
WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
// 全屏幕
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
最新技术文章: