`

Android工程下的文件介绍

 
阅读更多
补充点Android 基础吧,懒得写了,直接copy 了一份。网上这些东西蛮多的。百度一下,全出来了。

一个 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("seven.txt");打开
分享到:
评论

相关推荐

    播放Android工程中的音频文件

    本示例将深入探讨如何在Android工程中播放音频文件,以帮助开发者更好地理解和实现这一功能。 首先,Android提供了多种音频播放接口,包括`MediaPlayer`、`AudioTrack`和`SoundPool`等。在这里,我们将主要讨论`...

    android-support-v7-appcompat(创建Android工程缺失的支持文件).zip

    本文件压缩包是解决创建Android工程时可能出现的依赖问题,特别是针对Eclipse开发环境。下面将详细介绍这个库的作用、功能以及如何解决依赖缺失的问题。 首先,“android-support-v7-appcompat”库是Android ...

    导入Android源代码工程配置文件

    在Android开发过程中,导入源代码工程配置文件是一个关键步骤,尤其对于那些想要深入理解系统工作原理或者进行系统级定制的开发者来说。这个过程涉及到多个环节,包括环境搭建、配置文件的理解与修改、编译工具的...

    Android AOSP工程文件

    下面将详细介绍这三个文件的作用和功能。 1. android.iml:这是IntelliJ IDEA的模块(Module)配置文件,它包含了项目中单个模块的相关信息。在Android Studio中,一个项目可能由多个模块组成,如应用模块、库模块...

    Android命令行下创建工程

    本篇文章将详细介绍如何通过命令行创建Android工程,并编译含有C/C++代码的项目。 #### 二、环境准备与配置 在开始前,确保以下环境已经正确安装和配置: 1. **Android NDK**: 用于编译C/C++代码。 2. **Android ...

    ijkplayer(k0.8.4)编译后的Android工程文件含demo

    ijkplayer(k0.8.4)编译后的Android工程文件含ijkplayer-arm64、ijkplayer-armv5、ijkplayer-armv7a、ijkplayer-example、ijkplayer-exo、ijkplayer-java、ijkplayer-x86、ijkplayer-x86_64

    Android Framework Eclipse工程文件配置

    用于将Android源码导入Eclipse的各个工程文件配置

    Eclipse生成android程序apk文件汇编.pdf

    Eclipse生成android程序apk文件汇编 Eclipse是Java开发环境的集成开发环境(IDE),广泛应用于Android应用程序的开发。Android应用程序的打包过程是将应用程序编译、压缩和签名的过程,以生成可在Android设备上运行...

    将ApkKiller的逆行工程导入AndroidStudio所需工程文件

    将ApkKiller的逆行工程导入AndroidStudio所需工程文件 解压密码:lemisky

    Android工程文件

    本项目名为“Android工程文件”,显然它是一个使用Android Studio创建的项目,旨在教授如何利用百度定位SDK(Location-Based Services,简称LBS)来实现在Android应用中的定位功能。 首先,我们需要理解Android ...

    Android歌词秀源代码-Android歌词工程文件-Android源码

    首先,"Android歌词秀"是一款能够实时同步显示歌曲歌词的应用,它需要处理歌词文件的解析、时间同步、以及与音乐播放器的接口集成。歌词文件通常为LRC格式,这是一种基于时间戳的文本文件,包含多行歌词,每行歌词都...

    Android Studio文本文件内容读取例子(不用sd卡)

    - 在Android工程的`res/raw`目录下创建文本文件,例如`data.txt`。`raw`目录下的资源文件在运行时可以直接通过资源ID访问,无需SD卡权限。 2. **获取资源ID**: - 使用`R.raw.data.txt`获取到`data.txt`的资源ID...

    android 文件管理器

    在Android开发中,这个文件会标识出项目是一个Android工程,以便IDE提供相应的开发支持。 `default.properties`文件是早期版本的Android项目配置文件,用于指定Android项目的目标API级别和其他属性。现在的Android ...

    android的assets下的sql文件操作

    首先,`assets`目录是Android工程中的一个特殊目录,它不在编译后的APK的主资源目录下,而是用于存放应用的非代码静态资源,如文本文件、图片、数据库等。在构建过程中,这些资源会被原封不动地打包到APK中,因此在...

    android中文件的保存与读取

    在Android系统中,文件的保存和读取是应用程序处理数据的基本操作。Android提供了多种方法来存储数据,包括内部存储、外部存储以及SQLite数据库等。在这个主题中,我们将重点关注通过文件系统进行数据存取的方法。 ...

    android vlc工程源码

    《深入解析Android VLC工程源码》 Android VLC工程源码是一个专门为Android平台设计的开源多媒体播放器项目,它基于VLC(VideoLAN Client)的核心技术,为开发者提供了在Android设备上实现高效、稳定且功能丰富的...

    vs提取工程文件转Android.mk工具源码

    本主题涉及到将VS工程文件转换为适应Android NDK的Android.mk文件,从而实现从Windows开发环境到Android平台的无缝迁移。 1. **VS工程文件格式**: - `.vcproj` 文件:这是Visual Studio 2005至2010版本使用的项目...

    Android 短信 UI 工程文件

    本文将深入探讨“Android短信UI工程文件”所涵盖的关键知识点,包括UI设计原则、布局管理器、控件使用以及Android的Intent机制。 首先,Android UI设计遵循Material Design指南,这是一种统一的视觉语言,旨在提供...

    Unity和Android交互工程

    文件名“UnityAndAndroid”可能包含的是一个示例项目或教程资料,里面可能有Unity工程文件、Android Studio项目文件,以及指导如何建立和实现两者交互的文档。通过研究这些文件,开发者可以学习到具体的操作步骤和...

Global site tag (gtag.js) - Google Analytics