Android--项目框架介绍

简介:

 公司最近要开发一款Android平台下的应用,通讯软件,所以年后上班一直在研究Android方面的内容。

  使用Eclipse开发的Android,对于一个新建的Android项目,自动生成的项目结构如下图:

  自动生成的目录介绍:

  • src目录:主要是存放编写的Java代码。
  • assets目录:资源目录。
  • res目录:存放图片、布局文件、字符串、菜单等文件。
  • bin目录:输出文件夹,如生成的APK文件。
  • project.properties:工程属性文件配置。
  • gen目录:系统自动生成的代码目录,存放R.java.

  这个R.java文件是系统自动生成的文件,非常的重要。这个R.java默认有attr、drawable、layout、string等4个静态内部类,每个类对应一种资源。例如在工程中添加一幅图片,那么工程就会在此类的drawable内部类中添加一条数据,如果删除了此图片,工程则会自动删除此条数据。

  

  在res资源文件夹下包含有以下的文件:

  Drawable存放工程图片的信息,默认png格式的图片。

  Layout存放工程的布局文件以.xml结束。

  Values文件夹下存放一个很重要的string.xml,此文件夹存放的是自定义的字符串和数值。

  除了这个文件之外,还可以定义arrays.xml(用来定义数组)、color.xml(用来定义颜色和颜色字符串数值)、dimens.xml(用来定义尺寸数值)、styles.xml(用来定义样式)。这些文件只是为了区分资源的类型,一种开发规范,便于开发人员识别修改,其实可以全部定义在string.xml文件中,均可以自动生成到R.java,便于使用。

资源文件分别的格式:

数组

复制代码
<string-array name="city">

        <item >北京</item>

        <item >上海</item>

</string-array>
复制代码

 

颜色,使用二进制的RGB值表示:

<color name="bgcolor">#FFCCFF</color> 

 

尺寸

<dimen name="width">20dp</dimen>

 

样式

    <sytle name="customText">

        <item name="android:textSize">20sp</item>

  </sytle>

  在安卓的activity中,均有一个全局的方法,getResource()来获取资源,具体资源的获取方法如下:

文件

取值方式

String.xml

getResource().getString(resourceId)、getResource().getText(resourceId)

Arrays.xml

getResource().getStringArray(resourceId)

colors.xml

getResource().getDarwable(resourceId)、getResource().getColor(resourceId)

Dimens.xml

getResource().getDimension(resourceId)

Styles.xml

不需要取值

  

 

  AndroidManifest.xml文件介绍

  AndroidManifest.xml是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities、services等等),他们各自的实现类,各种能被处理的数据和启动位置。能声明程序中的Activity、ContentProviders、ServersIntent Receivers、permissions和instrumentation(安全控制和测试)。

示例:

复制代码
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="bgxt.demo"
    android:versionCode="1"
    android:versionName="1.0" >
    <uses-sdk android:minSdkVersion="10" />
    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:label="@string/app_name"
            android:name=".SimpleActivity" >
            <intent-filter >
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>
复制代码

  

  其中manifest节点中的一些属性,介绍:

  • Packgae:包,表示整个java应用程序的主要包名,而且是一个默认的程序名称。
  • Android:versionCode:表示该工程说生产的apk的版本号,1开始,逐渐递增。
  • Android:versionName:表示版本的一个名称。类似于:1.0、2.0.
  • Android:installLoacation:自动寻找安装的地方,ROM或者SDCard,默认属性为自动。可选属性有auto:系统默认、internalOnly:仅仅只能安装在ROM上、preferExternal:会直接安装在sdcard上。

  Application节点的一些属性介绍:

  • Android:icon:表示应用程序的图标,Logo图片。
  • Android:label:表示应用的工程文字说明。

  Activity节点的属性介绍:

  • Android:name:表示整个应用程序的主程序的名称。
  • Intent-filter :意图过滤器,用来过滤用户的一些动作和操作。


本文转自承香墨影博客园博客,原文链接:http://www.cnblogs.com/plokmju/archive/2013/03/07/2949041.html,如需转载请自行联系原作者

相关文章
|
4月前
|
Web App开发 移动开发 小程序
"项目中mpaas升级到10.2.3 适配Android 14之后 app中的H5以及小程序都访问不了,
"项目中mpaas升级到10.2.3 适配Android 14之后 app中的H5以及小程序都访问不了,显示“网络不给力,请稍后再试”,预发内网版本不能使用,线上版本可以正常使用,这个是什么原因啊,是某些参数没有配置吗,还是说是一些参数改错了?
56 2
|
4月前
|
XML Java Android开发
Android App开发实战项目之模仿美图秀秀的抠图工具(附源码和演示视频 简单易懂 可直接使用)
Android App开发实战项目之模仿美图秀秀的抠图工具(附源码和演示视频 简单易懂 可直接使用)
43 0
|
4月前
|
XML 前端开发 Java
Android App实战项目之实现手写签名APP功能(附源码,简单易懂 可直接实用)
Android App实战项目之实现手写签名APP功能(附源码,简单易懂 可直接实用)
45 0
|
2月前
|
Java Android开发 C++
安卓SO层开发 -- 第一个NDK项目
安卓SO层开发 -- 第一个NDK项目
16 0
|
3月前
|
IDE 开发工具 Android开发
Android Studio 下发布项目成APK文件
Android Studio 下发布项目成APK文件
117 1
|
3月前
|
JavaScript Android开发
Cordova 打包 Vue 项目到Android打开白屏
Cordova 打包 Vue 项目到Android打开白屏
|
4月前
|
开发工具 Android开发 开发者
Android 项目编译 Gradle 配置说明
Android 项目编译 Gradle 配置说明
140 0
|
4月前
|
缓存 JSON Android开发
[Android]网络框架之OkHttp(详细)(kotlin)
[Android]网络框架之OkHttp(详细)(kotlin)
129 0
|
4月前
|
Web App开发 JSON Android开发
【Android App】实战项目之仿微信的视频通话(附源码和演示 超详细必看)
【Android App】实战项目之仿微信的视频通话(附源码和演示 超详细必看)
78 0
|
4月前
|
传感器 人工智能 自动驾驶
【Android App】物联网实战项目之自动驾驶的智能小车(附源码和演示 超详细)
【Android App】物联网实战项目之自动驾驶的智能小车(附源码和演示 超详细)
85 0