浅谈android的selector背景选择器
摘要:在项目一直copy了,对这个selector的属性在复习一下。首先android的selector是在drawable/xxx.xml中配置的。先看一下listview中的状态:把下面的XML文件保存成你自己命名的.xml文件(比如list_item_bg.xml),在系统使用时根据ListView中的列表项的状态来使用相应的背景图片。drawable/list_item_bg.xml 代码如下: 1 <?xml version="1.0" encoding="utf-8" ?> 2 3 <selector xmlns:android=
阅读全文
Android 如何判断一个应用在运行
摘要:在一个应用中,或一个Service 、Receiver中判断一个应用是否正在运行,以便进行一些相关的处理。这个时候我们需要得到一个ActivityManager,这个Manager顾名思意就是管理Activity的,它有一个方法叫getRunningTasks,可以得到当前系统正在运行的Task的列表,代码如下:1 ActivityManager am = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);2 List<RunningTaskInfo> list = am.getRunningTa
阅读全文
hashCode()方法的作用&使用分析
摘要:一直以来都想写篇文章来说明下hashCode的作用以及相关的知识,许久没动笔,最近找了点资料,自己整理了一下,于是就诞生了下面的东西!(1)前言,想要明白hashCode的作用,你必须要先知道Java中的集合。Java中的集合(Collection)有两类,一类是List,再有一类是Set。 前者集合内的元素是有序的,元素可以重复;后者元素无序,但元素不可重复。 那么我们怎么判断两个元素是否重复呢? 这就是Object.equals方法了。通常想查找一个集合中是否包含某个对象,就是逐一取出每个元素与要查找的元素进行比较,当发现某个元素与要查找的对象进行equals方法比较的结果相等时,则停止继
阅读全文
Android安装apk程序时出现Segmentation fault错误
摘要:今天在Android模拟器上安装apk程序时出现Segmentation fault错误,如下图:经过查找资料发现是中文字符的问题,原来Android应用程序apk安装包的名字必须是英文字符,不能包含任何中文字符,而且英文名称单词要连写,中间不能有空格。。。。改过之后在安装,成功!
阅读全文
Android的webview加载本地html、assert内html和网络URL
摘要:1 //打开本包内asset目录下的test.html文件2 wView.loadUrl(" file:///android_asset/test.html "); 3 //打开本地sd卡内的kris.html文件4 wView.loadUrl("content://com.android.htmlfileprovider/sdcard/kris.html");5 //打开指定URL的html文件6 wView.loadUrl(http://www.krislq.com/);转载地址:http://www.krislq.com/2013/04/webvi
阅读全文
1.Singleton,单例模式
摘要:概念:在Java应用程序中,一个类Class只有一个实例存在运用:1)系统资源,如文件路径,数据库链接,系统常量等2)全局状态化类,类似AutomicInteger的使用优缺点:1)节省内存有利于垃圾回收2)只能使用在特定的环境下,受限制于JVM和容器 单例作用范围的前提是在一个ClassLoad下。所以像分布式应用EJB就要用其它的方式来解决单例问题。Demo:分别列出多种实现方式,各分析其优缺点1)静态成员直接初始化,或者在静态代码块初始化都可以1 class Singleton{ 2 private Singleton(){} 3 private static...
阅读全文
java 的23种设计模式
摘要:设计模式主要分三个类型:创建型、结构型和行为型。 其中创建型有: 一、Singleton,单例模式:保证一个类只有一个实例,并提供一个访问它的全局访问点 二、Abstract Factory,抽象工厂:提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们的具体类。 三、Factory Method,工厂方法:定义一个用于创建对象的接口,让子类决定实例化哪一个类,Factory Method使一个类的实例化延迟到了子类。 四、Builder,建造模式:将一个复杂对象的构建与他的表示相分离,使得同样的构建过程可以创建不同的表示。 五、Pro...
阅读全文
java serializable 中的serialVersionUID和transient
摘要:serializable 是什么?对象的寿命通常随着生成该对象的程序的终止而终止。有时候,可能需要将对象的状态保存下来,在需要时再将对象恢复。我们把对象的这种能记录自己的状态以便将来再生的能力。叫作对象的持续性(persistence)。对象通过写出描述自己状态的数值来记录自己 ,这个过程叫对象的串行化(Serialization) 。串行化的主要任务是写出对象实例变量的数值。如果交量是另一对象的引用,则引用的对象也要串行化。这个过程是递归的,串行化可能要涉及一个复杂树结构的单行化,包括原有对象、对象的对象、对象的对象的对象等等。对象所有权的层次结构称为图表(graph)。什么情况下需要序列化
阅读全文
自定义适应屏幕大小的TextView
摘要:先来个截图:在来看看自定义的TextView: 1 public class MyTextView extends TextView 2 { 3 4 public MyTextView(Context context, AttributeSet attrs) 5 { 6 super(context, attrs); 7 TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.MyTextView); 8 float textSize = a.getDime...
阅读全文
PopupWindow 按返回键和按空白地方不消失的解决办法
摘要:1 popupWindow = new PopupWindow(view, LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); 2 popupWindow.setFocusable(true); 3 4 //下面2行是解决点击空白地方不消失的问题 5 popupWindow.setOutsideTouchable(true); 6 popupWindow.getContentView().setOnTouchListener(new OnTouchListener() 7 { 8 public boolean onTouch...
阅读全文