自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Cody Yang

欢迎大家到我的个人博客 yangyuanguang.com

  • 博客(19)
  • 资源 (7)
  • 收藏
  • 关注

原创 每周TODO知识点总结 第一期

Java基础相关1、正则表达式里,字符串“*”写成“\\*”,“\”写成“\\\\”,为什么?注意以下两点:1.字符串里面表示斜杠就需要两个斜杠如“\\”2.正则表达式里的斜杠需要转意,是用“\”标示。所以对于“\\\\”,第一个斜杠是转义符,第二个斜杠是斜杠本身,第三个斜杠是转义符,第四个斜杠是斜杠本身。这样就成了4个斜杠在正则表达式里面表示一个斜杠。更多知识点:引用说明:有正斜杠与反斜杠

2016-10-30 17:35:02 813

原创 Android 动态绘制圆形进度条

效果图实现思路在画布上直接绘制View,需要了解一下几点 1.需要画一个底层小圆和上层大圆 2.圆圈上有不同进度的颜色 3.颜色的变化规律是先慢慢变多再慢慢减少 一、画圆需要使用Canvas的该方法 public void drawArc(@NonNull RectF oval, float startAngle, float sweepAngle, boolean useCenter

2016-10-29 20:08:34 4131

原创 React Native环境配置血泪爬坑

下载gradle文件超时进入AwesomeProject目录,$ cd AwesomeProject,然后在AwesomeProject目录下运行$ react-native run-android,就会构建工程并自动安装到你的模拟器或者设备,同时启动用于实现动态代码加载的Node服务。第一次运行的时候,会下载gradle文件,然而在我们的办公网络环境运行就会报下面的错:ConnectExcepti

2016-10-29 17:44:48 1560

原创 Scala Cookbook读书笔记 Chapter 4.Classes and Properties 第二部分

4.8 分配块或函数给字段使用代码块或者调用一个函数初始化类里的字段4.8.1 解决方案设置字段等于需要的代码块或者函数class Foo { // set 'text' equal to the result of the block of code val text = { var lines = "" try { li

2016-09-29 14:35:29 599

原创 Scala Cookbook读书笔记 Chapter 4.Classes and Properties 第一部分

4.0 本章概述尽管Scala和Java有很多相同点,但是类的声明,类构造函数和字段可见控制是两者之间最大的不同。Java是更加冗长,Scala是更加简洁。4.1 创建主构造函数问题:创建主构造函数和Java不同4.1.1 解决方案Scala的主构造函数由下面几部分组成: 构造器参数类的主体部分被调用的方法类的主体部分执行的语句和表达式Scala类主体部分声明的字段处理方式和Jav

2016-09-27 14:24:08 659

原创 Scala Cookbook读书笔记 Chapter 3.Control Structures 第二部分

3.8 使用一个case语句匹配复杂条件几个匹配条件要求执行相同的业务逻辑,而不是使用多个case重复业务逻辑,想要使用的是匹配条件的业务逻辑的复制。3.8.1 解决方案使用 | 分隔符将相同的业务逻辑的匹配条件放置到同一行上val i = 5i match { case 1 | 3 | 5 | 7 | 9 => println("odd") case 2 | 4 | 6 |

2016-09-18 12:08:01 634

原创 Scala Cookbook读书笔记 Chapter 3.Control Structures 第一部分

3.0 总体介绍Scala中的if/then/else结构和Java中很像,但是它还可以用来返回一个值。比如Java中用的三目运算,在Scala中只需要使用正常的if语句即可。val x = if (a) y else ztry/catch/finilly结构和Java中很像,但是Scala中的catch部分使用的是模式匹配。Scala中可以使用2个for循环读取文件的每行,然后在每行上操作每个

2016-09-14 18:24:28 782

翻译 Scala Cookbook翻译 Chapter 2.Numbers 第二部分

2.4 代替++和–问题:你想要在其他语言用++和–操作符增长数值或减少数值,但是在Scala中没有这些运算符。2.4.1 解决方案因为val字段时不可改变的,他们不能增加或者减少,但是var整形字段可以通过+=和-=方法改变。scala> var a = 1a: Int = 1scala> a += 1scala> println(a)2scala> a −= 1scala> print

2016-09-08 14:09:50 823

翻译 Scala Cookbook翻译 Chapter 2.Numbers 第一部分

总体介绍Scala中所有的数值类型都是对象,包括Byte,Char,Double,Float,Int,Long和Short。这7个数值类型继承自AnyVal特质,Unit和Boolean类被认为是“非数字的值类型”。这七个内置的数值类型有相同的数据范围,和java中是等价的。Data type RangeChar 16-bit unsigned Unicode character

2016-09-07 18:34:40 738

翻译 Scala Cookbook翻译 Chapter 1.Strings 第三部分

1.8 提取一个匹配模式的字符串的部分问题:你想要提取出一个字符串中的一个或多个部分,以匹配你指定的正则表达式模式。1.8.1 解决方案定义要提取的正则表达式模式,将圆括号放在他们周围,所以可以把它们作为“正则表达式组”,首先定义所需的模式:val pattern = "([0-9]+) ([A-Za-z]+)".r然后从目标字符串中提取正则表达式组val pattern(count, fru

2016-09-06 20:45:54 923

翻译 Scala Cookbook翻译 Chapter 1.Strings 第二部分

1.5 遍历字符问题:你想遍历字符串中的每个字符,在遍历字符串时对每个字符进行操作。1.5.1 解决方案:根据你的需求和喜好,你可以使用map或者foreach方法,一个是循环,另一个是其他方法。map把输入字符转成大写的例子scala> val upper = "hello, world".map(c => c.toUpper)upper: String = HELLO, WORLD//

2016-09-05 19:58:05 653

翻译 Scala Cookbook翻译 Chapter 1.Strings 第一部分

Scala Cookbook读书笔记 Chapter 1.Strings 11.0 总体介绍Scala中的String类型就是Java中的String,所以可以使用Java中String的一些方法。Scala提供了隐式转换,String也可以使用StringOps类的所有方法,此时可以把String当做字符序列,可以利用foreach迭代打印每个字符

2016-09-03 10:51:12 1254

原创 各大Android开发群问题总结及解决

各大Android开发群问题总结及解决标签(空格分隔): Android1、 android比较好用的websocket三方库 websocket老是会自动断socket.io 采用轮询的方式,会定时发心跳包检测连接状态,基于事件通信。服务端nodejs,客服端java,ios都有支持库android端可以基于这个库封装你自己的推送和即时聊天框架包含有websocket的,底层基于ok

2016-05-31 16:17:45 1117

原创 解决两个ViewPager的冲突事件

情景还原:一种方法是在内部ViewPager调用时设置点击侦听。 不过这个方法有一个bug,就是快速滑动内部ViewPager时此方法可能来不及调用,事件直接返回给了外部ViewPager//对子view实现setOnTouchListener(new ...)监听,在onTouch()方法里,进行拦截。// 调用当前子view的onInterceptTouchEvent()方法。viewpa

2016-04-27 16:09:56 2537

原创 JNI之C语言多级指针剖析

一级指针假设在内存中定义一个一级指针#include <stdio.h>#include <stdlib.h> main() { int i = 3; int * j; //定义一级指针j j = &i; //把i的地址赋给指针j printf("%d\n", i); //打印整形变量i,即i的内容

2016-04-23 16:25:32 885

原创 使用ViewPager和Fragment实现底部导航滑动重构版

感谢刘大神写的项目,参考自点击这里,本文对其进行了简单重构,写下思路,供自己以后思考。自定义view设置每个页面的子itemlayout_tab_item.xml,每个item由一个ImageView和一个TextView组成<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.and

2016-04-23 12:29:32 9126

原创 Linux基础入门(1):用户及文件权限管理

一、Linux 用户管理1、查看用户$ who am i或者$ who mom likes输出内容如下yyg pts/0 2016-04-21 08:28 (:0)其中第一列表示打开当前伪终端的用户的用户名(可直接使用whoami)第二列的 pts/0 中 pts 表示伪终端,所谓伪是相对于 /dev/tty 设备而言,即使用 [Ctrl]+[Alt]+[F1]~[F7

2016-04-22 12:09:43 613

原创 Toast和TextView可能会出现的问题

Toast对象可能抛出的BugToast对象提供了两个makeText方法,如下//此方法传入的是字符串序列Toast.makeText(Context context, CharSequence text, int duration);//此方法传入的是资源idToast.makeText(Context context, int resId, int duration);有一种特殊情况情况

2016-04-21 20:52:43 947

原创 细数Android Studio中使用junit4测试框架中的坑

细数Android Studio中使用junit4测试框架中的坑build.gradle中添加依赖dependencies { compile 'com.android.support:appcompat-v7:23.2.1' testCompile 'junit:junit:4.12'}添加以下,使用模拟环境代替真实环境android { testOptions

2016-04-17 10:40:36 7783

成为技术领导者(全)—温伯格

成为技术领导者(全)—温伯格

2016-09-14

敏捷软件开发:原则、模式与实践(带书签+源码)

敏捷软件开发:原则、模式与实践(带书签+源码)

2016-09-14

Refactor.Your.Thinking.Pragmatic.Thinking.and.Learning

Refactor.Your.Thinking.Pragmatic.Thinking.and.Learning

2016-09-14

RecyclerView和SwipeRefreshLayout结合的上拉和下拉刷新Demo

RecyclerView和SwipeRefreshLayout结合的上拉和下拉刷新Demo

2016-05-12

使用ViewPager和Fragment实现底部导航滑动重构版

详细说明看我的博客 http://blog.csdn.net/yyg204731/article/details/51225692

2016-04-24

使用ViewPager和Fragment实现底部导航滑动Demo

使用ViewPager和Fragment实现底部导航滑动Demo,可直接复用

2016-04-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除