SDK开发基本规范
技术归档

SDK开发基本规范

SDK开发基本规范 调用简单 SDK集成成本 调用简单 功能可定制 功能可扩展 便于调试 API接口设计 接口命名、参数名称规范 命名(方法名称、参数)明确无歧义,宁可名称长,不可出现词不达意,例如:name与userName, 通用名称要统一,例如:userId与userID与mUserID; 能不用缩写尽量不用缩写 一个接口尽量只做一件事 条理清晰 调用者可能后面会有不同组合使用 参数设计 一些固定的参数可以通过config配置参数在SDK初始化的时候设置 接口参数尽量少 参数过多,可合并成一个对象 能同步尽量同步调用,返回结果能不用回调就别用回调 多线程能自己处理就自己处理

  • 浩浩乎
2 min read
架构需要解决的四大问题
架构

架构需要解决的四大问题

确定系统边界 确定系统内部的模块关系,模块跟环境之间的关系 指导后期研发的原则 确定非功能性需求 性能:响应时间或延迟 可用性:99.9%意味着每天一分钟故障 安全性: 可以参考OWASP,open web application security project 可扩展性:可以做现在还不能做的事情 可伸缩性:更多用户,请求和数据的处理能力 灾难恢复:业务连续性过程 可访问性:www.w3.org/standards/webdesign/accessibility 监测:

  • 浩浩乎
1 min read
git分享
git

git分享

Git 教程 推荐软件 SourceTree Git与SVN SVN Git 集中式 分布式 集中式与分布式 网络 集中式版本控制:中心所有事件都需要访问中央服务器 分布式版本控制:在离线状态下可以看到所有的Log 安全性 集中式版本控制:中央服务器崩溃所有人无法提交代码 分布式版本控制:提交本地版本库,分布式中任何两个主机都可以当做“中央服务器” 分支 集中式版本控制:复制一份代码和日志记录 分布式版本控制:获取文件的每个版本的元素,然后只载入主要的分支(master 本地分支 集中式版本控制:无法创建 分布式版本控制:

  • 浩浩乎
2 min read
代理模式
技术归档

代理模式

定义 proxy 为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 结构型模式 应用场景 不直接操作对象的情况下,对此对象进行访问(Windows 里面的快捷方式) 在我们确实需要这个对象时才对它进行创建和初始化 控制访问 改变其内部功能 成员 抽象角色:通过接口或抽象类声明真实角色实现的业务方法。 代理角色:实现抽象角色,是真实角色的代理,通过真实角色的业务逻辑方法来实现抽象方法,并可以附加自己的操作。 真实角色:实现抽象角色,定义真实角色所要实现的业务逻辑,供代理角色调用 client(客户端):初始化抽象 结构图 实现与被代理类组合 示例代码

  • 浩浩乎
2 min read
android-触摸事件全解析
Android

android-触摸事件全解析

事件的核心传递机制 |Touch 事件相关方法|方法功能|ViewGroup|View|传递方向| |-|-|-| |dispatchTouchEvent|事件分发|yes|yes|从根布局到子布局| |onInterceptTouchEvent|事件拦截|yes|no|从根布局到子布局| |onTouchEvent|事件响应|yes|yes|从子布局到根布局| 点击、长点击、双击事件与触摸事件的关系 onTouch和onTouchEvent有什么区别 这两个方法都是在View的dispatchTouchEvent中调用的,onTouch优先于onTouchEvent执行。如果在onTouch方法中通过返回true将事件消费掉,onTouchEvent将不会再执行

  • 浩浩乎
1 min read
Activity生命周期简述
Android

Activity生命周期简述

生命周期 各生命周期的作用 onCreate() 方法内必须调用setContentView() 初始化 创建视图 将数据绑定到列表 处理Bundle 对象 “全局”线程 onStart() 在 Activity 即将对用户可见之前调用 调用后才被可见 onResume() 在 Activity 即将开始与用户进行交互之前调用 初始化 开启动画 onPause() 可能不会调用 onStop() 和 onDestroy(),在onPause()向存储设备写入至关重要的持久性数据 尽量不处理复杂逻辑,以免影响流畅度 对持久性数据的未保存更改 停止动画以及其他可能消耗

  • 浩浩乎
4 min read