初识android的project

   刚开始接触android开发平台时,对于只写过C和基本JAVA程序的我来说(只有一个源文件),感到有点那一入手。通过两个星期对android开发平台的熟悉,我想谈一下自己对android的工程(project)结构各部分的作用以及那样分布的意义。下面图片是一个 工程的结构图:

            

 

        如上图,一个工程主要包括src,gen,res目录和一AndroidManifest.xml文件。

         src文件夹里包含了我们的android应用程序的全部源代码(.java),比如上面的图片ArrayAdapter工程里包含一个com.ArrayAdapter的包,包里只有一个程序文件ArrayAdapter.java。当然,一个工程可以包含有多个包(根据我们的需要),一个包可以包含多个.java程序文件。

        gen目录一下的R.java使我们的开发平台自动生成的(也就是说其实我们不用管它),R.java包含了我们引用的UI界面,图片,定义在res目录里的String.mxl文件里的String的相应id(就像我们的身份证号码一样,是唯一的,如果我们想在源代码引用UI,图片,String,那么我们必须通过id)。例如ArrayAdapter工程的R.java内容如下:

               

 

 其中的text1便是我在res/layout/main.xml定义的一个名叫text1的TextView的UI元素。

 

        res是一个存放各种资源的目录。drawble—???是用来存放图片资源的,例如res.drawable-hpi里便存放了一张名为ico.png的图片。

         layout目录是用来描述用户UI界面的布局的,其文件后缀名为.xml。

 

        value包含了所有的xml参数描述文件,我们也可以自己定义String(上面说到的),数组等。例如定义String.xml:

   ?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">Hello World, ArrayAdapter!</string>
    <string name="app_name">ArrayAdapter</string>
</resource>

上面定义了一个名为hello的String,内容为Hello,World;定义了一个名字为app_name的String,内容为ArrayAdapter.

 

 

       AndroidManifest.xml是每个程序都有的文件,他会告诉系统如何处理你所创建的所有顶层组件(Activity,Service,IntentReceive和ContentProvider),例如:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.ArrayAdapter"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".ArrayAdapter1"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

   </application>

其中,            <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />所组合的IntentFilter表示该Activity为应用程序的入口,且该程序会被示在应用程序列表。

     android的project这种结构模式,把UI,内部操作(数据库,数据处理,响应等)以及资源(如图片,String)分开,便于管理和修改。例如我想把程序的背景图片给换了,这时我们只要把drawable文件夹的图片换一下,把新图片的名字改为与原来的一样就完成了,完全不用去修改其他的文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值