- 博客(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
航空公司客户价值分析(附完整代码)
2019-07-22
Android屏幕适配解决方案源码
2015-09-07
Android自定义控件
2015-08-28
Android一键换肤
2015-08-17
Android中设置TextView的颜色setTextColor两种方法
2015-08-10
同一个activity中通过一个按钮切换两个不同的布局
2015-08-06
Android控件ToggleButtonDemo
2015-07-29
Android日期时间选择器实现
2015-07-22
滚轮选择器(实现自定义布局和选择值读取)
2015-07-22
android AsyncTask例子
2015-07-15
Android中实现定时器的三种方法
2015-07-15
使用AlarmManager启动广播、服务、页面(Android定时器)
2015-07-15
Android菜单(Menu)小结
2015-07-14
Android圆角对话框
2015-07-04
其中基本dialog源码
2015-07-04
Activity从fragment传递数据
2015-07-02
Fragment之间数据的传递
2015-07-02
两个activity之间的数据传递
2015-07-02
对象的序列化和反序列化
2015-07-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人