- 博客(146)
- 收藏
- 关注
转载 android:点击popupwindow以外区域 popupwindow自动消失(转载)
方法一(这种方法可以处理popupwindows dimiss的时候一些其他的操作,比如让其他控件的隐藏,消失等):代码如下popupWindow.setFocusable(false);//focusable要为false(不设置默认的就是False);//这是Activity 的OnTouchEvent。OnTouchEvent代表的是Activity 获得事件(即为PopupWi
2012-11-08 18:15:15
910
转载 自定义 ProgressBar 进度条 自定义样式
今天学习给ProgressBar换个样式,先看效果图:. n9 u9 |" a2 \/ i# Z原理:在XML文件中分别定义进度条背景、第一进度颜色、第二进度颜色,然后在ProgressBar的android:progressDrawable属性应用即可。先在drawable下建立progressbar_style.xml文件,内容如下:8 n$ d"
2012-11-06 13:13:18
1441
转载 listview设置不同背景图片并添加selector
前段时间为了实现根据item不同的内容实现不同的背景色google了好久只找到了个隔行换色,通过自定义SimpleAdapter终于实现了此功能,但是定义了selector并没有触发点击效果。今天重新想了一遍终于把这个问题解决了。在自定义的getView里就给每个convertView定义它的背景色和selector。[代码] 自定义SimpleAdapter
2012-10-20 13:13:58
1143
转载 Java接口详解
对初学者来说,接口不是很好理解。现将某高手的一篇文章贴出来,共大家分享!我们来看一个类 class A { private int a; public int getA() { return a; } } 这个类的属性是私有的,外界不能访问,而外界可以通过公有方法来访问这个类。我们说一个类的公有方法就是这个类的对外接口。通常 一个类的属性都是私有的,方法大多
2012-09-28 14:38:01
1129
转载 如何将.so文件打包到.APK
Android系统不允许一个纯粹使用C/C++的程序出现,它要求必须是通过Java代码嵌入Native C/C++——即通过JNI的方式来使用本地(Native)代码。因此JNI对Android底层开发人员非常重要。如何将.so文件打包到.APK让我们先从最简单的情况开始,假如已有一个JNI实现——libxxx.so文件,那么如何在APK中使用它呢?在我最初写类似程序的时候,我会将libx
2012-09-24 17:42:21
1722
转载 android-JNI学习之java和c++相互调用
JNI其实是Java Native Interface的简称,也就是java本地接口。它提供了若干的API实现了和Java和其他语言的通信(主要是C&C++)。也许不少人觉得Java已经足够强大,为什么要需要JNI这种东西呢?我们知道Java是一种平台无关性的语言,平台对于上层的java代码来说是透明的,所以在多数时间我们是不需要JNI的,但是假如你遇到了如下的三种情况之一呢?
2012-09-24 17:24:06
975
转载 java学习之JNI 学习一 编写JNI的基本步骤
JNI(java native interface) java是跨平台的语言,但是在有些时候仍然需要调用本地代码(通常这些代码是用C/C++编写的) SUN公司提供的JNI是一个功能强大的JAVA接口,这个JNI接口提供了JAVA与操作系统本地代码互相调用的功能 最简单的javay调用C/C++代码的步骤 1,首先在JAVA类中声明一个native的
2012-09-24 17:17:43
446
转载 java中静态代码块的用法 static用法详解
(一)java 静态代码块 静态方法区别一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,这种代码是被动执行的. 静态方法在类加载的时候 就已经加载 可以用类名直接调用比如main方法就必须是静态的 这是程序入口两者的区别就是:静态代码块是自动执
2012-09-24 14:13:08
570
转载 android 单例模式!
以前听人说到单例模式,云计算,序列化等等都感觉好像神乎其神的,今天正好用到单例模式,就来细细总结一下,其实还是蛮简单的,甚至可以说比写一些方法还要简单,不信大家就往下看: 单例模式 在调用构造函数的时候,不直接调用构造函数,而是先调用单例模式,再让单例模式去调用构造函数。 在其他类中用到这个类的方法时,有这样的调用操作: MyPCDirecto
2012-09-13 14:53:44
577
转载 Android 创建单例模式的几种方法
今天项目中要用到一个单例类,保存公共数据。好久不写java了,特记录一下。java模式之单例模式:单例模式确保一个类只有一个实例,自行提供这个实例并向整个系统提供这个实例。特点:1,一个类只能有一个实例2,自己创建这个实例3,整个系统都要使用这个实例Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。在很多操作中,比如建立
2012-09-13 14:48:00
729
转载 在任意位置获取应用程序CONTEXT
Android程序中访问资源时需要提供Context,一般来说只有在各种component中(Activity, Provider等等)才能方便的使用api来获取Context, 而在某些工具类中要获取就很麻烦了。为此,我们可以自定义一个Application类来实现这种功能。import android.app.Application;public class MyApplica
2012-09-13 14:37:21
483
转载 Android MediaPlayer状态机
翻译Android Reference Manual的MediaPlayer的状态机对播放音频/视频文件和流的控制是通过一个状态机来管理的。下图显示一个MediaPlayer对象被支持的播放控制操作驱动的生命周期和状态。椭圆代表MediaPlayer对象可能驻留的状态。弧线表示驱动MediaPlayer在各个状态之间迁移的播放控制操作。这里有两种类型的弧线。由一个箭头开始的弧代表同步的
2012-09-07 19:35:10
559
转载 移动环境下push技术开发(01-androidpn环境的配置)
一、缘由 其实说白了就是研究androidpn这个开源项目,只因我的本科毕业设计的题目就是“移动环境下push技术开发”,所以起这个作为本篇博文的题目。其实我本来是想等我的毕业设计答辩结束后,再总结,再分享的,可是最近群里很多人整个环境都不会配,所以我就先写一篇环境的配置吧。 当然我起初也是在各位前辈的基础上学习的,关于androidpn网上的资料还是很多的,大家自己看。这里只贴出
2012-08-28 18:00:02
1992
2
转载 androidpn研究成果
前段时间,我们手上的项目需要进行android手机端的数据通信和推送。众所周知,目前安卓还没有一个固定完美和简略的框架,不像iphone。我是负责做这一块,刚开始的时候也是一头雾水,两眼发空。在网上疯狂的百度谷歌,浏览器里收藏了一堆的网页。不过经过半个月的努力钻研,总算是把androidpn这个东东完美整合到自己的项目中。 好吧,废话不多说了。 我是实用主义者,关于
2012-08-28 11:05:27
790
转载 基于XMPP协议的手机多方多端即时通讯方案
目 录基于XMPP协议的手机多方多端即时通讯方案................................................................. 1目 录..................................................................................................
2012-08-28 10:18:48
1349
转载 用androidpn来实现推送
关于服务器端向Android客户端的推送,主要有三种方式:轮询,应用程序应当阶段性的与服务器进行连接并查询是否有新的消息到达,你必须自己实现与服务器之间的通信,例如消息排队等。而且你还要考虑轮询的频率,如果太慢可能导致某些消息的延迟,如果太快,则会大量消耗网络带宽和电池;SMS(通过发送短信并解析短信内容来获取服务器端的指令),这个出现的问题是很难找到免费的网关来发送短信;最后就是持久连接,主要是
2012-08-27 15:25:05
873
转载 Android进程间如何的通信
一、概念 Android为了屏蔽进程的概念,利用不同的组件[Activity、Service ]来表示进程之间的通信!组件间通信的核心机制是Intent ,通过Intent可以开启一个Activity或Service,不论这个Activity或Service是属于当前应用 还是其它应用的!
2012-08-24 17:15:22
1078
转载 Android广播和短信广播详解
广 播被分为两种不同的类型,“普通广播(Normal broadcasts)”和“有序广播(Ordered broadcasts)”。普通广播是完全异步的,可以在同一时刻(逻辑上)被所有接收者接收到,消息传递的效率比较高,但缺点是:接收者不能将处理结果 传递给下一个接收者,并且无法终止广播Intent的传播;然而有序广播是按照接收者声明的优先级别(声明在intent-filter元素的 And
2012-08-24 17:03:38
937
转载 Androidpn的框架浅析
开发部署方法: 1. 下载androidpn的客户端和服务器:地址为:http://sourceforge.net/projects/androidpn/files/ 2. 解压服务器端,点击运行,访问:http://127.0.0.1:7070/user.do,就可以看服务器端的管理页面,用这个管理页面,就要向客户端push消息。 3. 把客户端导入到eclipse
2012-08-24 13:09:04
706
转载 HTTP协议详解(真的很经典)
转自:http://blog.csdn.net/gueter/archive/2007/03/08/1524447.aspxAuthor :Jeffrey引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不
2012-08-21 19:29:33
508
转载 说说Android上的断点续传下载
先说说断点续传的原理:这是HTTP 1.1协议的一部分,并不需要客户端特意去做多么复杂的事情。以前我曾经看过一个单位的技术标书,其中有下载的断点续传这一要求,给出的offer居然还挺高的...简单的说,只要利用了HTTP协议 (http://www.ietf.org/rfc/rfc2616.txt )中的如下字段来和服务器端交互,就可以实现文件下载的断点续传:Range : 用
2012-08-21 15:39:42
594
转载 Android多线程断点续传下载文件类设计
对于Android平台,很多网友可能考虑开发一个软件商店,对于Android平台上如何实现断点续传操作呢? 这里Android123给大家一些思路和原理的介绍,同时在Android手机上要考虑的一些事情。 1. 流量控制,获取运营商的接入方式,比如说使用移动网络接入,尽可能的提示用户切换WiFi或提示,限制下载的流量以节省话费。 2. 屏幕锁控制,屏幕锁屏后导致应用会被挂起,当
2012-08-21 15:33:36
798
转载 java 接口用法(通俗易懂)
以前我一直没有搞懂接口的工作流程,直到看了下面这篇文章:很形象的接口的使用——针对初学者 里氏代换原则是什么?听起来很高深,不过我们也不是什么学院派,就不讲大道理了,直接拿个例子来说一下。我们拿人和程序员举个例子。人是一个大类,程序员是继承自人的子类。看看这句话:人需要吃饭。这句话我们把“人”换成“程序员”,就是:程序员需要吃饭,这样换不会有什么问题。现在我们反过来,把“程序员可以
2012-08-17 10:54:42
2970
1
转载 避免context内存泄露
Android应用程序被限制在16MB的堆上运行,至少在T-Mobile G1上是这样。对于手机来说,这是很大的内存了;但对于一些开发人员来说,这算是较小的了。即使你不打算使用掉所有的内存,但是,你也应该尽可能少地使用内存,来确保其它应用程序得以运行。Android在内存中保留更多的应用程序,对于用户来说,程序间切换就能更快。作为我(英文作者)工作的一部分,我调查了Android应用程序的内存泄露
2012-08-07 20:24:14
611
转载 Android内存(内存溢出 内存不足 内存低 .)优化详解
前言 不少人认为JAVA程序,因为有垃圾回收机制,应该没有内存泄露。其实如果我们一个程序中,已经不再使用某个对象,但是因为仍然有引用指向它,垃圾回收器就无法回收它,当然该对象占用的内存就无法被使用,这就造成了内存泄露。如果我们的java运行很久,而这种内存泄露不断的发生,最后就没内存可用了。当然java的,内存泄漏和C/C++是不一样的。如果java程序完全结束后,它所有的对象
2012-08-07 18:28:23
577
转载 JAVA垃圾回收问题
1:垃圾收集是一种从无用对象回收其所占用的内存,并使回收的内存能够被再次利用的机制。2:无用对象是指它不能被程序中处于活动状态的部分的引用。3:垃圾收集处于低优先级的线程内,当可用内存较少时运行,但不能保证何时运行。4:不可能强制运行垃圾回收线程,但是调用语句System.gc()有可能激活垃圾收集程序.5:在垃圾回收机制中,无法保证对象被垃圾回收的顺序,也无法保证
2012-08-07 17:43:32
557
转载 java垃圾回收机制学习
1、谁在做Garbage Collection? 一种流行的说法:在C++里,是系统在做垃圾回收;而在Java里,是Java自身在做。 在C++里,释放内存是手动处理的,要用delete运算符来释放分配的内存。这是流行的说法。确切地说,是应用认为不需要某实体时,就需用 delete告诉系统,可以回收这块空间了。这个要求,对编码者来说,是件很麻烦、很难做到的事。随便上哪个BBS,
2012-08-07 17:23:34
512
转载 Java中的软引用,弱引用和虚引用
在Android的图片处理中,碰到的一个非常普遍的问题便是OOM错误 为此网上也有很多例子,而在之前的一篇转载里 提到了ListView中加载图片的ImageLoader,而其中有一处,使用到了名为SoftPreference的类 这是Java中的一个类 也就是所谓的软引用 在查询了相关的资料以后 会发现SoftPreference的特性,非常适合用来处理OOM引起的问题 下面是百度文库的一篇转载
2012-08-07 16:40:42
1081
转载 Java 强引用、 软引用、 弱引用、虚引用
1.对象的强、软、弱和虚引用在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期。这4种级别由高到低依次为:强引用、软引用、弱引用和虚引用。图1为对象应用类层次。 图1⑴强引用(S
2012-08-07 16:38:08
573
转载 Android防止内存溢出浅析
Android的虚拟机是基于寄存器的Dalvik,它的最大堆大小一般是16M。但是Android采用的是Java语言编写,所以在很大程度上,Android的内存机制等同于Java的内存机制,在刚开始开发的时候,内存的限制问题会给我们带来内存溢出等严重问题。在我们不使用一些内存的时候,我们要尽量在Android或者其他平台上避免在运行其他程序时,保存必要的状态,使得一些死进程所带来的内存问题,应该尽
2012-08-07 16:34:55
412
转载 Android中JSON解析 (包括如何写入SD卡)
JSON是JavaScript Object Notation的缩写,可见JSON来源于JavaScript。JSON数据是一系列键值对的集合。JSON和XML的比较JSON比XML体积小JSON和JavaScript交互更加方便JSON对数据的描述性没有XML好JSON的速度要远远大于XMLJSON的解析要比XML的解析要方便JSON已经被大多数开发人员所接受,在网络数据的传
2012-07-30 17:24:43
3403
转载 Android笔记 26:标准化时间,让app的时间在全球运行一致
有国外的朋友向我反馈说我某个app不能用或者说每天只有某个时间段才能用...后来摸索了一下规律发现是两地时区的差别因为我在app里做了一些日期的校验,中国在 GMT+8 换了在地球另一边的话时钟要慢12小时. 这就造成了app取出的日期有一半时间和服务器端的验证日期不一致的问题.去eoe发问,没人理我..其实解决问题的办法只要一行代码下面是例子long ltim
2012-07-27 23:37:38
643
转载 Android中Calendar与Date的区别以及消除时区对日期操作影响的方法
在Android中的日期操作常用的有三种方式,分别是:Date类型Calendar类型Unix时间戳其中,Unix时间戳在计算上最为方便和灵活,效率也高;而Date和Calendar则在一些具体的日期计算上更为便利。其中,在进行日期转化的时候,经常会用到SimpleDateFormat类来进行格式化,包括将特定格式字符串转化为Date对象,以及将Date对象格式化为特定格式字符串。
2012-07-27 23:36:35
743
转载 为什么编程语言以及数据库要从1970年1月1日开始计算时
今天一时兴起想起了在SQL Server中使用DateTime.MinValue插入时间时报错的问题,原因就在于数据库的最小时间和.Net里的最小时间不一致导致的,网上查阅了些资料,找到如下结果Net Framewrok 中,DateTime.MinValue => 0001/01/01 00:00:00SqlDateTime.MinValue.Value =>
2012-07-27 23:35:40
708
转载 经典SQL语句大全
一、基础1、说明:创建数据库CREATE DATABASE database-name2、说明:删除数据库drop database dbname3、说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind
2012-07-27 23:35:01
380
原创 PopupWindow点击边框以外消失的方法
PW.setFocusable(true);PW.setFocusableInTouchMode(true); //为了保险起见加上这句pw.setBackgroundDrawable(new BitmapDrawable()); // 这句是关键,响应返回键必须的语句通常只写上第三句即可。
2012-07-27 23:33:06
495
转载 android 设置Button或者ImageButton的背景透明 半透明 透明
Button或者ImageButton的背景设为透明或者半透明半透明 透明颜色和不透明度 (alpha) 值以十六进制表示法表示。任何一种颜色的值范围都是 0 到 255(00 到 ff)。对于 alpha,00 表示完全透明,ff 表示完全不透明。表达式顺序是“aabbggrr”,其中“aa=alpha”(00 到 ff);“bb=blue”(00 到 ff);“gg=green”(
2012-07-27 23:32:23
553
转载 SQLiteOpenHelper简介
SQLiteDatabase是Android SDK中操作数据库的核心类之一。使用SQLiteDatabase可以打开数据库,也可以对数据库进行操作。然而为了数据库升级的需要以及使用更方便,往往使用SQLiteOpenHelper的子类来完成创建、打开数据库及各种数据库操作。 SQLiteOpenHelper是个抽象类,在该类中有如下两个抽象方法,SQLiteOpenHelper的子类
2012-07-27 23:30:26
643
转载 android进程与线程详解二:线程
线程当一个应用被启动,系统创建一个执行线程,叫做"main"。这个线程是十分重要的,因为它主管向用户界面控件派发事件。其中包含绘图事件。它也是你的应用与界面工具包(android.widget和android.view包中的组件)交互的地方。于是main线程也被称为界面线程。系统不会为每个组件的实例分别创建线程。所有运行于一个进程的组件都在界面线程中被实例化,并且系统对每个
2012-07-27 23:29:51
324
转载 android进程与线程详解一:进程
当一个应用的组件开始运行,并且这个应用没有其它的组件在运行,系统会为这个应用启动一个新的Linux进程,这个进程只有一个线程.默认情况下,一个应用的所有组件都运行在一个进程和线程(主线程)中.如果一个应用的线程开始运行,并且已经存在这个应用的线程了(因为有这个应用程序的另一个组件已经运行了),于是这个组件就会在这个已有的进程中启动并且运行在同一个线程中.然而,你完全可以安排不同的组件运行于不同的进
2012-07-27 23:27:51
340
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人