- 博客(19)
- 资源 (4)
- 收藏
- 关注
原创 C++编程习惯与编程要点
假设现在我们要实现一个复数类complex,在类的实现过程中探索良好的编程习惯。① Header(头文件)中的防卫式声明complex.h:# ifndef __COMPLEX__# define __COMPLEX__class complex{}# endif防止头文件的内容被多次包含。② 把数据放在private声明下,提供接口访问数据# ifndef __COMPLEX__...
2018-03-25 11:01:58 439
原创 java引用类型
在Java中类型可分为两大类:值类型与引用类型。值类型就是基本数据类型(如int ,double 等),而引用类型,是指除了基本的变量类型之外的所有类型(如通过 class 定义的类型)。所有的类型在内存中都会分配一定的存储空间(形参在使用的时候也会分配存储空间,方法调用完成之后,这块存储空间自动消失), 基本的变量类型只有一块存储空间(分配在stack中), 而引用类型有两块存储空间(一块在s...
2018-02-10 12:00:53 314
原创 Android总结之链式调用(方法链)
前言: 最近在学习总结Android属性动画的时候,发现Android的属性动画设计采用了链式调用的方式,然后又回顾了一下了以前接触的开源框架Glide也是采用链式调用的方式,还有最近火的一塌糊涂的RxJava也是采用链式调用,为何如此之多的开源项目采用这种设计方式,今天来对比学习一下。什么是链式调用? 链式调用其实只不过是一种语法招数。它能让你通过重用一个初始操作来达到用少量代码...
2018-02-08 17:18:16 935 1
转载 Android Service真正的完全详解
Service全部内容基本会在本篇涉及到,我们将围绕以下主要知识点进行分析:Service简单概述Service在清单文件中的声明Service启动服务实现方式及其详解Service绑定服务的三种实现方式关于启动服务与绑定服务间的转换问题前台服务以及通知发送服务Service与线程Thread的区别管理服务生命周期的要点Android 5.0以上的隐式启动问题及其解决方案保证服务不被杀死的实现...
2018-02-08 14:58:47 334
原创 Android Thread线程使用
前言 最近在一直准备总结一下Android上的线程管理,今天先来总结一下Thread使用。 线程管理相关文章地址:Android线程管理之Thread使用总结Android线程管理之ExecutorService线程池Android线程管理之ThreadPoolExecutor自定义线程池Android线程管理之AsyncTask异步任务Android线程管理之ThreadLoca...
2018-02-08 11:57:18 441
转载 Android开发规范
摘要1 前言2 AS 规范3 命名规范4 代码样式规范5 资源文件规范6 版本统一规范7 第三方库规范8 注释规范9 测试规范10 其他的一些规范1 前言为了有利于项目维护、增强代码可读性、提升 Code Review 效率以及规范团队安卓开发,故提出以下安卓开发规范,该规范结合本人多年的开发经验并吸取多家之精华,可谓是本人的呕心沥血之作,称其为当前最完善的安卓开发规范一点也不
2018-02-03 15:46:34 308
转载 android 监听EditText 的变化
使用EditText的addTextChangedListener(TextWatcher watcher)方法对EditText实现监听,TextWatcher是一个接口类,所以必须实现TextWatcher里的抽象方法:当EditText里面的内容有变化的时候,触发TextChangedListener事件,就会调用TextWatcher里面的抽象方法。布局:[ht
2018-02-03 11:22:42 492
转载 DialogFragment使用总结
最近使用dialog的情况比较多,谷歌现在开始建议使用Dialogfragment 来代替传统的dialog,至于dialogfragment 的好处大家可以百度一下,于是乎要转变思路开始使用最新的dialogfragment,不过使用过程不是很顺利,各种坑,所以今天索性把基本上所有情况都整理了一下,上代码吧还是 1.最基本的一个普通的dialog[ja
2018-02-01 10:44:26 1353
原创 android动态修改布局
LinearLayout.LayoutParams linearParams =(LinearLayout.LayoutParams) textView.getLayoutParams(); //取控件textView当前的布局参数 linearParams.height = 20;// 控件的高强制设成20 linearParams.width = 30;// 控件的宽强制设成30
2018-02-01 09:00:09 5308
原创 常用排序算法总结(二)
目录计数排序基数排序桶排序 上一篇文章中我们总结了常用的比较排序算法,主要有冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等。 这篇文章中我们来探讨一下常用的非比较排序算法:计数排序,基数排序,桶排序。在一定条件下,它们的时间复杂度可以达到O(n)。 这里我们用到的唯一数据结构就是数组,当然我们也可以利用链表来实现下述算法。
2018-01-28 14:41:25 224
原创 C语言qsort函数用法
qsort函数简介 排序方法有很多种:选择排序,冒泡排序,归并排序,快速排序等。 看名字都知道快速排序是目前公认的一种比较好的排序算法。因为他速度很快,所以系统也在库里实现这个算法,便于我们的使用。 这就是qsort函数(全称quicksort)。它是ANSI C标准中提供的,其声明在stdlib.h文件中,是根据二分法写的,其时间复杂度为n*log(n) 功能:
2018-01-28 14:33:59 121423 20
原创 常用排序算法总结(一)
目录冒泡排序 鸡尾酒排序 选择排序插入排序二分插入排序 希尔排序 归并排序堆排序快速排序 我们通常所说的排序算法往往指的是内部排序算法,即数据记录在内存中进行排序。 排序算法大体可分为两种: 一种是比较排序,时间复杂度O(nlogn) ~ O(n^2),主要有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排
2018-01-28 14:17:12 264
原创 C语言字符串输入输出
字符串的输出在C语言中,输出字符串的函数有两个:puts():直接输出字符串,并且只能输出字符串。printf():通过格式控制符 %s 输出字符串。除了字符串,printf() 还能输出其他类型的数据。这两个函数前面已经讲过了,这里不妨再演示一下,请看下面的代码:#include int main(){ int i; char str[] = "htt
2018-01-26 21:30:39 23912 5
原创 C语言字符串处理函数
C语言提供了丰富的字符串处理函数,例如字符串的输入、输出、合并、修改、比较、转换、复制、搜索等,使用这些现成的函数可大大减轻编程的负担。用于输入输出的字符串函数,例如printf、puts、scanf、gets等,使用时应包含头文件stdio.h,使用其它字符串函数则应包含头文件string.h。字符串长度函数strlenstrlen 是 string length 的缩写,用
2018-01-26 21:27:57 381
原创 C语言字符数组和字符串
用来存放字符的数组称为字符数组,例如:char a[10]; //一维字符数组char b[5][10]; //二维字符数组char c[20]={'c', ' ', 'p', 'r', 'o', 'g', 'r', 'a','m'}; // 给部分数组元素赋值char d[]={'c', ' ', 'p', 'r', 'o', 'g', 'r', 'a', 'm' }; /
2018-01-26 21:26:32 459
原创 数组的查询
在实际开发中,经常需要查询数组中的元素。例如,学校为每位同学分配了一个唯一的编号,现在有一个数组,保存了实验班所有同学的编号信息,如果有家长想知道他的孩子是否进入了实验班,只要提供孩子的编号就可以,如果编号和数组中的某个元素相等,就进入了实验班,否则就没进入。不幸的是,C语言标准库没有提供与数组查询相关的函数,所以我们只能自己编写代码。对无序数组的查询所谓无序数组,就是数组元素
2018-01-26 21:25:10 3096
原创 二维数组
上节讲解的数组可以看作是一行连续的数据,只有一个下标,称为一维数组。在实际问题中有很多数据是二维的或多维的,因此C语言允许构造多维数组。多维数组元素有多个下标,以确定它在数组中的位置。本节只介绍二维数组,多维数组可由二维数组类推而得到。二维数组的定义二维数组定义的一般形式是:dataType arrayName[length1][length2];其中,dataType 为数据
2018-01-26 21:23:29 23152
原创 一维数组
#include #include int main(){ int a1=20, a2=345, a3=700, a4=22; int b1=56720, b2=9999, b3=20098, b4=2; int c1=233, c2=205, c3=1, c4=6666; int d1=34, d2=0, d3=23, d4=23006783; printf("%-
2018-01-26 21:19:20 630
原创 c语言 循环队列的创建
queue.h头文件#ifndef __QUEUE_H_#define __QUEUE_H_#include#include#define maxsize 5typedef struct Data { int a; int b; int c;} Data;typedef struct queue { Data data[maxsize];
2018-01-26 15:47:58 937
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人