Go语言中的常量和枚举
主要讲解Go语言中常量和枚举定义和使用 主要知识点: Go语言中定义常量,名称不使用大写 定义常量的两种方式,单个定义和集中定义 枚举的几种定义方式 使用 iota 关键字 实现 枚举值的 设置 以下为代码示例: package main
import "fmt"
//Go 中的常量名称不用大写,在Go中大写变量名有其它含义
//定义一组常量
const(
a1="aa"
b2=1.26
)
//在函数中单个定义常量
func consts(){
const filename
Android AutoLayout全新的适配方式 堪称适配终结者
转载自鸿洋大神的博客http://blog.csdn.net/lmj623565791/article/details/49990941
说明一点,我只是为了留着以后使用方便,不喜,勿喷,谢谢合作!!
一、概述
相信Android的开发者对于设配问题都比较苦恼,Google官方虽然给出了一系列的建议,但是想要单纯使用这些建议将设备很轻松的做好,还是相当困难的。个人也比较关注适
每个App都会用到的LoadingLayout(加载中、正在加载、无网络连接等......)
http://gold.xitu.io/post/583c242061ff4b006b59c7fb
项目里都会遇到几种页面,分别为加载中、无网络、无数据、出错四种情况,经常要使用,所以封成库引用了,方便使用,顺便分享出来。先看一下效果:
原理比较简单,继承FrameLayout,在xml渲染完成后,加上加载中、无网络、无数据、出错四个页面,根据需要控制显示哪一层,花了些时间,开了很
深度了解Android 7.0 ,你准备好了吗?
WeTest 导读
8月22日,谷歌正式推送Android 7.0 Nougat(牛轧糖)正式版,首发推送了多款Nexus设备。除了修复常规BUG,Android 7.0还新增了分屏、新的Notification、VR支持等新特性。
8月22日,谷歌正式推送Android 7.0 Nougat(牛轧糖)正式版,他们还会三个月一次推送开发版,而曝光的消息看,第一个开发版就是A
仿系统闹钟,实现更新安装之后还可以响铃,开机启动功能需要手机自带开机自启动
忽然飞来一个新的需求,APP的日程安排需要添加一个闹钟提醒,我的天,这是要逆天啊,刚开始做的时候,没想那么多,因为了解的少吗,再加上不知道QQ和微信等已经被厂商加入了白名单,本来想也就是几天的工作量,没想到结果一做就是一星期,感觉脑细胞已经死光,我还能不能知道1+1=3啊
在15年使用过一个软件,灵犀语音助手(我不是在打广告,他也不给我钱),他的功能是可以语音定时,告诉他定时时间和需要做的任务,
recyclerview封装好的链接
1.自定义上下拉帅新
https://github.com/nuptboyzhb/SuperSwipeRefreshLayout
2.x系列的view
https://github.com/jianghejie/XRecyclerView
3.维护中的view
swipetoloadlayout
View的事件分发机制
android事件分发的知识。比如:onTouch和onTouchEvent有什么区别,又该如何使用?为什么给ListView引入了一个滑动菜单的功能,ListView就不能滚动了?为什么图片轮播器里的图片使用Button而不用ImageView?等等……对于这些问题,我并没有给出非常详细的回答,因为我知道如果想要彻底搞明白这些问题,掌握Android事件分发机制是必不可少的,而Android事件
View事件分发机制(一)
只是做一个总结,其他的下篇文章再讲1. 同一个事件序列是指从手指接触屏幕的一刻开始,到手指离开屏幕的一刻结束,在这个过程中所产生的一系列事件,这个事件序列冲down事件开始,中间有数量不定的move事件,到up事件结束。2. 正常情况下,一个事件序列,只能被一个View拦截且消耗,这一条原因可以参考 3,因为一个元素一旦拦截了某次事件,那么同一个事件序列内的所有事件都会交给这个元素来处理,因此同一...
事件分发机制(二)—— Activity 的事件分发机制之源码分析
1. Activity 对点击事件的分发过程点击事件用 MotionEvent 来表示,当一个点击操作发生时,事件最先传递到当前的 Activity,由Activity 的 dispatchTouchEvent 来进行事件的派发,具体的工作是由 Activity 内部的 Window 来完成的。Window会将事件传递给 decor view,decor view一般就是当前界面的底层容器(即 s...
事件分发机制(三)—— 顶级 View 的事件分发机制之源码分析
关于点击事件如何在 View 中进行分发,上一篇文章已经做了详细的介绍,这里就不做过多的解释了,下边我们来看顶级 View 是如何进行事件的分发的。首先看 ViewGroup 的点击事件分发过程,其主要实现在 ViewGroup 的 dispatchTouchEvent 方法中。这个方法比较长,我们分段说明。先看下边的代码,很显然,它描述的是当前 View 是否拦截点击事件这个逻辑。 // ...
事件分发机制(三)—— View 的事件分发机制之源码分析
View 对事件的处理过程要稍微简单一些,注意 View 不包含 ViewGroup,先看下它的 dispatchTouchEvent 方法如下: /**
* Pass the touch screen motion event down to the target view, or this
* view if it is the target.
*
...
并发编程之 ThreadLocal 源码剖析
前言 首先看看 JDK 文档的描述: 该类提供了线程局部 (thread-local) 变量。这些变量不同于它们的普通对应物,因为访问某个变量(通过其 get 或 set 方法)的每个线程都有自己的局部变量,它独立于变量的初始化副本。ThreadLocal 实例通常是类中的 private static 字段,它们希望将状态与某一个线程(例如,用户 ID 或事务 ID)相关联。 每个线程都保持对其线程局部变量副本的隐式引用,只要线程是活动的并且 ThreadLocal 实例是可访问的;在线程消
c++设计模式——单例模式
单例模式: 一个类只允许创建唯一的对象 禁止在类的外部创建对象:私有化构造函数:private或protected 类的内部维护唯一对象:静态成员变量 提供访问单例对象的方法:静态成员函数,返回在类内部唯一构造的实例 创建方式: --》饿汉式:单例对象无论用或不用,程序启动即创建。 --》懒汉式:单例对象在用的时候再创建,不用即销毁。 实现: 一: #include <iostream> using namespace std; class Singleton { public: static
并发编程之 CopyOnWriteArrayList 源码剖析
前言 ArrayList 是一个不安全的容器,在多线程调用 add 方法的时候会出现 ArrayIndexOutOfBoundsException 异常,而 Vector 虽然安全,但由于其 add 方法和 get 方法都使用了 synchronized 关键字,导致在并发时的性能令人担忧,因此,伟大的 Doug Lea 编写了 CopyOnWriteArrayList 并发容器,用于替代并发时的 ArrayList,而该类的类名叫 “写的时候拷贝集合”。也非常符合他的设计,那么,我们就看看他
并发编程之 LinkedBolckingQueue 源码剖析
前言 JDK 1.5 之后,Doug Lea 大神为我们写了很多的工具,整个 concurrent 包基本都是他写的。也为我们程序员写好了很多工具,包括我们之前说的线程池,重入锁,线程协作工具,ConcurrentHashMap 等等,今天我们要讲的是和 ConcurrentHashMap 类似的数据结构,LinkedBolckingQueue,阻塞队列。在生产者消费者模型中,该类可以帮助我们快速的实现业务功能。 如何使用? 源码分析 1. 如何使用? 我们在生产者消费者模型,生产者向一个数据
Oracle数据库基础2-关键字
--1.Select...From 查询数据
SELECT * FROM t_users;--查询表中的所有数据;实际工作中不建议这样写;
SELECT t.*,t.rowid FROM t_users t;--查询并编辑表中的所有数据,t是系统自动生成的别名,rowid在这里表示伪列,代表每一行数据唯一的标识符,在oracle内部通常就是使用它来访问数据的;
--2.insert into -插入数据(进行增删改的操作的时候, 一定记得提交);
INSERT INTO t_users VAL
Python-集合 字典-set dict
集合 set 1. 无序 2. 去重 3. 定义空集 set() numbers = {1, 3, 4, 5, 6, 5, 4, 4, 7, 8}
print(numbers)
print(numbers) 集合操作 1. 求差集 - .difference 2. 求交集 & .intersection 3. 求并集 | .union student_python = {"xiaoWang", "xiaoMing", "lvChaBiao
算法学习-求两个整数的最大公约数
package com.me.main; import java.util.Scanner; /** * 求最大公因数 */ public class BigCommonFactor { public static void main (String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("please input first number
今日推荐
周排行