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 ...
随机推荐
- 雷林鹏分享:jQuery EasyUI 窗口 - 创建简单窗口
jQuery EasyUI 窗口 - 创建简单窗口 创建一个窗口(window)非常简单,我们创建一个 DIV 标记: Some Content. 现在运行测试页面,您会看见一个窗口(window)显 ...
- 雷林鹏分享:jQuery EasyUI 扩展
jQuery EasyUI 扩展 Portal(制作图表.列表.球形图等) 数据网格视图(DataGrid View) 可编辑的数据网格(Editable DataGrid) 可编辑的树(Editab ...
- Aliyun cdn访问日志下载
1.日志下载代码(cdn.py)(请在Linux系统下运行) #!/usr/bin/python2.7 # -*- coding:utf-8 -*- import sys,os,gzip,json,r ...
- 分享基于EF+WCF的通用三层架构及解析
本项目结合EF 4.3及WCF实现了经典三层架构,各层面向接口,WCF实现SOA,Repository封装调用,在此基础上实现了WCFContext,动态服务调用及一个分页的实例. 1. 项目架构图: ...
- CCPC2017湘潭 1263 1264 1267 1268
1263 拉升一下就A了 #include <iostream> #include <vector> #include <algorithm> #include & ...
- Hadoop – The Definitive Guide Examples,,IntelliJ
IntelliJ Project for Building Hadoop – The Definitive Guide Examples http://vichargrave.com/intellij ...
- PHP如何定义类及其成员属性与操作
1.类的定义: 类的关键字定义使用class 1.定义一个空类 Class Person{}; 2.定义一个有成员属性和操作的类 Class Person{ //成员属性 $name = ' ...
- python基础之 反射,md5加密 以及isinstance, type, issubclass内置方法的运用
内容梗概: 1. isinstance, type, issubclass 2. 区分函数和方法 3. 反射(重点) 4. md5加密 1. isinstance, type, issubclass1 ...
- 牛客寒假算法基础集训营6 I-wzoi
题目链接 分析:这个题本质上可以看成是一个括号匹配题,因为当出现00和11的时候,毫无疑问是前一天看题,后一天写题,这样可以得到最大的得分10 将全部00和11删掉后,就是交替出现的01串了 代码如下 ...
- win10更新后,可以远程桌面ping也没问题,但是无法访问共享文件夹的解决方法
计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters 1.在键盘输入WIN+R键, ...