安卓应用架构
1. 安卓应用目录结构
结构图如下:
主要目录说明:
- build.gradle,项目Gradle构建脚本;
- gradle.properties,项目Gradle属性文件;
- local.properties 指定sdk所在目录;
- settings.gradle 项目Gradle设置文件;
- app:
- build.gradle Module Gradle构建脚本;
- build,构建目录,相当于Eclipse中默认Java工程的bin目录,编译生成的apk在此目录;
- libs,依赖包;
- src:
- androidTest,测试相关代码文件夹;
- main:
- AndroidManifest.xml,清单文件;
- java项目源码;
- res资源文件;
- drawable,图片只能放到drawable目录下;
- layout,存放与java目录下的类对应的页面xml文件;
注意:在java项目源码中创建的XxxActivity.java文件,大多数时候会在layout目录中有一个页面布局的xml文件对应,并且要在AndroidManifest.xml中声明。
2. Activity的声明周期
周期图如下:
当点击按钮后,会执行onCreate()、onStart()、onResume()方法,返回页面后会执行onPause()、onStop()、onDestory()方法。
平时在开发应用的时候,在APP处于不同的状态,要根据日志去做判断,比如忽然接到电话,会进入Pause状态,接完电话回来又重新进入Resume状态。
3. Fragment
Fragment是用来碎片化加载页面的,如果一个页面对应一个Activity,那么多个Activity可以有多个Fragment。
4. 事件监听与回调
监听:需要有事件源、事件和监听者,通过配置监听方法来实现,如下图所示。
回调:通过重写事件方法的方式,完成事件的回调,如下图所示。
总结:
- 监听方法优先执行于回调方法;
- 在同时有监听方法和回调方法,或多个回调、监听方法的时候,如果某一层方法中return true,那么外层就不会再消费到事件。
5. Android如何存储
开发时可以使用SharedPreferences来做轻量级存储:
- 存储轻量的数据,如用户是否第一次登陆,用户账号密码等;
- 以xml形式存储;
- SharedPreferences读,SharedPreferences.Editor写
安卓系统主要分为:
-
内部存储;
随着应用程序的删除,数据也会消失。
-
外部存储;
包含公有目录和私有目录,私有目录和内部存储一样,随着应用程序的删除,私有目录的数据也会消失。
6. Android广播
是用来页面传值的。