自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

张新强的CSDN博客

我的编程之路 BarryZhang

  • 博客(49)
  • 资源 (30)
  • 收藏
  • 关注

原创 我的新博客——BarryZhang.com

CSDN这里很好,但还是自己的站点写东西感觉更爽一点吧。自己弄了个独立域名的博客——BarryZhang.com,欢迎访问。另外,欢迎关注公众号【不只Android】

2014-03-20 09:22:03 2807

原创 Hi,我们再来聊一聊Java的单例吧

单例(Singleton)应该是开发者们最熟悉的设计模式了,并且好像也是最容易实现的——基本上每个开发者都能够随手写出——但是,真的是这样吗?

2017-06-24 16:41:16 1446

原创 proguard如何会导致json解析失效?

1. 楔子json数据的解析是这个星球上99%的Android程序猿都会遇到的问题,而其中的大部分,都会使用Gson,故事就是从这里发生……

2017-04-06 21:21:26 2289

原创 如何画一个正多边形

本文由BarryZhang原创,同时首发于barryzhang.com,简书,非商业转载请注明作者和原文链接。场景给定一个指定的正方形的区域,要求在该区域内画一个正N边形(正三角形、正方形、正五边形……) public static void drawPolygon (RectF rect, Canvas canvas, Paint p, int n) { // draw……}分析要用到

2016-12-13 10:46:15 4519

原创 彻底搞懂startActivityForResult在FragmentActivity和Fragment中的异同

Activity、FragmentActivity、Fragment中都有`startActivityForResult()`方法,也都有用以接收结果的`onActivityResult()`方法,那他们有什么区别吗?用法上有什么不同吗?

2016-11-19 12:49:42 14666 3

原创 Android爬坑之旅:软键盘挡住输入框问题的终极解决方案

前言开发做得久了,总免不了会遇到各种坑。 而在Android开发的路上,『软键盘挡住了输入框』这个坑,可谓是一个旷日持久的巨坑——来来来,我们慢慢看。

2016-10-28 09:51:44 6045

原创 Android开发:为什么要使用Kotlin?

在使用Kotlin进行了一段时间的Android开发之后,我深深地体验到了它的美好,觉得是时候把它拿出来安利一下了。

2016-10-20 21:36:53 4507

原创 只需五分钟,开始使用Kotlin开发Android

1:本文是一篇描述如何在Android上开始一个Kotlin的HelloWorld程序的说明文。 2:其实你如果你网络够给力的话,也许三分钟就可以了。当然网络不够给力,也可能十分钟还没整好~

2016-10-20 21:35:14 7587 1

原创 【Android】真机调试新姿势:无线连接

在进行Android开发时,一般我们都是用usb线把手机和电脑连接起来进行调试工作。但如果你觉得这样不够酷的话,可以尝试一下无线连接,颇简单,GO!

2016-10-09 23:01:37 5358

原创 【Android】WebView:onReceiveError的应用与变迁

onReceiveError是WebViewClient提供的方法,用于网页产生错误时进行回调处理。1. 旧版的onReceiveError在API23之前,该方法的签名是:public void onReceivedError(WebView view, int errorCode,String description, String failingUrl);文档是: Re

2016-10-04 12:43:54 11068 1

原创 【Android】你可能还不知道的elevation、以及Z值等

Android你可能还不知道的elevation以及Z值等elevation以及Z值是什么有什么用处呢影响View的阴影影响View相互阻挡顺序还有CardView

2016-09-29 11:42:00 14993

原创 Android: NullPointerException when using RelativeLayout with measure()

使用measure()方法计算view的高度时,如果view中含有RelativeLayout布局,就有可能出现这样的错误: 07-13 13:18:34.330: E/AndroidRuntime(12098): java.lang.NullPointerException 07-13 13:18:34.330: E/AndroidRuntime(12098): at andro

2015-07-13 23:43:25 3094

原创 解决下载Android Build-tools 19.1.0失败

准备从Eclipse转到Android Studio了。今天尝试Android Studio的时候,被它提醒我SDK的Android Build-tools版本过低,需要升级。 于是打开Android SDK Manager,它顺利地帮我找到了Android SDK Build-tools的19.1版本,但是下载的时候却死活下载不了……

2015-04-01 21:34:46 25414 4

原创 Android:防止过快点击造成多次事件

onClick事件是Android开发中最常见的事件,本文介绍了一个小技巧,能防止view被误操作快速重复点击时,而重复产生事件。

2015-03-20 23:57:45 51954 13

原创 Android:自定义DialogFragment的内容和按钮

小问题,记录下~Android4.0以后开始推荐使用DialogFragment代替Dialog。Android的官方文档中给了两个示例:一个Basic Dialog示例了如何自定义窗口内容——重写onCreateView方法。 一个Alert Dialog示例了如何自定义弹窗的正负按钮——重写onCreateDialog方法。 好的,那么问题来了在实际应用中经常是

2014-12-13 22:21:35 7825

原创 Android客户端验证Licence的原理

需求: 限制App的使用,使App只能在有许可的设备上运行。原理: 让App在每次运行的时候都连接服务器进行合法性验证——当然是一个很成熟可靠的方案;但是这样做的局限也是每次都需要连接服务器,对一些不需要联网或者只连局域网的内部应用来说就太不可行了——服务端验证不可行的话就只能在客户端验证了。

2014-07-31 09:59:03 6129 1

原创 JAVA反射修改常量,以及其局限

对于基本类型的静态常量,JAVA在编译的时候就会把代码中对此常量中引用的地方替换成相应常量值。——这本身是JVM的优化代码提高运行效率的一个行为,但是就会导致我们在用反射改变此常量值时出现类似不生效的错觉。这大概是JAVA反射的一个局限吧——修改基本类型的常量时,不是太可靠。

2014-04-25 01:14:56 22550 7

原创 javascript的函数内部变量的作用域

javascript中的函数内部任何位置声明的变量,都在整个函数内部有效。每种语言都有不同的特性,学习语言的时候,如果不透彻,容易有许多想当然的理解,就很容易处错误。自己学习的时候还是要注意呀~

2014-04-17 00:14:22 3592

原创 Android的多语言实现

以前就知道Android的多语言实现很简单,可以在不同的语言环境下使用不同的资源什么的,但是一直没有实际使用过。 最近公司的项目要用到多语言于,是就研究了一下——果然很简单啊。要使用多语言,首先肯定要有为不同语言准备的资源。只需要按照Android提供的规范,对不同语言下的资源文件夹进行对应的命名即可。比如我们知道/valus是Android的默认简单资源(字符串、数值、颜色等)的

2014-04-11 12:37:28 21620 3

原创 Android应用密码的实现

最近做了一个demo——功能是给自己的应用加锁,访问的时候需要输入密码,并且每次锁屏再开之后都需要重新输入密码。主要思路:设置一个全局变量表示当前应用的状态(布尔值:已锁定|已解锁),在每个Activity显示之前进行状态判断,如果当前为锁定状态,则终止显示,跳转到密码界面。在密码界面输入正确的密码之后,将应用状态改为已解锁,并返回继续显示之前的Activity;否则继续要求输入密码。

2014-03-27 01:42:51 13318 4

原创 我的Android笔记(十四)—— 在应用中集成科大讯飞的语音识别技术

语音识别技术最近貌似是越来越火了。再前几天科大讯飞还刚刚发布了讯飞语点——一个据说要挑战siri的应用。……好吧,对这些的东西讨论要说起来就多了。本文主要讲如何在自己的android应用中集成语音识别技术——自然,是使用科大讯飞的sdk。讯飞的语音sdk是需要申请的,地址是:http://dev.voicecloud.cn/developer.php?vt=1 。申请一个讯飞的开发

2012-03-27 23:57:36 30070 9

原创 我的Android笔记(十三)——Muilti-touch 双指缩放的实现探索

Multi-Touch(多点触控)可谓是现代智能手机最令人赞叹的功能之一,想当年乔爷第一次在iphone的发布会上演示多点触控功能的时候,台下的掌声和口哨声那叫热烈啊~~~~本文主要讨论文字缩放,以TextView为例。先放上效果图吧:  两指缩放的基本原理:判断当前在TextView上的点有几个,当有两个(或更多时)点,并且点之间的距离在不断增大时,放大文字;反之缩小文字

2012-03-25 16:19:58 47061 23

原创 我的Android笔记(十二)——分享一个自己写的cnBeta客户端源码

CnBeta是我本人常去的科技资讯站点,刚好最近在学习android开发,就萌生了自己写了一个cnbeta的android客户端想法。原理自然是很容易想到的:首先获取cnbeta新闻列表页的html代码,然后提取出自己需要的信息(新闻标题、连接)显示在ListView中。ListView的底部有一个“加载更多”的按钮,在点击加载第二页新闻列表当点击ListView的某一条新

2012-03-23 23:09:51 7009 13

原创 我的Android笔记(十一)——使用Preference保存设置

Android中有四种持久化数据的方法:SQLite数据库、文件存储、Preference、ContentProvider。四种方法各有专攻,而其中Preference是以类似Map的键值对形式存储的,最适合用来保存用户个人设置之类的信息。可以用一个xml文件来配置一个设置界面,然后用专门的PreferenceActivity将其显示。PreferenceActivity是专业的设

2012-03-22 12:26:47 20496 1

原创 我的Android笔记(十)—— ProgressDialog的简单应用,等待提示

在应用中经常会用到一些费时的操作,需要用户进行等待,比如加载网页内容……这时候就需要一个提示来告诉用户程序正在执行,并没有假死或者真死……囧……而ProgressBar、ProgressDialog等就是专门干这个的。以ProgressDialog为例,一般的使用它步骤为:在执行耗时间的操作之前弹出ProgressDialog提示用户,然后开一个新线程,在新线程里执行耗时的操作

2012-03-21 01:08:52 51370 9

原创 我的Android笔记(九)—— TextView显示html图片的方法

TextView是不只可以String的,我们平常用的给setText()方法传递String参数的时候,其实是调用的public final void setText (CharSequence text)方法,String类是CharSequence的子类。而CharSequence子类众多,其中有一个接口Spanned,即类似html的带标记的文本。我们可以用它来在TextView中显示

2012-03-19 19:54:40 26124 16

原创 我的Android笔记(八)—— 使用Jsoup解析Html

想要做一个看新闻的应用,类似Cnbeta客户端的东西。大致思路如下:根据链接获取新闻列表页的html代码,然后解析,找到所有的新闻标题和新闻链接用listView显示,当点击ListView的Item再加载相应的新闻内容。其中获取html代码,可以使用如下代码实现: public String getHtmlString(String urlString) { try {

2012-03-18 16:50:54 43047 25

原创 我的Android笔记(七)—— 读取txt文件内容

众所周知,Android的res文件夹是用来存储资源的,可以在res文件夹下建立一个raw文件夹,放置在raw文件夹下的内容会被原样打包,而不会被编译成二进制文件,并且可以通过R文件进行很方便地访问。比如我们可以将更新信息、版权信息等放到txt文件中,然后放到raw文件中,然后很方便地进行访问。在raw中放入一个a.txt文件,然后就可以在Activity中使用getResourc

2012-03-17 23:07:06 69569 11

原创 我的Android笔记(六)——分享一个自己的NumberPicker

(PS:其实不是自己的,只是我修改自别人的开源代码的,这里说“自己的”只是为了区别Android3.0以后系统自带的NumberPicker类)Android3.0增加了一个NumberPicker类,可用于数字的获取。但是目前我们的应用一般都至少要兼容到2.1,所以要用NumberPicker就很纠结了。我在写的一个应用要用到金钱的输入,之前的做法是用一个EditText,限制内容为数字

2012-03-17 01:37:27 23290 8

原创 我的Android笔记(五)——调用相机并将照片存储到sd卡上

Android中实现拍照有两种方法,一种是调用系统自带的相机,然后使用其返回的照片数据。 还有一种是自己用Camera类和其他相关类实现相机功能,这种方法定制度比较高,洗染也比较复杂,一般平常的应用只需使用第一种即可。用Intent启动相机的代码: Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); sta

2012-03-15 00:59:09 10312 3

原创 我的Android笔记(四)—— SQLite设置_id自增的方法

只需在建表的时候指定类型: INTEGER PRIMARY KEY AUTOINCREMENT然后在存入数据的时候不设置其值(或设置为null)即可。如建表:CREATE TABLE TABLE_NAME ( _id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT);存入数据:ContentValues cv = new Conte

2012-03-15 00:31:58 31364 1

原创 我的Android笔记(三)——使用Intent在Activity间传值

在Android中, 一个Activity可以理解为一个屏幕。  当程序要从一个Activity切换到另外一个Activity时,就需要用到Intent。Intent专门负责Android程序之间、以及程序内Activity与Service之间交互、通信。以下是一个简单的demo,使用Intent从一个Activity切换到另一个Activity,并且传递一个数据进行显示。

2012-02-13 16:22:20 3279

原创 我的Android笔记(二)—— SQLite数据库的基本操作

SQLite是Android使用的轻量级的数据库,开发Android应用是对数据库的操作自然是必不可少。Android提供了一个SQLiteOpenHelper类来可以很方便的操作数据库,继承和扩展SQLiteOpenHelper类主要做的工作就是重写以下两个方法。        onCreate: 当数据库被首次创建时执行该方法,一般将创建表等初始化操作在该方法中执行。

2012-02-07 20:12:38 8569 2

原创 我的Android笔记(一)—— hello world程序结构分析

新建一个android project,(我用的是2.3.3的Target),eclipse会自动生成以下内容————这是一个完整的可运行的“hello world”程序。运行结果为:在屏幕上显示出了Hello world,Demo_01Activity!----------------------------------------------------------

2012-01-31 21:20:48 3458 4

原创 struts2的checkbox传递布尔值出错的问题

struts2的checkbox传值问题。要通过action传递checkbox的布尔值时(是布尔值,单个的checkbox,表示此框是否被选中的布尔值),后台Action用一个布尔型变量接收。在用html的标准checkbox时,传值传的非常纠结,无论前台的checkbox是否被选中,在后台接收到的值总都是true……。最后找到的解决办法是:用struts的标签来代替标准

2011-11-29 04:53:28 5589 2

原创 更改Struts2的文件上传限制

用到了struts2文件上传功能,几经周折终于实现了主要功能。但是在测试的时候上传大一点的文件时却总是报错……最后发现,原来struts2的文件上传是有默认的大小限制的,是2M。更改大小限制的方法也很简单,只要在配置文件struts.xml中加入一句:数字即为更改后的最大大小,单位是B,字节。如我设置的20971520即限制为20M以内。很简单,顺便记下~ove

2011-11-28 04:42:09 1403

原创 学习笔记:jdbc连接、操作数据库SQL Server 2008(二)

在前天的文章http://blog.csdn.net/barryhappy/archive/2011/06/06/6528368.aspx中,我写了第一次用java连接的方法记录。那是创建了一个指向数据库的数据源,然后通过数据源利用jdbc-odbc桥实现的连接。 额……蓦然又发现使用jdbc-odbc桥是不被推荐的方法……貌似是因为平台支持之类的原因……额…… 换一个吧—

2011-06-08 00:40:00 3330 1

原创 学习笔记:jdbc连接、操作数据库SQL Server 2008 ——MyEclipse web示例

2012年3月 更新说明:此方法第二部为使用odbc,不是推荐的方法,详见我下一篇博客----------------------------------------------------------------------------------------------------------------------------------------------------

2011-06-06 20:44:00 31821 9

原创 学习笔记: JavaScript/JQuery 的cookie操作

cookie是网页存储到用户硬盘上的一小段信息。最常见的作用是判断用户是否登录、保存偏好设置等。我用到这个是写扫雷时,需要用cookie保存用户的设置,如行、列等。功能已具,笔而记之。cookie具有特定的格式——        cookiename=cookievalue; expires=epirationDateGMT; path=URL; domin=siteDomin; secure: boolean可以看出由分号隔开的几部分——第一部分是cookie的名称和值,这是每一个cookie中必须有的。

2011-04-27 21:50:00 5680

原创 使用JQuery——更优雅的编写脚本

JQuery是一个轻量级的javascript库——它还是javascript,但是比原生的javascript要更加方便和优雅,优雅,这是一个我非常喜欢的词。javascript的一个很大弊端是不同跟浏览器对它的处理是略有差异的,即兼容性。——不要小看“略有”这两个字,它足让程序员纠结、愤怒、拍桌子骂街了……(尤其是IE浏览器,额,不多说,程序员同学,你懂的)。而JQuery在很大程度上解决了这个问题,它封装了大量的操作,使我们在编程时基本不用考虑浏览器的差异性了。比如要在一个元素上添加一个鼠标事件,原生

2011-04-21 17:15:00 2355 2

Android多语言的demo

很简答的一个多语言小demo,显示三种语言的helloworld。

2014-04-11

Android应用密码的Demo

android的一个小demo,实现功能是访问应用时需要输入密码,并且每次锁屏之后再访问需要重新输入密码。

2014-03-27

android语音识别demo

android语音识别demo,使用了科大讯飞的技术。交流学习

2012-03-28

android多点触控 两指缩放的demo

android多点触控 两指缩放的demo,以缩放TextView的文字缩放为例~

2012-03-25

一个cnbeta的Android客户端源代码 (包含jsoup的jar包)

我自己写的一个cnbeta(科技资讯网站)客户端,可以自动保存读过的新闻,可以设置是否显示图片。 打包了jsoup的jar包

2012-03-24

一个cnbeta的Android客户端源代码

我自己写的一个cnbeta(科技资讯网站)客户端,可以自动保存读过的新闻,可以设置是否显示图片。

2012-03-23

android Preference的Demo

android程序的一个demo,演示Preference保存设置的功能

2012-03-22

Android TextView显示html的demo

Android TextView显示html的demo ,演示如何在TextView上显示html效果,包括图片,

2012-03-19

Java Android 解析html的demo

使用Jsoup解析html代码的示例。 以科资讯网站cnbeta为例,demo中点击按钮会获取cnbeta的首页html,然后使用Jsoup解析,在屏幕上显示当前页的所有文章标题及连接。 使用到的Jsoup的jar包也打包在内

2012-03-18

Android读取文本文件的demo

一个Android读取文本文件的demo,txt文件放到res/raw文件夹下,通过代码将其读取并显示在屏幕上。

2012-03-17

Android的一个NumberPicker demo

Android的一个NumberPicker demo。风格简约, 用以拾取可包含两位小数的数字,可用于app的金钱输入等。

2012-03-17

android调用拍照存储demo

android一个demo,演示功能:调用系统相机拍照,将返回的照片显示在屏幕上,并存储到sd上。

2012-03-13

javaScript的扫雷代码

javaScript扫雷的代码, 由于兼容性问题,可以运行在Chrome和IE9之上,IE8以下暂时不能运行~~

2011-04-18

java贪吃蛇源代码 带详细注释的撒~~

java 贪吃蛇源代码 带详细注释的撒~~ 写了一个多星期~~ 规则: 1,方向键或WASD控制方向; 2,F11、F12或Z、X键可以加减速度; 3,Enter键暂停、开始; 4,可以直接通过拉伸改变窗口大小,但注意不要把食物拉动到窗体外,会导致无法吃到~~ 5,注意:网格样式一和样式二会覆盖背景; 6,BUG之处,还请指正~ O(∩_∩)O谢谢 ! 作者:沉默的小老头

2010-10-18

JAVA 翻牌小游戏源代码改进版

用JAVA做的一个小游戏 规则:点击“开始”进行游戏。 点击一个方块,此方块及其周围的方块将变色。 所有的方块都改变为绿色时胜利。 菜鸟联系所写…有不足之处欢迎提出。~~~

2010-08-19

JAVA 翻牌小游戏 源代码

用JAVA做的一个小游戏 规则:点击“开始”进行游戏。 点击一个方块,此方块及其周围的方块将变色。 所有的方块都改变为绿色时胜利。 菜鸟联系所写…有不足之处欢迎提出。~~~

2010-08-17

JAVA 很好玩的翻牌小游戏 源代码

用JAVA做的一个小游戏 规则:点击“开始”进行游戏。 点击一个方块,此方块及其周围的方块将变色。 所有的方块都改变为绿色时胜利。 菜鸟联系所写…有不足之处还请提出。

2010-08-17

java 扫雷源代码 带有详细的注释

菜鸟练习~~ 加入了“求救”按钮,在无法继续通过计算扫雷时,可以点出此获知随机的一个未标记雷的位置; 加入了计时器; 加入了作弊功能……嘿嘿,按下键盘上的某键,可以知道所有雷的位置,吼吼

2010-08-14

JAVA 扫雷1.2 源代码 详细注释

JAVA 扫雷程序代码 , 添加了“求救”功能,可以随机获知一个为标记的雷的位置 添加了计时器 添加了“作弊的功能”,按键盘的上下键会有惊喜哦 我写了详细的注释,我是菜鸟~这程序是一边学一遍写的

2010-08-14

JAVA扫雷程序代码 详细注释

JAVA 扫雷程序代码 ,添加了“求救”功能,可以随机获知一个为标记的雷的位置 我自己写了详细的注释,我是菜鸟~这程序是一边学一遍写的

2010-08-11

扫雷 源码 源代码 java

用JAVA做的一个扫雷游戏……代码 菜鸟一边学一边练的产物……

2010-08-11

经典c程序100例TXT版

经典的c程序100例,100个例子,让你学习的过瘾

2010-05-27

二级三级C语言上机 南开100题集合

三级C语言上机 南开100题集合 另还有几百到2级题目,及详细答案

2010-05-27

C_程序设计语言(第2版中文版)

C_程序设计语言(第2版中文版) C语言经典教材 无需多做介绍了吧

2010-05-27

进制转换的小程序代码

进制转换的小程序代码 16进制以内互相转换……

2010-05-08

学生成绩管理系统C源代码

学生成绩管理系统的C语言源代码,我自己写的,包括创建,查看(按姓名、学号),排序,修改,删除等,另外还加了一个密码函数,欢迎下载与我交流(密码为0,可在源代码中找到并修改)

2010-05-08

C++ 入门 pdf

C++的入门级书籍,PDF扫描版的,适合初学者

2010-04-30

自动关机程序 C源代码

我自己写的……Windows 下的小程序,可以实现定时、倒计时自动关机的功能,而且很小巧,只有几K

2010-04-24

谭浩强c语言PDF版

谭浩强c语言PDF版 老谭的经典教科书,入门级的,适合初学者,不想买书的,就下吧!

2010-04-24

空空如也

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

TA关注的人

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