android選擇文件夾
① 文件夾選擇器怎麼實現
Android中文件選擇器的實現
今天給大家分享下文件選擇器的作用 , 具體就是獲取用戶在在SD卡選中的文件/文件夾路徑 ,類似於C#中
OpenFileDialog控制項(對C#的一站式開發還是念念不忘)。功能實現起來比較簡單,主要是幫助大家節省開發時間。
網上流傳較廣的一個成品如下 <[Android實例] 文件選擇器>, 本文也是根據上面的成品修改而成,使其更易
理解,效率更高。 除此之外,主要特色有:
1、我們監聽了用戶按下Back鍵的事件,使其返回上一層目錄;
2、針對不同的文件類型(文件vs文件夾 , 目標文件vs其他文件)做了特殊處理。
知識點一、 File 類的使用
文件選擇器的主要功能是:瀏覽文件\文件夾、文件類型等;都是通過java File類來實現的。
關於File類的使用,請參考如下博客:
<<來自java文檔 File類>>
<<Java File類>>
知識點二、調用方法說明
使用了startActivityForResult()發起調用以及onActivityResult()方法接受回調後的信息。
其他的也沒什麼好說了,大家看看代碼注釋吧~~ so easy - - 。
FileChooserActivity.java 實現文件選擇的類 。
[java] view plainprint?
public class CopyOfFileChooserActivity extends Activity {
private String mSdcardRootPath ; //sdcard 根路徑
private String mLastFilePath ; //當前顯示的路徑
private ArrayList<FileInfo> mFileLists ;
private FileChooserAdapter mAdatper ;
//配置適配器
private void setGridViewAdapter(String filePath) {
updateFileItems(filePath);
mAdatper = new FileChooserAdapter(this , mFileLists);
mGridView.setAdapter(mAdatper);
}
//根據路徑更新數據,並且通知Adatper數據改變
private void updateFileItems(String filePath) {
mLastFilePath = filePath ;
mTvPath.setText(mLastFilePath);
if(mFileLists == null)
mFileLists = new ArrayList<FileInfo>() ;
if(!mFileLists.isEmpty())
mFileLists.clear() ;
File[] files = folderScan(filePath);
if(files == null)
return ;
for (int i = 0; i < files.length; i++) {
if(files[i].isHidden()) // 不顯示隱藏文件
continue ;
String fileAbsolutePath = files[i].getAbsolutePath() ;
String fileName = files[i].getName();
boolean isDirectory = false ;
if (files[i].isDirectory()){
isDirectory = true ;
}
FileInfo fileInfo = new FileInfo(fileAbsolutePath , fileName , isDirectory) ;
//添加至列表
mFileLists.add(fileInfo);
}
//When first enter , the object of mAdatper don't initialized
if(mAdatper != null)
mAdatper.notifyDataSetChanged(); //重新刷新
}
//獲得當前路徑的所有文件
private File[] folderScan(String path) {
File file = new File(path);
File[] files = file.listFiles();
return files;
}
private AdapterView.OnItemClickListener mItemClickListener = new OnItemClickListener() {
public void onItemClick(AdapterView<?> adapterView, View view, int position,
long id) {
FileInfo fileInfo = (FileInfo)(((FileChooserAdapter)adapterView.getAdapter()).getItem(position));
if(fileInfo.isDirectory()) //點擊項為文件夾, 顯示該文件夾下所有文件
updateFileItems(fileInfo.getFilePath()) ;
else if(fileInfo.isPPTFile()){ //是ppt文件 , 則將該路徑通知給調用者
Intent intent = new Intent();
intent.putExtra(EXTRA_FILE_CHOOSER, fileInfo.getFilePath());
setResult(RESULT_OK , intent);
finish();
}
else { //其他文件.....
toast(getText(R.string.open_file_error_format));
}
}
};
public boolean onKeyDown(int keyCode , KeyEvent event){
if(event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode()
== KeyEvent.KEYCODE_BACK){
backProcess();
return true ;
}
return super.onKeyDown(keyCode, event);
}
//返回上一層目錄的操作
public void backProcess(){
//判斷當前路徑是不是sdcard路徑 , 如果不是,則返回到上一層。
if (!mLastFilePath.equals(mSdcardRootPath)) {
File thisFile = new File(mLastFilePath);
String parentFilePath = thisFile.getParent();
updateFileItems(parentFilePath);
}
else { //是sdcard路徑 ,直接結束
setResult(RESULT_CANCELED);
finish();
}
}
}
界面依舊很醜陋,囧 ,大家可以根據需要在此基礎上添加功能 。
② android是根據什麼去選擇三種drawable文件夾下的圖片
是根據drawable文件夾的修飾符進行選擇的。
比如drawable、drawable-ldpi、drawable-mdpi、drawable-hdpi、drawable-xhdpi、drawalbe-xxhdpi、drawable-xxxhdpi
根據修飾符進行優先匹配。
不同的dpi修飾符對應的dpi如下
drawable-ldpi 120DPI
drawable-mdpi 160DPI
drawable-hdpi 240DPI
drawable-xhdpi 320DPI
drawalbe-xxhdpi 480DPI
drawable-xxxhdpi 640DPI
dpi是根據手機的當前解析度ppi歸一化得到的。
那麼PPI如何得來的?
如果手機的寬為X,高為Y,屏幕大小為Z英寸,那麼
公式中的X2其實是X的平方,即X*X。
比如三星手機I9260解析度是1280*720,屏幕大小是4.65英寸,那麼計算得到的PPI就是315.8PPI
找一個最近的DPI值應該是320DPI,也就是這個設備被歸一化後就是320DPI。屬於xhdpi。
系統取圖片時會優先選擇drawable-xhdpi裡面的圖片,如果drawable-xhdpi不存在或者沒有這張圖,就會就近從其它解析度和默認的無後綴drawable文件夾下取。
比如工程只有在draw-xxhdpi文件下有img圖片,而你的設置是xhdpi,就會從xxhdpi取完圖片再壓縮到對應大小返回給使用者。
手機緩存在哪裡找得到
手機緩存在哪裡找得到
1、手機儲存或SD卡路徑:Android/data/com.tencent.qqlive/cache/download具體步驟如下:先打開手機【文件管理器】中的【SD卡/手機儲存】,再點擊【Android】。打開【data】文件夾。
2、在data文件夾中,以快手APP為例,查找緩存視頻的方法如下:首先,打開手機桌面,點擊文件管理選項,如下圖所示,然後進入下一步。其次,完成上述步驟後,單擊Android文件夾,如下圖所示,然後進入下一步。
3、若是指的vivo手機自帶的瀏覽器可以在手機瀏覽器--底部「三」--我的視頻--已緩存--即可查看。通過瀏覽器下載網頁內的視頻,屬於緩存視頻。
手裡里看過的圖片會自動保存在哪個文件夾?
手裡里看過的圖片會自動保存在哪個文件夾?
1、在手機中找到並點擊【瀏覽器】。在右下角點擊原點圖標並在彈出菜單欄中下選擇【設置】選項。點擊【默認下載目錄】。點擊出現的文件夾【videodata】。在頁面里找到瀏覽網頁時自動保存的圖片。
2、使用文件管理在DCIM文件夾下camera里。如果你是使用UC瀏覽器等軟體下載的圖片,同樣使用文件管理在SD卡在「download」文件夾中就能找到。
3、瀏覽過微信後的視頻和圖片都會把瀏覽過微信後的視頻和圖片,都會保存在手機的文件管理裡面,你可以通過文件管理查找之前瀏覽過的圖片。
4、希望能幫助你起凡保存的圖片在哪個文件夾里一般都是保存在起凡文件夾下。游戲錄像默認保存在7fgame
eplayMyGameAutoSave文件夾里,如果你是用Printscreen鍵來截圖的話保存在剪貼板里,需要到畫圖工具里粘貼後保存。
5、目前,手機大多使用的是是UC瀏覽器,瀏覽過的圖片文件默認保存在UC瀏覽器/Library/ApplicationSupport/,手機連接電腦後通過PP助手打開這個路徑,在里邊的文件夾查找下。
安卓從手機相冊獲取照片作為頭像緩存地址
安卓從手機相冊獲取照片作為頭像緩存地址
打開文件管理器找到tencent文件夾,一般騰訊軟體都安裝在此文件夾,如微信、qq、郵箱等。
在手機界面中找到圖庫APP,並點擊打開。在新打開的圖庫界面中下方點擊「其它相冊」。在其它相冊中找到與自己QQ號命名相同的相冊,並點擊打開。即可看到好友的頭像都緩存在這個文件夾中。
一般安卓手機的相機功能都會有固定的存放路徑,這個位置默認為:/sdcard/DCIM/100Andro或者/sdcard/DCIM/Camera,這里的sdcard是指手機中的SD卡,在電腦中顯示的為可移動磁碟。
問題二:手機的圖片緩存在哪個文件里安卓手機的手機桌面圖片存儲因為廠家的不同有有幾種可能:使用文件管理在DCIM文件夾下camera里。
打開桌面上的文件管理器選擇手機存儲打開DCIM文件夾,根據不同品牌安卓手機的後期開發,文件夾名稱可能不太一樣,但一定是在DCIM目錄文件夾里邊。
對於安卓手機,微信好友頭像緩存的路徑一般為「/sdcard/tencent/MicroMsg/WeiXin/」文件夾下的「Cache」和「Image」文件夾,其中「Cache」文件夾保存的是頭像的縮略圖,而「Image」文件夾保存的是原圖。
手機保存的圖片在哪裡
手機保存的圖片在哪裡
1、打開文件管理,選擇內部存儲,找到Download文件夾並進入,進入界面即可看見網路上保存的相片。若手機拍攝照片後圖片無法保存到相冊中,建議:請檢查手機內存是否已滿。
2、手機保存的圖片在哪裡【提問】網友你好,很高興接受你的提問,在內部存儲的Pictures文件裡面,具體找到方法是;以安卓手機操作為例:首先打開手機,找到「文件管理」菜單並點擊它。
3、點擊保存到手機的圖片找不到,是因為有些應用下載之後的圖片是會自動被隱藏的。查看自動隱藏的相冊,請執行以下步驟:點擊移動桌面上的「圖庫」進入應用程序。單擊應用程序右下角的「更多」。
安卓手機相片保存在哪個文件夾啊?
安卓手機相片保存在哪個文件夾啊?
1、首先打開手機主界面找到「文件管理器」菜單,然後點擊進入。進入到文件管理器界面後,可以左右滑動來找到「SD卡管理」選項(筆者假定您的手機默認設置成首先存儲到SD卡),然後進入。
2、安卓手機查看相機照片的文件夾路徑方法如下:首先在桌面上找到【相冊】這個應用圖標,點擊該圖標進入相冊管理頁面。進入相冊後,選擇需要查看文件路徑的照片,點擊該照片進入照片瀏覽模式。
3、拍照圖片保存位置如下:如果保存位置為手機內存則是SD卡DCIMCamera中,如果保存位置為SD卡則是SD卡DCIMCamera中。
4、根據不同品牌安卓手機的後期開發,文件夾名稱可能不太一樣,但一般是在DCIM目錄文件夾里邊,當然也會有特別,例如在酷派手機中手機拍照的圖片是存放在根目錄中的Photo中。
安卓系統下,上網瀏覽的圖片等臨時文件的存放文件夾在哪?
安卓系統下,上網瀏覽的圖片等臨時文件的存放文件夾在哪?
不同瀏覽器不同的文件夾,但有一個共性,都是放在一個cache或包含cache的文件夾下。比如:UC瀏覽器的緩存在sdcard下的UCdownloads/cache/文件夾中。但是cache下也有圖片,歷史記錄等各種緩存。
手機本身相機照片是在DCIM-Camera文件夾里。
首先打開手機主界面找到「文件管理器」菜單,然後點擊進入。進入到文件管理器界面後,可以左右滑動來找到「SD卡管理」選項(筆者假定您的手機默認設置成首先存儲到SD卡),然後進入。
華為手機的文件管理在哪裡?首先打開華為手機系統自帶的文件管理APP。2進入文件管理以後,我們會看到新的頁面,在頁面當中我們選擇最下方的分類選項。3接著我們在新的頁面當中選擇內部存儲,接著我們就可以看到文件夾了。
找手機緩存的文件,具體步驟如下操作:首先點擊手機上的「文件管理」。然後點擊「手機存儲」。然後選擇『所有文件』中的「Android」這個文件夾。然後找到「data」這個文件夾。
查看微信已接收的圖片或視頻。b.文檔/壓縮包等其他文件進入手機「「文件管理」APP微信(圖標)全部/文檔/其他」,查看微信中已接收的文檔/壓縮包等其他文件。
④ 手機下載的視頻在哪個文件
1,在自己的手機上點一下「文件管理」打開那個文件夾。
2,在手機類目下,可以看到很多個文件夾的列表,認真從裡面找到那個安卓Android文件夾。
3,進入Android文件夾之後,可以看到第一個是裝有安卓數據的文件夾,也就是data文件夾,再次點擊打開。
4,在data的界面下,滑動屏幕向下,直接找到這個「com.tencent.qqlive」文件夾。
5,打開頁面會見到兩個選項,一個是cache,而另外那個就是需要找的files。點擊選擇第二個files文件夾。
6,找到「videos文件夾」,曾經緩存過的那些文件都在這里。