ActionMode 就记这么一点,不能更多了
话说程序猿都是段子手,看到有的程序猿写文章,前面都会先写一个段子,我这么有幽默感的段子手,也决定效仿一下。 “段子。” 写完段子,下面开始进入正题。 今天要说的 ActionMode 是 Android 提供的一种实现菜单方式。Android 实现菜单的方式有很多种,比如 ActionBar、ToolBar、ContextMenu、OptionMenu、PopupMenu、Po...
话说程序猿都是段子手,看到有的程序猿写文章,前面都会先写一个段子,我这么有幽默感的段子手,也决定效仿一下。 “段子。” 写完段子,下面开始进入正题。 今天要说的 ActionMode 是 Android 提供的一种实现菜单方式。Android 实现菜单的方式有很多种,比如 ActionBar、ToolBar、ContextMenu、OptionMenu、PopupMenu、Po...
什么是AppWidget AppWidget 即桌面小部件,也叫桌面控件,就是能直接显示在Android系统桌面上的小程序,先看图: 图中我用黄色箭头指示的即为AppWidget,一些用户使用比较频繁的程序,可以做成AppWidget,这样能方便地使用。典型的程序有时钟、天气、音乐播放器等。AppWidget 是Android 系统应用开发层面的一部分,有着特殊用途,使用得当的化,的确...
上次写了一篇《单例模式那件小事,看了你不会后悔》的文章,总结了常用的单例模式的实现。本文是上文的延续,单例模式绝不是一件小事,想弄清楚,真不是那么简单的。上文提到了常用的三种单例模式的实现方法:饿汉式(除了提前占用资源,没毛病。),懒汉式(DCL优化过后,没毛病?),静态内部类式(优雅的方法,没毛病。)。文末最后还提到,反射会破坏单例。 本文继续,双重检查锁定优化过后的懒汉式,真的没毛病吗...
快速设定面板上快捷开关的加载流程,包括图标等的加载和点击事件等的处理过程,以及创建一个快捷开关的主要过程(以增加一个锁屏开关为例)。本文所讨论的Android版本为5.1。 快捷开关的加载流程 资源模块的加载 config.xml是程序的一些配置信息。在创建快捷开关时需要按照参数配置文件config.xml来加载快捷开关信息。参考源码QSTileHost.java的实现,主要过程: ...
SharedPreferences 是 Android 数据存储方式中的一种,特别适合用来存储少量的、格式简单的数据,比如应用程序的各种配置信息,如是否打开音效,是否开启震动等等。 SharedPreferences 存储数据的位置和格式 SharedPreferences 将数据以键值对的形式,存储在 /data/data//shared_prefs 目录下面,以 XML 的格式保存,该...
欢迎关注下文:单例模式不是一件小事,快回来看看 单例模式是一种创建型模式,某个类采用单例模式,则在这个类被创建后,只可能产生一个实例供外部访问,并且提供一个全局的访问点。 主要思想如下: 将构造方法私有化( 声明为 private ),这样外界不能随意 new 出新的实例对象; 声明一个私有的静态的实例对象,供外界使用; 提供一个公开的方法,让外界获得该类的实例对象。 ...
一、关于 drools 规则引擎 前面写过一篇 Drools 规则引擎相关的文章,这篇文章主要记录一下规则引擎的环境搭建和简单示例。不熟悉 drools 的朋友可以看看这篇文章: 自己写个 Drools 文件语法检查工具——栈的应用之编译器检测语法错误 介绍的内容: Drools 规则引擎的使用场景 Drools 规则引擎的优点 Drools的基本工作工程(Fact对象、D...
提到设计模式,就有一种高逼格的感觉。其实不然,比如这篇文章要说的适配器模式,真的就很简单。简单到很多面向对象语言的初学者在不知不觉中就用到了,只是自己不知道而已。生活中有很多适配器的例子,如电压转换器、各种接口转换器等等。下面就以电脑外设接口为例说明。 本屌丝的电脑接口为USB,假设要接入我这台电脑使用的外设都需要实现 USB 接口才行,抽象为程序如下: 首先定义一个USB接口,接口中有...
消息机制,对于Android开发者来说,应该是非常熟悉。对于处理有着大量交互的场景,采用消息机制,是再好不过了。有些特殊的场景,比如我们都知道,在Android开发中,子线程不能更新UI,而主线程又不能进行耗时操作,一种常用的处理方法就是,在子线程中进行耗时操作,完成之后发送消息,通知主线程更新UI。或者使用异步任务,异步任务的实质也是对消息机制的封装。 关于子线程到底能不能更新UI这个问...
大多数编程语言相关的学习书籍,都会以hello,world这个典型的程序作为第一个示例。作为Android应用开发者,无论使用eclipse还是用android studio,在新建项目的时候,一直按IDE默认选择项,下一步进行下去,就会创建出一个可以运行的hello,world应用程序。对于这个程序,可以认为是采用MVC模式,对应关系为: View:对应于布局文件 Model:业...