自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Snow Yong

Valar Morghulis

  • 博客(37)
  • 收藏
  • 关注

翻译 Android 编程技巧之 ----- 用 ConstraintLayout 构建响应式 UI

前言ConstraintLayout 简介ConstraintLayout 概览将其他布局转换为 ConstraintLayout添加约束的原则约束到父布局约束到 View对齐约束字体基线约束引导线约束适配约束偏移适配 View 的大小通过比例设置 View 大小适配 View 的 margin 外部间隔值用锁链控制同一方向上的一组 View自动创建约束结语官网地址

2017-03-25 22:44:51 2034

原创 Android 编程技巧之 ----- 一次追查 DeadObjectException 的总结

前言初遇 DeadObjectException追查类对象创建修改知识延伸 推荐链接追查反射对象初始化修改知识延伸 推荐链接追查动态数据模型修改结语前言最近在优化公司项目时, 抛出了一个诡异而少见的 DeadObjectException, 错误堆栈最上层还显示出了 RemoteException, 具体的环境情况是下面这样的. 开发的是一个反射透传接口, 用于跟产品 (所开发的产品也

2017-03-11 22:06:26 19041

原创 Android 编程技巧之 ----- MediaPlayer 问题简记

前言问题一 播放系统文件无声知识延伸 推荐链接问题二 IllegalStateException 异常结语前言最近项目开发中需要用到 MediaPlayer 来播放声音文件, 在此之前是采用 Ringtone 类来实现, 考虑到 Ringtone 性能跟代码可控性最终还是使用 MediaPlayer 重新实现这个功能, 其中遇到了两个问题, 这里做个简单记录. 问题一 ~ 播放系统文件

2017-03-11 01:29:39 811

原创 Android 编程技巧之 ----- 自定义 View 踩坑总结

前言踩坑一 构造函数调用时机踩坑二 嵌套调用构造函数知识延伸 推荐链接踩坑三 清单属性知识延伸 推荐链接踩坑四 自定义 View 更新 UI知识延伸 推荐链接踩坑五 触摸屏事件传递机制结语前言一直以来对 Android 中的自定义 View 这一块都抱有恐惧之心, 潜意识中认为自定义 View 肯定是融合了各式各样的高深公式原理啥的(牛逼炫酷的 View 确实用到了很多

2017-03-10 21:28:03 1393

原创 JavaSE 之 ----- 对象相关基本知识总结

1. Java中通过应用操作对象,简单可理解为,若要操控电视机(Object),你不用直接操作电视机,而是通过遥控器(Reference)来间接操作电视机,如果需要到另外一个房间操控电视机,你不需要把电视机搬过去,而是拿着遥控器过去就可以了;2. Java对象与内存分配存放的关系,一般来说,有五种地方可以存放数据:(1). 寄存器,最快的内存地带,位于处理器内,一般Java无直接控

2017-01-13 23:35:55 251

转载 JavaSE 之 ----- 科学计数法带来的坑

原文出处 : 在java中,怎样把一个double数转换为字符串时,不用科学计数法表示。解决方法1://对Double类型的数字进行 格式化输出 [java] view plain copypackage com.vincent.test;    import java.text.DecimalFormat

2017-01-04 10:45:02 573

转载 Android 编程技巧之 ----- 断点续传原理以及实现

原文出处 : Android开发——断点续传原理以及实现原文作者 : SEU_Calvin感谢原文作者无私的分享 !1.  断点续传原理在本地下载过程中要使用数据库实时存储到底存储到文件的哪个位置了,这样点击开始继续传递时,才能通过HTTP的GET请求中的setRequestProperty()方法可以告诉服务器,数据从哪里开始,到哪里结束。同时在本地的

2016-12-25 13:30:59 601

转载 Android 编程技巧之 ----- Android JNI 原理分析

原文出处 : Android JNI原理分析引言:分析Android源码6.0的过程,一定离不开Java与C/C++代码直接的来回跳转,那么就很有必要掌握JNI,这是链接Java层和Native层的桥梁,本文涉及相关源码:frameworks/base/core/jni/AndroidRuntime.cpplibcore/luni/src/main/java/j

2016-11-11 11:02:40 336

转载 JavaSE 之 ----- 养成严谨的编码习惯

原文出处 : 10个实用的但偏执的Java编程技术在沉浸于编码一段时间以后(比如说我已经投入近20年左右的时间在程序上了),你会渐渐对这些东西习以为常。因为,你知道的……任何事情有可能出错,没错,的确如此。这就是为什么我们要采用“防御性编程”,即一些偏执习惯的原因。下面是我个人认为的10个最有用但偏执的Java编程技术。一起来看一看吧:1.将String

2016-11-10 11:36:05 337

转载 JavaSE 之 ----- 常用的 Java 代码片段

原文出处 : 20个非常有用的Java程序片段下面是20个非常有用的Java程序片段,希望能对你有用。 1.字符串有整型的相互转换String a = String.valueOf(2); //integer to numeric string int i = Integer.parseInt(a); //numeric string to an int

2016-11-10 11:22:09 441

转载 Android 编程技巧之 ----- 蓝牙开发大全

原文出处 : Android 蓝牙开发之搜索、配对、连接、通信大全蓝牙( Bluetooth®):是一种无线技术标准,可实现固定设备、移动设备和楼宇个人域网之间的短距离数据交换(使用2.4—2.485GHz的ISM波段的UHF无线电波)。蓝牙设备最多可以同时和7个其它蓝牙设备建立连接,进行通信,当然并不是每一个蓝牙都可以达到最大值。下面,我们从蓝牙的基本概念开始

2016-11-10 11:05:34 4603 2

转载 Android 编程技巧之 ----- Android Studio 关联任意版本源码

原文出处 : Android Studio 如何关联源码(关联你想要的任何版本的源码)问题今天升级了API 24,但是关联源码失败了,因为没下载API 24的源码,直接点击下载,却提示没有API 24源码的资源,打开SDK Manager,发现确实没有API 24的源码资源 Android Studio 应该是在你升级到新的API后,默认让你关联新的源码

2016-11-10 10:00:01 587

原创 Android 编程技巧之 ----- 给图片添加水印

简单记录下给图片加水印的代码:public Bitmap addWaterMask(Bitmap src, long time, int resolution) { if (src == null) { return null; } int w = src.getWidth(); int h =

2016-11-06 18:26:32 2251

转载 Android 编程技巧之 ----- 解决国内 GPS 定位难的问题

原文出处 : http://blog.csdn.net/itleaks/article/details/31511105大家去网上搜索Android定位location为null没法定位问题,估计有一大堆文章介绍如何来解决,但是最后大家发现基本没用。本文将从Android定位实现原理来深入分析没法定位原因并提出真正的解决方案。在分析之前,我们肯定得先看看android官方提供的

2016-10-27 15:31:27 1110

转载 JavaSE 之 ----- Java线程池的解析

原文出处:http://www.codeceo.com/article/java-threadpool-learn.html线程池的技术背景在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源。在Java中更是如此,虚拟机将试图跟踪每一个对象,以便能够在对象销毁后进行垃圾回收。所以提高服务程序效率的一个手段就是尽可能减

2016-10-23 20:47:17 253

原创 JavaSE 之 ----- Java中只有值传递

说实话,之前一直没有去关注这个问题,最近撸代码才发现这个易错的问题:Java中究竟怎样就是值传递?怎样又是引用传递?这里给出结果:Java中只有值传递 !常说的引用传递不过是值传递的一种类型罢了!值传递,意味着传递给方法形参的其实都是副本,并非把真值传递到方法中。为什么说Java中只有值传递?常说的值传递:各类基本数据类型变量的传递,只是传递了一个复制了原始值的副本

2016-08-14 20:07:20 347

转载 杂谈 ----- 程序员处理 bug 的一些经验总结

bug

2016-06-21 22:18:06 1670

转载 Android 编程技巧之 ----- 不同情景 Activity 生命周期函数回调

Activity生命周期回调

2016-06-21 20:59:05 296

转载 JavaSE 之 ----- Socket 使用

Java Socket

2016-06-16 11:25:19 215

转载 JavaSE 之 ----- JVM 内存形式、GC 原理解析

JVM内存形式,GC原理解析

2016-06-16 10:53:40 395

原创 Android 编程技巧之 ----- 自定义 Log 工具

在学Java这门语言的时候,很多人喜欢使用System.out.print() 函数来打印一些变量值用于简单的调试工作,而进入Android 领域后,更多的是使用 Android 提供的 Log 工具来进行一些简单的调试工作 ( Log 比 System.out.print() 更加好用,而且加入了日志过滤机制,更便于在海量日志中找到自己想要的信息,推荐) 然而,当我们开发一个庞大的软件系统的

2016-01-31 15:15:26 394

原创 Android 编程技巧之 ----- 获取全局 Context 对象

Context,在安卓中译为上下文,一般作为很多函数的参数传递,熟知的Activity 就是继承自Context 的对象 (Context最终也是继承自Object),所以我们在Activity 间跳转的时候调用 startActivity()方法时第一个参数可以直接把 Activity的对象传递进去。在一般简单的软件逻辑中,我们使用Activity、Service、receiver等四大组件

2016-01-31 00:10:55 343

转载 Android 编程技巧之 ----- ViewHolder 的简洁封装

内容出处:http://www.eoeandroid.com/thread-321547-1-1.htmlViewHolder通常写法: ViewHolder holder = null; if(convertView == null){ convertView = mInflater.inflate(R.layout.

2016-01-16 21:08:09 332

原创 Android 编程技巧之 ----- 最佳 Activity 数据传递

写一下最近学习的一个很简单的Activity间跳转传递数据的方法,由于在实际开发中(听说而已,目前学生党= =) 接手到一个新项目的几率比较小,大多数时候都是接手一个旧的项目来进行一些开发维护或者功能添加的工作,然后试想有这么一个场景,你负责的Activity页面,这里假设叫做SecondActivity,需要其他同事负责的Activity页面传递的数据,这样无非两种解决办法:1、你自

2015-12-25 17:48:10 276

原创 Android 编程技巧之 ----- 随意从当前 Activity 退出应用

对于目前我这个Android开发新人来说,这个方法简直就是救星,最近看了这个简单的方法,感觉以前写的一些简单项目里面又可以多多改进了。有时候觉得打代码真是一件神奇的事,很简单的东西,有时候却可以成为你成长路上的指明灯, 代码就是这么用的, 这种感觉就像看了程杰的大话数据结构后,那种豁然开朗的感觉,很舒心。废话不多说,鸡汤煲得适当即可。很多 Android 开发的讲解中缺漏了一些

2015-12-24 22:23:21 518

原创 Android 编程技巧之 ----- 追踪 Activity

当我们接手一个别人开发过的项目时,有时候需要更改界面,此时必然需要找到那个Activity,由于我们在接手前对该项目代码一无所知,所以问题就是如何在海量代码中找到你要修改的界面是处于哪个Activity中的呢?这就需要一个最基本的Activity基类,它可以在不对原来代码大动刀的情况用日志记录我们运行应用时进入了哪一个Activity。首先,新建一个Java Class文件,BaseA

2015-12-23 13:53:46 771

原创 平衡二叉树(AVL树) ----- C语言

前面说到了二叉搜索树,它在动态查找表中有较高的性能,既能保证在无序数据中查找的高效率,又相对于数组具有方便的增添删除功能,其平均查找复杂度为所构造的二叉树的树高,即O(logn)( 图1 ),但是,对于极端情况,例如该二叉树是一颗左斜树或者右斜树 (图2) 。此时,显然可以看到,最坏查找时间复杂度为O(n),这就意味着我们的二叉搜索树变成了顺序查找,效率极为低下,所以我们需要一种平衡二

2015-12-18 22:38:47 3099 4

原创 二叉搜索树(BST) ----- C语言

二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。二叉排序树的查找过程和次优二叉树类似,通常采取二叉链表作为二叉排序树的存储结构。中序遍历二叉排序

2015-12-11 16:41:45 663

原创 堆排序 ----- C语言

堆排序主要思想实现代码 -------------------//HeapSort -- 堆排序 O(nlogn)int HeapSort(int *a){ int i; //初始化从中间位置开始构造大顶堆 for (i = A_LENGTH/2 - 1; i >= 0; i--) { HeapAdjust(a, i, A_LENGTH-1); } //

2015-11-29 17:00:49 466

原创 快速排序(已优化) ----- C语言

拿快速排序练练手,基本思想就是选取一较为中间大小的值,分别从两边循环跟此值对比,若小于其,则换至该值前面,若大于其,则换至该值后面,直到low = high 为止,则说明排序结束。 以简单的int数组为待排序序列:#define MINIMUMSIZE 7#define A_LENGTH 10#include //元素交换函数int Swap(int *a, int i,

2015-11-21 19:13:21 1253

原创 归并排序(非递归) ----- C语言

最近搞了很久才基本弄清楚非递归的归并排序的基本思想,查阅许久才看懂代码,自己简单地实现了一下:#define A_LENGTH 10#include #include int MergeSort(int *a){ int k = 1;/*k用来表示每次k个元素归并*/ int *temp = (int *)malloc(sizeof(int) * A_LENGTH);

2015-11-20 22:38:20 2092 5

原创 串的KMP模式匹配算法(优化) ----- C语言

#include #include int GetNext(char *T, int *next){ int i = 0, j = -1; next[i] = j; while (i < strlen(T)) { if (j == -1 || T[i] == T[j]) { i++; j++; if (T[i] != T[j]) {

2015-11-10 22:34:49 492

原创 常用排序算法总结(简单数组实现,其他类似)----- C语言

闲来无事,写了写之前学的排序算法,能力有限,也就写成这样吧= =/*** 各类排序算法复习(简单数组实现,其他类似)* Sort Type Review* 2015.11.09* By Snow Yong**/#define MINIMUMSIZE 7#define A_LENGTH 10#include int Swap(int *a, int i, in

2015-11-09 17:51:20 717

原创 给定一个无序单链表头节点head,实现单链表的选择排序,要求:额外空间复杂度为O(1)

如题,在QQ群上有人提出这个如何解决,对空间复杂度概念不是特别熟悉,网搜了下,简单理解为尽可能不适用递归吧,虽然欠妥,但暂时先这样吧,给定的是头节点head,当时因为没看清楚,直接用了头指针,问题不大,自己练练手,故撸代码如下,程序较为简陋,没有检查错误等代码,望轻喷- -/** * SelectSort the LinkList according to the

2015-11-08 23:21:33 1427

原创 征服C指针读书笔记 1 ----- 指针基本概念

1、先有“指针类型”,才有了“指针类型的变量”和“指针类型的值”。2、变量不一定按照声明顺序保存在内存中。3、对变量使用&运算符,可以取得该变量的地址,此地址称为指向该变量的指针。4、指针变量hoge_p保存了指向其它变量的地址的情况下,可以说“hoge_p指向hoge”。5、对指针变量运用*运算符,就等同于它指向的变量。如果hoge_p指向hoge,*hoge_p就等同于hoge

2015-10-17 22:57:31 443

转载 win8.1 无法安装 .net framework3.5 问题的解决方法

很多朋友安装的是Win8.1pro x64英文版,装了简体中文包后NET Framework 3.5装到66.6%会出现错误,那么win8.1 net framework3.5安装失败怎么办呢1.找到你的win8或win8.1镜像包ISO,右击选中“windows资源管理器”。 2.这是用win8自带的资源管理器打开win8的原版镜像,然后“这台电脑”里会多一个光驱盘符,里边是win8

2015-08-08 18:28:01 1377

转载 python2.7和pip在linux下的安装详解

1,安装python2.7安装包。从官网下载python2.7.6的安装包。https://www.python.org/download/releases/2.7.6。解压后做以下几步:(1) ./configure    --prefix=/usr/local/pyton2.7(这里填写自己的安装目录)。(2)执行make命令操作  对源码进行编译。

2015-08-08 18:24:50 14460 1

空空如也

空空如也

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

TA关注的人

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