自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(91)
  • 资源 (25)
  • 收藏
  • 关注

原创 API-TypedArray

TypedArray | Android Developers https://developer.android.google.cn/reference/android/content/res/TypedArray.html简介:Container for an array of values that were retrieved with obtainStyledAttributes(Att

2017-05-15 11:18:59 422

原创 自定义控件1

0508 算作是学习记录吧! 自定义控件有两部分:1 自定义View 2自定义ViewGroup 先从自定义View来吧。 第一个:圆角图片 继承View之后,有四个构造方法: public CircleImg(Context context) { super(context); } public CircleImg(Context context, @

2017-05-08 16:57:35 441

原创 android中的定时器

Thread的sleep(long)方法 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_test); new Thread

2017-02-22 13:38:29 687

原创 APT技术

官方文档:Getting Started with the Annotation Processing Tool (apt) Annotation如果想学习APT,那么就必须先了解Annotation的基础,这里附加我另外一篇文章的地址: Annotation - qq_20198405的博客 - 博客频道 - CSDN.NETAPTAPT(Annotation Processing Tool)

2017-02-07 15:44:59 1021

原创 ButterKnife

GitHub地址 JakeWharton/butterknife: Bind Android views and callbacks to fields and methods.使用ButterKnife基本使用 - 圣骑士wind - 博客园 ButterKnife使用详解 - ITjianghuxiaoxiong的专栏 - 博客频道 - CSDN.NET ButterKnife–View注

2017-02-07 14:48:55 434

原创 Annotation

元注解java中元注解有四个: @Retention @Target @Document @Inherited;@Retention:注解的保留位置          @Retention(RetentionPolicy.SOURCE) //注解仅存在于源码中,在class字节码文件中不包含@Retention(RetentionPolicy.CLASS) // 默认的保留策略,注

2017-02-06 15:01:24 451

原创 Android基础:三种inflate的区别

Android基础:三种inflate的区别

2017-01-22 11:18:13 852

原创 RecyclerView

2017.1.1开始写这篇博客。 目标:理清RecyclerView的来龙去脉,包括:发布历史,简单使用,架构分析及各个模块具体分析,实现原理,横向对比,以及实现各种通用性功能并对部分效果进行分析。 其他目标:希望通过这次学习能逐步形成一套适用于自我的学习方法和学习路径。RecyclerView是在2014年谷歌I/O大会上随Android L预览一起发布的,在预览版API文档中是这

2017-01-17 15:07:26 579

原创 墨池

Tags - Piasy的博客 | Piasy Blog https://blog.piasy.com/tags/#RecyclerView Trinea/android-open-project: Collect and classify android open source projects 微信公众号:codekk https://github.com/Trinea/android-

2017-01-13 14:49:41 9671

原创 计算机操作系统---1:操作系统引论

操作系统引论

2017-01-13 09:08:09 444

原创 C语言程序设计---10:利用文件保存数据

利用文件保存数据

2017-01-10 17:18:30 2372

原创 C语言程序设计---9:自定义数据类型

自定义数据类型

2017-01-10 14:14:08 610

原创 C语言程序设计---8:指针

指针

2017-01-05 16:26:21 889

原创 C语言程序设计---7:用函数实现模块化程序设计

/*输入两个数,求较大的值。*/#include<stdio.h>void main(){ int a,b; int max(int a,int b); scanf("%d%d",&a,&b); printf("\n两者中较大的值为:%d\n",max(a,b));}int max(int a,int b){ return (a>b)?a:b;}

2016-12-28 16:33:15 7028

原创 C语言程序设计---6:利用数组处理批量数据

二维数组C语言中,二维数组中元素排列的顺序是按行存放的,即在内存中先顺序存放第一行的元素,再存放第二行的元素,第一行元素和第二行元素是线性的、连续存放的。数组的定义:#include<stdio.h>void main(){ /* 一维数组 */ int a1[5]; int a2[5] = {1,2,3}; /* 1 2 3 0 0 */ int

2016-12-22 09:57:00 1327

原创 C语言程序设计---5:循环结构程序设计

高级for循环for(表达式1;表达式2;表达式3){ }例1:for( i = 1; ; i++) sum = sum + 1 ;相当于i = 1;while(1){ sum = sum + 1; i++;}因为系统默认表达式2为空时,为真值。例2:for( ; (c = getchar()) != '\n' ; ) printf( "%c" , c

2016-12-22 09:55:48 813

原创 C语言程序设计---4:选择结构程序设计

关系运算符及其优先次序详情见表: C语言运算符的优先级和结合性一览表_C语言中文网为了表示逻辑量,在C的关系运算中,以1代表“真”,以0代表“假”。例如a=3,b=2,c=1时,关系表达式“(a>b)==c”为“真”(因为a>b的值为1,等于c的值),表达式的值为1。C程序中还允许把关系运算的结果(即1和0)看作和其他数值型数据一样,可以参加数值运算,或把他赋值给数值型变量。逻辑运算符和逻辑

2016-12-21 11:38:26 434

原创 C语言程序设计---3:顺序程序设计

赋值表达式赋值运算符按照“自右而左”的结合顺序运算。因此a = (b = 5);a = b = c;a = 5 + (c = 6); a = 11a = (b = 4) + (c = 6); a = 10;a = (b = 10)/(c = 2); a = 5;(a = 3*5) = 4*3; 先将15赋给a,然后执行4*3运算,得到12,再把12赋给a。a = 3*5 = 4*

2016-12-20 14:24:11 677

原创 原码,反码,补码,移码

简单介绍1、正数的原码、补码、反码均为其本身; 2、负数(二进制)的原码、补码、反码公式: 反码 = 原码(除符号位外)每位取反 补码 = 反码 + 1 反码 = 补码 - 1移码 = 补码符号位取反1011 原码:01011 反码:01011 //正数时,反码=原码 补码:01011 //正数时,补码=原码 移码:11011 //原数+100

2016-12-14 10:46:14 4243 1

原创 C语言程序设计---2:数据的存储与运算

位、字节、地址位(bit):又称“比特”。每一个二极管元件称为一个“二进制位”,是存储信息的最小单位。它的值是1或0。字节(byte):又称拜特。一般将8个“二级制位”组织成一组,称为“字节”。 地址:不同类型数据的存储方式整数讲解整数的存储之前,首先要了解原码、反码和补码这几个概念。原码:将一个整数,转换成二进制,就是其原码。例如单字节5的原码为0000 0101,-5的原码为1000

2016-12-12 10:24:24 2873

原创 C语言程序设计---1:C语言概述

机器语言:0和1组成的指令集合称为计算机的机器语言,不同型号的计算机的机器语言是不同的。 汇编语言:是机器指令的一种符号表示。 高级语言:是高度封装了的编程语言。C语言与汇编语言的区别 - 点滴之水 - 博客频道 - CSDN.NET简单的C语言程序#include<stdio.h>void main(){ printf("This is a C program.\n");}1、m

2016-12-12 09:53:58 849

原创 Android基础--Service

官网介绍: 服务 | Android DevelopersService简介 Service 是一个可以在后台执行长时间运行操作而不提供用户界面的应用组件。服务可由其他应用组件启动,而且即使用户切换到其他应用,服务仍将在后台继续运行。此外,组件可以绑定到服务,以与之进行交互,甚至是执行进程间通信 (IPC)。 例如,服务可以处理网络事务、播放音乐,执行文件 I/O或与内容提供程序交互,而

2016-12-09 14:27:06 534

原创 算法--四种排序

main方法:public static void main(String[] args) { ArrayList<Integer> list = new ArrayList<Integer>(); for(int i =0;i<10000;i++){ int x=(int)(Math.random()*100); li

2016-12-09 14:16:53 302

原创 Android---工具类

1、日志工具类import android.util.Log; /** * Log统一管理类 * */ public class L { private L() { /* cannot be instantiated */ throw new UnsupportedOperationException("cann

2016-08-02 17:50:02 603

原创 HTTP协议详解

引言HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。HTTP协议的主要特点可概括如下:1.支持客户/服务器模式。

2016-07-13 16:32:40 2297

原创 RecyclerView

引用: 深入浅出 RecyclerView|开源实验室-张涛 http://kymjs.com/code/2016/07/10/01

2016-07-12 10:07:15 645

原创 Java基础---反射

java反射详解 - Rollen Holt - 博客园 http://www.cnblogs.com/rollenholt/archive/2011/09/02/2163758.html

2016-07-09 23:29:28 560

原创 Android Studio 插件

Android Studio上方便使用butterknife注解框架的偷懒插件Android Butterknife Zelezny - 推酷 http://www.tuicool.com/articles/Q3mmay/

2016-07-07 17:28:13 491

原创 ButterKnife

ButterKnife基本使用 - 圣骑士wind - 博客园 http://www.cnblogs.com/mengdd/archive/2015/06/23/4595973.html[Android] ButterKnife 浅析 | 技术学习小组 http://blog.qiji.tech/archives/10522 [Android] ButterKnifeProcessor 工作流

2016-07-07 16:47:35 552

原创 Java基础---注解

Annotation概述从JDK5.0开始,Java增加了对元数据(MetaData)的支持,也就是Annotation(注解)。Annotation其实就是代码里的特殊标记,这些标记可以再编译,类加载,运行时被读取,并执行相应的处理。通过使用Annotation,程序员可以在不改变原有逻辑的情况下,在源文件中嵌入一些补充信息。Annotation可以像修饰符一样被使用,可用于修饰包、类、构造方

2016-07-06 23:19:18 425

原创 Java基础---枚举

枚举类:在某些情况下,一个类的对象是有限而且固定的,那么就可以用枚举了。手动实现枚举类手动实现枚举类:private修饰构造器属性使用privatefinal 修饰把该类的所有实例都使用public static final 来修饰public class Season { //1.因为枚举类的对象是有限个,所以不能在类的外部创建类的对象 private Season(St

2016-06-17 16:31:39 571

原创 EditText

只能输入小数点后两位public static void setPricePoint(final EditText editText) { editText.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence

2016-06-15 17:41:07 928

原创 ViewPager

ViewPager.OnPageChangeListener/** * viewpager页面改变监听类 */ private class MyOnPageChangeListener implements ViewPager.OnPageChangeListener { /** * @param arg0 arg0这个参数,有三种状态(

2016-06-15 17:27:30 487

原创 Android--Bug

dexDebug ExecException finished with non-zero exit value 2需要在gradle中配置下面的代码,原因是引用了多个libraries文件defaultConfig { multiDexEnabled true}Execution failed for task ‘:app:transformClassesWithJarMergi

2016-06-15 17:22:54 560

原创 Chronometer

简介Chronometr可以轻松地在程序中实现计时的工作,从而免去复杂的线程与多余的代码编写,节省了大量的开发时间。 Chronometr是一个简单的定时器,你可以给它一个开始时间,并以此定时,或者如果你不给它一个开始时间, 它将会使用你的时间通话开始。默认情况下它会显示在当前定时器的值得形式”分:秒” 或”MM:SS”, 或者可以使用set(字符串)的定时器值到一个任意字符串重

2016-06-05 18:02:01 600

原创 単例设计模式

懒汉式public class DoubleCheck { private volatile static DoubleCheck ins; private DoubleCheck() {} public static DoubleCheck getIns() { if (null==ins){ //检查 synchronized (Do

2016-06-05 13:50:40 560 1

原创 Android键盘

显示与隐藏1、方法一(如果输入法在窗口上已经显示,则隐藏,反之则显示)InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); 2、方法二(vi

2016-06-05 11:36:25 610

原创 Intent

传递数据MapAndroid开发默认情况下,通过Bundle bundle=new Bundle();传递值是不能直接传递map对象的,解决办法: 第一步:封装自己的map,实现序列化即可/** * 序列化map供Bundle传递map使用 * Created on 13-12-9. */public class SerializableMap implements Serializab

2016-06-05 11:17:02 427

原创 Serializable和Parcelable

区别1、作用Serializable的作用是为了保存对象的属性到本地文件、数据库、网络流、rmi以方便数据传输,当然这种传输可以是程序内的也可以是两个程序间的。Serializable原理: 反射、递归。而Android的Parcelable的设计初衷是因为Serializable效率过慢,为了在程序内不同组件间以及不同Android程序间(AIDL)高效的传输数据而设计,这些数据仅在内存中存在,P

2016-06-05 10:09:00 458

原创 Collection

Map遍历Map的四种方法Map<String, String> map = new HashMap<String, String>(); map.put("1", "value1"); map.put("2", "value2"); map.put("3", "value3");//第一种:普遍使用,二次取值System.out.println("通过Map.keySet

2016-06-05 09:10:58 453

APT 技术在编译期生成代码

Android 利用 APT 技术在编译期生成代码

2017-02-08

MyShaderDemo..

一个关于Shader类的测试demo,用于加强自己的学习和记忆.rar

2016-01-09

MyShaderDemo.

一个关于Shader类的测试demo,用于加强自己的学习和记忆

2016-01-08

MyClipDemo

一个关于Canvas——clip的测试demo,用于加强自己的学习和记忆

2016-01-05

MyPathDemo

一个关于Path类的测试demo,用于加强自己的学习和记忆

2016-01-05

MyColorFilterDemo

一个关于ColorFilter类的测试demo,用于加强自己的学习和记忆

2016-01-04

MyPathEffectDemo

一个关于PathEffect类的测试demo,用于加强自己的学习和记忆

2016-01-01

MyShaderDemo

一个关于Shader类的测试demo,用于加强自己的学习和记忆

2016-01-01

MyTypefaceDemo

一个关于Typeface类的测试demo,用于加强自己的学习和记忆

2016-01-01

PaintDemo5

一个关于Paint类的测试demo,用于加强自己的学习和记忆

2015-12-21

PaintDemo4

一个关于Paint类的测试demo,用于加强自己的学习和记忆

2015-12-21

PaintDemo3

一个关于Paint类的测试demo,用于加强自己的学习和记忆

2015-12-21

PaintDemo2

一个关于Paint类的测试demo,用于加强自己的学习和记忆

2015-12-20

Keylines..

一个用于观察UI设计和变化的小插件,还不错!

2015-12-19

PaintDemo..

一个关于Paint类的测试demo,用于加强自己的学习和记忆

2015-12-19

ApiDemo1.6

ApiDemo是个好东西,好好研究吧,少年!

2015-12-19

WidgetDemo8

一个仿写的视频音量调控的小控件,供自己学习加深印象使用

2015-12-19

AttributeSetDemo

简单介绍了自定义属性的类型,以及各个属性值的获取

2015-12-18

WidgetDemo5.

TypedArray和AttributeSet的区别及基本用法

2015-12-18

WidgetDemo5

TypedArray和AttributeSet的区别及基本用法

2015-12-18

WidgetDemo2.

自定义圆形进度条,帮助熟悉自定义控件的基本流程

2015-12-16

WidgetDemo3

自定义TextView,帮助熟悉自定义控件的基本流程

2015-12-16

WidgetDemo2

自定义TextView,帮助熟悉自定义控件的基本流程

2015-12-16

WidgetDemo1

自定义TextView,帮助熟悉自定义控件的基本流程

2015-12-16

Scrollable的使用与改装

viewpager上滑到顶端时tab固定,可自定义actionBar,可自由设置statusBar的颜色,viewpager支持listview等各种页面

2015-08-09

空空如也

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

TA关注的人

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