开源框架Pushlet入门
摘要:一、comet基本概念1.comet是一个用于描述客户端和服务器之间交互的术语,即使用长期保持的http连接来在连接保持畅通的情况下支持客户端和服务器间的事件驱动的通信。2.传统的web系统的工作流程是客户端发出请求,服务器端进行响应,而comet则是在现有技术的基础上,实现服务器数据、事件等快速push到客户端,所以会出现一个术语”服务器推“技术。二、push实现方式1.原理:利用jsp/servel技术,在不关闭http流的情况下push数据到客户端浏览器;2.实现:基于ajax的长轮询(long-polling)方式ajax的出现使得javascript可以调用xmlhttpreques
阅读全文
posted @
2011-12-30 17:33
Ruthless
阅读(27356)
推荐(3) 编辑
四十七、实现调用Android手机的拍照功能
摘要:一、main.xml布局文件<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent">
阅读全文
posted @
2011-12-28 16:17
Ruthless
阅读(24930)
推荐(3) 编辑
四十六、android中的Bitmap
摘要:在Android SDK中可以支持的图片格式如下:png , jpg , gif和bmp。1.Bitmap的创建借助于BitmapFactory。1)资源中的图片使用BitmapFactory获取位图Bitmap bmp = BitmapFactory.decodeResource(this.getResources(), R.drawable.testImg); 或者是Resources res=getResources();//使用BitmapDrawable获取位图//使用BitmapDrawable (InputStream is)构造一个BitmapDrawable;//使用Bitm
阅读全文
posted @
2011-12-28 16:06
Ruthless
阅读(6224)
推荐(2) 编辑
四十五、android camera
摘要:1.关于预览横竖差90度的问题 原因分析 经过查证和实验,可以证实:Android提供的SDK(android.hardware.Camera)里大概不能正常的使用竖屏(portrait layout)加载照相机,当用竖屏模式加载照相机时会产生以下情况:1. 照相机成像左倾90度(倾斜);2. 照相机成像长宽比例不对(失比)。之所以是“大概”,原因是因为可能可以通过一些比较复杂的手段解决。如果以上成立,那为什么竖屏不能正常成像也就很显然了。为什么会产生这样的情况,请看下面的研究分析。 照相机在一般情况下是必须用landscape layout(横屏)的,可以证明,先写一个照相机(只要能pre.
阅读全文
posted @
2011-12-27 17:40
Ruthless
阅读(2545)
推荐(1) 编辑
四十四、Android之android:layout_weight详解
摘要:1、LinearLayout可以为其包含控件指定填充权值layout_weight。 这样就允许其包含的控件可以填充屏幕上的剩余空间。这也避免了所有控件挤成一堆的情况,而是允许他们放大填充所有空白。剩余的空间会按这些控件指定的权值比例分配屏幕。 2、默认情况下,weight的值是0,表示按照控件的实际大小显示;如果weight设置高于零。 3、剩余空间会按照该控件的weight值占所有控件weight的比例分配给该控件。 比如有两个控件,一个weight为1,另外一个是2. 则剩余空间会把1/(1+2)的部分给控件一,另外2/(1+2)的分配给控件二。也就是权值越大,重要度越大。 4、如果Li
阅读全文
posted @
2011-12-27 14:25
Ruthless
阅读(3610)
推荐(1) 编辑
设置MyEclipse编码、补全快捷键、字体大小
摘要:一、设置MyEclipse编码(1)修改工作空间的编码方式:Window-->Preferences-->General-->Workspace-->Text file encoding(2)修改一类文件的编码方式:Window-->Preferences-->General-->content T
阅读全文
posted @
2011-12-26 16:45
Ruthless
阅读(9596)
推荐(4) 编辑
MyEclipse优化技巧
摘要:http://user.qzone.qq.com/416501600/blog/1271670557 MyEclipse优化技巧
阅读全文
posted @
2011-12-26 15:35
Ruthless
阅读(1159)
推荐(0) 编辑
四十三、设置Activity永不过期,即不执行onDestroy()
摘要:/** * 重写finish()方法 */ @Override public void finish() { //super.finish(); //记住不要执行此句 moveTaskToBack(true); //设置该activity永不过期,即不执行onDestroy() } 注意:不要调用super.finish(),只需调用moveTaskToBack(true)就可以,这样只有在第一次启动的时候会执行onCreate()。以后(只要进程不死掉)都不会执行onCreate()
阅读全文
posted @
2011-12-15 18:08
Ruthless
阅读(5403)
推荐(2) 编辑
四十二、Android完全退出应用程序
摘要:在Android中,如果想退出Android程序,一般都是调用finish()、System.exit(0)、android.os.Process.killProcess(android.os.Process.myPid())等方法来实现退出程序功能,可是在实际开发中,并不能达到完全退出应用程序的效果,这是因为调用finish()、System.exit(0)、android.os.Process.killProcess(android.os.Process.myPid())只能杀死当前的activity,并不能杀死所有的activity,为了完美达到此效果,接下来通过一个案例实现:一、使用单
阅读全文
posted @
2011-12-15 16:15
Ruthless
阅读(6202)
推荐(4) 编辑
四十一、Android Notification通知详解
摘要:根据activity的生命周期,在activity不显示时,会执行onStop函数(比如按下home键),所以你在onStop函数(按退出键除外)里面把notification放在通知栏里,再此显示时,把notification从通知栏里去掉。或者,只要程序在运行就一直显示通知栏图标。下面对Notification类中的一些常量,字段,方法简单介绍一下:常量:DEFAULT_ALL 使用所有默认值,比如声音,震动,闪屏等等DEFAULT_LIGHTS 使用默认闪光提示DEFAULT_SOUNDS 使用默认提示声音DEFAULT_VIBRATE 使用默认手机震动 【说明】:加入手机震动,一定要在
阅读全文
posted @
2011-12-14 21:09
Ruthless
阅读(7406)
推荐(2) 编辑
四十、Android home键和back键区别
摘要:back键Android的程序无需刻意的去退出,当你一按下手机的back键的时候,系统会默认调用程序栈中最上层Activity的Destroy()方法来销毁当前Activity,当此Activity又被其它Activity启动起来的时候,会重新调用OnCreate()方法进行创建,当栈中所有Activity都弹出结束后,应用也就随之结束了.如果说程序中存在service之类的,则可以在恰当的位置监听处理下也就可以了. home键Android程序的隐藏,当你按下手机的Home键的时候,系统会默认调用程序栈中最上层Activity的stop()方法,然后整个应用程序都会被隐藏起来,当你再次点击手
阅读全文
posted @
2011-12-14 19:03
Ruthless
阅读(15538)
推荐(1) 编辑
三十九、Android原理 不需要关闭后台运行程序
摘要:不用在意剩余内存的大小,其实很多人都是把使用其他系统的习惯带过来来了。android大多应用没有退出的设计其实是有道理的,这和系统对进程的调度机制有关系。如果你知道java,就能更清楚这机制了。其实和java的垃圾回收机制类似,系统有一个规则来回收内存。进行内存调度有个阀值,只有低于这个值系统才会按一个列表来关闭用户不需要的东西。当然这个值默认设置得很小,所以你会看到内存老在很少的数值徘徊。但事实上他并不影响速度。相反加快了下次启动应用的速度。这本来就是android标榜的优势之一,如果人为去关闭进程,没有太大必要。特别是使用自动关进程的软件。 到这里有人会说了,那为什么内存少的时候运行大..
阅读全文
posted @
2011-12-14 15:13
Ruthless
阅读(2520)
推荐(2) 编辑
从当前日期算起,获取几天前的日期和几个月前的日期
摘要:/** * 从当前日期算起,获取N天前的日期(当前日不算在内),日期格式为yyyy-MM-dd * * @param daily 天数 * @return */ public static String getDateByDay(Integer daily) { Date date = new Date(); int year = Integer.parseInt(new SimpleDateFormat("yyyy").format(date)); int month = Integer.parseInt(new SimpleDateFormat("MM&quo
阅读全文
posted @
2011-12-05 10:31
Ruthless
阅读(4203)
推荐(1) 编辑
三十八、判断服务是否运行及定位问题
摘要:/** * 判断服务是否正在运行 * * @param context * @param className 判断的服务名字:包名+类名 * @return true在运行 false 不在运行 */ public static boolean isServiceRunning(Context context, String className) { boolean isRunning = false; ActivityManager activityManager = (Activit...
阅读全文
posted @
2011-12-01 17:22
Ruthless
阅读(1219)
推荐(1) 编辑