- 博客(42)
- 资源 (5)
- 收藏
- 关注
原创 Android仿微博、人人Feed详情页吸附导航栏
仿微博、人人的feed详情页面:Listview上下滑动,导航栏view可吸附在顶部的效果。一、实现效果上图:Github: https://github.com/qizhenghao/StickyNavigationBar欢迎拍砖,拍拍更进步。没有对比,怎么会有伤害,下面是 微博、人人的Feed详情页:二、实现原理1、实例化两个一样的导航栏view,一个放在页面根布局顶部的view1,另一个放在L
2017-03-27 19:53:45
2083
原创 探究为何:在onCreate中通过View.post能获取宽高
惯例,导语: 最怕一生碌碌无为,还聊以自慰平淡是真。在之前的文章《Android解决在onCreate中获取View的width、Height为0的方法》提到过,可以通过View.post方式:view.post(new Runnable() { @Override public void run() { view.getHeight();
2017-01-16 11:47:09
604
1
原创 Android ListView优化思路12则
1、ViewHolder模式,而且ViewHolder作为内部类使用时声明为static的2、异步加载:耗时的操作放在异步线程中 如果在adapter中的某些操作需要耗费大量的时间,这个时候就要用到异步线程来进行异步就在数据。比如:现在要加载图片,此时我们需要根据url访问网络得到数据,然后将数据解析为Bitmap设置给View3、listView错位加载问题:判断url是否一致解决4、
2017-01-16 11:45:10
384
原创 Android 解决因未捕获异常而崩溃的问题
最近时间不是很紧张(10106还真是不太好受的,哈哈。。),有了罕见的双休,正好周六是和女票的六周年纪念日,这要是周六再加班,就真是“怪不得程序员没有女朋友了”,先放个美食图:三里屯的将太无二店,味道还可以,三文鱼刺身我喜欢。。今天要说的是在Android应用中因为没有捕获异常而导致程序崩溃的问题。先看张图(随便找的):在应用运行过程中,有很多异常可能会发生,一般情况我们会自己处理异常情况,但是也不
2017-01-16 11:42:38
958
原创 Android解决在onCreate()中获取View的width、Height为0的方法
前言在activity中,经常需要获取view的width和height,但是在onCreate()获取view的width和height会得到0。view.getWidth()和view.getHeight()为0的根本原因是:控件还没有完成绘制。这种情况当我们使用动态布局(使用wrap_content或match_parent)就会出现。一般来讲在Activity.onCreate(…)、o
2017-01-16 11:40:37
688
原创 Android源码 从runOnUiThread聊聊消息机制
一、还是先明确下主题: 通过追踪源码,分析调用runOnUiThread(runnable)后,Android系统最终如何在主线程中运行runnable中的代码的,聊聊这中间的过程发生了什么。如果你已经明白了下面的问题: 1. Handler通过sendMessage ()将message对象通过enqueueMessage()插入到MessageQueue中 2. Looper通过loop(
2017-01-16 11:38:35
429
原创 Android 解决字体随系统调节而变化的问题
看了标题也许不太清楚,所以先上两张 滴滴 的截图,对比一下:应该可以明显的看到,第一张图中红色框中的“分钟”两个字显示不完整,原因就是:1、用户在设置中调节了字体大小,2、红色框布局中TextView使用的是单位为“sp”,并且布局宽高也是固定的。在这里引入一个知识点:关于sp文档的描述为:Scale-independent Pixels – This is like the dp unit,
2017-01-16 10:48:40
1515
原创 Android SurfaceView 自定义 Animation
Android自定义动画,利用surfaceView,先爆照,看效果图:可以根据需求,自己编写动画执行的算法。
2015-11-17 22:01:28
468
原创 自定义组合控件的过程
自定义组合控件的过程1.自定义一个View 一般来说,继承相对布局,或者线性布局 ViewGroup;2.实现父类的构造方法。一般来说,需要在构造方法里初始化自定义的布局文件;3.根据一些需要或者需求,定义一些API方法;----------------------------------4.根据需要,自定义控件的属性,可以参照TextView属性;
2015-01-05 19:57:10
564
转载 AndroidManifest.xml文件详解(permission和uses-permission)
首先,先看一下permission定义的格式:?1234567permissionandroid:description="string resource" android:icon="drawable resource"
2014-12-03 11:28:48
1044
转载 AndroidManifest.xml文件详解(uses-library)
语法(SYNTAX):android:name="string" android:required=["true" | "false"] />被包含于(CONTAINED IN):说明(DESCRIPTION):这个元素用于指定该应用程序必须链接的共享类库。这个元素告诉系统该应用程序包的类装载器中所包含的类库代码。A
2014-12-03 11:17:10
503
转载 AndroidManifest.xml文件详解(uses-configuration)
语法(SYNTAX):android:reqFiveWayNav=["true" | "false"] android:reqHardKeyboard=["true" | "false"] android:reqKeyboardType=["undefined" | "nokeys" | "qwerty"
2014-12-03 11:11:15
380
转载 AndroidManifest.xml文件详解(supports-screens)
语法(SYNTAX):android:resizeable=["true"|"false"] android:smallScreens=["true" | "false"] android:normalScreens=["true" | "false"] android:lar
2014-12-03 11:08:23
407
转载 Intent使用总结
ActivityAndroid中,Activity是所有程序的根本,所有程序的流程都运行在Activity之中,Activity具有自己的生命周期(见http://www.cnblogs.com/feisky/archive/2010/01/01/1637427.html,由系统控制生命周期,程序无法改变,但可以用onSaveInstanceState保存其状态)。对于Activi
2014-11-11 13:22:36
480
转载 BroadcastReceiver的两种方式
前些天把四大组件之一的Service扯了一遍,今天就要开始谈谈它的弟兄BroadcastReceiver了。写到这里我挺纠结的,因为广播接收者确实比较简单,但是各位就不要以为简单的就不内涵,也许我们慢慢探讨一下还能有另外一片天地。惯例还是先会介绍一下基础的知识,后面会说说关于BroadcastReceiver的接收顺序还有其他的一些小知识。BroadcastReceiver的概念
2014-11-10 17:18:11
547
转载 Java IO整理总结
java中的IO整理写在前面:本文章基本覆盖了java IO的全部内容,java新IO没有涉及,因为我想和这个分开,以突出那个的重要性,新IO哪一篇文章还没有开始写,估计很快就能和大家见面。照旧,文章依旧以例子为主,因为讲解内容的java书很多了,我觉的学以致用才是真。代码是写出来的,不是看出来的。最后欢迎大家提出意见和建议。【案例1】创建一个新文件
2014-11-10 16:44:09
519
原创 android EditText的inputtype
android 1.5以后添加了软件虚拟键盘的功能,所以在输入提示中将会有对应的软键盘模式android中inputType属性在EditText输入值时启动的虚拟键盘的风格有着重要的作用。这也大大的方便的操作。有时需要虚拟键盘只为字符或只为数字。所以inputType尤为重要。android:inputType="phone" />//文本类型,多为大写、小写和数字符号。
2014-10-25 13:53:31
439
转载 高手速成android开源项目【View篇】
主要介绍那些不错个性化的View,包括ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、ProgressBar及其他如Dialog、Toast、EditText、TableView、Activity Animation等等。【转自:http://blog.csdn.net/zhixiang2010/article/de
2014-10-14 09:26:02
600
转载 eclipse 快捷键大全
trl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面Alt+→ 下一个编辑的页面(当然是针对上
2014-10-11 12:32:33
411
原创 Android service 心跳检测
package org.feng.sockettest.server; import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.lang.ref.WeakReference;import java.net.Socket;import java.net.U
2014-10-06 14:35:25
938
转载 一个帖子学会Android四大组件
转载:http://www.apkbus.com/android-18204-1-1.html首先感谢安卓巴士 和友盟办的这个活动,这个文章主要是讲Android开发的四大组件,本文主要分为一、Activity详解二、Service详解三、Broadcast Receiver详解四、Content Provider详解外加一个重要组件 intent的详解。
2014-10-06 11:27:50
541
转载 Service和Thread的关系
不少Android初学者都可能会有这样的疑惑,Service和Thread到底有什么关系呢?什么时候应该用Service,什么时候又应该用Thread?答案可能会有点让你吃惊,因为Service和Thread之间没有任何关系!之所以有不少人会把它们联系起来,主要就是因为Service的后台概念。Thread我们大家都知道,是用于开启一个子线程,在这里去执行一些耗时操作就不会阻塞主线程的运行
2014-10-05 23:44:21
437
转载 你应该远离的6个Java特性
本文来源于我在InfoQ中文站原创的文章,原文地址是:http://www.infoq.com/cn/news/2013/11/six-java-features-to-avoidNikita Salnikov Tarnovski是plumbr的高级开发者,也是一位应用性能调优的专家,他拥有多年的性能调优经验。近日,Tarnovski撰文谈到了普通开发者应该尽量避免使用的6个J
2014-10-05 23:42:32
451
原创 Android 消息提示 小红点
对于单一view中绘制小红点,,是通过重写onDraw方法实现的,我昨天看到这个问题,确实没做过实现所有view,开始想到的是能不能用动态代理,进行重绘,但又发现是行不通的,想了很久,我就想起来手机QQ的消息提示方式,QQ消息提示的小红点,有些是可以拖动的,既然可以拖动而且有动画效果,我就觉得小红点应该是一个单独的控件,单独的控件里完全可以设置内容、颜色、位置、动画等,而且不用修改原来的控件,只添
2014-10-04 20:34:00
11403
2
转载 Java 动态编译的一点理解
动态编译一直是Java的梦想,从Java 6版本它开始支持动态编译了,可以在运行期直接编译.java文件,执行.class,并且能够获得相关的输入输出,甚至还能监听相关的事件。不过,我们最期望的还是给定一段代码,直接编译,然后运行,也就是空中编译执行(on-the-fly),来看如下代码:public class Client { public static void main(S
2014-08-18 14:03:06
477
转载 Mac idea 快捷键
一、视图切换快捷键1、各视图区域的切换 cmd + 视图区域对应的数字2、切换到maven的视图 alt + m3、装了switchTab插件后,按下ctrl+tab后会得到可切换的区域列表4、cmd+e 列出最近查看的文件列表5、shift + cmd + e 最近修改文件列表上面两个键在开发过程中非常有用。二、搜索快捷键
2014-08-06 17:43:26
555
转载 Quartz中时间表达式的设置
时间格式: , 分别对应: 秒>分>小时>日>月>周>年, 举例:1.每天什么时候执行: 0 59 23 * * ?: 如下为每天23:59:00开始执行 0 1,2,3 11,12 * * ? : 每天11:01,11:02,11:03; 12:01,12:02,12:03分执行任务2.每隔多久执行: 汇总
2014-08-04 14:31:32
509
转载 maven常用命令
Maven常用命令: 1. 创建Maven的普通java项目: mvn archetype:create -DgroupId=packageName -DartifactId=projectName 2. 创建Maven的Web项目: mvn archetype:create -DgroupId=packageName
2014-07-30 17:44:02
501
原创 mac jdk配置
JDK8 GA之后,小伙伴们喜大普奔,纷纷跃跃欲试,想体验一下Java8的Lambda等新特性,可是目前Java企业级应用的主打版本还是JDK6, JDK7。因此,我需要在我的电脑上同时有JDK8,JDK7,JDK6。JDK6和JDK7主要是做一些产品代码的验证,以及自己玩一些开源项目,JDK8则纯属尝鲜,谁叫咱是喜新厌旧的程序员呢。 目标 在命令行下,可以通过命令'jdk6', 'jdk
2014-07-27 23:31:39
885
转载 Linux常用命令
由于记忆力有限,把平时常用的Linux命令整理出来,以便随时查阅: linux 基本命令 ls (list 显示当前目录下文件和目录 ls -l 详细显示 =ll ) [root@linux ~]# ls [-aAdfFhilRS] 目录名称 [root@linux ~]# ls [--color={none,auto,always}] 目录名称 [root
2014-07-17 19:55:16
424
转载 HttpWatch工具简介及使用技巧(转载)
一 概述:HttpWatch强大的网页数据分析工具.集成在Internet Explorer工具栏.包括网页摘要.Cookies管理.缓存管理.消息头发送/接受.字符查询.POST 数据和目录管理功能.报告输出 HttpWatch 是一款能够收集并显示页页深层信息的软件。它不用代理服务器或一些复杂的网络监控工具,就能够在显示网页同时显示网页请求和回应的日志信息。甚至可以显示浏览器缓存和IE
2014-07-14 10:23:45
576
原创 Java面向对象
在没有好好地研习面向对象设计的设计模式之前,我对Java接口和Java抽象类的认识还是很模糊,很不可理解。 刚学Java语言时,就很难理解为什么要有接口这个概念,虽说是可以实现所谓的多继承,可一个只有方法名,没有方法体的东西,我实现它又有什么用呢?我从它那什么也得不到,除了一些方法名,我直接在具体类里加入这些方法不就行了吗? 为什么一定要有抽象类这个概念?为什么就不能把这个父类写成一个具体
2014-07-10 10:32:41
481
原创 Netty学习
以下两个例子基于netty-3.5.7.Final.jar用Junit进行测试第一个例子:简单的发送字符串,接收字符串“Hello, World”Java代码 class HelloWorldServerHandlerextends SimpleChannelHandler { public void channelConnecte
2014-06-26 16:03:41
523
转载 Android推送方式解决方案--必读
本文介绍在Android中实现推送方式的基础知识及相关解决方案。推送功能在手机开发中应用的场景是越来起来了,不说别的,就我们手机上的新闻客户端就时不j时的推送过来新的消息,很方便的阅读最新的新闻信息。这种推送功能是好的一面,但是也会经常看到很多推送过来的垃圾信息,这就让我们感到厌烦了,关于这个我们就不能多说什么了,毕竟很多商家要做广告。本文就是来探讨下Android中实现推送功能的一些解决方案,也
2014-06-25 16:18:09
599
转载 给Android应用开发者的十个建议
转载于 随着移动平台的发展和其应用的不断改善,质量成为决定成败的关键。用户要求他们选择安装的应用响应快、性能好,如果某个应用不能提供卓越的功能和稳定的用户体验,那这样的应用注定会被很快卸载。尽管现在Android智能手机和平板电脑的运行速率越来越快,但开发者仍需牢记,应用的运行环境仍受到电池和处理器等诸多资源的限制。以下是如何为应用“瘦身”的十条建议,以便能在当前和以后的所有Android
2014-05-15 10:16:56
520
原创 关于ThreadLocal的使用
package cn.itcast.heima2;import java.util.HashMap;import java.util.Map;import java.util.Random;public class ThreadLocalTest { private static ThreadLocal x = new ThreadLocal(); privat
2014-04-13 16:18:56
432
Android animation surfaceView
2015-11-18
iBATIS 例子
2014-07-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人