- 浏览: 427975 次
- 性别:
- 来自: 深圳/湛江
文章分类
最新评论
-
wangyudong:
很多API doc生成工具生成doc需要重度依赖代码里加注解的 ...
[ios]利用xcode自动生成项目文档 -
tiger1819:
有源码么,想学习
[android]仿360状态,类流量监控桌面浮动显示 -
119568242:
借我一双翅膀 写道大哥,求指教啊?
IOS 开发,调用打电话,发短信,打开网址 -
借我一双翅膀:
大哥,求指教啊
IOS 开发,调用打电话,发短信,打开网址 -
li247276297:
楼主 是不是要加个权限?
[android]仿360状态,类流量监控桌面浮动显示
转自:http://blog.sina.com.cn/s/blog_7161d18a0100o7go.html
1. 相关文件夹介绍
目录Directory |
资源类型Resource Types |
res/anim/ |
XML文件,它们被编译进逐帧动画(frame by frame animation)或补间动画(tweened animation)对象 |
res/drawable/ |
.png、.9.png、.jpg文件,它们被编译进以下的Drawable资源子类型中: 要获得这种类型的一个资源,可以使用Resource.getDrawable(id) 为了获取资源类型,使用mContext.getResources().getDrawable(R.drawable.imageId) 注意:放在这里的图像资源可能会被aapt工 具自动地进行无损压缩优化。比如,一个真彩色但并不需要256色的PNG可能会被转换为一个带调色板的8位PNG。这使得同等质量的图片占用更少的资源。 所以我们得意识到这些放在该目录下的二进制图像在生成时可能会发生变化。如果你想读取一个图像位流并转换成一个位图(bitmap),请把图像文件放在 res/raw/目录下,这样可以避免被自动优化。 |
res/layout/ |
被编译为屏幕布局(或屏幕的一部分)的XML文件。参见布局声明(Declaring Layout) |
res/values/ |
可以被编译成很多种类型的资源的XML文件。 注意: 不像其他的res/文件夹,它可以保存任意数量的文件,这些文件保存了要创建资源的描述,而不是资源本身。XML元素类型控制这些资源应该放在R类的什么地方。 尽管这个文件夹里的文件可以任意命名,不过下面使一些比较典型的文件(文件命名的惯例是将元素类型包含在该名称之中): array.xml 定义数组 colors.xml 定义color drawable和颜色的字符串值(color string values)。使用Resource.getDrawable()和Resources.getColor()分别获得这些资源。 dimens.xml定义尺寸值(dimension value)。使用Resources.getDimension()获得这些资源。 strings.xml定义字符串(string)值。使用Resources.getString()或者Resources.getText()获取这些资源。getText()会保留在UI字符串上应用的丰富的文本样式。 styles.xml 定义样式(style)对象。 |
res/xml/ |
任意的XML文件,在运行时可以通过调用Resources.getXML()读取。 |
res/raw/ |
直接复制到设备中的任意文件。它们无需编译,添加到你的应用程序编译产生的压缩文件中。要使用这些资源,可以调用Resources.openRawResource(),参数是资源的ID,即R.raw.somefilename。 |
2.自动生成的R class
3. 在代码中使用资源
- // Load a background for the current screen from a drawable resource.
- this.getWindow().setBackgroundDrawableResource(R.drawable.my_background_image);
- // WRONG Sending a string resource reference into a
- // method that expects a string.
- this.getWindow().setTitle(R.string.main_title);
- // RIGHT Need to get the title from the Resources wrapper.
- this.getWindow().setTitle(Resources.getText(R.string.main_title));
- // Load a custom layout for the current screen.
- setContentView(R.layout.main_screen);
- // Set a slide in animation for a ViewFlipper object.
- mFlipper.setInAnimation(AnimationUtils.loadAnimation(this,
- R.anim.hyperspace_in));
- // Set the text on a TextView object.
- TextView msgTextView = (TextView)findViewByID(R.id.msg);
- msgTextView.setText(R.string.hello_message);
- //在屏幕上显示标准应用程序的图标
- public class MyActivity extends Activity {
- public void onStart() {
- requestScreenFeatures(FEATURE_BADGE_IMAGE);
- super.onStart();
- setBadgeResource(android.R.drawable.sym_def_app_icon);
- }
- }
- //应用系统定义的标准"绿色背景"视觉处理
- public class MyActivity extends Activity
- public void onStart() {
- super.onStart();
- setTheme(android.R.style.Theme_Black);
- }
- }
4. xml文件内引用资源
- <?xml version="1.0" encoding="utf-8"?>
- <resources>
- <string name="hello">Hello World, HelloDemo!</string>
- </resources>
5. 替换资源(为了可替换的资源和配置)
6. Color Value
- <color name="color_name">#color_value</color>
- <?xml version="1.0" encoding="utf-8"?>
- <resources>
- <color name="opaque_red">#f00</color>
- <color name="translucent_red">#80ff0000</color>
- </resources>
7.Color Drawables
- <drawable name="color_name">color_value</drawable>
- <?xml version="1.0" encoding="utf-8"?>
- <resources>
- <drawable name="opaque_red">#f00</drawable>
- <drawable name="translucent_red">#80ff0000</drawable>
- </resources>
8. 图片
9. dimension
- <dimen name="dimen_name">dimen_value单位</dimen>
Java: float dimen = Resources.getDimen(R.dimen.some_name)
- <?xml version="1.0" encoding="utf-8"?>
- <resources>
- <dimen name="one_pixel">1px</dimen>
- <dimen name="double_density">2dp</dimen>
- <dimen name="sixteen_sp">16sp</dimen>
- </resources>
10. string
- //不使用转义符则需要用双引号包住整个string
- <string name="good_example">"This'll work"</string>
- //使用转义符
- <string name="good_example_2">This\'ll also work</string>
- //错误
- <string name="bad_example">This won't work!</string>
- //错误 不可使用html转义字符
- <string name="bad_example_2">XML encodings won't work either!</string>
- <?xml version="1.0" encoding="utf-8"?>
- <resources>
- <string name="simple_welcome_message">Welcome!</string>
- <string name="styled_welcome_message">We are <b><i>so</i></b> glad to see you.</string>
- </resources>
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:textAlign="center"
- android:text="@string/simple_welcome_message"/>
- // Assign a styled string resource to a TextView on the current screen.
- CharSequence str = getString(R.string.styled_welcome_message);
- TextView tv = (TextView)findViewByID(R.id.text);
- tv.setText(str);
- <?xml version="1.0" encoding="utf-8"?>
- <resources>
- <string name="search_results_resultsTextFormat">%1$d results for <b>&quot;%2$s&quot;</b></string>
- </resources>
- //title是我们想赋值给%2$s的字符串
- String escapedTitle = TextUtil.htmlEncode(title);
- String resultsTextFormat = getContext().getResources().getString(R.string.search_results_resultsTextFormat);
- String resultsText = String.format(resultsTextFormat, count, escapedTitle);
- CharSequence styledResults = Html.fromHtml(resultsText);
11. assets文件夹资源的访问
以下为从Raw文件中读取:
代码
try {
InputStreamReader inputReader = new InputStreamReader( getResources().openRawResource(R.raw.test1));
BufferedReader bufReader = new BufferedReader(inputReader);
String line="";
String Result="";
while((line = bufReader.readLine()) != null)
Result += line;
return Result;
} catch (Exception e) {
e.printStackTrace();
}
}
以下为直接从assets读取
代码
public String getFromAssets(String fileName){
try {
InputStreamReader inputReader = new InputStreamReader( getResources().getAssets().open(fileName) );
BufferedReader bufReader = new BufferedReader(inputReader);
String line="";
String Result="";
while((line = bufReader.readLine()) != null)
Result += line;
return Result;
} catch (Exception e) {
e.printStackTrace();
}
}
当然如果你要得到内存流的话也可以直接返回内存流!
发表评论
-
[android]使用 Matrix 的随触摸旋转的ImageView
2013-02-22 01:58 7933使用 Matrix 的随触摸旋转的ImageView 突 ... -
[android]动态改变按钮背景状态 StateListDrawable
2012-10-29 10:52 1480动态改变按钮背景状态 很少用到 上次和六哥聊到。 ... -
[android]ViewPage上无法通过onKeyDown()获得按钮事件
2012-08-20 04:53 1374系统无法监听到遥控器在VewPage上的按钮事件,如需 ... -
[android]待解决 lisTview 的onItemSelected 监听事件焦点的问题。
2012-08-18 21:18 2186今天遇到个问题 到目前为止 一直不理解为什么 大概描述下布局 ... -
[android]layout_weight 在layout_width 为fill_parent 与wrap_content 时的不同含义
2012-08-12 12:52 1274转自:http://hi.baidu.com/l ... -
[android]仿制新浪微博消息页面 图标切换动画
2012-08-10 17:33 4040研究了下以前不怎么用到的动画效果的实现 顺便做了一个新浪微 ... -
[android]仿制新浪微博消息页面 图标切换动画
2012-08-10 17:33 3研究了下以前不怎么用到的动画效果的实现 顺便做了一个新浪微 ... -
[android]仿制新浪微博消息页面 图标切换动画
2012-08-10 17:33 0研究了下以前不怎么用到的动画效果的实现 顺便做了一个新浪微 ... -
[android]Activity切换动画
2012-08-10 12:23 1484今天准备比赛的时候 遇到了这个问题。 查了些资料 ... -
android中ADT版本问题:无故报 java.lang.NoClassDefFoundError
2012-07-31 22:08 1803今天修改一个老项目的时候,发现在所有配置正确的情况下,代目无任 ... -
[android]仿360状态,类流量监控桌面浮动显示
2012-05-27 22:03 6041前两天看到部分音频播放器可以实现在桌面上显示歌词,360那个浮 ... -
[转]android开发问题记录 "founderapp"
2012-02-08 10:48 1075这段时间,由于某种原因,一直在做android手机开发, ... -
关于weight
2012-02-05 21:20 850layout_weight=1后,除了其它的控件之外剩 ... -
判断SD卡是否存在
2012-02-02 17:54 880android.os.Environment.getEx ... -
[转]Android文件管理器介绍
2012-02-02 16:50 3088转自:http://www.linuxidc.com/L ... -
[转]Android文件管理器介绍
2012-02-02 16:49 5转自:http://www.linuxidc.com/L ... -
[转]android 几何图形的绘制
2012-02-01 16:06 2200转自:http://byandby.iteye.c ... -
Android菜鸟日记32-游戏中的碰撞
2012-01-11 23:09 1759Android菜鸟日记 32-游戏中的碰撞 一、 ... -
Android菜鸟日记31-selector 中使用 shape
2012-01-11 23:05 1624Android菜鸟日记 31- ... -
Android菜鸟日记30-View与SurfaceView
2012-01-11 22:45 960Android菜鸟日记 30 View与Surfa ...
相关推荐
Android从assets和res中读取文件 Android中的资源文件夹主要有两个:res和assets。res文件夹用于存放编译后的资源文件,而assets文件夹用于存放原始文件。下面我们将详细介绍这两个文件夹的作用和如何从中读取文件...
在Android项目文件夹里面,主要的资源文件是放在res文件夹里面的。assets文件夹是存放不进行编译加工的原生文件,即该文件夹里面的文件不会像xml,java文件被预编译,可以存放一些图片,html,js, css等文件。 介绍...
在Android应用开发中,Assets和Raw文件夹是两个重要的资源存储区域,用于存放非编译的、原始的数据文件。这两个目录都有各自的用途和特点,开发者可以根据需求选择合适的存储位置。 **Android Assets文件** Assets...
在Android应用开发中,`assets`和`res/raw`目录都是用来存储应用程序资源的重要部分,但它们之间存在一些关键区别。这两个目录都有各自的用途和访问方式,开发者需要根据实际需求来选择合适的存放位置。 首先,我们...
在Android应用开发中,有时我们需要从应用程序的资源文件夹中读取文本数据,例如存放在raw或assets目录下的txt文件。这两个目录都是Android系统提供的特殊存储区域,用于存放非代码的资源文件。下面将详细解释如何在...
本文将详细介绍如何在Android应用程序中从`assets`文件夹获取图片,并对代码进行深入解析。 #### 一、Assets 文件夹简介 `assets`文件夹是Android项目中的一个特殊文件夹,用于存放原始数据文件。与`res`文件夹...
首先,`assets`目录是Android应用中的一个特殊目录,它允许开发者存放非编译型的资源文件,这些文件在应用运行时可以通过AssetManager访问。与`res`目录不同,`res`目录下的文件会被编译进APK并有特定的资源ID,而`...
本示例“android读取raw和assets下资源文件demo”旨在教你如何在Android应用中有效地读取并处理存储在`res/raw`和`assets`目录下的资源文件。 一、res/raw目录 `res/raw`目录是Android资源系统的一部分,它允许...
在Android开发中,资源(Resources)和资产(Assets)是两个重要的概念,用于存储应用程序的数据和文件。本篇文章将深入探讨如何在Android应用中读取Resources和Assets中的文件,以及它们的区别。 1. 资源(Resources) ...
在这个场景中,我们将讨论如何在Android项目的`assets`目录下使用`Gson`来读取JSON文件,以及如何对JSON数据进行格式化操作。 首先,`assets`目录是Android项目中的一个特殊目录,用于存放应用运行时所需的静态资源...
- 由于assets中的文件是通过`InputStream`读取,所以读取大文件可能会消耗较多的内存和时间。 - 文件大小不受限制,但如果文件过大,可能会影响应用的启动速度和内存使用。 - 不支持动态添加或修改assets中的文件...
总的来说,理解如何从assets文件夹读取和解析XML是Android开发中的一个重要技能。它能帮助开发者灵活地处理非标准资源,提高应用的可扩展性和灵活性。通过实践这个示例,开发者可以学习到如何在实际项目中应用Pull...
总结来说,Android中读取`.properties`文件主要涉及`Properties`类的使用,文件的存放位置(如`assets`或`res/raw`),以及适当的错误处理和资源管理。理解这些知识点有助于开发者更高效地管理和使用配置文件。
在Android开发中,有时我们需要在应用程序内部播放视频文件,而不是从外部存储如SD卡中读取。本篇文章主要探讨了如何解决在Android项目工程中播放assets文件夹内视频的问题。 首先,开发者通常会尝试将视频文件放入...
本篇将深入探讨如何在Java和Android环境中读取这类文件。 1. **Java读取.dat文件** 在Java中,读取`.dat`文件的基本步骤是使用`FileInputStream`、`BufferedReader`或`DataInputStream`等流类。以下是一个使用`...
在Android开发中,更新文件是一项常见的任务...总结来说,Android中的文件更新涉及到了对AssetsManager的使用,以及处理ZIP文件和文件系统操作。通过正确地管理这些过程,开发者可以实现高效且用户友好的文件更新机制。
在Android Studio中,你可以创建一个简单的项目,包含两个按钮,分别用于读取assets和raw文件夹中的文件。布局文件(activity_main.xml)如下: ```xml ... <Button android:id="@+id/readFile" ... /> <Button ...
如果需要读取的TXT文件在你的项目资源文件夹中,例如`assets`或`res/raw`,则可以使用不同的方法,但基本思路是相似的:打开文件流,读取内容,然后关闭流。具体操作请参考Android官方文档或者相关的编程教程。
下面将详细介绍如何在Android中读取大文本文件以及相关的编程技巧。 1. 文件存储与访问: Android设备上的文件通常存储在不同的目录中,如内部存储(Internal Storage)或外部存储(External Storage)。大文本...