- 浏览: 128810 次
- 性别:
- 来自: 南京
最新评论
-
cenyi2012:
来个图文并茂不是更好。。。
TabHost两种实现方式 -
youlingxifeng:
谢谢了,很受用,你有没有遇到过这样的问题啊build/core ...
Android源码编译全过程 -
flower_is:
不错不错!
Android的selector,背景选择器 -
yang668:
很好 真心的谢谢
反编译apk -
windloverain:
编译2.3的代码需要用1.6的sdk
另外,安装完java s ...
Android源码编译全过程
一个android工程中,有各种类型的资源文件,大致可以分为以下几种:
1、 颜色 #RGB #ARGB #RRGGBB #AARRGGBB
颜色资源应该位于<resourses></resourses>标签下
路径res/values/colors.xml 名字可以随意
定义<color name=”cname”>value</color>
使用 Resourse.getValues.getColor
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="white">#FFFFFF</color>
<color name="black">#000000</color>
</resources>
2、 字串
字串资源应该位于<resourses></resourses>标签下
路径res/values/strings.xml
定义<String name=”sname”>value</String>
使用 Resourse.getValues.getString
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, ResrouseTestActivity!</string>
<string name="app_name">ResrouseTest</string>
</resources>
3、 图片
图片资源一般使用png格式,使用其他格式的会出现各种问题,貌似不支持gif格式的图片,可是使用Movie来播放gif格式的图片
路径res/drawable
可以直接存放图片也可以是xml等配置文件(一般用于自定义组件)
使用 getDrawable
4、 图片的颜色
位于res/values/my_drawable.xml名字随意
<?xml version="1.0" encoding="utf-8"?>
<resources>
<drawable name="solid_red">#FF0000</drawable>
</resources>
定义用于填充一个组件的颜色值,即给view设置背景色。用法和drawable下的图片一样,其实没多少意义,使用颜色定义就ok了,目前我是这样认为的,可能有更好的优点,不过我没发现罢了,嘿嘿,continue...
5、 单位资源
单位资源应该位于<resourses></resourses>标签下
路径res/values/dimen.xml 名字可以随意
使用和String、color类似
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="dimen_name">2px</dimen>
<dimen name="dimen_px">5px</dimen>
<dimen name="dimen_pt">3pt</dimen>
<dimen name="dimen_dp">3dp</dimen>
</resources>
6、 Nine-patch(可以拉伸的小图片)
支持图片的拉伸
貌似就是所谓的png图片文件资源,图片在应用view的背景时,如果被设为background则会随view的大小变化做相应的拉伸和收缩,像ImageView这类设置src图片则不随view变化,按其自身大小显示部分或全部!
7、 菜单
菜单即可以从代码中实现也可以在资源文件中配置,这里就是要描述一下第二种
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/previous"
android:title="@string/previous"
android:enabled="false" android:icon="@android:drawable/ic_media_previous"/>
<item
android:id="@+id/play_pause"
android:title="@string/play"
android:icon="@android:drawable/ic_media_play"/>
<item
android:id="@+id/next"
android:title="@string/next"
android:icon="@android:drawable/ic_menu_next"/>
</menu>
8、 Layout布局
这个就是你经常看到的与用户交互的界面的xml文件,就是各个view的排列和嵌套,没什么好说的啦
9、 风格和主题、
风格主要是指view的显示风格 res/values/filename.xml
<?xml version=”1.0″ encoding=”utf-8″?>
<resources>
<style name=”SpecialText” parent=”@style/Text”>
<item name=”android:textSize”>18sp</item>
<item name=”android:textColor”>#008</item>
</style>
</resources>
主题主要针对Activity等, 可以在Android Manifest中定义的<application>和<activity>元素将主题添加到整个程序或者某个 Activity,但是主题是不能应用在某一个单独的View里.风格可以自己定义也可以使用程序自带的或是继承已有的风格。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="CustomTheme">
<item name="android:windowNoTitle">true</item>
<item name="windowFrame">@drawable/screen_frame</item>
<item name="windowBackground">@drawable/screen_background_white</item>
<item name="panelForegroundColor">#FF000000</item>
<item name="panelBackgroundColor">#FFFFFFFF</item>
<item name="panelTextColor">?panelForegroundColor</item>
<item name="panelTextSize">14</item>
<item name="menuItemTextColor">?panelTextColor</item>
<item name="menuItemTextSize">?panelTextSize</item>
</style>
</resources>
10、 动画
动画资源分为两种,一是实现图片的translate、scale、rotate、alpha四种变化。还可以设置动画的播放特性;另一种是帧动画,逐帧播放设置的资源
先说一下第一种
Res/anim/filename.xml
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:interpolator="@android:anim/accelerate_interpolator"
android:fromXDelta="0" android:toXDelta="200" android:fromYDelta="0"
android:toYDelta="180" android:duration="2000" />
<scale android:interpolator="@android:anim/accelerate_interpolator"
android:fromXScale="1.0" android:toXScale="2.0" android:fromYScale="1.0"
android:toYScale="2.0" android:pivotX="150%" android:pivotY="150%"
android:duration="2000" />
<alpha android:fromAlpha="1.0" android:toAlpha="1.0"
android:duration="@android:integer/config_mediumAnimTime" />
<rotate ....各个属性></rotate>
<Interpolator >可以使用其子类和属性定义动画的运行方式,先快后慢,先慢后快等</Interpolator>
</set>
具体参数的用法,大家可以自己查资料
下面是第二种资源
<animation-list xmlns:android=”http://schemas.android.com/apk/res/android”
android:oneshot=”true”>
<item android:drawable=”@drawable/rocket_thrust1″ android:duration=”200″ />
<item android:drawable=”@drawable/rocket_thrust2″ android:duration=”200″ />
<item android:drawable=”@drawable/rocket_thrust3″ android:duration=”200″ />
</animation-list>
1. 相关文件夹介绍 在Android项目文件夹里面,主要的资源文件是放在res文件夹里面的。assets文件夹是存放不进行编译加工的原生文件,即该文件夹里面的文件不会像xml,java文件被预编译,可以存放一些图片,html,js, css等文件。在后面会介绍如何读取assets文件夹的资源!
res文件夹里面的多个文件夹的各自介绍(来自网上的Android开发指南中文版内容):
目录Directory
资源类型Resource Types
res/anim/
XML文件,它们被编译进逐帧动画(frame by frame animation)或补间动画(tweened animation)对象
res/drawable/
.png、.9.png、.jpg文件,它们被编译进以下的Drawable资源子类型中:
要获得这种类型的一个资源,可以使用Resource.getDrawable(id)
位图文件
9-patches(可变尺寸的位图)
为了获取资源类型,使用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/
res/assets/
直接复制到设备中的任意文件。它们无需编译,添加到你的应用程序编译产生的压缩文件中。要使用这些资源,可以调用Resources.openRawResource(),参数是资源的ID,即R.raw.somefilename。assets下也可以放置任意文件,使用Activity.this.getAssets().open("519.txt");打开
注:原文出自http://www.iteye.com/topic/741311
1、 颜色 #RGB #ARGB #RRGGBB #AARRGGBB
颜色资源应该位于<resourses></resourses>标签下
路径res/values/colors.xml 名字可以随意
定义<color name=”cname”>value</color>
使用 Resourse.getValues.getColor
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="white">#FFFFFF</color>
<color name="black">#000000</color>
</resources>
2、 字串
字串资源应该位于<resourses></resourses>标签下
路径res/values/strings.xml
定义<String name=”sname”>value</String>
使用 Resourse.getValues.getString
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, ResrouseTestActivity!</string>
<string name="app_name">ResrouseTest</string>
</resources>
3、 图片
图片资源一般使用png格式,使用其他格式的会出现各种问题,貌似不支持gif格式的图片,可是使用Movie来播放gif格式的图片
路径res/drawable
可以直接存放图片也可以是xml等配置文件(一般用于自定义组件)
使用 getDrawable
4、 图片的颜色
位于res/values/my_drawable.xml名字随意
<?xml version="1.0" encoding="utf-8"?>
<resources>
<drawable name="solid_red">#FF0000</drawable>
</resources>
定义用于填充一个组件的颜色值,即给view设置背景色。用法和drawable下的图片一样,其实没多少意义,使用颜色定义就ok了,目前我是这样认为的,可能有更好的优点,不过我没发现罢了,嘿嘿,continue...
5、 单位资源
单位资源应该位于<resourses></resourses>标签下
路径res/values/dimen.xml 名字可以随意
使用和String、color类似
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="dimen_name">2px</dimen>
<dimen name="dimen_px">5px</dimen>
<dimen name="dimen_pt">3pt</dimen>
<dimen name="dimen_dp">3dp</dimen>
</resources>
6、 Nine-patch(可以拉伸的小图片)
支持图片的拉伸
貌似就是所谓的png图片文件资源,图片在应用view的背景时,如果被设为background则会随view的大小变化做相应的拉伸和收缩,像ImageView这类设置src图片则不随view变化,按其自身大小显示部分或全部!
7、 菜单
菜单即可以从代码中实现也可以在资源文件中配置,这里就是要描述一下第二种
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/previous"
android:title="@string/previous"
android:enabled="false" android:icon="@android:drawable/ic_media_previous"/>
<item
android:id="@+id/play_pause"
android:title="@string/play"
android:icon="@android:drawable/ic_media_play"/>
<item
android:id="@+id/next"
android:title="@string/next"
android:icon="@android:drawable/ic_menu_next"/>
</menu>
8、 Layout布局
这个就是你经常看到的与用户交互的界面的xml文件,就是各个view的排列和嵌套,没什么好说的啦
9、 风格和主题、
风格主要是指view的显示风格 res/values/filename.xml
<?xml version=”1.0″ encoding=”utf-8″?>
<resources>
<style name=”SpecialText” parent=”@style/Text”>
<item name=”android:textSize”>18sp</item>
<item name=”android:textColor”>#008</item>
</style>
</resources>
主题主要针对Activity等, 可以在Android Manifest中定义的<application>和<activity>元素将主题添加到整个程序或者某个 Activity,但是主题是不能应用在某一个单独的View里.风格可以自己定义也可以使用程序自带的或是继承已有的风格。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="CustomTheme">
<item name="android:windowNoTitle">true</item>
<item name="windowFrame">@drawable/screen_frame</item>
<item name="windowBackground">@drawable/screen_background_white</item>
<item name="panelForegroundColor">#FF000000</item>
<item name="panelBackgroundColor">#FFFFFFFF</item>
<item name="panelTextColor">?panelForegroundColor</item>
<item name="panelTextSize">14</item>
<item name="menuItemTextColor">?panelTextColor</item>
<item name="menuItemTextSize">?panelTextSize</item>
</style>
</resources>
10、 动画
动画资源分为两种,一是实现图片的translate、scale、rotate、alpha四种变化。还可以设置动画的播放特性;另一种是帧动画,逐帧播放设置的资源
先说一下第一种
Res/anim/filename.xml
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:interpolator="@android:anim/accelerate_interpolator"
android:fromXDelta="0" android:toXDelta="200" android:fromYDelta="0"
android:toYDelta="180" android:duration="2000" />
<scale android:interpolator="@android:anim/accelerate_interpolator"
android:fromXScale="1.0" android:toXScale="2.0" android:fromYScale="1.0"
android:toYScale="2.0" android:pivotX="150%" android:pivotY="150%"
android:duration="2000" />
<alpha android:fromAlpha="1.0" android:toAlpha="1.0"
android:duration="@android:integer/config_mediumAnimTime" />
<rotate ....各个属性></rotate>
<Interpolator >可以使用其子类和属性定义动画的运行方式,先快后慢,先慢后快等</Interpolator>
</set>
具体参数的用法,大家可以自己查资料
下面是第二种资源
<animation-list xmlns:android=”http://schemas.android.com/apk/res/android”
android:oneshot=”true”>
<item android:drawable=”@drawable/rocket_thrust1″ android:duration=”200″ />
<item android:drawable=”@drawable/rocket_thrust2″ android:duration=”200″ />
<item android:drawable=”@drawable/rocket_thrust3″ android:duration=”200″ />
</animation-list>
1. 相关文件夹介绍 在Android项目文件夹里面,主要的资源文件是放在res文件夹里面的。assets文件夹是存放不进行编译加工的原生文件,即该文件夹里面的文件不会像xml,java文件被预编译,可以存放一些图片,html,js, css等文件。在后面会介绍如何读取assets文件夹的资源!
res文件夹里面的多个文件夹的各自介绍(来自网上的Android开发指南中文版内容):
目录Directory
资源类型Resource Types
res/anim/
XML文件,它们被编译进逐帧动画(frame by frame animation)或补间动画(tweened animation)对象
res/drawable/
.png、.9.png、.jpg文件,它们被编译进以下的Drawable资源子类型中:
要获得这种类型的一个资源,可以使用Resource.getDrawable(id)
位图文件
9-patches(可变尺寸的位图)
为了获取资源类型,使用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/
res/assets/
直接复制到设备中的任意文件。它们无需编译,添加到你的应用程序编译产生的压缩文件中。要使用这些资源,可以调用Resources.openRawResource(),参数是资源的ID,即R.raw.somefilename。assets下也可以放置任意文件,使用Activity.this.getAssets().open("519.txt");打开
注:原文出自http://www.iteye.com/topic/741311
发表评论
-
system挂载为rw
2011-07-28 15:07 2828adb shell #su #mount -o remou ... -
制作TextView的倒影
2011-07-19 13:52 2073package com.javaeye.graphics; ... -
Androkd开发坏境配置以及常用插件
2011-06-21 10:39 1125步骤: 1、安装jdk,并配置环境变量 2、解压android ... -
Android的selector,背景选择器
2011-05-22 11:50 1742首先android的selector是在drawable/xx ... -
PUSH机制
2011-04-20 13:54 13171、长连接 2、Android and XMPP htt ... -
ListView快速滑动搜索
2011-04-14 10:16 1273相关资料: Android-ListView快速滚动示例增加首 ... -
Android源码编译全过程
2011-03-18 09:39 83221, ubuntu 下源码编译 最好切换到root用户下进行操 ... -
测试环境Hosts设置
2011-02-25 18:25 1814设置方法: //启动虚拟手机并更改分区大小为128M emul ... -
Activity的launchMode
2011-01-16 17:02 867请看博客:http://marshal.easymorse.c ... -
android多分辨力支持 密度与分辨力
2010-12-29 15:37 1242关于Android的分辨率支持,为大家翻译官方文档 看世界杯的 ... -
用shape美化控件
2010-12-29 10:34 931如果你对Android系统自带的UI控件感觉不够满意, ... -
Android知识积累
2010-12-28 13:44 1011引用系统资源: android:textColor=& ... -
自定义对话框Dialog
2010-12-16 16:55 1530提醒对话框: 布局文件:alertdialog.xml < ... -
Dialog
2010-12-16 14:45 10981. 创建对话框 1. Showing ... -
Android 文件系统的结构
2010-11-06 22:56 10451、Android 文件系统的结构 Android源码编译后 ... -
DB和File工具类
2010-11-01 15:46 1548DB工具类: import java.io.B ... -
打造自己的动画效果
2010-10-29 14:25 1019当我们的软件基本功能都实现了之后,我们是不是还可以把它做的更好 ... -
画图,Shader Path
2010-10-28 16:42 1272package com.javaeye.android.my; ... -
Google API应用
2010-10-27 16:21 1628获取Location Provider: android lo ... -
使用SoundPool播放游戏音效
2010-10-12 15:51 1785在Android开发中我们经常使用MediaPlayer来播放 ...
相关推荐
Android工程中的资源文件主要存储在`res`目录下,包括各种类型的资源,如布局、图片、字符串、颜色等。此外,`assets`目录则用于存放未经编译处理的原始文件。 1. **资源文件夹介绍** - **res/anim**:存放XML...
本示例将深入探讨如何在Android工程中播放音频文件,以帮助开发者更好地理解和实现这一功能。 首先,Android提供了多种音频播放接口,包括`MediaPlayer`、`AudioTrack`和`SoundPool`等。在这里,我们将主要讨论`...
总的来说,资源文件混淆是提高Android应用安全性的重要步骤,它能有效防止资源被轻易解析,增加逆向工程的难度。`resguard-tools`作为一款专门的混淆工具,为开发者提供了一种便捷的资源混淆方案,有助于保护应用的...
iml文件定义了模块的类型(例如Android Library或Android Application),模块的依赖关系,以及源代码和资源文件的路径等。当你导入或导出项目时,这个文件对于保持项目结构和配置的一致性至关重要。 2. android....
作为Android程序开发,我们自己在实际项目的开发过程中,经常会遇到我们打的Jar包需要动态的读取主项目工程中的资源文件,那么有没有一种好的方式,能够让Jar包非常方便的读取与展示主工程中的资源文件呢?...
使用android studio生成jar包,并且使用映射来完美调用资源文件。包含两个工程,一个如何生成jar包,一个是如何使用jar包,调用资源文件。使用详情可以关注我的blog,http://blog.csdn.net/jujishou521
开发android框架的时候需要对资源文件的处理 还有框架打jar包的时候的注意事项
### AndroidStudio工程清理工具(批处理)知识点解析 #### 一、工具概述 **AndroidStudioCleanKit**是一款专为Android Studio开发环境设计的项目清理工具,主要功能是帮助开发者高效地清理项目中的冗余文件,如...
在Android开发中,这个文件会标识出项目是一个Android工程,以便IDE提供相应的开发支持。 `default.properties`文件是早期版本的Android项目配置文件,用于指定Android项目的目标API级别和其他属性。现在的Android ...
本项目名为“Android工程文件”,显然它是一个使用Android Studio创建的项目,旨在教授如何利用百度定位SDK(Location-Based Services,简称LBS)来实现在Android应用中的定位功能。 首先,我们需要理解Android ...
- 在Android工程的`res/raw`目录下创建文本文件,例如`data.txt`。`raw`目录下的资源文件在运行时可以直接通过资源ID访问,无需SD卡权限。 2. **获取资源ID**: - 使用`R.raw.data.txt`获取到`data.txt`的资源ID...
2. 尺寸资源:在values文件夹下创建不同密度和尺寸的资源文件夹,如values-mdpi、values-hdpi等,放置对应的dimens.xml文件,定义不同屏幕尺寸下的尺寸值。 3. 图像资源:提供不同密度的图像资源,放在对应的...
- 在Eclipse中,一个Android工程通常包含以下几个关键文件夹和文件: - `src`:存放Java源代码,每个Activity(应用程序界面)通常对应一个Java类。 - `res`:资源文件夹,包括布局(layout)、图标(drawable)...
在Android开发领域,有时我们需要对APK文件进行逆向工程,以便查看或修改其内部资源。APKTool是一个强大的开源工具,专为Android应用的反编译和再打包而设计。它允许开发者提取APK中的资源文件,如图片、布局XML、...
总之,"Android歌词秀"源代码涵盖了Android开发的多个方面,包括文件解析、时间同步、UI设计、多线程处理、资源管理、用户交互以及测试策略。通过深入研究这些代码,开发者不仅可以学习到如何创建歌词应用,还能提升...
首先,`assets`目录是Android工程中的一个特殊目录,它不在编译后的APK的主资源目录下,而是用于存放应用的非代码静态资源,如文本文件、图片、数据库等。在构建过程中,这些资源会被原封不动地打包到APK中,因此在...
自制工具,将AndroidStudio 的 VectorDrawable xml 资源逆向转回 svg文件方便编辑。工具为带js的html,上方输入框贴入xml,下方输入框输出svg代码结果以及svg预览 注意目前仍未支持渐变填充
这个"Android打开本地HTML网页AndroidStudio工程.rar"文件很可能包含了一个简单的示例项目,演示如何在Android应用中加载并显示本地HTML文件。这里我们将深入探讨实现这一功能所涉及的关键知识点。 1. **WebView...
总结,Android VLC工程源码是学习和开发Android多媒体应用的宝贵资源。通过深入研究源码,开发者不仅可以掌握VLC的工作原理,还能了解到Android平台上的多媒体处理、硬件加速、网络流播放等核心技术,为构建自己的...