自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 资源 (27)
  • 问答 (1)
  • 收藏
  • 关注

转载 Java避免空指针

Java避免空指针 ==== 1.空指针引起的原因 ---- * 调用空对象的方法 * 访问或更新空对象的变量 * 获取空集合的长度 * 访问或更新空集合中的内容 * 抛出空的Throwable对象 * 同步空对象 2.避免空指针 ---- 为避免空指针,应当在使用之前确保对其做了适当的初始化。 1. 比较字符串时,模板在前,如

2015-08-28 15:44:01 490

转载 Android自定义控件

开发自定义控件的步骤:1、了解View的工作原理 2、 编写继承自View的子类3、 为自定义View类增加属性 4、 绘制控件 5、 响应用户消息 6 、自定义回调函数 一、View结构原理Android系统的视图结构的设计也采用了组合模式,即View作为所有图形的基类,Viewgroup对View继承扩展为视图容器

2015-08-28 15:41:27 482

转载 Android 中textview显示富文本信息

Android 中textview显示富文本信息具有以下几种方式:1,利用富文本标签,类似于html标签,如,,等,不过不能直接作为textview.settext的参数值,而应该静html.fromhtml开发方法 将这些文本转换为charsequence对象。如果想要显示图片的时候,还需要实现imagegetter接口2,重写ondraw开发方法3,利用webview组

2015-08-25 18:50:02 7421

转载 apktool反编译详细使用教程

安装   反编工具地址apktool工具包下载地址http://115.com/file/c2ry7yoh#apktool.rar 1.首先安装需要JAVA环境,先下载JDK/JRE,已经有JAVA环境的可跳过此步java JDK:http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-34

2015-08-24 15:35:05 2520

转载 【android动态布局】之【ListView动态加载数据模板(使用xml布局)】

转自:http://www.apkbus.com/android-19497-1-1.html笔者想利用xml布局文件实现一下,因为布局文件在xml文件中实现要规范一些,原理和之前那一篇是一样的,直接来代码主布局文件other_listview.xml,注意ListView定义id的方式android="http://schemas.android.co

2015-08-24 14:42:52 1532

转载 ListView动态加载数据模板(使用代码布局)

对于做Android应用程序来说,ListView一定用得非常多,经常解析xml文件然后在ListView中显示,往往我们需要让它动态地加载内容,也就是不一次性地加载完成,对于手机来说,这点很重要!笔者之前也是弄的不明白,用的时候直接在网上找代码,复制粘贴,再修改一下就是自己的了,笔者的这个小Demo灵感来自于新浪或者腾讯微博手机客户端,比如第一页加载十条Item,当翻到最后一个Item的

2015-08-24 14:41:48 500

转载 实现顶部轮播,下部listview经典布局的两种方式

开头:在做android开发的时候,我们经常会遇到这样的布局,上面是一个图片轮播图,下面是一些列表的项目。很多新闻app,视频类app都采用这样的布局。起初的时候由于没有很多参考,我自己想到了一种实现方式,就是用scrollview作为外面最大的布局,然后里面嵌套viewpager和listview,但是我现在非常不推荐这种方式,一方面由于这种方式需要将listview完全

2015-08-24 14:31:06 607

转载 Android--多线程之Handler

前言  Android的消息传递机制是另外一种形式的“事件处理”,这种机制主要是为了解决Android应用中多线程的问题,在Android中不 允许Activity新启动的线程访问该Activity里的UI组件,这样会导致新启动的线程无法改变UI组件的属性值。但实际开发中,很多地方需要在 工作线程中改变UI组件的属性值,比如下载网络图片、动画等等。本篇博客主要介绍Handler是如何发送与

2015-08-24 14:18:49 401

转载 Android 处理内存泄露的方法

内存泄漏是指分配出去的内存无法回收了内存泄漏指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况,是应用程序分配某段内存后,由于设计错误,失去了对该段内存的控制,因而造成了内存的浪费。一般我们常说的内存泄漏是指堆内存的泄漏。堆内存是指程序从堆中分配的,大小任意的(内存块的大小可以在程序运行期决定),使用完后必须显示释放的内存。应用程序一般使用malloc,realloc,new等函

2015-08-24 12:07:50 533

转载 Android内存溢出的解决方法

1. 当项目中包含大量图片,或者图片过大方法1:等比例缩小图片代码:BitmapFactory.Options options = new BitmapFactory.Options();  options.inSampleSize = 4方法2:对图片采用软引用,及时地进行recyle()操作代码:SoftReference bitmap;  bi

2015-08-24 11:37:26 333

转载 Android 内存溢出问题分析

最近的项目中,内存一直再增长,但是不知道是什么问题,导致内存溢出,在网上看到了这么一篇关于内存分析与管理的文章,解决了部分问题,感觉这篇文章还不错,就转帖到我的blog上了,希望对大家有所帮助。如果哪里有不好的地方,给留下言,然后我们大家继续完善内存泄露的问题,对大家都会有所帮助的,呵呵一、概述 1二、Android(Java)中常见的容易引起内存泄漏的不良代码 1(一) 查询数据

2015-08-24 11:31:26 669

转载 使用Junit对Android应用进行单元测试

在本文中,你将会学习到如何在Eclipse中创建Android JUnit的单元测试工程以及在不同的条件下创建及运行自动测试用例。准备工作本文假设读者已经有一定的Android基础知识,并且已经安装了Eclipse和Android SDK等开发工具。本文将指导读者如何将Android Junit框架应用到Android应用中去。本文还特别重点展示了如何测试Android中的Acti

2015-08-24 11:06:42 719

转载 Android中ListView异步加载图片错位、重复、闪烁问题分析及解决方案

在Android所有系统自带的控件当中,ListView这个控件算是用法比较复杂的了,关键是用法复杂也就算了,它还经常会出现一些稀奇古怪的问题,让人非常头疼,下面通过本篇文章给大家分享Android中ListView异步加载图片错位、重复、闪烁问题分析及解决方案,需要朋友可以参考。Android ListView异步加载图片错位、重复、闪烁分析以及解决方案,具体问题分析以及解决方案请看

2015-08-21 10:53:35 681

转载 Android 异步加载图片分析总结

异步加载图片主要是利用多线程进行下载、图片弱引用缓存和Handler操作UI进行实现的。异步加载图片的主要流程是进行判断缓存中是否存在图片,如果存在则直接返回,如果不存在则进行下载并进行缓存。以下是建立一个异步下载类:复制代码代码如下:/** * User: Tom * Date: 13-5-13 * Time: 下午8:07 */p

2015-08-21 10:52:02 534

转载 android异步加载图片并缓存到本地实现方法

图片过多造成内存溢出,这个是最不容易解决的,要想一些好的缓存策略,比如大图片使用LRU缓存策略或懒加载缓存策略。今天首先介绍一下本地缓存图片。在android项目中访问网络图片是非常普遍性的事情,如果我们每次请求都要访问网络来获取图片,会非常耗费流量,而且图片占用内存空间也比较大,图片过多且不释放的话很容易造成内存溢出。针对上面遇到的两个问题,首先耗费流量我们可以将图片第一次加载上面缓存到本地

2015-08-21 10:49:26 433

转载 ListView异步加载图片实现思路(优化篇)

关于listview的异步加载,网上其实很多示例了,中心思想都差不多,不过很多版本或是有bug,或是有性能问题有待优化,下面就让在下阐述其原理以探索个中奥秘。在APP应用中,listview的异步加载图片方式能够带来很好的用户体验,同时也是考量程序性能的一个重要指标。关于listview的异步加载,网上其实很多示例了,中心思想都差不多,不过很多版本或是有bug,或是有性能问题有待优化。有鉴于此

2015-08-21 10:45:12 794

转载 Android布局的优化方案汇总

Android SDK tools目录下提供一个观察布局的工具,层级观察器(Hierarchy Viewer)。Hierarchy Viewer工具是一个非常好的布局优化工具,同时,你也可以通过它学习他人的布局。应该说是一个非常实用的工具。层级观察器(Hierarchy Viewer):Android SDK tools目录下提供一个观察布局的工具,层级观察器(Hierarch

2015-08-21 10:43:39 726

转载 Android性能优化之数据库优化

本文为性能优化——数据库性能优化,原理适用于大部分数据库包括Sqlite、Mysql、Oracle、Sql server,详细介绍了索引(优缺点、分类、场景、规则)和事务,最后介绍了部分单独针对Sqlite的优化。1、索引简单的说,索引就像书本的目录,目录可以快速找到所在页数,数据库中索引可以帮助快速找到数据,而不用全表扫描,合适的索引可以大大提高数据库查询的效率。(1). 优

2015-08-21 10:39:59 354

转载 Android开发优化之——从代码角度进行优化

通常我们写程序,都是在项目计划的压力下完成的,此时完成的代码可以完成具体业务逻辑,但是性能不一定是最优化的。一般来说,优秀的程序员在写完代码之后都会不断的对代码进行重构。重构的好处有很多,其中一点,就是对代码进行优化,提高软件的性能。下面我们就从几个方面来了解Android开发过程中的代码优化。通常我们写程序,都是在项目计划的压力下完成的,此时完成的代码可以完成具体业务逻辑,但是性能不

2015-08-21 10:37:57 633

转载 Android之ListView原理学习与优化总结

利用ViewHolder来优化ListView数据加载,仅仅就此一条吗?其实不是的,首先,想要优化ListView就得先了解ListView加载数据原理,这是前提,但是在这个地方先做一些简单的补充,大家一定仔细看下,保证会有收获的。列表的显示需要三个元素:ListVeiw: 用来展示列表的View。适配器:  用来把数据映射到ListView上数

2015-08-21 10:36:22 433

转载 简单工厂模式

简单工厂模式解释:        简单工厂模式(Simple Factory Pattern)属于类的创新型模式,又叫静态工厂方法模式(Static FactoryMethod Pattern),是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。简单工厂模式的UML图:        简单工厂模式中包含的角色及其相应的职责如下:     

2015-08-20 18:10:24 414

转载 性能优化:使用SparseArray代替HashMap<Integer,Object>

HashMap是java里比较常用的一个集合类,我比较习惯用来缓存一些处理后的结果。最近在做一个Android项目,在代码中定义这样一个变量,实例化时,Eclipse却给出了一个 performance 警告。 意思就是说用SparseArray来替代,以获取更好性能。老实说,对SparseArray并不熟悉,第一感觉应该是Android提供的一个类。按住Ctrl点击进入S

2015-08-20 16:26:11 381

原创 Android Message和obtainMessage的区别

参考:http://www.2cto.com/kf/201311/255885.htmlhttp://www.cnblogs.com/over140/archive/2011/06/24/2088637.html类概述定义一个包含任意类型的描述数据对象,此对象可以发送给Handler。对象包含两个额外的int字段和一个额外的对象字段,这样可以使得在很多情况下不用

2015-08-19 15:20:53 10055 1

原创 android.app.Activity 的介绍

发现当前Android的资料不是很多,而且对于Activity的介绍也很少,所以把官方文档的android.app.Activity的介绍翻译了一下,加入了一些自己的理解。各位如果觉得我自己理解的不对,请无视。欢迎邮件讨论。android.app public classandroid.app.Activityjava.lang.Objectandroid.content.

2015-08-18 23:31:32 823

转载 将自己的程序永久写入Android的/system/bin的方法

原文地址::http://hi.baidu.com/mcu99/blog/item/954a511085280509203f2e3a.htmlAndroid模拟器运行之后,/system目录即为只读属性。如果想把自己的程序传到该目录下运行,就会发现无法成功。当然,使用adb remount命令可以暂时去除它的只读限制,可以向里面传文件,但是一旦重启Android模拟器,再次使用adb

2015-08-18 23:05:05 2293

原创 Android应用程序结构

一、Android应用程序的架构Android软件层次结构自上而下可以分为:l         应用程序(Application)l         应用程序框架(Appliciation Framework)l         各种库(Libraries)和Android运行环境(RunTime)l         操作系统层(OS)二、应用程序       Andr

2015-08-18 22:08:01 3070

转载 App工程结构搭建:几种常见Android代码架构分析

关于Android架构,因为手机的限制,目前我觉得也确实没什么大谈特谈的,但是从开发的角度,看到整齐的代码,优美的分层总是一种舒服的享受的。  从艺术的角度看,其实我们是在追求一种美。  本文先分析几个当今比较流行的android软件包,最后我们汲取其中觉得优秀的部分,搭建我们自己的通用android工程模板。  1. 微盘  微盘的架构比较简单,我把最基本,最主干

2015-08-18 22:06:51 477

转载 Android更改 PreferenceFragment 的背景颜色

我使用的 PreferenceFragment 与如下所示的 xml 文件public class ReaderPreferences extends PreferenceFragment { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

2015-08-18 15:20:33 2354

转载 Android开发指南-用户界面-风格和主题

应用风格和主题Applying Styles and Themes当设计应用程序时,你可以用风格和主题来统一格式化各种屏幕和UI元素。l   风格是一个包含一种或者多种格式化属性的集合,你可以将其作为一个单位用在布局XML单个元素当中。比如,你可以定义一种风格来定义文本的字号大小和颜色,然后将其应用于视图元素的一个特定实例。l   主题是一个包含一种或者多种格式化属性的集合,你可以将其

2015-08-17 17:44:08 632

转载 Java注释和注释模板

1. 注释类型     [a]. 单行注释// 单行注释String type = "单行注释";     [b]. 多行注释/* * 多行注释 */String type = "多行注释";     [c]. 文档注释/** * 文档注释 */public class Dummy{}  2. 快捷键   

2015-08-17 14:02:38 428

转载 Java RTTI与反射(参照Java编程思想与新浪博客)

一、Java的RTTI        RTTI(Run-Time Type Identification,通过运行时类型识别)的含义就是在运行时识别一个对象的类型,其对应的类是Class对象,每个java里面的类都对应一个Class对象(在编写并且编译后),这个对象被保存在这个类的同名class文件里。类加载器在类被第一次静态调用(比如一个静态方法,一个静态代码块或者new关键

2015-08-15 10:31:19 431

转载 Java关键字this、super使用总结

一、this        Java关键字this只能用于方法体内。当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是this。因此,this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this,这在“Java关键字static、final使用总结”一文中给出了明确解释。并且this只和特定的对象关联,而不和类关联,同一个类

2015-08-14 16:04:18 388

转载 Java关键字final、static使用总结

一、final        根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。        final类不能被继承,没有子类,final类中的方法默认是final的。        final方法不能被子类的方法覆盖,但可以被继承。        fina

2015-08-14 15:54:23 300

原创 Java中的break和continue关键字使用总结

一、作用和区别 break的作用是跳出当前循环块(for、while、do while)或程序块(switch)。在循环块中的作用是跳出当前正在循环的循环体。在程序块中的作用是中断和下一个case条件的比较。 continue用于结束循环体中其后语句的执行,并跳回循环程序块的开头执行下一次循环,而不是立刻循环体。 二、其他用途 break和continue可

2015-08-14 15:08:29 691

原创 Java Foreach语句使用总结

foreach语句是java5的新特征之一,在遍历数组、集合方面,foreach为开发人员提供了极大的方便。foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,然而,任何的foreach语句都可以改写为for语句版本。foreach并不是一个关键字,习惯上将这种特殊的for语句格式称之为“foreach”语句。从英文字面意思理解foreac

2015-08-14 14:38:19 934

原创 Android的线程(Thread)和服务(Service)的区别

很多时候,你可能会问,为什么要用 Service,而不用 Thread 呢,因为用 Thread 是很方便的,比起 Service 也方便多了,下面我详细的来解释一下。1). Thread:Thread 是程序执行的最小单元,它是分配CPU的基本单位。可以用 Thread 来执行一些异步的操作。2). Service:Service 是android的一种机制,当它运行的时候如果是

2015-08-14 14:08:11 2505

转载 Android终止无限循环线程和程序退出时销毁线程

android,启动了一个子线程,这个子线程是一个死循环,不成的打印“Hello”。现在要实现点击一个Button,让这个子线程终止,用什么方法啊?stop()不起作用,destroy()有异常,Handler貌似也解决不了,因为是一个线程。。。 答案如下:线程像这样:Thread{    boolean flag = fase;    run(){

2015-08-13 13:52:02 3268

转载 IoC(Inversion of Control,控制反转)模式

IoC模式1.依赖依赖就是有联系,有地方使用到它就是有依赖它,一个系统不可能完全避免依赖。如果你的一个类或者模块在项目中没有用到它,恭喜你,可以从项目中剔除它或者排除它了,因为没有一个地方会依赖它。下面看一个简单的示例:复制代码 ////// 用户播放媒体文件 /// public class OperationMain { public void PlayMedia() { Medi

2015-08-13 11:24:55 521

转载 浅谈手机app测试注意点

昨天刚写了一遍我的测试之路,现在我把我在半年app测试过程中遇到的问题和之前把到前辈的一篇文章,做个总结:我司产品“彩礼多”,已经在iOS、android等多个平台的移动客户端,这两个端也已经相继开发了几个版本,最近开发的2.8版本即将上线,测试了这么久也该总结一下了。  现在我们测试时,开发会先在本地机上打好测试包,自己安装,轮完一轮,开发修改好后,再打一个包。以下是功能测试时需要注意的

2015-08-13 10:31:24 765

原创 Android获取手机相关信息

首先,一个小例子:package com.brio.testid;import android.app.Activity;import android.bluetooth.BluetoothAdapter;import android.os.Bundle;import android.provider.Settings.Secure;import android.widget.

2015-08-12 17:57:16 816

航空公司客户价值分析(附完整代码)

航空公司客户价值分析完整代码 项目背景:为某航空公司需要以客户为中心,按照客户的需求,在对客户的特点了解上使用不同的营销手段,目的是争取更多新客户,降低客户流失率,降低服务成本,提高业务收入,增加ARPU值(average revenue per user每个用户的平均收益,一般以月为单位),精准的市场营销策略制定。 详见博客:https://blog.csdn.net/u010963246/article/details/90484644

2019-07-22

Swift iOS应用开发实战 完整版.pdf

Swift iOS应用开发实战 完整版.pdf

2016-10-10

深入浅出 head first JavaScript 中文版.pdf

深入浅出 head first JavaScript 中文版.pdf

2016-10-10

Android屏幕适配解决方案源码

4种必须知道的Android屏幕自适应解决方案 参考博客:http://blog.csdn.net/u010963246/article/details/48269161

2015-09-07

Android自定义控件

Android自定义控件 开发自定义控件的步骤: 1、了解View的工作原理 2、 编写继承自View的子类 3、 为自定义View类增加属性 4、 绘制控件 5、 响应用户消息 6 、自定义回调函数 参考博客:http://blog.csdn.net/u010963246/article/details/48053263

2015-08-28

Android一键换肤

Android更换主题一键换肤源码 参考博客: http://blog.csdn.net/u010963246/article/details/47728353

2015-08-17

Android中设置TextView的颜色setTextColor两种方法

android中设置TextView的颜色有方法setTextColor,这个方法被重载了,可以传入两种参数。参考博客:http://blog.csdn.net/u010963246/article/details/47399859

2015-08-10

同一个activity中通过一个按钮切换两个不同的布局

实现在同一个activity中通过一个按钮切换两个不同的布局,此处的按钮并非同一个按钮控件,而是在两个不同的布局文件中点击按钮实现布局的切换。参考博客:http://blog.csdn.net/u010963246/article/details/47324229

2015-08-06

Android控件ToggleButtonDemo

ToggleButton(开关按钮)是Android系统中比较简单的一个组件,是一个具有选中和未选择状态双状态的按钮,并且需要为不同的状态设置不同的显示文本。 参考博客:http://blog.csdn.net/u010963246/article/details/47122825

2015-07-29

Android日期时间选择器实现

1.如何将DatePicker和TimePicker放在一个dialog里面; 2.改变他们的宽度。 其实现思路就是自定义一个Dialog,然后往里面同时放入DatePicker和TimePicker 带中文注释 有兴趣可以看看。 相关博客:http://blog.csdn.net/u010963246/article/details/47002857

2015-07-22

轮子选择器(实现两级联动,城市选择等

参考博客:http://blog.csdn.net/u010963246/article/details/47002857

2015-07-22

滚轮选择器(实现自定义布局和选择值读取)

思路: 1,布局,整个控件的布局,其实就是用代码取带xml来实现当前布局 2,可以滑动的(即滚轮),其实是一个ScrollView 3,判断滑动状态的,有protected void onScrollChanged(int x, int y, int oldx, int oldy) 方法,可以为我们获得当前y值 参考博客:http://blog.csdn.net/u010963246/article/details/47002857

2015-07-22

Android Bluetooth文件传输

Android Bluetooth文件的引入和传输,可使用两台设备,一个做客户端一个做服务端,传输文件,显示传送进度。

2015-07-16

android AsyncTask例子

AsyncTask实现的原理: AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程. 参考博客: http://blog.csdn.net/u010963246/article/details/46889471

2015-07-15

Android中实现定时器的三种方法

在Android开发中,定时器一般有以下3种实现方法: 一、采用Handler与线程的sleep(long)方法; 二、采用Handler的postDelayed(Runnable, long)方法; 三、采用Handler与timer及TimerTask结合的方法; 参考博客: http://blog.csdn.net/u010963246/article/details/46881719

2015-07-15

使用AlarmManager启动广播、服务、页面(Android定时器)

例子包含了使用AlarmManager的所有三种方式。参考博客:http://blog.csdn.net/u010963246/article/details/46881561

2015-07-15

Android菜单(Menu)小结

菜单是用户界面中最常见的元素之一,使用非常频繁,在Android中,菜单被分为如下三种,选项菜单(OptionsMenu)、上下文菜单(ContextMenu)和子菜单(SubMenu).参考博客:http://blog.csdn.net/u010963246/article/details/46733103。

2015-07-14

Android圆角对话框

Android系统自带的ProgressDialog样式的确不太好看,我们可以自己定义它的样式,本源码是圆角对话框的例子程序,参考博客 http://blog.csdn.net/u010963246/article/details/46743075

2015-07-04

其中基本dialog源码

此源码提供7种Android Dialog对话框的使用例子程序,参考博客:http://blog.csdn.net/u010963246/article/details/46733703

2015-07-04

Touch事件分发和响应测试源码

参考博客: http://blog.csdn.net/u010963246/article/details/46729239

2015-07-02

Activity从fragment传递数据

Activity从fragment传递数据,参考博客:http://blog.csdn.net/u010963246/article/details/46722615

2015-07-02

Fragment之间数据的传递

Fragment之间数据的传递,参考博客:http://blog.csdn.net/u010963246/article/details/46723267

2015-07-02

两个activity之间的数据传递

源码包括activity之间数据传递的三种方法,参考博客:http://blog.csdn.net/u010963246/article/details/46722887

2015-07-02

对象的序列化和反序列化

序列化是将某个对象改写成某种信息格式 然后存储存于某种介质上的过程 当然 某种信息的格式是要能被恢复回来的 这就是反序列化. 参考博客:http://blog.csdn.net/u010963246/article/details/46648643

2015-07-01

Fragment从Activity获取数据源码

从Activity传递数据到两个Fragment中,Fragment获取数据后,展示出来。

2015-07-01

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

TA关注的人

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