Android M的运行时权限相关要点

2016-11-17 更新:如果已经了解运行时权限的基本使用,可以直接参考这篇文章:Android M 权限最佳实践 样例代码:https://github.com/kinneyyan/RuntimePermissionSample 1. 新的权限机制6.0 开始将权限分为两类。 一类是 Normal Permissions,这类权限一般不涉及用户隐私,...

阅读全文

Android中分割线的常见做法

背景平时我们在开发中做分割线是非常频繁的事情,这里总结一下水平、垂直的实线、虚线的常见做法。对于垂直虚线给出了比较靠谱的解决方法。 水平、垂直实线1 若是在 LineayLayout 中需要添加分割线,可以在布局文件中使用如下两个属性: 12android:divider="@drawable"android:showDividers =...

阅读全文

ActionBar自定义样式总结

以下所有的配置都在 style.xml 中,使用 Theme.AppCompat 自定义 ActionBar 背景、标题字体样式(背景的自定义如果配合使用 Toolbar 完全可以设置 colorPrimary 属性,没必要用以下的方法) 123456789101112131415<style name="CustomActionBarT...

阅读全文

使用 SectionIndexer 实现微信通讯录的效果

最近在公司项目中看到用 SectionIndexer 来实现 ListView 的分组滚动实现通讯录导航的效果,这里我单独的写个 demo 出来。

SectionIndexer:根据官方文档说,它是一个给 Adapter 去实现、用来在 AbsListView 中实现 section 之间的快速滚动的接口(翻译拙计见谅)。一个 section 相当于一组具有共同特性的 list 数据。比如,它们有相同的首字母。

知道它的定义了,那怎么使用它呢?本人口拙,咱们还是上代码说话~

先看要实现的效果图:

SectionIndexerDemo.gif

阅读全文

如何写线程安全的单例模式

前几天面试要写一个单例模式,我想这还不简单,唰唰几下后面试官又抛出了问题:如何应对多线程并行使用的情况?oshit……之前写单例都没有特别考虑过线程安全的问题,当时我是在获取实例变量的方法改成了同步方法,面试官说这样并不高效,同步操作只会在第一次调用时才被需要。当时有点懵了,不知道怎么搞了,后来写了个饿汉式的单例模式给他……面试官也没深究下去,囧。 所以回来...

阅读全文

Android的tools命名空间使用详解-2

原文链接:https://medium.com/sebs-top-tips/tools-of-the-trade-part-2-b91271892d10 在上篇文章中我们了解到 tools 命名空间可以被用来只在写 xml 布局文件期间覆盖任何 attribute,也可以帮助我们更好地使用 Lint。当然,tools attributes 还有其他为我们...

阅读全文

Android的tools命名空间使用详解-1

想必 android 开发的小伙伴在布局文件中经常会看到 xmlns:tools="http://schemas.android.com/tools" 但是实际开发过程中我们却很少用到 tools 中的东西。 最近读了国外写的关于 tools 命名空间的博文,觉得很有必要写一篇中文版的。英文好的小伙伴直接去看原文吧~ 原文链接:http...

阅读全文

《黑客与画家》读书笔记

《黑客与画家》最近一口气把它读完了,感觉非常适合程序猿、互联网从业者、创业者去好好读一读。以下整理了我在阅读过程中记录的书摘,受益匪浅。 2 黑客与画家 再比如,我们使用代码的行数考核程序员的工作效率。这样的考核容易实施,而容易实施的考核总是首先被采用。 唯一有效的外部考核就是时间。经过岁月的洗礼,优美的东西生存发展的机会更大,丑陋的东西往往会被淘...

阅读全文

Java7中的NIO.2

Java7 对原有的 NIO 进行了重大改进,叫 NIO.2。 其中之一就是提供了全面的文件 IO 和文件系统访问支持,新增了 java.nio.file 包及各个子包。 NIO.2 引入了 Path 接口,Path 接口代表一个平台无关的平台路径;还提供了 Files、Paths 两个工具类,Files 包含了大量静态的工具方法来操作文件,Paths 则包...

阅读全文

Git简明指南&GitHub资料汇总

在网上找到一个都是大白话的 Git 指南,以及分享了自己收集的一些 GitHub 的学习链接。 git 简明指南 转自:http://rogerdudler.github.io/git-guide/index.zh.html 安装下载 git OSX 版 下载 git Windows 版 下载 git Linux 版 创建新仓库创建新文件夹,打开,然后执行...

阅读全文