【Android 应用开发】 Android 相关代码规范 更新中 ...(一)

简介: 【Android 应用开发】 Android 相关代码规范 更新中 ...(一)

一. 包结构规范





1. 基本包, 业务包, 测试包



包基础结构 :


-- base 包 : 应用中常用的公共包 和 类放在该包中, 例如 工具类, SQLiteOpenHelper, 配置类, Application, 各种类的基类 等;


-- business 包 : 应用中的实际业务包, 这个包存放 与 app 业务相关的具体实现的类 和 包;


-- test 包 : 用于存放单元测试 和 测试用例相关的包;




示例 :

image.png







2. 根据类型将 Java 类 分入不同包中



UI 相关 :


-- activity : 存放 Activity 相关的包;


-- fragment : 存放 Fragment 相关类;


-- widget : 存放自定义组件相关类;




适配器相关 :


-- adapter : 各种适配器, 尤其是 BaseAdapter 子类;




Java Bean相关 : 下面的两种包名经常存放 JavaBean 对象;


-- bean :


-- domain :




工具类相关 :


-- utils : 存放工具类;




监听器相关 :


-- listener : 存放各种监听器, 如按钮点击监听器等等;




数据库相关 :


-- sqlite : 存放数据库相关的包;




业务相关 :


-- engine : 存放业务逻辑相关类;








二. Application 代码规范





1. Application 单例规范



单例属性 : Application 本身就是单例模式, 在整个应用中, 只存在一个 Application 对象;




实现 Application 单例 :


-- 定义 Application 类型对象 : 在 自定义的 Application 中定义一个 Application 类型的函数;



private static QIApplication INSTANCE;

-- 定义共有构造方法 :


/**
  * 构造方法构造 Application
  */
  public QIApplication() {
  INSTANCE = this;
  }
-- 公共, 静态方法获取对象 : 在任何类中, 都可以调用该方法, 获取 Application 上下文对象;
  /**
  * 获取 Application 使用该函数可以在任意位置获取 Application 中的数据
  * @return
  */
  public static QIApplication getInstance() {
  return INSTANCE;
  }





2. Application 用于组件间数据传递 和 数据缓存



在   【Android 应用开发】 Application 使用分析  博客中有这方面的讲解;


Application 组件间数据传递 , Application 数据缓存;






3. Application 常用框架



代码示例 :



public class MyApplication extends Application {
  private static MyApplication INSTANCE;
  /** 用于数据传递的 Map 集合 */
  private Map<String, Object> transferMap;
  /** 用于缓存数据的 Map 集合 */
  private Map<String, Object> cacheMap; 
  /**
  * 构造方法构造 Application
  */
  private MyApplication() {
  INSTANCE = this;
  }
  /**
  * 获取 Application 使用该函数可以在任意位置获取 Application 中的数据
  * @return
  */
  public static MyApplication getInstance() {
  return INSTANCE;
  }
  @Override
  public void onCreate() {  
  super.onCreate();
  // 初始化用于数据传递的 Map 集合
  transferMap = new HashMap<String, Object>();
  // 初始化用于数据缓存的 Map 集合
  cacheMap = new HashMap<String, Object>();
  }
  /**
  * 获取数据传递 Map 集合
  * @return
  *   数据传递 Map 集合
  */
  public Map<String, Object> getTransferMap() {
  return transferMap;
  }
  /**
  * 向 transferMap 集合中添加数据元素
  */
  public void putTransferMapElement(String key, Object object) {
  transferMap.put(key, object);
  }
  public Object getTransferMapElement(String key) {
  return transferMap.get(key);
  }
  /**
  * 向 transferMap 数据中移除对应的数据元素
  */
  public void removeTransferMapElement(String key) {
  transferMap.remove(key);
  }
  /**
  * 获取数据缓存 Map 集合
  * @return
  *   数据缓存 Map 集合
  */
  public Map<String, Object> getCacheMap() {
  return cacheMap;
  }
}



目录
相关文章
|
1月前
|
Ubuntu 网络协议 Java
【Android平板编程】远程Ubuntu服务器code-server编程写代码
【Android平板编程】远程Ubuntu服务器code-server编程写代码
|
3月前
|
人工智能 IDE 开发工具
Studio Bot - 让 AI 帮我写 Android 代码
Studio Bot - 让 AI 帮我写 Android 代码
152 1
|
9月前
|
IDE 数据可视化 Java
Android自动生成代码,可视化脚手架之基础信息配置
今天的内容比较简单,大致过一下Electron一些基本用法,虽然说这些比较简单,但又是不得不去了解的,正如做Android的我们,也不是一上来就会的,需要一个循序渐进的过程,下一章,我们再去实际的开发功能。
133 0
|
2月前
|
Ubuntu 网络协议 Linux
【Linux】Android平板上远程连接Ubuntu服务器code-server进行代码开发
【Linux】Android平板上远程连接Ubuntu服务器code-server进行代码开发
49 0
|
3月前
|
安全 算法 JavaScript
安卓逆向 -- 关键代码定位与分析技术
安卓逆向 -- 关键代码定位与分析技术
39 0
|
3月前
|
安全 Android开发 数据安全/隐私保护
代码安全之代码混淆及加固(Android)
代码安全之代码混淆及加固(Android)
40 0
|
4月前
|
安全 Java Android开发
Android App开发之安全加固中反编译、代码混淆、第三方加固以及重签名的讲解及实战(图文解释 简单易懂)
Android App开发之安全加固中反编译、代码混淆、第三方加固以及重签名的讲解及实战(图文解释 简单易懂)
70 0
|
6月前
|
XML Java Android开发
Android 解决使用CocosCreator开发产品上架应用市场代码重复问题
Android 解决使用CocosCreator开发产品上架应用市场代码重复问题
272 0
|
7月前
|
JSON dexposed Java
一文总结 Android 隐私合规代码思路
一文总结 Android 隐私合规代码思路
|
7月前
|
SQL 程序员 Android开发
一行代码,利用 android studio自带的 liveTemplate 快速生成单例模式,程序员偷懒神器
一行代码,利用 android studio自带的 liveTemplate 快速生成单例模式,程序员偷懒神器