首页 > 代码库 > 安卓学习(一)

安卓学习(一)

---恢复内容开始---

res目录 src目录 AdroidManifest.xml是Android项目必须的 其他目录文件都是可选的

----res 目录春发给android项目的各种资源文件,比如layout存放界面布局文件 values目录下存放各种xml格式的资源文件 ,例如

字符串资源文件:Strings.xml

颜色资源文件:colors.xml

尺寸资源文件:dimens.xml   drawable-ldpi  drawable-mdpi  drawable-hdpi  drawable-xdpi 这四个子目录则分别用于存放低中高超分辨率四种图片文件

======

代码示例

<resources>

<string name="app_name">HelloWorld</string>

</resources>

安卓项目允许分别在Java代码。xml代码中使用这份资源文件中的字符串资源

--在java代码中使用资源,AAPT为android项目自动生成一个R.java文件,R类里为每份资源分别定义一个内部类,

其中每个资源项对应于内部类里的一个int类型的Field

借助于AAPT自动生成R类的帮助,Java代码中可通过R.string.app_name来引用到“helloWorld”字符串常量

--在xml文件中使用资源更加简单,只要按如下格式来访问

@<资源对用的内部类的类名>/<资源项的名称>

@string/app_name

有一种情况例外,当我们在xml文件中使用标识符时,--这些标识符无需使用专门的资源进行定义,直接在xml文档中按如下格式分配标识符即可

@+id/<标识符代号>

android:id="@+id/ok"

上面代码为该组建分配标识符,就可以在程序中引用该组件

java代码中获得:findViewById()

xml获取:通过资源引用的方式来引用    @+id/<标识符代号>

======

 

----src目录只是一个普通的。保存java源文件的目录

----AdroidManifest.xml 文件是android项目的系统清单文件,它用于控制android应用的名称。图标。访问权限等整体属性。除此之外 android应用的Activity Service ContentProvider BroadcastRecevier 这四大组建都需要在该文件中配置,它是整个android应用的全局描述文件,它说明了该应用的名称,所使用的图标以及包含的组件等。

  --应用程序的包名,该包名将会作为该应用的唯一标识

  --应用程序所包含的组件,如Activity,Service,BroadcastReceiver和ContentProvider等

  --应用程序兼容的最低版本

  --应用程序使用系统所需的权限声明

  --其他程序访问该程序所需的权限声明

----build.xml   android 为该项目提供一个Ant生成文件。通过该生成文件 可以通过ant生成安装Android项目

-clean 清除项目生成的内容-恢复原来的样子

-debug 打包一个调试用的android应用的apk包,使用debug key进行签名

-release 打包一个发布用的Android应用的apk包。

-test 运行测试 要求该项目必须是一个测试项目

-install 将生成的调试用的apk包安装到模拟器上

-uninstall 从模拟器上卸载该应用程序

----bin 存放生成的目标文件,Java的二进制文件 资源打包文件。.ap_后缀    dalvik虚拟机的可执行性文件 .dex后缀等

----gen 保存自动生成的,位于android项目包下的R.java文件

--R.java文件是由aapt工具根据应用中的资源文件来自动生成的,因此可以把R,java理解成android应用的资源字典

--aapt生成的R.java文件的规则主要是

(1)每个资源对应R类的一个内部类 比如所有界面布局资源对应于layout内部类,所有字符串资源对应于String内部类;所有标识符资源对用于id内部类

(2)每个具体的资源项对应于内部类的一个public static final int 类型的Field,由于drawable-xxxx文件夹里包含了icon.png图片,因此R.drawable类里包含了icon Filed

 

-----------开发--------------

一、xml格式界面布局

二、相应的Java文件

-------------------------权限说明----------------------

通过为<manifest..../>元素添加<user-permission.../>子元素即可为程序本身声明权限

<user-permission android:name="android.permission.CALL_PHONE"/>打电话的权限

调用

在<activity.../>元素里添加

<user-permission android:name="android.permission.send_SMS"/>发短信

-----------------------------------------------基本组件-----------------

Activity 和View

----Activity通过setContentView(View)来显示指定组件

----View是所有UI控件容器控件的基类,View组件就是与用户交互的,需要放在容器组件中,

  或者用Activity将它显示出来 调用setContentView()方法,可以接受一个View对象作为参数

例如 LinearLayout layout =new LinearLayout(this);

//设置该Activity显示layout

setContentView

Activity是Window的容器 Activity包含一个getWindow()发方法,返回该Activity所包含的窗口,对于Activity而言,开发者不需要关心Window对象,如果应用程序不调用Activity的setContentView()来设置该窗口显示的内容,那么该程序将显示一个空窗口

多个Activity组成Activity栈当前活动的Activity位于栈顶

Activity包含了setTheme(int resid) 方法来设置其窗口的风格,

 

---恢复内容结束---

安卓学习(一)