- 博客(31)
- 资源 (1)
- 收藏
- 关注

原创 MVP模式在Android开发中的应用
一、MVP介绍 随着UI创建技术的功能日益增强,UI层也履行着越来越多的职责。为了更好地细分视图(View)与模型(Model)的功能,让View专注于处理数据的可视化以及与用户的交互,同时让Model只关系数据的处理,基于MVC概念的MVP(Model-View-Presenter)模式应运而生。 在MVP模式里通常包含4个要素: (1)View:负责绘制UI
2014-04-29 15:48:49
101456
32
原创 Java实现uint8_t/uint16_t/uint32_t
在Java中,整数可以用byte,short,int和long等类型来表示,并不支持unsigned类型。然而在很多情况下Java也需要处理无符号类型,如翻译C/C++代码,与C/C++进行通讯等,这时就需要用Java来实现uint8_t,uint16_t,uint32_t 等类型。Java实现unsigned 类型一般的思路为用更大的存
2015-03-26 13:51:08
42521
4
原创 50个Android开发技巧(24 处理ListView数据为空的情况)
在移动平台上为用户展示数据的一个常用方法是将数据填充进一个List内,而此时需要注意的一点就是: 如何处理需要填充的数据为空的情况? ListView及其他继承自AdapterView的类都有一个简便的处理这种情况的方法:setEmptyView(View)。 当ListView的Adapter为空或者Adapter的isEmp
2014-05-03 22:02:52
13189
2
原创 50个Android开发技巧(12 为控件添加圆角边框)
控件的圆角边框可以使你的App看起来更美观,其实实现起来也很简单。以创建一个灰色的带圆角边框的Button为例:一、创建一个ShapeDrawable作为背景在drawable目录下创建一个button_rounded_background.xml文件:<shape xmlns:android = "http://schemas.android.com/apk/re
2014-04-25 11:46:06
7167
原创 50个Android开发技巧(11 为文字添加特效)
问题:如何构建一个模拟LED数字时钟的页面?效果如下图所示:分析:我们可以利用两个TextView来显示,第一个TextView显示LED屏上默认不发光的88:88:88,另一个显示实时的时间并添加发光及阴影效果。但是我们还需要解决显示的字体问题,让它看起来更像是一个真实的LED数字时钟。解决步骤:(1)自定义一个LedTextView类,继承自TextView,这
2014-04-25 11:13:54
7633
2
原创 50个Android开发技巧(10 为TextView添加样式)
首先来看一个控件的样例:手机上类似这样的场景你一定已经见过很多次了,但有没有考虑过它是怎样实现的?也许你会认为这是一个稍微复杂的自定义的View,但,没错,这实际上只是一个原生的TextView而已。TextView是一个简单而神奇的Widget,你可以利用它以不同风格不同格式来展现文字。举两个简单的例子:1.在TextView中添加一个超链接 其实
2014-04-24 18:07:11
4622
原创 50个Android开发技巧(09 避免用EditText对日期进行验证)
我们都知道,在表单中对数据进行验证不但无聊而且容易出错。想象一下,一个表单内有若干个需要日期类型的输入,而你又不想对这些输入信息进行日期类型的验证,你会怎么做?这里有一种解决办法是,让用户认为他们是在一个EditText中操作,但实际上是一个Button,点击这个Button时会弹出一个DatePicker。为了让这个方案可行,我们需要改变这个Button的背景,让用户以为这是一个Ed
2014-04-24 17:15:51
3875
原创 50个Android开发技巧(03 自定义ViewGroup)
问题:如何创建一个如下图所示的布局? 图1 你可能会说,利用RelativeLayout和margins就可以实现。的确,如下XML代码可以简单地构建一个类似的布局:<RelativeLayout xmlns:android = "http://schemas.android.com/apk/res/android" android:layo
2014-04-24 15:25:47
6220
3
原创 50个Android开发技巧(02 延迟加载和避免重复渲染视图)
当你在Application中创建复杂的布局时,页面的渲染过程也变得更加缓慢。此时,我们需要利用 标签(避免重复渲染)和 ViewStub类(延迟加载)来优化我们的页面。一、利用标签来避免重复渲染当我们需要为App中的每个View都添加一个header或者footer时,你会怎么做?重复地复制粘贴可以解决这个问题,但未免太繁杂。可以试着使用标签:第一
2014-04-24 11:37:56
8560
2
原创 50个Android开发技巧(01 好好利用layout_weight属性)
问题:如何将一个Button放置在布局中间并将其宽度设为其parent的50%?分析:问题想要达到的效果应该是这样:这看起来不难,但很多开发者并不知道达到这样效果的最佳方法。解决:在此我们将weightSum属性与layout_weight属性一起利用。<LinearLayout xmlns:android = "http://schemas.android.com
2014-04-24 10:39:38
6354
2
原创 Quartz中Cron表达式用法
Quartz中CronTrigger支持日历相关的重复时间间隔(比如每月第一个周一执行),而不是简单的周期时间间隔。它的调度规则基于 Cron 表达式。下面就来说一下Cron表达式的规则及用法:Cron表达式Quartz使用类似于Linux下的Cron表达式定义时间规则,Cron表达式由6或7个由空格分隔的时间字段组成,如表1所示:
2014-04-23 11:19:46
3182
原创 HttpClient4.2 Fluent API学习
相比于HttpClient 之前的版本,HttpClient 4.2 提供了一组基于流接口(fluent interface)概念的更易使用的API,即Fluent API.为了方便使用,Fluent API只暴露了一些最基本的HttpClient功能。这样,Fluent API就将开发者从连接管理、资源释放等繁杂的操作中解放出来,从而更易进行一些HttpClient的简单操作。
2014-04-22 11:37:34
20823
转载 JSON入门指南
JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互。本文将快速讲解 JSON 格式,并通过代码示例演示如何分别在客户端和服务器端进行 JSON 格式数据的处理。
2014-04-15 15:06:58
1443
转载 HTTP协议漫谈
简介 园子里已经有不少介绍HTTP的的好文章。对HTTP的一些细节介绍的比较好,所以本篇文章不会对HTTP的细节进行深究,而是从够高和更结构化的角度将HTTP协议的元素进行分类讲解。 HTTP的定义和历史 在一个网络中。传输数据需要面临三个问题: 1.客户端如何知道所求内容的位置? 2.当客户端知道所求内容的位置后,如何获取所求内容? 3.
2014-04-15 15:01:46
1062
原创 Android单线程模型的理解
Android单线程模型的原则总结起来大致有两点:1.只能在UI线程(Main Thread)中对UI进行处理,不要在UI线程之外访问Android UI toolkit2.不要用费时的操作阻塞UI线程
2014-04-11 15:46:47
2205
原创 ListView中几个需要注意的属性
Android ListView中几个需要注意的属性及方法详解,包括stackFromBottom、cacheColorHint、scrollBar、固定及可滑动的footerView和headerView等。
2014-04-10 11:51:10
3564
原创 Android ListView的常见用法
Android ListView的常见方法,包括创建ListView及使用ListView的步骤及注意事项
2014-04-09 16:30:50
4390
原创 ListView的属性及方法详解
近期在重新学习Android控件知识,目前进行到ListView,感觉这是一块尤其难啃的硬骨头:最为常用、用法较复杂、涉及的其他Android知识也较多。因此决定系统地好好复习一遍ListView。其中涉及到的其他知识点将在后期以链接的形式不断进行更新。 本文仅介绍ListView相关的XML属性及方法。
2014-04-09 14:27:36
12952
原创 什么是堆栈追踪(StackTrace)?如何利用StackTrace对程序进行调试?
有时候你在运行程序时可能会出现如下错误:Exception in thread "main" java.lang.NullPointerException at com.example.myproject.Book.getTitle(Book.java:16) at com.example.myproject.Author.getBookTitles(Aut
2014-04-04 15:08:47
25596
1
转载 高效开发 Android App 的 10 个建议
假如要Google Play上做一个最失败的案例,那最好的秘诀就是界面奇慢无比、耗电、耗内存。接下来就会得到用户的消极评论,最后名声也就臭了。即使你的应用设计精良、创意无限也没用。耗电或者内存占用等影响产品效率的每一个问题都会影响App的成功。这就是为什么在开发中确保最优化、运行流畅而且不会使Android系统出问题 是至关重要的了。这里不需要讨论高效编程,因为我们不会关心你写的代码是否能够经
2014-04-04 13:09:15
1735
原创 Android控件之Textview
2014/04/04 决定重新系统地学习一遍Android上的各种控件从TextView开始: 一、TextView概述 android.widget.TextView直接继承于android.view.View类. 直接子类有:Button、CheckedTextView
2014-04-04 12:00:39
2869
原创 IntelliJ IDEA & Genymotion--接触新的开发工具
接触新的开发工具——IntelliJ IDEA&GenyMotion
2014-04-03 14:51:35
2366
1
原创 第一篇技术博客(Java 多态)
今天面试一家NB的互联网公司被虐惨了,深感自己作为将来的程序员修行实在不足。故开通此博客以记录自己的成长。 废话不多说,先回忆一下昨天一道Java改错读程的题目:package com.thinkjoy.test;class Base { String name = "Base"; void doSomething() { System.out.println(thi
2014-03-19 10:47:31
1221
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人