欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

android本地圖片,本地圖片APP

android 已知本地圖片的路徑,如何將他設為imageview的背景?

android已知本地圖片的路徑,將他設為imageview的背景,文件夾的路徑:

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設,宜春企業(yè)網(wǎng)站建設,宜春品牌網(wǎng)站建設,網(wǎng)站定制,宜春網(wǎng)站建設報價,網(wǎng)絡營銷,網(wǎng)絡優(yōu)化,宜春網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

String img_path = "image will be with image type"; ? ?

Bitmap bmp= BitmapFactory.decodeFile(img_path);

ImageView iv= (ImageView)findViewById(R.id.img);

iv.setImageBitmap(bmp)。

添加文件的權限:

uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/

uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/

android,如何將獲取的本地圖片其設為我的應用界面的背景

Android本身不提供使用圖片路徑來設置view背景的。既然我們已經知道了圖片的path,就可以先將圖片轉成drawable,然后在設置給LinearLayout來做背景。

Android 保存圖片到本地。

這里只介紹按下“保存”后如何將一個Bitmap對象保存為圖片文件的執(zhí)行步驟,對圖片的下載,圖片到Bitmap對象的轉換,Bitmap對象的格式轉換和壓縮,以及界面設計部分全部都忽略了。

確定存儲路徑

獲取外部存儲權限

確定外部存儲狀態(tài)

確定文件名

保存到文件中

發(fā)送廣播,通知系統(tǒng)掃描保存后的文件

確定存儲路徑

在Android中文件存儲路徑包括內部存儲和外部存儲兩種類型。

對內部存儲,當一個app被安裝到手機后,Android系統(tǒng)會在內部存儲的/data/data/目錄下創(chuàng)建一個以包名稱命名的文件夾。例如/data/data/com.sohu.inputmethod.sogou/。一個應用對內部存儲的所有訪問都被限制在這個文件夾中,也就是說Android應用只能在該目錄中讀取,創(chuàng)建,修改文件。對該目錄之外的其他內部存儲中的目錄都沒有任何操作的權限。因此,如果將圖片保存在內部存儲中,只能被應用自身讀取,其他應用均無法讀取。如果需要讓系統(tǒng)圖庫,相冊或其他應用能夠找到保存的圖片,必須將圖片保存到外部存儲中。

對外部存儲,當一個app被安裝到手機后,Android系統(tǒng)會在外部存儲的/Android/data/目錄下創(chuàng)建一個以包名命名的文件夾(這里第一個/不是根路徑,而是相對外部存儲所掛載路徑的相對路徑)。例如/storage/emulated/0/Android/data/com.sohu.inputmethod/。這個路徑同樣只能被應用自身讀取,其他應用不能訪問。因此,也不能將圖片保存在這個目錄中。

除外部存儲的/Android目錄之外的其他目錄一般都是可以被其他應用訪問的。目前,大多數(shù)應用都會在外部存儲的根路徑下建立一個類似包名的多層目錄,以存儲需要共享的文件。例如/storage/emulated/0/sogou/image/。還需要注意的是,很多查看圖片的應用都支持按照文件夾來查看圖片。如果將圖片所在的文件夾取名為image,photo之類的,就無法和其他文件夾區(qū)分開,用戶也不能識別該文件夾的用途。因此最好取一個有區(qū)分度的文件夾名字,例如百度貼吧就保存在/tieba目錄,微信是保存在/tencent/MicroMsg/WeiXin目錄。

由于Android系統(tǒng)的碎片化問題,不同設備上外部存儲的路徑很可能會不同,因此,不能直接使用/storage/emulated/0/作為外部存儲的根路徑。

Android SDK中 Environment類 提供了getExternalStorageDirectory()方法來獲取外部存儲的根路徑。示例如下:

[java]?view plain?copy

String?dir?=?Environment.getExternalStorageDirectory().getAbsolutePath()?+?"/tencent/MicroMsg/WeiXin/"

需要注意的是Environment.getExternalStorageDirectory()返回的路徑中最后一個字符不是/,如果需要創(chuàng)建子目錄,需要在子目錄的前后都加上/。

獲取外部存儲權限

由于需要在外部存儲中寫文件,需要在AndroidManifest.xml中增加如下的權限聲明。

[java]?view plain?copy

uses-permission?android:name="android.permission.WRITE_EXTERNAL_STORAGE"/

確定外部存儲狀態(tài)

由于外部存儲需要被掛載,也可以被卸載,在寫入文件之前,需要先判斷外部存儲的狀態(tài)是否正常。只有狀態(tài)正常情況下才可以執(zhí)行保存文件的操作。獲取外部存儲狀態(tài)同樣是通過Environment類,通過Environment.getExternalStorageState()可以得到一個字符串,來表示外部存儲的狀態(tài)。同時在Environment類中定義了一系列的String常量表示不同的狀態(tài)。在所有的狀態(tài)中只有內部存儲處于Environment.MEDIA_MOUNTED狀態(tài)時才可以讀寫文件,因此,需要將獲取到的狀態(tài)和Environment.MEDIA_MOUNTED做比較,如果不是Environment.MEDIA_MOUNTED狀態(tài),就返回保存失敗。示例如下。

[java]?view plain?copy

//獲取內部存儲狀態(tài)

String?state?=?Environment.getExternalStorageState();

//如果狀態(tài)不是mounted,無法讀寫

if?(!state.equals(Environment.MEDIA_MOUNTED))?{

return;

}

確定文件名

保存的圖片文件名可以由應用根據(jù)自身需要自行確定,一般來說需要有一個命名規(guī)則,然后根據(jù)命名規(guī)則計算得到文件名。

這里列舉幾種常見的命名規(guī)則。

隨機命名

這種命名規(guī)則是隨機生成一個字符串或一組數(shù)字來對圖片命名。

字符串可以通過UUID來生成,數(shù)字可以通過Random()類來生成,例如:

[java]?view plain?copy

//通過UUID生成字符串文件名

String?fileName1?=?UUID.randomUUID().toString();

//通過Random()類生成數(shù)組命名

Random?random?=?new?Random();

String?fileName2?=?String.valueOf(random.nextInt(Integer.MAX_VALUE));

這種命名規(guī)則是按照數(shù)字從小到大的順序來對圖片命名。

在程序啟動時先獲取圖片文件名中當前最大數(shù)字的文件名,之后每保存一張圖片就將數(shù)字加1即可。

時間命名

這種命名規(guī)則是根據(jù)保存圖片的當前系統(tǒng)時間來對圖片命名。

系統(tǒng)時間可以通過System.currentTimeMillis()來獲取,不過System.currentTimeMillis()獲取到的時間是一個long型的整數(shù),如果用它做文件名,無法通過文件名直接看出文件的具體保存時間。可以通過SimpleDateFormat先對當前時間做格式化,然后再將其作為文件名來使用。例如:

[java]?view plain?copy

使用這種命名規(guī)則來命名需要注意的是同一秒鐘可能會有多張圖片需要保存,在得到當前系統(tǒng)時間對應的文件名后,需要判斷該文件是否存在。如果文件已經存在,需要重新生成文件名。重新生成的文件名可以在之前的文件名后加上一個隨機數(shù)后綴,或者是用毫秒數(shù)做后綴。

Calendar?now?=?new?GregorianCalendar();

SimpleDateFormat?simpleDate?=?new?SimpleDateFormat("yyyyMMddHHmmss",?Locale.getDefault());

String?fileName?=?simpleDate.format(now.getTime());

文件URL命名

每張網(wǎng)絡圖片都有一個對應的圖片URL,可以根據(jù)圖片的URL來對圖片命名。

不過URL中會包含一些不能用作文件名的特殊字符,此外直接用URL來命名可能會帶來安全問題。為了避免這兩個問題,可以將圖片URL的MD5值作為文件名來使用。由于MD5是不可逆的,也就無法通過MD5值反向得到圖片URL,同時MD5值對應的字符串只包含[0-9A-Z],不包含特殊字符,可是作為文件名使用。

由于每張圖片的URL是唯一的,其對應的文件名也就是唯一的。如果需要每張網(wǎng)絡圖片只能生成一個文件,不允許保存為多份拷貝,可以用這種命名規(guī)則。在得到URL對應的文件名后,先判斷文件是否已經存在,如果已經存在,直接覆蓋或不處理。

保存到文件中

保存圖片文件時,通過Bitmap的compress()方法將Bitmap對象壓縮到一個文件輸出流中,然后flush()即可。示例如下。

[java]?view plain?copy

try?{

File?file?=?new?File(dir?+?fileName?+?".jpg");

FileOutputStream?out?=?new?FileOutputStream(file);

mBitmap.compress(Bitmap.CompressFormat.JPEG,?100,?out);

out.flush();

out.close();

}?catch?(Exception?e)?{

e.printStackTrace();

}

發(fā)送廣播,通知系統(tǒng)掃描保存后的文件

至此,已經實現(xiàn)將Bitmap對象保存成外部存儲中的一個jpg格式的文件。但此時該文件只是保存在外部存儲的一個目錄中,必須進入其所在的目錄中才可以看到。在系統(tǒng)圖庫,相冊和其他應用中無法看到新建的圖片文件。為了讓其他應用能夠知道圖片文件被創(chuàng)建,必須通知MediaProvider服務將新建的文件添加到圖片數(shù)據(jù)庫中。

Android系統(tǒng)中常駐一個MediaProvider服務,對應的進程名為android.process.media,此服務用來管理本機上的媒體文件,提供媒體管理服務。在系統(tǒng)開機或者收到外部存儲的掛載消息后,MediaProvider會調用MediaScanner,MediaScanner會掃描外部存儲中的所有文件,根據(jù)文件類型的后綴將文件信息保存到對應的數(shù)據(jù)庫中,供其他APP使用。

MediaScannerReceiver是一個廣播接收者,當它接收到特定的廣播請求后,就會去掃描指定的文件,并根據(jù)文件信息將其添加到數(shù)據(jù)庫中。當圖片文件被創(chuàng)建后,就可以發(fā)送廣播給MediaScannerReceiver,通知其掃描新建的圖片文件。示例如下。

[java]?view plain?copy

try?{

File?file?=?new?File(dir?+?fileName?+?".jpg");

FileOutputStream?out?=?new?FileOutputStream(file);

mBitmap.compress(Bitmap.CompressFormat.JPEG,?100,?out);

out.flush();

out.close();

//保存圖片后發(fā)送廣播通知更新數(shù)據(jù)庫

Uri?uri?=?Uri.fromFile(file);

sendBroadcast(new?Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,?uri));

}?catch?(Exception?e)?{

e.printStackTrace();

}

圖片的異步保存

保存圖片文件時,如果圖片很大,或需要同時保存多張圖片時,就需要較多的時間。為了避免阻塞UI線程,出現(xiàn)幀率下降或ANR,通常需要將圖片保存操作放到線程中去執(zhí)行。當圖片保存完畢后通過sendMessage()方法通知UI線程保存結果。

將圖片保存放到后臺線程去執(zhí)行需要增加一些同步機制避免一些多線程問題。例如有兩張圖片需要保存,分別放到兩個線程中去執(zhí)行,保存圖片時文件名以數(shù)字順序增加。第一個線程選中文件名為125.jpg,但此時文件還未創(chuàng)建,第二個線程判斷125.jpg不存在,于是也選取125.jpg作為文件名,兩張圖片就保存到同一個文件中了。

android下載圖片和視頻到本地,求代碼,求案例

下面是android多線程下載例子截圖:

package?mm.shandong.com.testmultithreaddownload;

import?android.app.ProgressDialog;

import?android.content.Intent;

import?android.net.Uri;

import?android.os.Environment;

import?android.os.Handler;

import?android.os.Message;

import?android.support.v7.app.AppCompatActivity;

import?android.os.Bundle;

import?android.text.TextUtils;

import?android.view.View;

import?android.widget.EditText;

import?android.widget.Toast;

import?java.io.File;

import?mm.shandong.com.testmultithreaddownload.thread.UpdateUIThread;

import?mm.shandong.com.testmultithreaddownload.util.FileUtil;

public?class?TestMultiThreadDownLoadActivity?extends?AppCompatActivity?{

ProgressDialog?pb;

EditText?editText;

Handler?handler;

private?UpdateUIThread?mUpdateUIThread?=?null;

///文件路徑

private?String?url?=

"";

@Override

protected?void?onCreate(Bundle?savedInstanceState)?{

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_test_multi_thread_down_load);

editText?=?(EditText)?findViewById(R.id.editText);

initHandler();

}

public?void?initHandler()?{

handler?=?new?Handler()?{

@Override

public?void?handleMessage(Message?msg)?{

switch?(msg.what)?{

case?FileUtil.startDownloadMeg:

pb.setMax(mUpdateUIThread.getFileSize());???//開始

break;

case?FileUtil.updateDownloadMeg:

if?(!mUpdateUIThread.isCompleted())???//下載進度消息

{

pb.setProgress(mUpdateUIThread.getDownloadSize());

pb.setMessage("下載速度:"?+

mUpdateUIThread.getDownloadSpeed()?+?"k/秒????"?+

"???下載百分比"?+?mUpdateUIThread.getDownloadPercent()?+?"%");

}?else?{

pb.setMessage("下載完成");

}

break;

case?FileUtil.endDownloadMeg:

Toast.makeText(TestMultiThreadDownLoadActivity.this,

"下載完成,馬上安裝",?Toast.LENGTH_SHORT).show();

/*apk安裝界面跳轉*/

String?filename?=?FileUtil.getFileName(url);

String?str?=?"/myfile/"?+?filename;

String?fileName?=?Environment.getExternalStorageDirectory()?+?str;

Intent?intent?=?new?Intent(Intent.ACTION_VIEW);

intent.setDataAndType(Uri.fromFile(new?File(fileName)),

"application/vnd.android.package-archive");

startActivity(intent);

break;

}

super.handleMessage(msg);

}

};

}

///開始下載軟件

public?void?startDownLoad(View?view)?{

if?(TextUtils.isEmpty(editText.getText().toString()))?{

Toast.makeText(this,?"你輸入下載文件地址",?Toast.LENGTH_SHORT).show();

return;

}?else?{

url?=?editText.getText().toString();

}

//啟動線程初始化下載參數(shù)

mUpdateUIThread?=?new?UpdateUIThread(handler,?url,

FileUtil.setMkdir(this)?+?File.separator,?FileUtil.getFileName(url));

pb?=?new?ProgressDialog(this);

pb.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);

pb.show();

mUpdateUIThread.start();

}

}

例子代碼太長,只能給你一部分,如果想看完整例子代碼,請去360手機助手下載安卓學習手冊,點擊里面的源碼可以查看完成代碼,方面快速,里面還有安卓的其它小例子,共108個。

android本地緩存圖片最大取多大的空間較為

相冊圖片預取緩存策略是內存緩存(硬引用LruCache、軟引用SoftReferenceBitmap)、外部文件緩存(context.getCachedDir()),緩存中取不到的情況下再向服務端請求下載圖片。同時緩存三張圖片(當前預覽的這張,前一張以及后一張)。1.內存緩存//需要導入外部jar文件 android-support-v4.jar

import android.support.v4.util.LruCache;

//開辟8M硬緩存空間

private final int hardCachedSize = 8*1024*1024;

//hard cache

private final LruCacheString, Bitmap sHardBitmapCache = new LruCacheString, Bitmap(hardCachedSize){

@Override

public int sizeOf(String key, Bitmap value){

return value.getRowBytes() * value.getHeight();

}

@Override

protected void entryRemoved(boolean evicted, String key, Bitmap oldValue, Bitmap newValue){

Log.v("tag", "hard cache is full , push to soft cache");

//硬引用緩存區(qū)滿,將一個最不經常使用的oldvalue推入到軟引用緩存區(qū)

sSoftBitmapCahe.put(key, new SoftReferenceBitmap(oldValue));

}

}

詳細

android手機里的照片在哪個文件夾里

android手機里的照片在DCIM-Camera文件夾。

具體步驟:

1、先將手機與電腦相連,在電腦上找到可移動磁盤設備,點擊打開。

2、然后在所有文件夾中找到DCIM文件夾,點擊打開。DCIM (Data Center Infrastructure management) 數(shù)據(jù)中心基礎設施管理。

3、然后在DCIM文件夾中找到camera文件夾,就找到照片了。

擴展資料:

定義

1. DCIM (Data Center Infrastructure management) 數(shù)據(jù)中心基礎設施管理 是將IT(信息技術)和設備管理結合起來對數(shù)據(jù)中心關鍵設備進行集中監(jiān)控、容量規(guī)劃等集中管理。通過軟件、硬件和傳感器等,DCIM提供一個獨立的管理平臺,對數(shù)據(jù)中心IT設備和基礎設施進行實時監(jiān)控和管理。

3. 離散福鏡像法:方程(MPIE)的矩量法是目前分析微帶結構的主要方法之一.MPIE算法的核心是空域格林函數(shù)的求解.提出了二級離散復鏡像法(DCIM)與表面波處理相結合的方法對空域格林函數(shù)進行計算.根據(jù)表面波的性質,提出了2種二級DCIM和表面波相結合的方案,分段比較兩方案的...

4. 接口模塊:Dominion 電腦接口模塊 (DCIM),這是一種非常小的轉接頭,直接插入服務器的鍵盤、視頻及鼠標連接端口。

5. DCIM(Data Center Integrated Management)數(shù)據(jù)中心集成管理

參考資料:DCIM-百度百科

名稱欄目:android本地圖片,本地圖片APP
鏈接分享:http://chinadenli.net/article20/dsghdco.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設計公司移動網(wǎng)站建設建站公司企業(yè)建站手機網(wǎng)站建設小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

h5響應式網(wǎng)站建設