自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

张拭心的博客 shixinzhang

“厚德求真·励学笃行”,输入->思考->输出

  • 博客(38)
  • 资源 (11)
  • 收藏
  • 关注

原创 Android Studio中mipmap目录和drawable目录有什么区别

使用Android Studio开发时发现有2个目录可以放置图片: mipmap vs drawable,那么他们有什么区别呢?该选择哪个呢?这里网罗各位大神的答案,共同学习:答案1:图片还是放在drawable文件夹下吧,mipmap只放launcher icons就好了。Google官方有介绍:Managing Projects Overviewdrawable/F

2015-08-31 16:18:58 5272 1

原创 由《骗子伪装成"10086"发送诈骗短信》联想到程序猿的内在修炼

一直听说短信诈骗,今天真的遇到,不小心还真会被骗,记录如下,提醒大家:1.收到短信,发件人显示10086,和其他短信在一起2.打开给的连接,网站很像那么一回事,输入号码,查询积分:3.显示可以兑换315,好像不错的样子呦,赶紧兑换4.结果这个页面让我输入的信息那么多,太可疑了!可是发送号码明显是10086,我拨打了10086客服,咨询了这

2015-08-30 15:36:02 5625

转载 一分钟教你知道乐观锁和悲观锁的区别

悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。乐观锁(Optimistic Lock), 顾名思义,就是很乐观,每次去拿数据的时候都认为别人

2015-08-28 12:07:40 925

原创 Android应用开发:屏幕旋转时的非中断保存之setRetaineInstance

引言首先,要明确什么叫“非中断保存”。熟悉Fragment的开发人员都知道,Fragment是依附于Activity的。当Activity销毁时,Fragment会随之销毁。而当Activity配置发生改变(如屏幕旋转)时候,旧的Activity会被销毁,然后重新生成一个新屏幕旋转状态下的Activity,自然而然的Fragment也会随之销毁后重新生成,而新生成的Fragment中的各个

2015-08-27 11:39:17 1429

转载 Retrofit原理及调用流程分析

Retrofit很有创意的一款开源网络框架,让用户自定义接口,并使用其提供的注解,对接口进行解析和调用,是Square旗下的产品之一,最近刚用不久,总觉得应该看看它的原理,所以就有了这篇文章。Retrofit android 网络框架 square 开源目录[-]准备步骤Demo_1 调用流程分析1 . 创建 RestAdapter ->2 . 使用

2015-08-27 10:43:26 1169

翻译 使用LRU算法缓存图片

译文地址:http://blog.csdn.net/androidzhaoxiaogang/article/details/7910364在您的UI中显示单个图片是非常简单的,如果您需要一次显示很多图片就有点复杂了。在很多情况下(例如使用 ListView, GridView 或者 ViewPager控件),显示在屏幕上的图片以及即将显示在屏幕上的图片数量是非常大的(例如在图库

2015-08-24 14:09:19 1062

转载 Java并发编程:同步容器

为了方便编写出线程安全的程序,Java里面提供了一些线程安全类和并发工具,比如:同步容器、并发容器、阻塞队列、Synchronizer(比如CountDownLatch)。今天我们就来讨论下同步容器。  以下是本文的目录大纲:  一.为什么会出现同步容器?  二.Java中的同步容器类  三.同步容器的缺陷  若有不正之处请多多谅解,并欢迎批评指正。

2015-08-21 15:57:32 1168

原创 Java并发编程之ReadWriteLock,读取大数据的利器

现在都是“大数据”时代,大量的用户数据需要处理,如何保证大量数据在多线程下的安全,成了比较重要的问题。今天要学习的就是java.util.concurrent包下Locks接口的一个实现类,ReadWriteLock,读写锁。读写锁的出现时为了弥补传统同步方式synchronized的缺憾,使用synchronized同步的方法或语句,当多线程读取一个大数据时,每次只能有一个线程读

2015-08-21 10:11:58 1425 1

转载 Java的Timer和TimerTask

有时候需要每隔一段时间去执行某个任务,在Java中提供了Timer和TimerTask来完成这个任务,这个两个类位于java.util包中。Timer类是Java中一种线程设施,用于安排以后在后台线程中执行的任务,可以安排任务执行一次或定期重复执行。与每个Timer对象对应的是单个后台线程,用于顺序的执行所有计时器任务。      对Timer对象最后的引用完成后,并且所有未处理的任务都已

2015-08-19 17:17:06 1212

转载 10种经典排序算法及复杂度总结

排序算法有很多,所以在特定情景中使用哪一种算法很重要。为了选择合适的算法,可以按照建议的顺序考虑以下标准: (1)执行时间 (2)存储空间 (3)编程工作    对于数据量较小的情形,(1)(2)差别不大,主要考虑(3);而对于数据量大的,(1)为首要。   主要排序法有: 一、冒泡(Bubble)排序——相邻交换 二、选择排序——每次最小/大排在相应的位置 三

2015-08-17 12:04:00 3547

转载 Java中为什么float型最大值大于long型?

最为一个常识,我们都知道浮点型在内存中占用的是4个字节的空间,而long型占用的是8个字节的空间。可是为什么4个字节的float型的最大值会大于long型的最大值呢?       我们都知道,float类型的范围是:一3.403E38~3.403E38。而long类型的范围是:-2^63~2^63-1(大概是9*10^18)。       我以前也是简单的记住就算完事了,对于它为什

2015-08-17 12:01:06 7694 1

转载 Java数据类型的转换:隐式(自动)转换与强制转换

原文链接:http://java.chinaitlab.com/base/725590.html一些初学JAVA的朋友可能会遇到JAVA的数据类型之间转换的苦恼,例如,整数和float,double型之间的转换,整数和String类型之间的转换,以及处理、显示时间方面的问题等。下面笔者就开发中的一些体会介绍给大家。      我们知道,Java的数据类型分为三大类,即布尔型、字符型

2015-08-17 10:09:25 28256 1

转载 哈夫曼树与哈夫曼编码

在一般的数据结构的书中,树的那章后面,著者一般都会介绍一下哈夫曼(HUFFMAN)树和哈夫曼编码。哈夫曼编码是哈夫曼树的一个应用。哈夫曼编码应用广泛,如JPEG中就应用了哈夫曼编码。 首先介绍什么是哈夫曼树。哈夫曼树又称最优二叉树,是一种带权路径长度最短的二叉树。所谓树的带权路径长度,就是树中所有的叶结点的权值乘上其到根结点的 路径长度(若根结点为0层,叶结点到根结

2015-08-16 22:37:39 2499 1

原创 怎么判断一个序列是不是堆?

已知一个序列,比如{100,6070,50,32,65},怎么判断是不是堆?答案:把这个序列看成数组型的二叉树,如果根结点是i,左子树是2*i,右子树是2*i+1。堆分为最大堆与最小堆。最大堆中所有父节点都比左子树、右子树大,比如已知序列,画成堆就是: 所以已知序列是个最大堆。最小堆中所有父节点都比左子树、右子树小,比如{32,50,60,70,100,65},画成堆: 符合以上两种情况的

2015-08-16 21:37:23 59693 3

转载 Java SE 7新特性:创建泛型实例时自动类型推断

转自:http://www.365mini.com/page/10.htm在以前的版本中使用泛型类型,需要在声明并赋值的时候,两侧都加上泛型类型。例如:MapString, String> myMap = new HashMapString, String>();不过,在Java SE 7中,这种方式得以改进,现在你可以使用如下语句进行声明并赋值:MapString, St

2015-08-16 15:28:54 3385

转载 Java的版本历史与特性

一个比较流行的问题是,“Java下一个版本会有什么特性呢?” 。这是否是个好问题却有待商榷。在下面的内容里,我总结了至今为止的Java主要发行版中各自引入的新特性,这样做的目的是为了突出各个新特性是在哪个发行版中引入的。除了列出的特性外,每个发行版还做了很多优化和修复BUG的工作。Java Version SE 7开发代号是Dolphin(海豚),于2011-07-28发行。

2015-08-16 14:50:14 1708

原创 Java中的八种基本数据类型所占字节的求法

ava中有八种基本数据类型,分别为:byte、short、int、long、float、double、char、boolean。这八种基本类型都有对应的包装类,分别为:Byte、Short、Integer、Long、Float、Double、Character、Boolean。    面试时时常会闻到这八种基本类型及其包装类,而且各种基本类型所占的字节数即使记不住、能用代码实现也是可以的。

2015-08-16 14:27:11 11115 1

转载 年收入50万美元的软件工程师做的是什么类型的工作?

为解释如何达到该种程度以及你所需要做的事情,请允许我打个比方:假设你是一个村庄的工人,专职负责为村庄供水。对于村民来讲,你就是有价值的人。当前有两种类型的工人:第1种类型:抓一两个空水桶,去甜水湖,装满,回村,让二十个人高兴的喝到水。在路上,他会喝点自己运的水,回来后,还需要提一定的水回家。第2种类型:不在乎他所能“公平分享”到的水的多少。不是抓个空

2015-08-15 19:56:06 1338

原创 Android Studio运行第一个项目老是报错?教你一次性安装、运行成功

早就想安装AS,体验下Google亲儿子IDE有什么优点,今天兴致勃勃从朋友那拷来安装包。安装过程中需要访问google官方下载些东西,无奈被墙,只能按网上说的,修改gradle配置文件、或者拖着不点、多试几次,勉强安装成功。新建个项目,哇塞,新建的项目里有带抽屉效果的,体验一下!结果,点击运行后,各种报错,又是sdk版本不行,又是gradle构建出错,WTF,快疯了。请教

2015-08-15 10:31:32 2997

原创 Intent传递数据和Bundle传递数据的区别

Intent传递数据和Bundle传递数据是一回事,Intent传递时内部还是调用了Bundle。以下为源码:public Intent putExtra(String name, boolean value) { if (mExtras == null) { mExtras = new Bundle(); } mExtras.putBoole

2015-08-14 11:12:10 2652

原创 BroadcastReceiver获取手机网络状态

public class NetReceiver extends BroadcastReceiver { /** * 枚举网络状态 NET_NO:没有网络 NET_2G:2g网络 NET_3G:3g网络 NET_4G:4g网络 NET_WIFI:wifi * NET_UNKNOWN:未知网络 */ public static enum NetState { NET_NO, N

2015-08-13 10:54:51 1138

原创 Android 4.4 新特性

Android 4.4,名称为KitKat,奇巧巧克力,对应API为19.新特性:支持两种编译模式除了默认的 Dalvik 模式,还支持 ART 模式。ART模式RAM优化Android 4.4 KitKat针对RAM占用进行了优化,甚至可以在一些仅有512MB RAM的老款手机上流畅运行。它也进一步优化了系统在低配硬件上的运行效果, 支持内核同

2015-08-12 16:26:38 1496 1

转载 aapt简介及常用命令

aapt即Android Asset Packaging Tool,在SDK的build-tools目录下。该工具可以查看,创建, 更新ZIP格式的文档附件(zip, jar, apk)。也可将资源文件编译成二进制文件,尽管你可能没有直接使用过aapt工具,但是build scripts和IDE插件会使用这个工具打包apk文件构成一个Android 应用程序。在使用aapt之前

2015-08-12 15:45:55 2074

原创 Android M 六大新特性

Android M六大新特性  软件权限管理  在Android M里,应用许可提示可以自定义了。它允许对应用的权限进行高度管理,比如应用能否使用位置、相机、麦克风、通讯录等,这些都可以开放给开发者和用户。  网页体验提升  新版的M对于Chrome的网页浏览体验进行了提升,它对登陆网站、存储密码、自动补全资料、多线程浏览网页的安全性进行了一些列的优化。

2015-08-11 18:07:44 1088

原创 CharSequence与String的区别

CharSequence与String都能用于定义字符串,但CharSequence是个接口,Sting实现了它。所以也可以把CharSequence看做String的父类。例如:public void setText(CharSequence string){...}public void setText(String string){...}这2个方法可以同时存在一个类中,因为它们参数不

2015-08-11 17:15:52 3593

原创 Android L 新特性

转自:http://blog.jobbole.com/73577/每次Android新版的发布,Google都会发布一个API变更报告,概括出对比前一个版本增加、改变、移除的API等信息。无论如何,Android L 开发者预览版差异报告已经随着javaDoc一起发布了,在(a poorly-structured ZIP archive)可以看到。我经常回顾这份资料,想看看这和

2015-08-11 11:04:02 1056

原创 Android 5.0 API新增和改进

转自Android官网:点击打开链接API 级别:21Android 5.0 (LOLLIPOP) 为用户和应用开发者提供了新的功能。本文档介绍了最值得注意的新 API。有关新平台功能的扼要介绍,另请参阅 Android Lollipop 集锦。开始开发要构建 Android 5.0 版应用,您必须先下载 Android SDK,然后使用 SDK 管理器

2015-08-11 11:01:24 1309

原创 Android 4.0 平台特性

Android 4.0 平台特性API等级:14 Android4.0 是一次重要的平台发布版,为用户和应用程序开发者增加了大量的新特性。在下面我们将讨论的所有新特性和API中,因为它将 Android 3.x 版本中广泛使用的API和全息图像主题带给了小屏幕设备,因此我们说 Android 4.0 是一次重要的平台发布版。作为一名开发者,现在你拥有了单一的平台和统一的 API 框

2015-08-11 11:00:32 2132 1

原创 Android 2.0 --- 2.3 API变更概要:

Android 2.0 API变更概要: 1、Bluetooth  · 开启关闭蓝牙  · 设备和服务发现  · 使用 RFCOMM连接一个可插拔的设备收发数据  · 公布RFCOMM 服务和监听接收 RFCOMM 连接 2、Sync adapters  · 新的APIs, 同步桥接器连接任何backend 3、Account Manager  · 集中的帐户管

2015-08-11 10:09:20 1018

原创 AndroidStudio更换黑色主题方法

默认的 Android Studio 为灰色界面,可以选择使用炫酷的黑色界面。 Settings –> Appearance –> Theme ,选择 Darcula 主题即可。

2015-08-09 12:49:01 11357

转载 java怎么用一行代码初始化ArrayList

解决方法 1:其实,可能要初始化的"最佳"方式,ArrayList 是你写的方法,因为它不需要创建一个新的 List 以任何方式:ArrayList list = new ArrayList(); list.add("A"); list.add("B"); list.add("C");渔获是相当多的键入所需,请参阅 list 实例。有如使一

2015-08-08 11:53:50 55599 1

原创 ondraw() 和dispatchdraw()的区别

绘制VIew本身的内容,通过调用View.onDraw(canvas)函数实现绘制自己的孩子通过dispatchDraw(canvas)实现     View组件的绘制会调用draw(Canvas canvas)方法,draw过程中主要是先画Drawable背景,对 drawable调用setBounds()然后是draw(Canvas c)方法.有点注意的是背景drawable的实际

2015-08-07 19:07:41 1236

原创 怎么在eclipse中修改自己的git账号信息?解决办法

git地址修改需要重新clone、修改地址,现将方法记录如下:1.Clone新地址: 2.在Eclipse中打开Git Respository Exploring 视图: 3.在左侧出现所有项目: 4.右键点击要修改的项目: 5.在选项中选择“属性”,弹出配置页面: 6.由于没有修改功能,只好删掉原来的,新添一个,输入新的url

2015-08-04 13:31:59 15703

原创 Java面试宝典:42个面试题总结!

本文我们将要讨论Java面试中的各种不同类型的面试题,它们可以让雇主测试应聘者的Java和通用的面向对象编程的能力。下面的章节分为上下两篇,第一篇将要讨论面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,第二篇主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servlet和JSP。开始!目录面向对象编

2015-08-03 17:37:35 2913

转载 我为什么把think in java 读了10遍

我在想写这篇博文之前,就曾经对我媳妇(她是做web前端的)讲,我把think in java看了几次几次,媳妇那时就用很羡慕和莫名的眼神看着我说,你真有毅力,我当时就蒙了,我以为她会说,你现在基础一定很好,很强大之类的话,但是她没有,我有点失望,不过自打我把这本书看了5便之后,我只要有时间就和她讲基础的重要性之类的话,直到她十分厌烦,其实那时我知道,虽然我看了好几遍,但其实根本没有看明白,这句话我

2015-08-03 17:16:49 1473 1

原创 面试十大常见Java String问题

本文介绍Java中关于String最常见的10个问题:1. 字符串比较,使用 "==" 还是 equals() ?简单来说, "==" 判断两个引用的是不是同一个内存地址(同一个物理对象).而 equals 判断两个字符串的值是否相等.除非你想判断两个string引用是否同一个对象,否则应该总是使用 equals()方法.如果你了解 字符串的驻留 ( String In

2015-08-03 15:16:35 2025 1

原创 Java基础查漏补缺:String为什么不可修改

比较String与StringBuilder时我们都知道: String是不可修改的 StringBuilder可以修改 所以当字符串需要频繁更改时推荐使用StringBuilder.但是为什么呢?原来String对象只是一个引用,每次新建一个String对象s,编译器都会去堆中的字符串常量池中寻找有没有要匹配的字符串,有就s指向它;没有就新建一个字符串,然后s指向它。用几个图辅

2015-08-03 15:09:33 2137

原创 Android实习周记:第九周,如果大二的假期就开始实习,或许我早已进入BAT

暑假开始了,妈妈打来电话问我什么时候回家,考虑到一个多月后就要面临最“艰难”的时刻——秋招,我决定假期留在西安实习。在这周的实习,时间过的很快。每天工作时会遇到各种不会的,一个个解决,一周下来发现还是收获很多的。这周的收获如下:一句话匹配复杂规则的字符串:正则表达式继SlidingMenu之后,更为好用的抽屉布局:drawerLayout与ActionBarDrawerToggle的使用And

2015-08-03 00:43:37 3031

深入探索Android热修复技术原理pdf

阿里 安卓 热修复 pdf

2017-07-03

recyclerview-v7-24.1.0-sources.jar

recyclerView 比较新的jar包,Eclipse 中使用

2016-07-27

全国省份、城市JSON

全国省份、城市的JSON数据

2016-05-04

Android常用的工具类utils可直接导入项目使用

Android常用的工具类utils可直接导入项目使用

2015-12-02

Android更换主题一键换肤源码

Android更换主题一键换肤源码,适合新手,直接使用

2015-08-07

Android实现微信游戏【围住神经猫】模仿版

Android实现微信游戏【围住神经猫】模仿版,apk文件在bin目录下。主要使用SurfaceView,代码注释较全,适合初学者

2015-07-29

基于wheelView的自定义日期选择器

基于wheelView的自定义日期选择器,支持拓展,样式可以多样

2015-06-26

EffectiveJava中文版

《Effective Java中文版(第2版)》主要内容:在Java编程中78条极具实用价值的经验规则,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。通过对Java平台设计专家所使用的技术的全面描述,揭示了应该做什么,不应该做什么才能产生清晰、健壮和高效的代码。第2版反映了Java 5中最重要的变化,并删去了过时的内容。 《Effective Java中文版(第2版)》中的每条规则都以简短、独立的小文章形式出现,并通过示例代码加以进一步说明。 《Effective Java中文版(第2版)》的内容包括: 全新的泛型、枚举、注解、自动装箱、for-each循环、可变参数、并发机制,等等。 经典主题的全新技术和最佳实践,包括对象.类、类库、方法和序列化。 如何避免Java编程语言中常被误解的细微之处:陷阱和缺陷。

2015-05-09

Android一键锁屏源码

如题,源码,可直接运行。用于Android开发学习者

2015-04-07

html5游戏(初学者)

例子很好,代码也很清晰,还有解释,适合初学者观看

2013-06-28

空空如也

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

TA关注的人

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