文章插图
1,Android UI体系1) 三层架构、MVC、MVP、MVVM
对于小项目可以按如下分法(mvp选用);对于大项目可以按模块分,然后模块内再按如下分发 。
分包(按功能分):
basal:基类;
surface(fragment、activity、broadcast、listener):界面类;
adapter:适配器类;
mvp(presenter、constract、view):mvp层类;
util:通用工具类;
widget:自定义View类;
entity:实体类;
Config.class
MyApplication
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
字体一般是34px、30px、28px、26px、24px、22px
小细线1px dddddd 粗线10px f5f5f5 背景色f5f5f5、app的左右距离是20px
主题色
3)控件
①View
【Android学习】android.view.ViewStub
【android学习】EditText
【android学习】Toast(消息弹框)
【android学习】Dialog对话框
【android学习】webView(网络视图)
【Android学习】列表(ListView、RecyclerView)和adapter
【Android学习】android.view.ViewStub
【Android学习】Android常用框架
②标题栏
4)Window和WindowManager
5)图片
①Drawable
②Bitmap的加载和Cache
6)动画
7)Splash界面
①作用
展现产品的logo
初始化操作(创建数据库,读取配置文件)
连接服务器检查软件授权
连接服务器检查软件的更新
②实现
用handler延迟,在SplashActivity界面中写如下代码,并禁用返回键 。
private final int SPLASH_DISPLAY_LENGHT = 3000;
……
handler = new Handler();
// 延迟SPLASH_DISPLAY_LENGHT时间然后跳转到MainActivity
handler.postDelayed(new Runnable() {
@Override
public void run() {
Intent intent = new Intent(SplashActivity.this,
MainActivity.class);
startActivity(intent);
SplashActivity.this.finish();
}
}, SPLASH_DISPLAY_LENGHT);
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
①Fragment相关
2)四大组件-Service
3)四大组件-Content Provider
4)四大组件-BroadcastReceiver(广播接收者)
5)重要组件-intent
6)Context类和Application类
7)【Android学习】Android Studio学习
项目结构8)Android系统优缺点
gradle
jar和arr
五大不足:
①安全与隐私
②首先开卖Android手机的不是最大运营商
③运营商仍然能影响到Android手机
④同类机型用户减少:缺少统一机型的程序
⑤过分依赖开发商缺少标准配置:开发依赖第三方,缺少产品统一性 。
优点:
①市场份额大
②应用程序发展迅速
③智能厂家助力
④手机价廉但性能不低
⑤机型多,硬件配置优
⑥系统开源:利于创新,开发者多,方便开发 。
9)常用Manager
3,Android底层1)存储方式(数据持久化)
数据持久化:将内存中的数据模型转化为存储模型 。、
其他存储方式:
redis:一个开源使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库 。
sessionStorage:生命周期为当前窗口或标签页,一旦窗口或标签页被永久关闭了,那么所有通过sessionStorage存储的数据也就被清空了 。
file, sqlite3, Preferences, ContentResolver与ContentProvider前三种数据操作方式都只是针对本应用内数据,程序不能通过这三种方法去操作别的应用内的数据 。
①SQLite数据库
存储结构化数据 。
②File(文件存储、I/O存储)
常用语存储大数量的数据,但是缺点是更新数据将是一件困难的事情 。
分为内部存储和外部存储(SD卡)两种存储方式 。
File.mkdirs和File.mkdir的区别
File.mkdirs在多层目录底下创建文件 。
File.mkdir能在二层目录只能一层创建文件,仅能在已有目录下创建. 对于路径实际不存在的,调用File.mkdirs()方法 。
③SharedPreferences
本质就是一个xml文件,常用于存储较简单的参数设置 。
共享参数,键值对形式存储 。
④网络存储
将数据存储到服务器上 。
⑤ContentProvider存储
查看四大组件-Content Provider 。
ContentProvider的目的是对外暴露数据供其他程序查询 。
推荐阅读
- Android程序员如何快乐地学Activity?
- Android指纹识别,提升APP用户体验,从这里开始
- 作为Android开发者 你知道Android按下开机键到启动发生什么吗?
- Android代码混淆到底是什么?它的好处有哪些?具体效果如何?
- 开发第一个Android应用之前你需要知道的六件事
- 学习Android开发的二十套免费理想资源
- 9款Android经常使用的高速开发框架
- 学会这些你就是Android 开发高手了!
- Android 优化总结
- 探索 Android 内存优化方法