当前位置:操作系统 > 安卓/Android >>

Android学习笔记 ---项目的目录结构与安装及启动过程分析

 
1.a.src文件夹:用来存放java源文件;
  b.gen文件夹:开发工具自动创建的文件,有一个R文件,用来登陆资源id,在编译器编译的时    候自动生成的,可以通过资源id,引用资源
  c.res是软件引用的文字,图片等等
  d.res-->drawable-hdpi-->这个文件夹:专门用来放图片资源,当把图片放入这个文件夹
    的时候,就会为这个图片在R文件中生成一个资源id;
  e.由于手机屏幕有大小,所以提供了:drawable-hdpi,drawable-ldpi,drawable-mdpi
    三个不同的大小图片,android操作系统会根据手机屏幕的分辨率,来选择不同的文件夹
  f.laylout文件夹:中的main.xml指的是定义系统的界面
    values文件夹:strings.xml放了应用中用到的文字,为了实现国际化
2.a.在strings.xml中添加:
    <resources>
    <string name="hello">Hello World, MainActity!</string>
    <string name="app_name">HelloWorldTest</string>
    <string name="credream">创梦网络</string>
    </resources>
  b.在R文件中可以看到多了:
       public static final class string {
        public static final int app_name=0x7f040001;
        public static final int credream=0x7f040002;//多了这一行
        public static final int hello=0x7f040000;
    }
--------------------------------------------
3.a.当字体有很多的时候,为了不让string.xml过于大
    那么可以新建一个Android xml文件credream.xml,创建的时候,要加上后缀.xml
  b.在credream.xml添加了以下:
     <?xml version="1.0" encoding="utf-8"?>
     <resources>
     <string name="lidewei">李德伟</string>
     </resources>
  c.在R文件中会生成:
    public static final int lidewei=0x7f040000;
----------------------------------------------------------
4.在layout中存放的界面文件main.xml
  下面再创建一个界面文件:
  右键新建android xml文件,adduser.xml,选择layout  
  a.res\layout\addUser.xml: Invalid file name: must contain only [a-z0-9_.]
    1.res\layout\addUser.xml: Invalid file name: must contain only [a-z0-9_.]
    出现这个的原因是,文件名不可以包含大写字母
  b.res/anim/文件夹:动画定义的xml文件;
  c.res/xml文件夹:在Actity中使用getResource().getXML()读取该目录下的XML
    资源文件
  c.res/raw/文件夹:该目录用于存放使用到的原始文件,如音效文件等,编译软件时,这些数      据不会被编译,他们被直接加入到程序安装包里,为了再程序中使用这些资源,你可以调用
    getResources().openRawResource(ID),参数ID形式,R.raw.somefilename
----------------------------------------------------------------------
5.a.assets文件夹:用来存放资源文件;在这里放入文件,不会在R文件中生成资源ID,需要使用
    文件路径来访问这里面的内容
  b.default.properties文件:是eclipse用的文件,通过这个文件可以告诉eclipse,这个程序
    适用于什么android版本
  c.AndroidManifest.xml文件,清单文件,在清单文件中除了列出了应用的功能外
    还列出了,自己应用使用了系统的什么服务,比如发短信服务,打电话服务;
  d.以后开发的各种组件(Activity,ContentProvider,BroadcastReceiver,Service)需要在      该文件中进行配置,如果应用使用到了系统内置的应用(如电话服务,互联网服务,短信服      
 
务,GPS服务等等)还要在该文件中声明使用权限
-----------------------------------------------------------------------
6.AndroidManifest.xml文件
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.credream.app"  //包名,唯一标示一个应用
      android:versionCode="1"     //开发的软件的版本号,和版本名称
      android:versionName="1.0">  //版本名称
 
    <application android:icon="@drawable/icon//指定应用的图标,drawable
     指的是R文件中的drawable,指的是访问R文件中的drawable内部类中的icon常量
     ,更换图标可以把一个图片的资源id赋予="@drawable/的后面,"              android:label="@string/app_name">//这个属性用于指定应用的名称,指定应用strings.xml     中的
 
app_name指定的名称
        <activity android:name=".MainActity"//.代表当前应用所在包,取得是类的名字,
   如果这个类,在应用的包下,可以省略点.但是如果在应用包的子包下面需要加点,建议不管   在哪里都加点,避免出错
                  android:label="@string/app_name">//指的是窗口的标题
            <intent-filter>//指意图过滤器,对数据进行过滤,用来匹配意图,意图代表了            一个想法
                <action android:name="android.intent.action.MAIN//这个字符串已经被安卓系统赋予了一个功能,就是把应用添加到启动列表中,如果没有这两项的话,应用是不会出现在
 
程序的启动列表中的,这两个参数只能使用在一个activity中" />
//动作的名称            
    <category android:name="android.intent.category.LAUNCHER" />
//动作的类别
            </intent-filter>
        </activity>//activity可以指定多个,因为一个activity代表一个窗口,那么可以有多个窗口
    </application>//</application>应用有关的
    <uses-sdk android:minSdkVersion="8" />//指定应用最低支持的版本
</manifest> 
-------------------------------------------------------------------
7.清单文件是在软件安装的时候易做图作系统读取的;安装的时候,操作系统读取这个文件,然后
  注册,相当于在windows下,安装软件的时候,注册进注册表一样
---------------------------------------------------------
8.a.编译器工作原理--->.java-->.class-->android虚拟机格式-->.dex...在/项目/bin/下
    --->把dex.打包(签名)-->使用默认的密钥签名,这个密钥在:windows -->perference-    >android--->Build-->右侧Default debug keystone就是密钥的位置-->签完名之后就把    这
 
个文件 --->打包成apk格式的.
  b.然后当运行的时候,eclipse adt插件会自动的调用adb.exe 执行 adb install 
    c:\xxx.apk
--------------------------------------------------------------------
9.a.当点击应用图标-->找到一个MainActivity-->然后创建一个进程,然后创建一个线程(主      线程),在这个,线程里面对MainActivity这个类进行实例化,在实例化的时候,会首先在配     
 
置文件中读取这个类的名称:然后:使用反射MainActity .class.newInstance();来实例      化这个MainActivity这个类--操作系统会把应用有关的信息(context)放在Activity中,
 
补充:移动开发 , Android ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,