当前位置:首页 » 安卓系统 » 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);

}

热点内容
源神比较好的云服务器 发布:2025-02-01 13:55:27 浏览:206
黑苹果idea编译慢 发布:2025-02-01 13:45:30 浏览:548
c和linux 发布:2025-02-01 13:39:38 浏览:175
android实现列表 发布:2025-02-01 13:38:06 浏览:102
安卓手机为什么会出现横条 发布:2025-02-01 13:33:38 浏览:625
jqueryajax提交文件上传 发布:2025-02-01 13:32:03 浏览:689
没连上wifi如何修改wifi密码 发布:2025-02-01 13:20:42 浏览:758
绝对赛车3安卓在哪里下载 发布:2025-02-01 12:42:30 浏览:718
mysql修改数据库字符 发布:2025-02-01 12:37:52 浏览:570
阿里云服务器出厂密码是多少 发布:2025-02-01 12:35:43 浏览:668