- 博客(18)
- 收藏
- 关注
原创 Activity 跳转动画
Activity的动画实现方式有三种,一下分别介绍三种Activity跳转动画的实现方式。 一、动画定义在实现Activty的跳转动画之前,先要完成动画的定义:从左侧跳入: <translate android:duration="@android:integer/config_mediumAnimTime" an
2014-06-19 13:02:36
837
原创 SearchView
Android为程序的搜索功能提供统一的搜索接口,Search Dialog和Search Widget(SearchView)、 SearchDialog和Search widget的其他属性有:声音搜索(属性文件中配置)根据最近的搜索结果,给出搜索建议;根据程序的实际搜索结果,给出搜索建议。 Search dialog和searchView的
2014-06-11 11:22:26
661
原创 android程序奔溃异常捕捉
我们的程序虽然在发布之前都会经过严格测试,但是总会有一个bug导致奔溃,这时为了将这个bug记录下来,如果有机会也可以把这些奔溃日志发给我们,做进一步的处理.一、异常捕捉要对程序的异常进行捕获,必须重写UncaughtExceptionHandler,如下:public classMyUncaughtException implements UncaughtExceptionHan
2014-05-30 14:23:42
851
原创 Message,Handler,Looper,MessageQueue
Looper是用于给一个线程添加一个消息队列(MessageQueue),并且循环等待,当有消息时会唤起线程来处理消息的一个工具,直到线程结束为止。通常情况下不会用到Looper,因为对于Activity,Service等系统组件,Frameworks已经为我们初始化好了线程(俗称的UI线程或主线程),在其内含有一个Looper,和由Looper创建的消息队列,所以主线程会一直运行,处理用户事件,
2014-05-30 13:42:16
541
原创 手动实现多任务调度控制器
我们知道CPU处理多线程时是利用线程调度来实现的,线程调度主要依据线程的组别(是否前台)和优先级来进行,我们可以利用一个线程来模拟CPU的单核行为,对多任务进行调度。 在任务执行过程中可能发生各种各样的状态和阶段,可以利用监听者模式,来通知监听者任务的调度状态。首先定义一个监听器类,用于线程执行状态的反馈;public class MyListener {
2014-05-23 19:20:21
626
原创 使用异步任务完成应用更新
一、概述一般安卓应用都有版本检测和自动更新的功能,用户可以在应用内完成升级和更新。Android应用升级的本质利用Linux系统的软件包管理和安装机制,对开发人员只需要调用Android自带API可以实现。二、一般更新流程:从服务器获取新版本信息;判断是否需要更新,如果需要更新提示用户新版本信息;点击更新,通过异步任务下载进行更新;自动进行安装; 三
2014-05-23 17:19:58
653
原创 DialogFragment setRetainInstance
使用Dialog时现在一般用DialogFragment进行封装,而且一般在某个类的内部使用,比如Activity,在内部声明时一般声明为public static final类,放置保存外部Activyt的引用,因为其生命周期在旋转屏幕时会有所不同;基本的应用如下: 默认情况下DialogFragment会自动进行保存状态,public static clas
2014-05-22 20:10:00
834
原创 内部类与内存泄漏(Handler,Runnable)
利用多线程+Handler来完成UI的交互是常见的操作,而匿名Runnable对象的使用也是在多线程使用时常用的,那么使用时会在什么情况下导致内存泄漏的发生呢?首先看以下的代码:publicclass MainActivity extends Activity { @Overrideprotectedvoid onCreate(Bundle savedInstanceStat
2014-05-22 18:55:23
2535
原创 AutoCompleteTextView实现邮件地址自动填充
public class EmailAutoCompleteTextView extends AutoCompleteTextView { private static final String TAG = "EmailAutoCompleteTextView"; private String[] emailSufixs = new String[] {
2014-05-19 10:06:49
527
原创 杂
private void hideKeyboard() { InputMethodManager localInputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); View currentFocus = getCurrentFocus();
2014-05-16 16:56:19
291
原创 Dialog与DialogFragment使用
对话框一般是出现在Activity纸上的一个小窗口,处于下面的Activity暂时失去焦点,一般用于提示信息和当前应用程序直接相关的小功能。一、分类1.AlertDialog:可以有1到3个按钮,单选、复选或列表的对话框,警告对话框可以支持大部分的用户交互。2.ProgressDialog:显示一个进度环或条,是AlertDialog的扩展,也支持按钮;3.DatePickerDi
2014-05-16 15:15:07
821
转载 滑雪
DescriptionMichael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长底滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子 1 2 3 4 516 17 18 19 615 24 25 20 714 23 2
2014-05-15 20:22:15
305
原创 Android 打包与反编译
Android 独有的安全机制:一:权限机制,二:签名机制。签名机制的使用场合:升级App和权限检查;一、优点:1. 有利于程序的升级,当新版程序和旧版程序的数字证书相同时,Android系统才会认为这两个程序是同一个程序的不同版本,如果新版程序和旧版程序的数字签名不同,则Android系统认为是不同程序,并产生冲突。2. 有利于程序的模块化设计和开发。Android允
2014-05-15 15:46:13
441
原创 转屏与异步任务
本文主要针对的问题是:如何保持后台任务(Treads,Sockets,AsyncTasks),在设备转屏后导致Activity recreate后. 一:问题描述这类问题比较常见,在Activity中开启一个异步任务,当屏幕转向或Activity退出后,异步任务回调后,继续操作界面,会导致程序奔溃。其实这是两类问题,本文提供的方法可以解决这两类问题;主要是采用一个Fragm
2014-05-14 15:27:15
444
原创 Collection
在 java程序中,除了常用的八种基本数据类型,String还有一个集合类。常用的有ArrayList、HashMap、HashSet等,也有不常用的Stack、Queue,有线程安全的Vector,HashTable,也有线程不安全的LinkedList,Treemap等等。 一、Collection接口最基本的集合接口,Java SDK提供的类都是继承自Collection
2014-05-12 19:44:52
358
原创 Java克隆对象
publicclass CloneUtils { @SuppressWarnings("unchecked") public static T clone(T obj){ T cloneObj = null; try { //写入字节流 ByteArrayOutputStream out =
2014-05-12 16:20:28
900
原创 Java三大特性
一、封装封装即数据隐藏,利用抽象数据类型将数据和基于数据的操作封装在一起。数据隐藏在抽象数据类型内部,只保留一些对外的接口使之与外部发生联系。使用封装有三个好处:可以方便的更改内部实现而不影响其他实现;可以对成员进行更精确的控制;(容易发现问题,方便修改类的内部实现)隐藏信息,实现细节;注意:不要编写返回引用可变对象的访问器方法。如需要返回一个可
2014-05-12 15:13:24
393
原创 接口和内部类
接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法。 一、抽象类一个类没有足够的信息来描述一个具体的对象,而需要其他具体的类来支撑,这样的类称为抽象类。如Animal对象,动物的集合,但是具体长什么样子我们不知道,是一个具体动物概念,所以是一个抽象类。抽象类体现数据抽象的思想,是实现多态的一种机制。特点:抽象类不能被实例化,实例化的工作应该由它的子类来完
2014-05-12 13:30:55
493
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人