- 博客(28)
- 收藏
- 关注
原创 Gson:Google的JSON解析库进阶使用
Gson是Google发布的一个开源Java类库,能够很方便的在Java对象和JSON字符串之间进行序列化和反序列化。目前主流进行JSON解析的开源库主要有Fastjson、Jackson、Gson等,各有优劣,在这篇文章中主要介绍一下Gson的进阶用法。
2016-01-19 14:54:18
2925
原创 Android: 实现类似QQ、微信的表情输入键盘
需求最近在写北邮人论坛客户端时,有一个需求是实现像手机QQ、微信那样的表情输入键盘,效果图:表情键盘本身并不难做,无非就是一个带SlidingTab的ViewPager,困扰我的地方在于,如何正确处理系统软键盘与表情键盘之间的显隐关系。Google了一下,大概有这么几种思路:第一种:动态改变SoftInputMode这篇博文是国内网上转载比较多的方法,软键盘显示时将Soft
2015-10-18 22:30:19
3347
原创 Android: 使用JitPack发布你的Github开源库
最近从手头的一个项目中独立出一个Android的开源组件(EmotionLayoutDetector)发布到了Github上,想用Gradle来管理依赖。一般来说,想在Android Studio使用Gradle依赖,有几种方法:jCenterMaven Central使用其他自定义的仓库使用jCenter和MavenCentral的一般流程是,注册、登陆、配置参数、Build、P
2015-10-18 22:26:44
880
原创 Android: Activity在Restore时的数据缓存问题
### 一、红米Note上频繁NullPointException继解决了[Fragment中使用getActivity()返回null的问题]({{ site.url }}/android/2015/08/11/01/)后,在测试中又发现,在红米Note上离开程序后从后台返回时经常Crash,错误仍然是NullPointException。。。项目需求是要求先登录,在Lo
2015-10-18 22:23:04
762
原创 Android: Fragment中getActivity()返回null的问题
一、getActivity()返回null在一个项目中使用了ViewPager+Fragment的组合,但是在实际使用中频繁的Crash。排查后发现,我在Fragment内有一些AsyncTask联网操作,在网络链接失败的时候会弹出Toast消息提示。而生成Toast时传入的Context参数是getActivity(),该函数返回null,于是就抛出了NullPointException:
2015-10-18 22:21:56
3816
原创 Mac OSX:Powerline风格的zsh配置
上图就是效果图啦,是不是很炫,下面开始配置教程~需要的工具iTerm,一个替代OSX自带终端的软件,基于iTerm才能实现上面的效果;oh-my-zsh,zsh是OSX上最强大的shell,没有之一,但是配置过程较为复杂,这个脚本能够帮你一键配置。powerline主题,基于oh-my-zsh的主题,也就是上面的效果啦。iTerm目前最新版本是iTerm2,下载地址ht
2015-10-18 22:20:09
4041
翻译 Git:如何还原一个已经同步到远程仓库的Commit?
本文译自git howto: revert a commit already pushed to a remote repository - Christoph Rüegg你刚刚将你本地的分支推送到了远程仓库中,但是却突然发现到其中的一个Commit错了,或者有一些很严重的拼写错误。当然,这没什么大不了的,你能解决。但是你必须手脚快一点,在别人同步这些Commit前解决它,否则被坑了的同事
2015-10-18 22:17:59
3047
原创 在Android中使用HttpClient 4.3.x出现NoSuchFieldError的问题
升级了 HttpClient前几天看到Apache新发布了 HttpClient 4.3.5,一时手残,将我写的开源项目nForumSDK中的 HttpClient 升级了。在纯Java的环境下测试了一下,没发现什么问题,新的包还挺好用的,于是就发布了。过了两天,有人给我发反馈,说在Android应用上测试的时候报错:java.lang.NoSuchFieldError:org.a
2015-10-18 22:16:17
1030
原创 处理 ActionBarDrawerToggle is Deprecated
ActionBarDrawerToggle is Deprecated更新Android Support Library后,自动构建DrawerFragmentLayout,会发现有这样一个Warning:'Android.support.v4.app.ActionBarDrawerToggle' is deprecated替换Support Library查询官方文档可知,
2015-10-18 22:14:32
1150
原创 Git中HEAD和ORIG_HEAD指针指的是什么
一次版本回退后,在历史记录里面看到了这样一张图:master和dev指针指向的是本地的master分支和dev分支,origin/master和origin/dev指向的是远程仓库的master分支和dev分支,这个很好理解。HEAD指针代表当前工作路径,HEAD与master指向同一id说明当前处在master分支,这个也不难理解。关键是ORIG_HEAD指针是个什么东西?翻了翻
2014-09-14 18:17:57
7817
原创 Github不记录Contributions的问题
Github不记录Contributions的问题一、Github没有记录我的Contributions写博客的时候一直用的Sublime Text,然后用配置好的MyGitcommit、push,这次写nForumSDK的时候,用了Eclipse集成的插件EGit,然后发现所有用Eclipsepush的Github都没有记录在Contributions里,Contributions
2014-09-14 18:15:09
3863
原创 Win7/Win8下双击运行jar程序的方法
问题老妈喜欢看小说,又不会下载,于是用Java写了个自动下载小说的小程序我用的Swing UI,直接生成了.jar文件,双击即可运行很诡异的是,用Eclipse直接run可以运行,但是Export出jar文件以后双击却没有反应探究怀疑是不是Eclipse的导出功能坏掉了,于是用了flatjar等工具重新打包,仍然不行走了很多弯路以后终于Google到
2014-05-12 23:19:29
2910
原创 零基础Github Page免费无限流量个人博客搭建教程
这篇文章主要介绍了什么是Github Page,以及如何用Github Page搭建一个免费的、无限流量的个人博客并绑定独立域名。一、前言1.1 为什么要用Github Page搭建博客借用阮一峰老大的话说,喜欢写Blog的人,会经历三个阶段。 1.第一阶段,刚接触Blog,觉得很新鲜,试着选择一个免费空间来写。 2.第二阶段,发现免费空间限制太多,就自己购买域
2014-05-12 22:25:22
2005
原创 Drupal 7 建站学习手记(五):QuickTabs模块内的元素无法溢出的问题
背景项目要求网站首页放Views生成的区块,并且要求有更多链接。Views生成的区块默认的更多链接只能选在列表上方和下方下图是默认在上方的样式图:为了美观,我将更多链接上移了若干个像素:.more-link { position: absolute; top: 10px; left: 390px;}效果图:问题然而,当我在这个区块外面再套一
2014-05-05 14:59:04
1431
原创 Drupal 7 建站学习手记(四):如何修改Nivo Slider模块的宽高
背景Nivo Slider模块默认大小是用的height: 100%, width 100%,但IE7及以下的浏览器是不支持百分比宽高的,而我的项目目标用户基本都是使用XP系统,项目需求是必须兼容IE7。因此需要对其CSS修改成绝对像素大小。问题修改之后却出现了问题,因为用户上传的图片长宽比是不一样的,指望用户每次上传的时候先用PS裁剪一下明显不现实,于
2014-05-05 14:53:47
2278
原创 Drupal 7 建站学习手记(三):Nivo Slider模块报错的问题
Nivo Slider 是Drupal的一个制作幻灯片的模块,效果比views slideshow好得多,
2014-04-25 20:48:26
1144
原创 Drupal 7 建站学习手记(二):如何将Custom Search模块水平摆放
项目需要用到自定义搜索框,Drupal中有一个很好用的模块“Custom Search”
2014-04-25 15:38:59
1358
原创 JQuery Mobile 开发学习手记(一):JS批量设置按钮动作的问题
刚刚接触JavaScript,用的是JQueryMobile框架,很多东西还不熟悉,写的代码难免会想当然得用写Java和Android时的惯性思维。下面是我在实际项目中遇到的一些问题和解决办法。 一、按钮监听。 今天遇到一个问题,我动态生成了若干个按钮,id命名为“Comment_1”、“Comment_2”……在设置按钮监听的时候,由于按钮总数是无法事先知道的,所以不可能为每一个
2014-04-11 16:28:56
1426
转载 Java 泛型数组
Java 不支持泛型数组。也就是说,[java] view plaincopyList[] ls = new ArrayList[10]; 是不支持的,而[java] view plaincopyList[] ls = new ArrayList[10] 却可
2013-08-31 10:52:26
764
原创 Android 开发学习手记(三):关于PullToRefresh的setOnTouchListener()无效的问题。
PullToRefresh是一个很成熟的下拉刷新的开源控件,目前托管在GitHub上:https://github.com/chrisbanes/Android-PullToRefresh直接给PullToRefreshListView设置OnTouch(),会发现没有反应,这个函数根本没有被调用。我之前的篇文章探讨过PullToRefresh的实质:PullToRefresh如何滚动到最
2013-08-25 01:33:16
2123
原创 Android 开发学习手记(二):PullToRefresh如何滚动到最顶部?以及PullToRefresh的实质。
PullToRefresh是一个很成熟的下拉刷新的开源控件,目前托管在GitHub上:https://github.com/chrisbanes/Android-PullToRefresh如果用ListView,让它滚动到顶部,一般是这样写的:if (!listView.isStackFromBottom()) { listView.setStackFromBottom(true);
2013-08-25 01:15:03
3261
原创 Android 开发学习手记(一):更改PullToRefresh的标签
PullToRefresh是一个很成熟的下拉刷新的开源控件,目前托管在GitHub上:https://github.com/chrisbanes/Android-PullToRefresh当Mode设为BOTH时,即上下都可以刷新时,下拉/上拉默认的英文都是:“Pull to refresh”可是上拉、下拉的英文都是Pull,汉字总不能都写“下拉刷新”吧?粗看了一眼,有这个方法
2013-08-25 00:56:14
2179
转载 Android开发中禁止Eclipse中xml文件Run as的XSL Transformation生成out.xml
用新版的Eclipse Indigo开发Android的程序员估计都遇见过跟我类似的困扰:Android程序开发中会涉及各种xml资源,在打开了XML文件进行编辑保存后,一不小心点了直接运行,Eclipse Indigo就会自作聪明地打开XSL Transformation来运行XML,并自动在XML文件旁边生成一个out.xml文件,导致程序编译通不过,必须先刷新把out.xml文件找出来,然后
2013-07-26 18:30:30
1084
转载 adb server is out of date. killing...的问题
1:今天调试android的时候发现一个诡异的问题[html] view plaincopyC:\Users\xxxx>adb start-server adb server is out of date. killing... ADB server didn't ACK * failed to start daemon
2013-07-20 22:49:45
590
转载 Java中对数字格式化
最近正在利用业余时间重新学习j2se的一些知识,因为感觉以前学得太过粗糙了,有时间的话我会把所接触的一些比较新颖的知识在这里写下,愿与大家共同分享,一起进步。今天就说说java中数字的格式化。java.text.DecimalFormat类就是专门对数字进行格式化的。通过对该类的应用,可以为要输出的数字加上单位,或者控制数字的精度,用法:可以在DecimalFormat实例化时传递格式,也可通
2013-06-14 22:30:47
685
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人