- 博客(130)
- 资源 (2)
- 收藏
- 关注
原创 Serializable和Parcelable
使用Intent来传递对象通常有两种方式,Serializable和Parcelable。 Serializable是序列化的意思,表示将一个对象转换成可以存储或可传输的状态。序列化后可以在网络上进行传输,也可以存储到本地。方法是实现这个接口就好了。 除了使用Serializable还可以使用Parcelable也可以实现相同的效果,不过不同于将对象进行序列化,Parce
2016-10-31 15:13:03 306
转载 正则表达式的三种模式【贪婪、勉强、侵占】的分析
正则表达式的三种模式【贪婪、勉强、侵占】的分析假定要分析的字符串是xfooxxxxxxfoo 模式.*foo (贪婪模式): 模式分为子模式p1(.*)和子模式p2(foo)两个部分. 其中p1中的量词匹配方式使用默认方式(贪婪型)。 匹配开始时,吃入所有字符xfooxxxxxx去匹配子模式p1。匹配成功,但这样以来就没有了字符串去匹配子模式p2。本轮匹配失败;第二轮:减少p1部
2016-10-31 11:48:28 967
原创 java栈的实现
package com.test;import java.lang.reflect.Array;/** * push 进栈,pop 出栈,peek 返回栈顶元素 * * @author Administrator * * @param */public class GeneralArrayStack {private static fin
2016-10-28 16:45:11 220
转载 Android Xfermode 实战 实现圆形、圆角图片
本文出自:【张鸿洋的博客】1、概述其实这篇本来准备Android BitmapShader 实战 实现圆形、圆角图片放到一篇里面,结果由于篇幅原因就独立出来了~在很久以前也写过一个利用Xfermode 实现圆形、圆角图片的,但是那个继承的是View,其实继承ImageView能方便点,最起码省去了onMeasure里面自己去策略,以及不需要自己去提供设置图片的方法,最主要的是大
2016-10-28 13:26:09 248
原创 Failed to pull selection
想查看加密过后的文件,发现软件本身带的软件老是失败,所以想用命令行,具体是进去到platform-tools里,然后 adb pull /data/data/包名/shared_prefs,复制就可以了,具体还有一个push的命令,应该差不多。
2016-10-27 18:48:14 295
转载 Android中ImageView的点击变暗效果
实现点击图片(ImageView)变暗效果,有一个较简单的方法,就是讲目标图片设置为背景图片(setBackground),再创建一个selector.xml文件,里面放置一张普通状态时的透明图片,一张点击状态下的棕色半透明图片,将其设置为ImageView的源图片。这样在点击ImageView时,源图片会变换透明度,达到变暗效果。但这种方法有个缺点:由于源图片已经被限制死了,假如我们需要自定义背
2016-10-27 12:21:34 4515
转载 Java中equal和==的区别
java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean 他们之间的比较,应用双等号(==),比较的是他们的值。 2.复合数据类型(类) 当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否
2016-10-27 10:19:46 229
原创 Java中E,T,K,V等的含义
Java中泛型的标记符的含义:E-Element(在集合中使用,因为集合中存放的是元素)T-Type(Java类)K-Key(键)N-Number(数值类型)?-表示不确定的java类型S,U,V -2nd,3rd,4th typesObject类跟这些标记符代表的java类型有啥区别? Object是所有类的根类,任何类的对象都可以设置给该Object引用变量,
2016-10-27 09:53:32 3118
原创 GitHub Desktop+码云(GIT.oschina)使用方法
GitHub时不时被墙,虽说搞代码的FQ是必备技能,但总是不太方便。于是悦老大就选择了用国内的码云(开源中国的GIT工具)。GitHub其实是有个桌面版的软件的,自从用上了它基本告别了命令行敲git命令的时代。接下来就来说说GitHub Desktop与开源中国的GIT码云是怎么搭配的吧。 一、如何从码云GIT导入到GitHubDeskTop桌面工具。 1、先用命令行切换到
2016-10-26 18:33:37 5110 2
转载 get,post
1.请求的URL地址不同get: http://10.0.2.2:8080/HttpTest/index.jsp?option=getUser&uName=jerehedu post: http://10.0.2.2:8080/HttpTest/index.jsp2.post方式多了对请求头的设置 //设置一些请求头的信息 field:http请求的请求头 newVa
2016-10-26 17:56:27 277
转载 Java时间日期
Java 日期时间java.util包提供了Date类来封装当前的日期和时间。 Date类提供两个构造函数来实例化Date对象。第一个构造函数使用当前日期和时间来初始化对象。Date( )第二个构造函数接收一个参数,该参数是从1970年1月1日起的毫秒数。Date(long millisec)Date对象创建以后,可以调用下面的方法。序号
2016-10-24 11:08:22 351
原创 《何以笙萧默》
悄悄是离别的笙箫,沉默是今晚的康桥 周末看了下这部剧,体会到: 1 永远不要只顾眼前的利益,为了现在辜负别人,那样别人没理由等你。例子,
2016-10-24 10:45:42 304
原创 final 修饰符
“不可变”的属性不再提,现在说下可执行宏替换的final变量 public satic void mian(String[] args){ String s1 =""疯狂Java;;String s2 =““疯狂”+“Java””;System.out.println(s1==s2);String str1 = ""疯狂;String str2 = ““
2016-10-22 21:29:25 198
原创 缓存的简单例子
在Integer类中,看源码的系统把一个-128-127之间的整数自动装箱成Integer实例,并放入一个名为cache的数组中缓存起来,如果以后把一个-128-17之间的整数装箱成一个Integer实例时,实际上是指向对应的的数组元素,因此-128-127之间的同一个整数自动装箱成Integer实例时,永远是引用cache数组的同一个数组元素。当不在这个范围时,系统会重新创建一个Integer实
2016-10-22 21:17:46 493
原创 java万物皆对象的说法
除了基本数据类型外都是对象,因为基本数据类型不具备““对象的特性””:没有成员变量,方法可以被调用,Java之所以提供8中基本类型,主要是为了照顾程序员的习惯。
2016-10-22 21:11:03 1541
原创 形参个数可变的方法
从JDK1.5后,Java允许定义形参个数可变的参数,从而允许为方法指定数量不一定的形参,如果在定义方法时,最后一个形参的类型后面加三个点(...),则表明该形参可接受多个参数值,多个参数值被当成数组传入。public static void test(int a,String... books)public static void test(int a,String[] books)
2016-10-22 20:40:41 347
原创 面向对象和基于对象
基于对象也使用对象,但是无法利用现有的对象模板产生新的对象类型,继而产生新的对象,也就是说,基于对象没有继承的特点,而多态则更需要继承,没有了继承的概念也就谈不上多态。例如,JavaScrip是基于对象的的,它使用一些封装好的对象,调用对象的方法,设置对象的属性;但是他们让开发者派生新的类,开发者使用现有对象的方法和属性。判断语言是否是面向对象的就可以使用继承和多态来判断,面向对象和基于对象都
2016-10-22 19:26:49 262
原创 面向对象与面向过程
面向对象比面向过程的编程颗粒要大:面向对象的程序单位是类;面向过程的程序单位是函数(相当于方法)定义一个类,对应客观世界的那种事物;业务需要关心这个事物的哪些状态,程序就为这些状态定义成员变量;业务需要关心这个事物的哪些行为,程序就为这些行为定义方法。面向过程的世界里,一切以函数为中心,函数最大,因此这些事情会用以下语句来表达:吃(猪八戒,西瓜)面向对象的程序世界里,一切以对象为中
2016-10-22 19:17:59 237
原创 Java的垃圾回收机制
C/C++需要手动回收内存,处理不好,会引起内存泄漏。如果一些分配出去的内存得不到及时回收,就会引起系统运行速度下降,甚至导致程序瘫痪,这种现象称为内存泄漏。与C/C++不同的是java程序的内存分配和回收都是由Jre在后台自动运行的。JRE会负责回收那些不在使用的内存,这种机制被称为垃圾回收(GC), Java的堆内存是一个运行时数据区,用以保存内存类的实例(对象)。一般来说,堆内
2016-10-22 18:42:31 292
转载 Android 冷启动白屏解析
转载郭大神的博客:http://blog.csdn.net/guolin_blog/article/details/51019856上图中的播放速度是实时速度,没有经过加速或减速。可以看到,这就是一个空项目,里面几乎没有任何功能,首次启动白屏竟然持续了5秒钟左右!虽说只是首次启动才会白屏这么长时间,但给用户造成这样的体验,实在是显得我们的程序太业余了,因此必须要想办法解
2016-10-21 12:36:16 389
转载 沉浸式
什么是沉浸式?先来分析一下叫错的原因吧,之所以很多人会叫错,是因为根本就不了解沉浸式是什么意思,然后就人云亦云跟着叫了。那么沉浸式到底是什么意思呢?根据百度百科上的定义,沉浸式就是要给用户提供完全沉浸的体验,使用户有一种置身于虚拟世界之中的感觉。比如说现在大热的VR就是主打的沉浸式体验。那么对应到Android操作系统上面,怎样才算是沉浸式体验呢?这个可能在大多数情
2016-10-21 12:30:08 936
转载 Android 提醒微技巧
1. Dialog首先来介绍一下Dialog的用法吧,其实很简单,相信大多数人都是经常使用的:AlertDialog.Builder builder = new AlertDialog.Builder(this);builder.setTitle("Title") .setMessage("Dialog content.") .setPositiveBut
2016-10-21 12:22:17 238 1
转载 java泛型通配符和类型参数的范围
类型参数的范围在泛型中,如果不对类型参数加以限制,它就可以接受任意的数据类型,只要它是被定义过的。但是,很多时候我们只需要一部分数据类型就够了,用户传递其他数据类型可能会引起错误。例如,编写一个泛型函数用于返回不同类型数组(Integer 数组、Double 数组等)中的最大值:public T> T getMax(T array[]){ T max = null;
2016-10-19 11:26:15 460
原创 Java泛型详解,只需5分钟
我们知道,使用变量之前要定义,定义一个变量时必须要指明它的数据类型,什么样的数据类型赋给什么样的值。假如我们现在要定义一个类来表示坐标,要求坐标的数据类型可以是整数、小数和字符串,例如:x = 10、y = 10x = 12.88、y = 129.65x = "东京180度"、y = "北纬210度"针对不同的数据类型,除了借助方法重载,还可以借助自动装箱和向上转型。我们知
2016-10-19 11:24:48 220
转载 Java字符串
String字符串与数组有一个共同点,就是它们被初始化后,长度是不变的,并且内容也不变。如果要改变它的值,就会产生一个新的字符串,如下所示:String str = "Hello ";str += "World!";这个赋值表达式看起来有点像简单的接龙,在str后面直接加上一个“World!”字符串,形成最后的字符串“Hello World!”。其运行原理是这样的:程序首先
2016-10-19 10:41:56 251
原创 Java数组的定义和使用(补充)
如果希望保存一组有相同类型的数据,可以使用数组。数组的定义和内存分配Java 中定义数组的语法有两种: type arrayName[]; type[] arrayName;type 为Java中的任意数据类型,包括基本类型和组合类型,arrayName为数组名,必须是一个合法的标识符,[ ] 指明该变量是一个数组类型变量。例如:int demoAr
2016-10-19 10:39:05 233
原创 Java数据类型转换
数据乐行的转换,分为自动转换和强制类型转换。自动转换时程序在执行过程中“”悄然“”进行的转换,不需要用户提前声明,一般是从位数低的类型向位数高的类型转换;强制类型转换则必须在代码中声明,转换顺序不受限制。自动数据类型转换自动转换按从低到高的顺序转换。不同类型数据间的优先关系如下: 低---------------------------------------------
2016-10-19 10:29:48 373
原创 Java类库及其组织结构(Java Api)
打开J2SE 1.7 的API文档,如下图所示:图1 API 文档Java类库中有很多包:以 java.* 开头的是Java的核心包,所有程序都会使用这些包中的类;以 javax.* 开头的是扩展包,x 是 extension 的意思,也就是扩展。虽然 javax.* 是对 java.* 的优化和扩展,但是由于 javax.* 使用的越来越多,很多程序都依赖于 jav
2016-10-19 10:21:32 1422
原创 Java类和对象的概念
Java中的类可以看成是C语言中的结构体。结构体是一种构造数据类型,可以包含不同的成员(变量),每个成员的数据类型可以不一样;可以通过今日构体来定义结构体变量,每个变量拥有相同的性质。例如:#include int main(){ // 定义结构体 Student struct Student{ // 结构体包含的变量 char *name;
2016-10-19 09:51:45 436
原创 Java虚拟机及跨平台原理
相信大家已经了解到Java具有跨平台的特性,可以“一次编译,到处运行”,在Windows下编写的程序,无需任何修改就可以在Linux下运行,这是C和C++很难做到的。那么,跨平台是怎样实现的呢?这就要谈及Java虚拟机(Java Virtual Machine,简称 JVM)。JVM也是一个软件,不同的平台有不同的版本。我们编写的Java源码,编译后会生成一种 .class 文
2016-10-19 09:44:42 470
转载 常见的数据结构与算法(下)
一、概述二、查找算法三、排序算法四、其它算法五、常见算法题六、总结一、概述以前看到这样一句话,语言只是工具,算法才是程序设计的灵魂。的确,算法在计算机科学中的地位真的很重要,在很多大公司的笔试面试中,算法掌握程度的考察都占据了很大一部分。不管是为了面试还是自身编程能力的提升,花时间去研究常见的算法还是很有必要的。下面是自己对于算法这部分的学习总结。算法简介
2016-10-18 20:33:39 902
转载 常见的数据结构与算法(上)
数据结构是以某种形式将数据组织在一起的集合,它不仅存储数据,还支持访问和处理数据的操作。算法是为求解一个问题需要遵循的、被清楚指定的简单指令的集合。下面是自己整理的常用数据结构与算法相关内容,如有错误,欢迎指出。为了便于描述,文中涉及到的代码部分都是用Java语言编写的,其实Java本身对常见的几种数据结构,线性表、栈、队列等都提供了较好的实现,就是我们经常用到的Java集合框架,有需要的
2016-10-18 20:31:04 404
转载 回调函数
回调函数就是一个通过函数指针(函数地址)调用的函数。如果把函数的指针(也即函数的地址)作为参数传递给另一个函数,当通过这个指针调用它所指向的函数时,称为函数的回调。 回调函数不是由该函数的实现方直接调用的,而是在特定的事件或条件发生时,由另外的一方调用的,用于对该事件或条件进行响应。 软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三
2016-10-18 20:25:07 243
原创 eclipse常用的快捷键
在网上搜eclipse快捷键,可以搜出一大堆,大多罗列了n多的快捷键,估计大部分人看了以后都会头大的,我也头大,不过我一一尝试了一遍,整理出了eclipse最常用最有用,写代码必须用到的一些快捷键,大约只有网上快捷键大全的一半,减少大家的记忆量。如果大家把这些快捷键都很好的运用,写代码的效率一定会有提高。当然你也可以通过菜单栏中Window–>Preferences–>General–>Keys来
2016-10-18 20:20:57 179
转载 Android国内一些比较知名的大牛
android-dev-cn一些国内 Android 开发者信息,欢迎提交修改国外部分开发者信息分享:昵称GitHub博客介绍罗升阳 Luoshengyang@csdnAndroid 源码分析邓凡平 innost@csdn阿拉神农魏祝林 android_tutor@csd
2016-10-18 20:09:58 1507
转载 Git服务器搭建
Git 服务器搭建上一章节中我们远程仓库使用了 Github,Github 公开的项目是免费的,但是如果你不想让其他人看到你的项目就需要收费。这时我们就需要自己搭建一台Git服务器作为私有仓库使用。接下来我们将以 Centos 为例搭建 Git 服务器。1、安装Git$ yum install curl-devel expat-devel gettext-dev
2016-10-18 18:59:22 161
转载 Git远程仓库
Git 远程仓库Git 并不像 SVN 那样有个中心服务器。目前我们使用到的 Git 命令都是在本地执行,如果你想通过 Git 分享你的代码或者与其他开发人员合作。 你就需要将数据放到一台其他开发人员能够连接的服务器上。本例使用了 Github 作为远程仓库,你可以先阅读我们的 Github 简明教程。添加远程库要添加一个新的远程仓库,可以指定一个简单的
2016-10-18 18:58:47 255
转载 Git标签
Git 标签如果你达到一个重要的阶段,并希望永远记住那个特别的提交快照,你可以使用 git tag 给它打上标签。比如说,我们想为我们的 w3cschoolcc 项目发布一个"1.0"版本。 我们可以用 git tag -a v1.0 命令给最新一次提交打上(HEAD)"v1.0"的标签。-a 选项意为"创建一个带注解的标签"。 不用 -a 选项也可以执行的,但它不会记录这
2016-10-18 18:57:56 166
转载 Git查看提交历史
Git 查看提交历史在使用 Git 提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,我们可以使用 git log 命令查看。针对我们前一章节的操作,使用 git log 命令列出历史提交记录如下:$ git logcommit 88afe0e02adcdfea6844bb627de97da21eb10af1Merge: 14b4dca d7e7346Autho
2016-10-18 18:57:20 1089
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人