androidWord下载.docx
《androidWord下载.docx》由会员分享,可在线阅读,更多相关《androidWord下载.docx(9页珍藏版)》请在冰豆网上搜索。
一个程序可以有好几个Broadcastreceivers来接受它认为重要的通知。
Broadcastreceivers没有用户界面,但是可以打开一个activity来对接受到的信息做出反应,或者利用NotificationManager来警告用户。
Notifications可以用很多方法来引起用户的注意,一般是在状态栏显示一个图标,以便用户打开信息。
●PlatformVersion--APILevel---Symbol,Android版本历史
Android6.0-Marshmallow(AndroidM)(棉花糖)、Android5.0/5.1-Lollipop(AndroidL)(棒棒糖)
Android4.1—-16----Jellybean(果冻豆)、Android4.0.3—---15-----IceCreamSandwich(冰激凌三明治)、
Android4.0~4.0.2—---14-----IceCreamSandwich(冰激凌三明治)、
Android3.0~3.2—---11~13-----Honeycomb(蜂巢)、Android2.3.3---10-----Gingerbread(姜饼)、
Android2.3---9-----Gingerbread(姜饼)、Android2.2-----8-----Froyo(冻酸奶)、
Android2.1--7-----Eclair(法式奶油夹心甜点)、Android2.0.1---6-----Eclair(法式奶油夹心甜点)、
Android2.0-----5-----Eclair(法式奶油夹心甜点)、Android1.6-----4-----Donut(甜甜圈)、
Android1.5-----3-----Cupcake(纸杯蛋糕)、Android1.1-----2、Android1.0-----1
●Project文件目录结构:
文件夹src:
该文件夹是存放项目的源代码。
新建项目时,系统生成了一个MainActivity.java文件,它导入了两个类android.app.Activity和android.os.Bundle,Helloword类继承自Activity且重写了onCreate方法。
@Override:
在方法前面加上@Override系统可以帮助检查方法的正确性。
例如,publicvoidonCreate(……){……}这种写法是正确的,如果写成publicvoidoncreate(……){……}这样编译器会报错——Themethodoncreate(Bundle)oftypeHelloWorldmustoverrideorimplementasupertypemethod,以确保你正确重写onCreate方法。
如果不加@Override,则编译器会认为是新定义了一个方法oncreate,检测不出书写错误。
android.app.Activity类:
因为几乎所有的Activity都是与用户交互的,所以该类关注创建窗口,可以用方法setContentView(View)将定义好的UI放到Activity显示。
有两个方法是几乎所有的Activity子类都实现的:
onCreate(Bundle):
初始化Activity,用布局资源(layoutresource)调用setContentView(int)方法定义UI(main.xml)。
onPause():
处理当离开该Activity时要做的事情,用户做的所有改变应该在这里提交(通常ContentProvider保存数据)。
android.os.Bundle类:
从字符串值映射各种可打包的(Parcelable)类型Bundle:
捆绑,例如该类提供了公有方法:
publicbooleancontainKey(Stringkey),如果给定的key包含在Bundle的映射中返回true,否则返回false。
文件夹 gen:
该文件夹下面有一个项目创建时自动生成并自动更新的R.java文件,只读,不允许修改。
R.java文件中定义了一个类R,类中包含很多静态类,且静态类的名字都与res中的一个资源对应,即R类定义了res目录下所有资源的索引。
R.java在应用中起到了字典的作用,它包含了界面、图标、常量等各种资源的id,通过R.java,应用可以很方便地找到对应资源,另外通过检查R.java列表,编译器不会将没有被使用到的资源编译进应用程序包中,以减少手机中的空间占用。
ADT-17.0.0新增自动生成类BuildConfig.java、R:
资源索引类
文件夹Android2.1:
Android2.1:
创建project时的buildtarget,该文件夹下包含Java归档文件android.jar,包含了构建项目所需的所有的AndroidSDK库和APIs。
通过android.jar将应用程序绑定到AndroidSDK和AndroidEmulator,这使得项目可以使用所有Android的库和包,并且可以在适当的环境中调试。
HelloWorld.java从android.jar通过下面两行代码导入了两个包:
importandroid.app.Activity;
importandroid.os.Bundle;
文件夹bin:
项目输出的apk、资源包
文件夹res:
资源目录,包含项目中的资源文件并将其编译进程序包中。
向此目录添加资源时,会被R.java自动索引。
res中默认有三个子目录:
drawabel、layout、values
drawabel:
包含应用程序可以用的图标、图像文件(*.png、*.jpg),又分-l-m-hdpi三种替代分辨率
layout:
界面布局文件(main.xml)等
values:
项目中所需要显示的各种文字。
可以存放多个*.xml文件,还可以存放不同类型的数据,如arrays.xml、colors.xml、dimens.xml、styles.xml,ADT-17.0.0新增分支res/drawable-xhdpi意义:
为了国际化、为了减少应用的体积,降低数据冗余
文件夹assets:
该文件夹包含项目所需要使用到的诸如mp3、视频、数据文件,存放的也是资源
与res文件夹存放的资源不同的是,assets内的资源文件不会被R类索引,不能使用R的成员引用方式进行访问,需借助Java的文件I/O操作;
文件AndroidManifest.xml:
项目的总配置文件,以后你开发好的各种组件(Activity、ContentProvider、BroadcastReceiver、Service)需要在该文件中进行配置,如果应用使用到了系统内置的应用(如电话服务、互联网服务、短信服务、GPS服务等等),你还需在该文件中声明使用权限。
应用程序添加新的Activity时,也需在此注册AndroidManifest.xml包含如下设置:
application、permissions、Activities、Intentfilters...
文件project.properties:
由AndroidTools自动生成,不允许修改,文件中记录了项目中所需要的环境信息,比如AndroidAPI的最低兼容版本等,项目Helloworld的project.properties文件包含如下一行代码:
target=android-7
文件proguard.cfg:
proguard是Android混淆器,用于防止程序被反编译,将变量的名称混淆,降低程序的可读性。
作为配置文件,proguard.cfg是\android-sdk-windows\tools\lib\目录下的同名文件的副本,proguard.cfg是在AndroidSDK升级到2.3版后才出现的,没有必要时可以不做修改,ADT-17.0.0新增文件夹AndroidDependencies,ADT-17.0.0更新了默认图标文件
BMI
使BMI值显示小数位数更规范