Szy'sky Blog

To Be A Lean Developer!

设计模式之路

灵活之路 - 面向对象六大原则如果下面文字描述,不是很明白那么跳转到后面链接有详细代码说明原则解析 单一职责原则SRP(Single Responsibility Principle) 定义: 就一个类而言, 应该仅有一个引起它的变化的原因. 通俗点就是一个类应该是相关性很高数据封装 举例: 现在有一个图片加载类. 但是这个类内部包含了图片下载的逻辑,图片缓存的逻辑这样就使得这个类的职责过......

面经之Java篇

内容有点多

[TOC] Java基础关键字transient volatiletransient 加了该关键字的属性,不会被序列化。 换句话说,这个字段仅存于调用者内存,而不会写到磁盘里持久化。序列化原理:将待续列化的对象中的信息写入到磁盘或网络流中。序列化中的引用会进行“深度复制”,并且如果两个对象有共同的引用对象,且两个对象都写入同一个流,那么该引用对象不会重复创建,只会创建一次,并还原到虚拟机......

Git操作再识 拥抱开始

这些应该可以满足很多需求了

如果你喜欢GitHub方便日后浏览,也可以点我哦保存. 安装GitLinux $ sudo yum install git 或者 $ sudo apt-get install git Mac 直接在Terminal执行git命令, 如果没有会提示安装方法. 如果喜欢安装程序的话, 点这里 配置文件第一次安装, 千万别要忘了配置你的git的使用者名字和邮箱. 这个道理很简单, 每一次的......

《Android-编程实战》12-远程设备其余通信方式

阅读《Android 编程实战》一书的抄书笔记 –> 对应书籍第18章 Android中的连接技术大多数Android设备都支持多种连接技术. 通常, 例如USB, 蓝牙, Wi-Fi. USB 使用API通过USB进行原始串行通信, 或者使用谷歌专门为访问Android设备硬件配件定义的Android开放配件协议(Android Open Accessory Protoco......

《Android-编程实战》11-网络 Web服务

阅读《Android 编程实战》一书的抄书笔记 –> 对应书籍第17章 Android上的网络调用虽然Android同时支持TCP和UDP通信, 但应用程序的大部分网络调用都是建立在TCP之上的HTTP请求完成的. 网络操作的两个比较重要的规则: 永远不要在主线程做耗时操作 在Service而不是Activity中执行网络操作. 因为有很多情况下, 在Activity中执行......

《Android-编程实战》10-隐藏的Android API

阅读《Android 编程实战》一书的抄书笔记 –> 对应书籍第15章 官方API和隐藏APISDK文档中的所有类, 接口, 方法以及常量都属于官方API. 虽然这些API通常能满足大多数应用的需求, 但开发者有时候需要访问更多的东西, 但却不知道如何在官方API中找到它们. Android SDK中包含了一个JAR文件(android.jar), 在编译代码的时候会引用它, ......

《Android-编程实战》09-Android应用安全问题

阅读《Android 编程实战》一书的抄书笔记 –> 对应书籍第14章 Android安全的概念Android具备一个先进的安全模型来保护应用数据和服务不被其他应用访问. 每个应用都有自己的唯一ID来提供最基本的保护. 每个应用都经过它唯一的密钥签名, 这种机制是Android框架中的安全模型基础. 此外只有当其他应用在清单文件中显式声明了正确权限后, Android的权限系统......

《Android 编程实战》08-高级音频,视频及相机应用

阅读《Android 编程实战》一书的抄书笔记 –> 对应书籍第11章 高级音频应用Android音频API提供了一些高级功能, 开发者可以把他们集成到自己的应用中. 有了这些API, 就可以很容易的实现VoIP网络电话, 构建定制的流媒体音乐客户端, 实现低延迟的游戏音效. 此外, 还有提供文本到语音转换以及语音识别API, 用户可以直接使用音频和用户交互, 而不需要使用用户界......

《Android 编程实战》07-序列化说明

阅读《Android 编程实战》一书的抄书笔记 –> 对应书籍第9章 数据存储的介绍谈到数据数据存储通常会使用持久化, 而用序列化描述数据是如何表现其存储状态的. 如果没有数据的持久化, 那么数据还能在RAM中保持其状态, 一旦相关进程结束数据就会消失. 实现数据的持久化通常涉及性能, 延迟, 数据大小和复杂度等因素的这种. 例如, 快速的数据读取往往会导致较慢的写入. 序列化就......

《Android 编程实战》06-重识 BroadcastReceiver

阅读《Android 编程实战》一书的抄书笔记 –> 对应书籍第8章 BroadcastReceiverAndroid中发送广播事件最常用的方式是通过Content.sendBroadcast()方法给BroadcastReceiver发送Intent对象. 许多标准系统事件都被定义成操作字符串, 并可以在Intent类的API文档中查看. 例如, 如果需要在用户连接或者断开充电......

《Android 编程实战》05-重识 IPC

阅读《Android 编程实战》一书的抄书笔记 –> 对应书籍第7章 Binder简介Android有一个强大的功能, 就是能够在不同应用程序之间进行通信. 绝大部分的实现都是由Binder IPC(Inter-Process Communication)进行处理的. Android中的Binder有着悠久的历史. 最终它的名字叫做OpenBinder, 是Be公司开发的Be操作......

《Android 编程实战》04-手势操作进阶, 重识Service

阅读《Android 编程实战》一书的抄书笔记 –> 对应书籍第五,六章 设计自定义视图View的声明周期View也有自己的声明周期. 该生命周期并不直接和展示它的Fragment或者Activity相连, 相反它和显示它的窗口状态以及渲染循环相关 当视图被添加到View层级结构中时, 第一个被回调的函数是View.onAttachedToWindow(), 这标志着它现在可以加......

《Android 编程实战》03-组件 清单 资源和UI闲聊

阅读《Android 编程实战》一书的抄书笔记 –> 第三,四章 应用程序清单 AndroidManifest是一个定义各种组件以及应用程序各个方向的XML文件. 该清单是所有Android的核心. manifest元素AndroidManifest.xml文件的根节点元素是manifest. 应用程序的包名和唯一识别符都定义在该节点. 还可以在该节点中定义Linux用户ID......

《Android 编程实战》02-Android上编写高效Java

阅读《Android 编程实战》一书的随记笔记 –> 第二章 Dalvik Java和Java SE在Android设备上运行的VM成为Dalvik. 适用于CPU和内存受限的移动设备. Java SE和Dalvik Java存在一些差异, 这些差异主要体现在虚拟机上. Java SE: 使用了栈机设计 Dalvik: 使用了基于寄存器的机器的设计 Android SDK中......

《Android 编程实战》01-完善开发环境和优化

阅读《Android 编程实战》一书的随记笔记 Android SDK 进一步了解SDK基本我们都是确保为最新的. 更新SDK最简单的方法就是命令行: $ android update sdk --no-ui 命令脚本在SDK安装目录的tools文件夹下. 对于之后对其例如tools, platform-tools, gradle的全局环境配置就不单独说明. 说一下mac下的配置/Use......