當前位置:首頁 » 安卓系統 » android從本地讀取圖片

android從本地讀取圖片

發布時間: 2023-02-13 04:41:19

❶ android讀取本地圖片,怎樣寫

Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(intent, 1);沒了

❷ android編程:讀取指定文件夾下所有png圖片

1、程序,把Assets中的圖像顯示出來
try {
BufferedInputStream bis = new BufferedInputStream(getAssets()
.open("a.bmp"));
Bitmap bm = BitmapFactory.decodeStream(bis);
imageView01.setImageBitmap(bm);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("==========file not found======");
}
2、原理:Android中的資源分析
資源是Android應用程序中重要的組成部分。在應用程序中經常會使用字元串、菜單、圖像、聲音、視頻等內容,都可以稱之為資源。通過將資源放到與apk文件中與Android應用程序一同發布,在資源文件比較大的情況下,可以通過將資源作為外部文件來使用,我們將分析如何在Android應用程序中存儲這些資源。
一、資源的存儲
在android中,資源大多都是保存在res目錄中,例如布局資源以XML文件的形式保存在res\layout目錄中;圖像資源保存著res\drawable目錄中;菜單資源保存在res\menu目錄中。ADT在生成apk文件時,這些目錄中的資源都會被編譯,然後保存到apk文件中。如果將資源文件放到res\raw目錄中,資源將在不編譯的情況下放入apk文件中。在程序運行時可以使用InputStream來讀取res\raw目錄中的資源。
如果使用的資源文件過大,我們可以考慮將資源文件作為外部文件單獨發布。Android應用程序會從手機內存或者SD卡讀取這些資源文件。
二、資源的種類
從資源文件的類型來劃分,我們可以將資源文件劃分為XML、圖像和其它。以XML文件形式存儲的資源可以放在res目錄中的不同子目錄里,用來表示不同種類的資源;而圖像資源會放在res\drawable目錄中。除此之外,可以將任意的資源嵌入Androidy應用程序中。比如音頻和視頻等,一般這些資源放在res\raw目錄中。
表1、 Android支持的資源
目錄 資源類型 描述
Res\values
XML
保存字元串、顏色、尺寸、類型、主題等資源,可以是任意文件名。對於字元串、顏色、尺寸等信息採用
Key-value形式表示,對於類型、主題等資源,採用其它形式表示
Res\layout
XML
保存布局信息。一個資源文件表示一個View或ViewGroup的布局
Res\menu
XML
保存菜單資源。一個資源文件表示一個菜單(包括子菜單)
Res\anim
XML
保存與動畫相關的信息。可以定義幀(frame)動畫和補間(tween)動畫
Res\xml
XML
在該目錄的文件可以是任意類型的XML文件,這些XML文件可以在運行時被讀取。
Res\raw
任意類型
在該目錄中的文件雖然也會被封裝在apk文件中,但不會被編譯。在該目錄中可以放置任意類型的文件,例如,各種類型的文檔、音頻、視頻文件等
Res\drawable
圖像
該目錄中的文件可以是多種格式的圖像文件,例如,bmp、png、gif、jpg等。在該目錄中的圖像不需要解析度非常高,aapt工具會優化這個目錄中的圖像文件。如果想按字流讀取該目錄下的圖像文件,需要將圖像文件放在res\raw目錄中。
assets
任意類型
該目錄中的資源與res\raw中的資源一樣,也不會被編譯。但不同的是該目錄中的資源文件都不會生出資源ID
三、資源文件的命名
每一個資源文件或資源文件中的key-value對都會在ADT自動生成的R類(在R.java文件中)中找到相對應的ID.其中資源文件名或key-value對中的key就是R類中的java變數名。因此,資源文件名好key的命名首先要符合java變數的命名規則。
除了資源文件和key本身的命名要遵循相應的規則外,多個資源文件和key也要遵循唯一的原則。也就是說,同類資源的文件名或key不能重復。例如,兩個表示字元串資源的key不能重復,就算這兩個key在不同的XML文件中也不行。
由於ADT在生成ID時並不考慮資源文件的擴展名,因此,在res\drawable、res\raw等目錄中不能存在文件名相同,擴展名不同的資源文件。例如在res\drawable目錄不能同時放置icon.jpg和icon.png文件。
四、資源使用示例
在Android SDK中不僅提供了大量的系統資源,而且還允許開發人員定製自己的資源。不管是系統資源,還是自定義的資源,一般都會將這些資源放在res目錄中,然後通過R類中的相應ID來引用這些資源。接下來將針對於XML類資源的使用進行分析。
XML資源實際上就是XML格式的文本文件,這些文件必須放在res\xml目錄中。可以通過Resources.getXml方法獲得處理指定XML文件的XmlResourceParser對象。實際上,XmlResourceParser對象處理XML文件的的過程主要是針對不同的狀態點處理相應的代碼,比如開始分析文檔、開始分析標簽、分析標簽完成等,XmlResourceParser通過調用next方法不斷更新當前的狀態。
下面的代碼,則是展示如何讀取res\xml目錄中的XML文件的內容,先在res\xml目錄中建立一個xml文件。將AndroidManifest.xml文件復制到res\xml目錄中,並改名為android.xml。
在准備完XML文件後,在onCreate方法中開始讀取XML文件的內容,代碼如下:
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView textView=(TextView)findViewById(R.id.textview);
StringBuffer sb=new StringBuffer();
// 獲得處理android。xml文件的XmlResourceParser對象
XmlResourceParser xml=getResources().getXml(R.xml.android);
try
{
//切換到下一個狀態,並獲得當前狀態的類型
int eventType =xml.next();
while(true)
{
//文檔開始狀態
if(eventType == XmlPullParser.START_DOCUMENT)
{
Log.d("start_document","start_document");
}
//標簽開始狀態
else if(eventType ==XmlPullParser.START_TAG)
{
Log.d("start_tag",xml.getName());
//將標簽名稱和當前標簽的深度(根節點的depth是1,第2層節點的depth是2,類推)
sb.append(xml.getName()+"(depth:"+xml.getDepth()" ");
//獲得當前標簽的屬性個數
int count=xml.getAttributeCount();
//將所有屬性的名稱和屬性值添加到StringBuffer對象中
for(int i=0;i<count;i++)
{
sb.append(xml.getAttributeName(i)+":
"+xml.getAttributeValue(i)+"");
}
sb.append(")\n");
}
//標簽結束狀態
else if(eventType ==XmlPullParser.END_TAG)
{
Log.d("end_tag",xml.getName());
}
//讀取標簽內容狀態
else if(eventType ==XmlPullParser.TEXT)
{
Log.d("text","text");
}
//文檔結束狀態
else if(eventType ==XmlPullParser.END_DOCUMENT)
{
Log.d("end_document","end_document");
//文檔分析結束後,退出while循環
break;
}
//切換到下一個狀態,並獲得當前狀態的類型
eventType =xml.next();

}
textView.setText(sb.toString());

}
catch(Exception e) {}
}
二、如果想讀入文件
在使用getAssets().open("anhui.xml")返回輸人流之後,就可以以此為參數,後面的處理跟普通的java的處理相同。

❸ android開發如何執行下載圖片到指定目錄里,然後通過imageview去讀取該圖片。

1、首先你有一個保存圖片的路徑 filePath

還有一個現在圖片的鏈接 url

StringfilePath="....";
Stringurl="....";
bytes[]b=newbytes[1024];
Filefile=newFile(filePath);
FileOutputStreamfs=newFileOutputStream(file);
InputStreamin=newURL(url);
while(in.read(b)){
fs.wirte(b);
}
Bitmapbitmap=BitmmapFactory.decodeStream(in);
imageView.setBitmapResource()

大概就是這樣詳細的你自己弄吧

❹ Android獲取本地圖片路徑

最好把錯誤日誌 全部貼出來

❺ android imageview獲取本地圖片的問題

從本地獲得的圖片不能以int的方式放在int數組里,可以放在String數組或者,Bitmap對象的list里。
需要時直接ImageView.setImageBitmap(BitmapList.get(i));

❻ Android 在知道文件路徑以及文件名稱讀取SD卡上的圖片該怎麼做

不知道你是想讀取出來幹嘛,
但是讀取sd卡的圖片文件第一步要獲取圖片的絕對路徑,
Environment.getExternalStorageDirectory().toString()就是獲取sd卡的絕對路徑,由於android各個版本不同,返回的路徑也可能不相同,
String imgFilePath = Environment.getExternalStorageDirectory().toString()
+ 「/DCIM/device.png
得到圖片的絕對路徑以後,可以通過流讀取這個文件,如果你只是想顯示到界面的話,那可以使用BitmapFactory來構建一個Bitmap對象,這個對象是可以直接應用於imageView的

創建方法BitmapFactory.decodeFile("圖片路徑")

❼ android如何讀取圖片

使用android-support-v4.jar中的載入器(Loader)來實現獲取本機中所有圖片,關於這個包在以前的文章中也提到,是一個非常有用的包,關於這個包的詳細信息請大家查看官方文檔:http://developer.android.com/sdk/compatibility-library.html。

關於載入器(Loader)是在Android3.0中才開始引進並使用的,Android3.0以前的版本中要想使用載入器則需要用android-support-v4.jar來實現,我這個示例是基於Android2.2的。載入器(Loader)有什麼作用呢?官方文檔介紹是:它能夠使用得在activity或fragment中非同步載入數據變得更加容易,它具有以下的特點:
1.它們對每一個Activity和Fragment都是有效的。
2.它們提供了一種非同步載入數據的能力。
3.它們監視數據源並且數據內容改變時將會傳遞新的結果。
4.當配置改變而被重新創建時,它們自動的會重連到上一個載入器的游標,然而,它們不需要重新查詢數據。

❽ android 如何讀取資料庫中的圖片

從資料庫讀取二進制文件
然後從二進制讀取的圖片信息:
byte[] picData = cursor.getBlob(cursor.getColumnIndex("pic_data"));
bitmap.setImageBitmap(BitmapFactory.decodeByteArray(picData, 0, picData.length));

❾ 怎麼讓: Android上讀取伺服器端的圖片(伺服器從資料庫中取圖片地址給Android)

第一、圖片地址,就是你本地圖片地址,伺服器要取出數據,總得有個路徑吧。圖片放到伺服器方便訪問就行
第二、你在pc上用瀏覽器咋訪問就咋訪問呀,就是網路地址
第三、listview的顯示網上很多的,我就沒有必要跟你多說了

❿ android中如何從SDcard中讀取圖片文件

用路徑的方法尋找,BitmapFactory.decodeFile(路徑)返回值是一個Bitmap,比如sdcard的根目錄有個test.png,那麼可以這么用BitmapFactory.decodeFile("mnt/sdcard/test.png")。然後ImageView之類的圖片控制項,可以用setImageBitmap(Bitmap)之類的方法,就可以使用sdcard中的圖片了,
不過好像需要加一個許可權的,就是在androidmanifest.xml中添加。
你說的讀取系統一個小圖標R.drawable.ic_menu_camera,其實也是用路徑尋找的,不過被google封裝起來了,用映射的方法尋找到相關路徑下的文件。 比如R.drawable 就知道是res下面drawable-XX(根據系統配置,尋找不同文件夾下的圖片)文件下的圖片,比如R.layout 就是res下面layout下面的文件。SimpleAdapter可以算是一個測試用的設配器,最好自己嘗試寫設配器,自由空間比較大。

熱點內容
只狼和看門狗哪個配置高 發布:2025-05-17 12:50:21 瀏覽:205
扁桃玩的伺服器地址 發布:2025-05-17 12:18:25 瀏覽:509
u盤上傳歌 發布:2025-05-17 12:14:51 瀏覽:613
入門c語言設計 發布:2025-05-17 12:08:31 瀏覽:41
c3演算法 發布:2025-05-17 12:04:19 瀏覽:365
phprecv 發布:2025-05-17 11:55:00 瀏覽:614
福建時鍾監控網關伺服器雲主機 發布:2025-05-17 11:54:28 瀏覽:251
c資料庫壓縮 發布:2025-05-17 11:39:22 瀏覽:965
安卓手機如何連接音響功放 發布:2025-05-17 11:37:48 瀏覽:965
破解exe加密視頻 發布:2025-05-17 11:23:41 瀏覽:981