Android开发---如何操作资源目录中的资源文件
效果图:






1、activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"> <TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize="@dimen/activity_tile"
android:text="@string/main_title" />
<Button
android:id="@+id/btn1"
android:textSize="@dimen/activity_btn_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/main_btn_one"
/>
<Button
android:id="@+id/btn2"
android:textSize="@dimen/activity_btn_text"
android:text="@string/main_btn_two"
android:layout_width="@dimen/btn_width"
android:layout_height="@dimen/btn_height"
/>
<Button
android:id="@+id/btn3"
android:textSize="@dimen/activity_btn_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/main_btn_three"
/>
</LinearLayout>
2、MainActivity.java
package com.example.android_activity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
//实现View.OnClickListener类
//通过实现OnClickListener类可以在一个activity中对所有的按钮进行控制
public class MainActivity extends Activity implements View.OnClickListener{
//获取按钮
private Button btn1,btn2,btn3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取按钮id
btn1=(Button)findViewById(R.id.btn1);
btn2=(Button)findViewById(R.id.btn2);
btn3=(Button)findViewById(R.id.btn3);
//给每个按钮设置单击事件监听器
btn1.setOnClickListener(this);
btn2.setOnClickListener(this);
btn3.setOnClickListener(this);
}
//在OnClickListener抽象类中有onClick()抽象方法,重写抽象类的onClick()方法,需要传入一个参数
@Override
public void onClick(View view) {
Intent intent=null;
switch (view.getId()){
case R.id.btn1:
intent=new Intent(this,StringActivity.class);
break;
case R.id.btn2:
break;
case R.id.btn3:
intent=new Intent(this,BitMapActivity.class);
break;
}
if(intent!=null)
startActivity(intent);
}
}
3、activity_string.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/activity_string"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"> <Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/string_btn_1"
android:onClick="test_1"
/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/string_btn_2"
android:onClick="test_2"
/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/string_btn_3"
android:onClick="test_3"
/>
</LinearLayout>
4、StringActivity.java
package com.example.android_activity;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast; import java.util.Arrays; public class StringActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_string);
}
//当点击了btn1后页面跳转到这里,当用户点击此页面中的test_1按钮时,做下面的事情
//在Java代码中读取资源文件
public void test_1(View view){
String message=getString(R.string.app_success_message);
//弹出“操作成功”
Toast.makeText(this,message,Toast.LENGTH_LONG).show();
} //在java中读取字符串数组
public void test_2(View view){
//读取到res/values目录下的string.xml文件中对应的内容
String[] citys=getResources().getStringArray(R.array.citys);
//将内容弹出
Toast.makeText(this, Arrays.toString(citys),Toast.LENGTH_LONG).show();
} //读取带有占位符的字符串
public void test_3(View view){
String message=getString(R.string.app_sayhello_message);
message=String.format(message,"Lucy","字符串资源管理");
Toast.makeText(this, message,Toast.LENGTH_LONG).show();
}
}
5、activity_bit_amp.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/activity_bit_map"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:layout_width="80dp"
android:layout_height="120dp"
android:src="@drawable/b5"
/>
<ImageView
android:id="@+id/image_1"
android:layout_width="80dp"
android:layout_height="120dp"
/>
<ImageView
android:id="@+id/image_2"
android:layout_width="80dp"
android:layout_height="120dp"
/>
<ImageView
android:id="@+id/image_3"
android:layout_width="80dp"
android:layout_height="120dp"
/>
<ImageView
android:id="@+id/image_4"
android:layout_width="80dp"
android:layout_height="120dp"
/>
</LinearLayout>
6、BitMapActivity.java
package com.example.android_activity; import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.Toast; public class BitMapActivity extends Activity {
//获取图片
private ImageView image_1,image_2,image_3,image_4;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_bit_map);
//获取图片id
image_1=(ImageView)findViewById(R.id.image_1);
image_2=(ImageView)findViewById(R.id.image_2);
image_3=(ImageView)findViewById(R.id.image_3);
image_4=(ImageView)findViewById(R.id.image_4); //为ImageView绑定图像
image_1.setImageDrawable(getResources().getDrawable(R.drawable.b5));
image_2.setImageResource(R.drawable.b7);
//将一个资源文件转换为一个Bitmap位图对象
Bitmap bitmap= BitmapFactory.decodeResource(getResources(),R.drawable.b7);
//输出图像大小
Toast.makeText(this,"大小:"+bitmap.getByteCount(),Toast.LENGTH_LONG).show();
image_3.setImageBitmap(bitmap); //压缩图像
Bitmap newImage=decodeBitMap(R.drawable.b7);
image_3.setImageBitmap(newImage);
Toast.makeText(this,"大小:"+newImage.getByteCount(),Toast.LENGTH_LONG).show(); } private Bitmap decodeBitMap(int resId){
//构建位图工厂选项对象
BitmapFactory.Options options=new BitmapFactory.Options();
options.inJustDecodeBounds=true;//当前只加载图像框架
//构建位图框架
Bitmap bf=BitmapFactory.decodeResource(getResources(),resId,options);
int w = options.outWidth;
int h = options.outHeight;
// 想要缩放的目标尺寸
float hh = 240f;// 设置高度为240f时,可以明显看到图片缩小了
float ww = 120f;// 设置宽度为120f,可以明显看到图片缩小了
// 缩放比。由于是固定比例缩放,只用高或者宽其中一个数据进行计算即可
int be = 1;//be=1表示不缩放
if (w > h && w > ww) {//如果宽度大的话根据宽度固定大小缩放
be = (int) (options.outWidth / ww);
} else if (w < h && h > hh) {//如果高度高的话根据宽度固定大小缩放
be = (int) (options.outHeight / hh);
}
if (be <= 0) be = 1;
options.inSampleSize = be;//设置缩放比例
options.inJustDecodeBounds=false;//不再只加载图像框架
//重新加载图像
bf=BitmapFactory.decodeResource(getResources(),resId,options);
return bf;
}
}
7、图像资源




8、字符串资源

strings.xml
<resources>
<string name="app_name">安卓资源管理</string> <!--自定义APP中字符串-->
<string name="main_title">资源管理主窗体</string>
<string name="main_btn_one">字符串资源管理</string>
<string name="main_btn_two">尺寸资源管理</string>
<string name="main_btn_three">图像资源管理</string>
<string name="main_btn_four">颜色资源管理</string>
<string name="main_btn_five">样式资源管理</string>
<string name="main_btn_six">XML资源管理</string> <!--StringActivity_String-->
<string name="string_btn_1">获取字符串信息1</string>
<string name="string_btn_2">获取字符串信息2</string>
<string name="string_btn_3">获取字符串信息3</string> <string-array name="citys">
<item>北京</item>
<item>上海</item>
<item>广州</item>
<item>珠海</item>
</string-array>
</resources>
mystring.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_success_message">操作成功</string>
<string name="app_error_message">操作失败</string>
<string name="app_sayhello_message">%1$s,您好,欢迎您进入%2$s</string>
</resources>
Android开发---如何操作资源目录中的资源文件的更多相关文章
- Android开发---如何操作资源目录中的资源文件4 ---访问xml的配置资源文件的内容
Android开发---如何操作资源目录中的资源文件4 XML,位于res/xml/,这些静态的XML文件用于保存程序的数据和结构. XmlPullParser可以用于解释xml文件 效果图: 描述: ...
- Android开发---如何操作资源目录中的资源文件3--圆角边框、背景颜色渐变效果、边框颜色
Android开发---如何操作资源目录中的资源文件3 效果图 1.圆角边框 2.背景颜色渐变效果 1.activity_main.xml 描述: 定义了一个shape资源管理按钮 <?xml ...
- Android开发 ---如何操作资源目录中的资源文件2
Android开发 ---如何操作资源目录中的资源文件2 一.颜色资源管理 效果图: 描述: 1.改变字体的背景颜色 2.改变字体颜色 3.改变按钮颜色 4.图像颜色切换 操作描述: 点击(1)中的颜 ...
- Android开发 ---如何操作资源目录中的资源文件5 ---Raw资源管理与国际化
效果图: 1.activity_main.xml 描述: 定义两个按钮,一个是Raw资源管理,一个是处理国际化语言,其中i18n表示简体中文 <?xml version="1.0&qu ...
- android开发之-查看、编辑手机sqlite数据库文件-实测
效果图: 1.开始——运行——输入cmd ,输入adb shell,错误:一是“adb不是内部命令或外部命令,也不是可运行的程序或批处理文件”,二是“error:device not found”. ...
- 在/proc文件系统中增加一个目录hello,并在这个目录中增加一个文件world,文件的内容为hello world
一.题目 编写一个内核模块,在/proc文件系统中增加一个目录hello,并在这个目录中增加一个文件world,文件的内容为hello world.内核版本要求2.6.18 二.实验环境 物理主机:w ...
- 创建一个目录info,并在目录中创建一个文件test.txt,把该文件的信息读取出来,并显示出来
/*4.创建一个目录info,并在目录中创建一个文件test.txt,把该文件的信息读取出来,并显示出来*/ #import <Foundation/Foundation.h>#defin ...
- python实现在目录中查找指定文件的方法
python实现在目录中查找指定文件的方法 本文实例讲述了python实现在目录中查找指定文件的方法.分享给大家供大家参考.具体实现方法如下: 1. 模糊查找 代码如下: import os from ...
- 如何查找一个目录中所有c文件的总行数
如何查找一个目录中所有c文件的行数 面试题问到了一题,如何统计wc文件夹下所有文件的行数,包括了子目录. 最后在 https://blog.csdn.net/a_ran/article/details ...
随机推荐
- apply、call
call(),apply() 1.每个函数都包含两个非继承而来的方法:call()和apply() 2.在特定的作用域内调用函数,等于设置函数体内的this对象,以扩充函数赖以运行的作用域 3.app ...
- 牛客寒假算法基础集训营6 I-wzoi
题目链接 分析:这个题本质上可以看成是一个括号匹配题,因为当出现00和11的时候,毫无疑问是前一天看题,后一天写题,这样可以得到最大的得分10 将全部00和11删掉后,就是交替出现的01串了 代码如下 ...
- ACM-ICPC 2018 南京赛区网络预赛Skr
题意:求本质不同的回文子串的和 题解:先构造pam,然后根据pam的原理(ch表示在该节点表示的回文串两侧加上该字符)对于每个节点维护一个表示该节点字符串的值,加起来即可 //#pragma GCC ...
- Jupyter Notebook入门教程
Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言.在本文中,我们将介绍 Jupyter notebook 的主要特性,以 ...
- hadoop常见面试题
Q1.什么是 Hadoop? Hadoop 是一个开源软件框架,用于存储大量数据,并发处理/查询在具有多个商用硬件(即低成本硬件)节点的集群上的那些数据.总之,Hadoop 包括以下内容: HDFS( ...
- CSS text-decoration 属性
定义和用法 text-decoration 属性规定添加到文本的修饰. 注释:修饰的颜色由 "color" 属性设置. 说明 这个属性允许对文本设置某种效果,如加下划线.如果后代元 ...
- flask-数据库模型设计2
3.数据库模型设计 3.1构建蓝图项目目录 1.前后台项目目录分析 2.蓝图构建项目目录 蓝图:一个应用中或跨域应用制作组件和支持通用模式. 蓝图的作用:将不同的功能模块化 构建大型应用 优化项目 ...
- 二、持久层框架(Hibernate)
一.Hibernate对象的状态 实体类对象在Hibernate中有3中状态:瞬时,持久,脱管. 瞬时:没有和Hibernate发生任何关系,在数据库中也没有对应的记录,一旦JVM结束,对象就消失了 ...
- 九校模拟——餐馆(restaurant)
1 餐馆(restaurant) 1.1 题目背景 铜企鹅是企鹅餐馆的老板,他正在计划如何使得自己本年度收益增加. 1.2 题目描述 共有n 种食材,一份食材i 需要花ti 小时不间断地进行播种,施肥 ...
- Linux CPU信息和使用情况查看(CentOS)
一.CPU信息查看 cat /proc/cpuinfo| grep "physical id"| sort -u | wc -l #查看是物理CPU个数,-u和uniq都是去重作用 ...