當前位置:首頁 » 安卓系統 » androidres圖片

androidres圖片

發布時間: 2023-09-04 22:49:01

① android 源碼包在哪個文件夾

android源碼主要位於兩個文件夾中。

  1. src文件夾,存放java代碼。

  2. res文件夾存放資源,如res->layout存放布局文件;res->drawable存放圖片文件等。


  3. android代碼主要就存在於這兩個文件夾下

② 怎麼知道Android系統中每個文件的作用

只能掌握重點吧。

1.根目錄:

src目錄---存放源代碼文件

gen目錄---ADT插件生成的文件,一般不作修改

assets目錄---存放資源文件目錄,不會在R.java中生成ID

res目錄---存放資源文件目錄,這裡面的每個文件或值都會在R.java中生成一個ID(變數)

AndroidManifest.xml---整個應用程序配置文件,儲存一些 包名,版本號,程序圖標,程序標簽

default.properties---檢查版本文件,自動生成,不能修改(修改將被刪除)。

2.重點目錄及文件

res/drawable-xxxx是存放圖片的目錄,每個圖片需要准備三種解析度版本.

drawable-hdpi---存放高解析度版本

drawable-ldpi---存放中解析度版本

drawable-mdpi---存放低解析度版

res/layout目錄---放置布局文件(xml文件),每個Activity對應一個XML文件

res/value目錄--放置存儲值的文件(xml)

R.java文件
drawable類---給圖片生產的ID
layout類---給布局文件生成ID的
string類---給string.xml裡面鍵值對生成的ID


main.xml文件
控制Activity中控制項的位置,每個Activity對應一個此布局文件

string.xml
存放鍵值對,一般用在程序的多語言版本切換(多個文件,鍵一樣,值不同)

res目錄下的文件都會自動在R.java中生成資源id,並且除了res/raw文件夾外都會被編譯為二進制文件,res/raw文件夾下的內容會保持原樣。res目錄不能隨意創建子目錄。可以通過getResources的相關方法結合其他類進行訪問

assets目錄支持任意深度的子目錄,其下的文件不會被編譯為二進制(保持原樣),並且不會生成資源id,必須使用/assets開始的相對路徑按照文件的方式進行訪問。可以使用AssetManager 結合其他類進行訪問。

結合R.java的相關內部類和欄位,res/drawable-xxxx目錄可以根據系統解析度自動使用不同的圖片資源。例如高解析度的放在res/drawable-hdpi目錄,低解析度放在res/drawbale-ldpi目錄中,在各個dpi的子目錄中放置好不同解析度的圖片,在使用R.drawable.resourceid的方式訪問時,系統會根據設備屏幕的解析度自動選擇合適的圖像進行展示。

③ Andriod編程中代碼編寫的Activity中的Layout添加圖片

首先在你的helloworld程序對應的layout配置文件(res/layout/下的XXX.xml文件)中告臘添雹衫加一個按鈕,具體代碼如下
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android=""
android:id="@+id/layout"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<!-- 下面這段就是添加的button -->
<Button android:id="@+id/button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="change background" />

</LinearLayout>

然後在你的繼承Activity類的java類中添加按鈕的事源友腔件監聽以及事件處理,代碼如下:
public class 你的helloworld類名 extends Activity implements OnClickListener {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.你的layout文件名);

//下面的代碼用於為按鈕注冊一個監聽
findViewById(R.id.frame_layout).setOnClickListener(new OnClickListener() {
//下面的代碼用於處理按鈕點擊後的事件
public void onClick(View v) {
//下面的代碼用於使背景變色
findViewById(R.id.layout).setBackgroundColor(Color.BLUE);
}
});

}

}

④ android如何實現圖片預覽

eoe 里邊有很多例子 http://www.eoeandroid.com/forum.php?mod=viewthread&tid=245578

⑤ 求:android 獲取系統相冊圖片並顯示在當前頁面的代碼

先初始化;

注意自定義 的

private final String IMAGE_TYPE = "image/*";private final int IMAGE_CODE = 0;


private void setImage() {
Intent getAlbum = new Intent(Intent.ACTION_GET_CONTENT); getAlbum.setType(IMAGE_TYPE); startActivityForResult(getAlbum, IMAGE_CODE);}
這里使用Intent獲得相冊圖片數據,並返回原來界面;

這里說明一下

startActivityForResult(getAlbum, IMAGE_CODE);

補充{

startActivityForResult與startActivity的不同之處在於:
1、startActivity( )
僅僅是跳轉到目標頁面,若是想跳回當前頁面,則必須再使用一次startActivity( )。
2、startActivityForResult( )
可以一次性完成這項任務,當程序執行到這段代碼的時候,假若從T1Activity跳轉到下一個Text2Activity,而當這個Text2Activity調用了finish()方法以後,程序會自動跳轉回T1Activity,並調用前一個T1Activity中的onActivityResult( )方法。

}

startActivityForResult(getAlbum, IMAGE_CODE);

這里採用startActivityForResult來做跳轉,此處的IMAGE_CODE實質是0為一個依據,可以寫其他的值,但一定要>=0

然後重寫onActivityResult用於接收剛剛得到的數據

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Bitmap bm = null; ContentResolver resolver = getContentResolver(); if (requestCode == IMAGE_CODE) { try {
Uri originalUri = data.getData(); bm = MediaStore.Images.Media.getBitmap(resolver, originalUri); imgShow.setImageBitmap(bm); } catch (IOException e) {
e.printStackTrace(); }
}

補充{
ContentProvider-----數據提供給第三方應用程序使用時使用
因為在Android系統裡面,資料庫是私有的。一般情況下外部應用程序是沒有許可權讀取其他應用程序的數據。如果你想公開你自己的數據,你有兩個選擇:你可以創建你自己的內容提供器(一個ContentProvider子類)或者你可以給已有的提供器添加數據-如果存在一個控制同樣類型數據的內容提供器且你擁有寫的許可權
}
這里是創建一個新的內容提供器,然後在Activity當中通過getContentResolver()可以得到當前應用的 ContentResolver實例

if (requestCode == IMAGE_CODE) {
resultCode為回傳的標記這句話是在確認是否回傳的是你所需要的;如果是就執行try;不然就執行catch (IOException e) {
e.printStackTrace();}先說這里當try語句中出現異常是時,會執行catch中的語句,IOException e也就是實例化Exception類型的對象。e是此對象引用名稱。然後e(引用)會自動調用Exception類中指定的方法,也就出現了e.printStackTrace() ;。printStackTrace()方法的意思是:在命令行列印異常信息在程序中出錯的位置及原因。
try {
Uri originalUri = data.getData(); bm = MediaStore.Images.Media.getBitmap(resolver, originalUri); imgShow.setImageBitmap(bm);接收數據處理數據並顯示照片。
然後進行測試。


另附源碼:
MainActivity:
package com.example.administrator.myapplication1;import android.graphics.BitmapFactory;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import java.io.IOException;import android.net.Uri;import android.os.Bundle;import android.provider.MediaStore;import android.app.Activity;import android.content.ContentResolver;import android.content.Intent;import android.graphics.Bitmap;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.ImageView;public class MainActivity extends AppCompatActivity { private final String IMAGE_TYPE = "image/*"; private final int IMAGE_CODE = 0; private Button choose=null; private ImageView imgShow; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); init();} private void init() { choose=(Button) findViewById(R.id.button1); imgShow=(ImageView) findViewById(R.id.imgShow); choose.setOnClickListener(listener); } private OnClickListener listener=new OnClickListener(){ @Override public void onClick(View v) {
setImage(); }

}; private void setImage() {
Intent getAlbum = new Intent(Intent.ACTION_GET_CONTENT); getAlbum.setType(IMAGE_TYPE); startActivityForResult(getAlbum, IMAGE_CODE); } protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Bitmap bm = null; ContentResolver resolver = getContentResolver(); if (requestCode == IMAGE_CODE) { try {
Uri originalUri = data.getData(); bm = MediaStore.Images.Media.getBitmap(resolver, originalUri); imgShow.setImageBitmap(bm); } catch (IOException e) {
e.printStackTrace(); }
}
}
}


layout:activity_main.xml:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="選擇照相" android:layout_marginRight="190dp" android:layout_marginTop="8dp" android:paddingBottom="2dp" android:background="#aabbcc" /> <ImageView android:id="@+id/imgShow" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_margin="15dip" /></LinearLayout>

⑥ Android studio 中如何批量引入圖片。一大堆圖片!

圖片重命名好名字(帶順序,如pic1~2~3~4..)
扔進res的drawablet文件夾
看好R文件裡面圖片的值。
建一個專門處理Map的java。在裡面把圖片的值和自己定義一串名字。
然後在要用到的時候直接new出一個Map對象。一連串的取出圖片的名字。
或者建一個value的xml。在裡面定義key-value。然後在for循環裡面→引用getResources().getDrawable("xx")方法直接取出來,xx是文件的key值。

⑦ android應用程序的資源文件放在那裡的啊

Android除了提供/res目錄存放資源文件外,在/assets目錄也會提供存放資源文件,如下圖片:

publicStringgetFromAssets(StringfileName){
try{
InputStreamReaderinputReader=newInputStreamReader(getResources().getAssets().open(fileName));
BufferedReaderbufReader=newBufferedReader(inputReader);
Stringline="";
StringResult="";
while((line=bufReader.readLine())!=null)
Result+=line;
returnResult;
}catch(Exceptione){
e.printStackTrace();
}
}

⑧ android中怎麼實現動態設置背景圖片的功能,我在網上搜到的只能設置到當前的頁面,並不能實現設置到全部

當關閉重新運行,它又會自動跳回原始的背景圖片。

在開發過程中,由於使用模擬器測試了程序,在首次運行後會將res文件夾下的圖片資源文件(如drawable-hdpi、drawable-ldpi和drawable-mdpi)拷貝到bin文件夾下。在替換資源圖片後,eclipse並不清楚是否有圖片改變,所以會使用原來bin下的res文件夾中的資源文件進行打包,而圖片用的還是第一次eclipse所拷貝進去的文件,所以當運行程序後會發現替換資源圖片在程序中沒起作用。

解決辦法:每次運行前,清理項目


動態設置背景圖片代碼

privateinti=0;//全局變數定義,初始化

//list數組接收到從文件中讀取到的數據

List<String>list=readTxt.getDierguanResource();

//changeBack這個函數用來動態設置背景圖片

publicvoidchangeBack(intbackground){

main=(LinearLayout)findViewById(R.id.shizi);

Stringa=list.get(background);

//獲取到的背景圖片名as(圖片存到res/drawable文件下)

Stringas=a.split("")[1];

//動態獲取圖片getResources().getIdentifier(as,"drawable",getPackageName())

intresID=getResources().getIdentifier(as,"drawable",getPackageName());

//設置頁面背景setBackgroundResource()

main.setBackgroundResource(resID);

}

if(i>=0&&i<list.size()){


changeBack(i);

}

熱點內容
bs源碼 發布:2025-02-01 16:51:52 瀏覽:568
百度雲zip怎麼解壓 發布:2025-02-01 16:31:59 瀏覽:567
pmc密碼是什麼意思 發布:2025-02-01 16:28:49 瀏覽:784
蘋果手錶和安卓手錶哪個好用 發布:2025-02-01 16:28:07 瀏覽:583
上海電信上傳 發布:2025-02-01 16:22:10 瀏覽:983
有什麼好的雙u主板配置 發布:2025-02-01 16:18:17 瀏覽:177
編程漩渦 發布:2025-02-01 16:01:51 瀏覽:328
司機會所訪問 發布:2025-02-01 15:54:11 瀏覽:781
家用電腦改成伺服器並讓外網訪問 發布:2025-02-01 15:30:23 瀏覽:355
javac工資 發布:2025-02-01 15:24:28 瀏覽:23