2012年05月 归档

简析Android平台中的多线程、Handler应用

在Android平台中多线程应用很广泛,在UI更新、游戏开发和耗时处理(网络通信等)等方面都需要多线程。Android线程涉及的技术有:Handler;Message;MessageQueue;Looper;HandlerThread。

很多初入Android或Java开发的新手对Thread、Looper、Handler和Message仍然比较迷惑,衍生的有HandlerThread、java.util.concurrent、Task、AsyncTask由于目前市面上的书籍等资料都没有谈到这些问题,今天就这一问题做更系统性的总结。

Android开发过程中为什么要多线程

我们创建的Service、Activity以及Broadcast均是一个主线程处理,这里我们可以理解为UI线程。但是在操作一些耗时操作时,比如I/O读写的大文件读写,数据库操作以及网络下载需要很长时间,为了不阻塞用户界面,出现ANR的响应提示窗口,这个时候我们可以考虑使用Thread线程来解决。
查看更多...

Flame病毒潜伏5年后现身,比Stuxnet病毒强20倍

据各大网站5月29日报道,一种名为Flame的新型蠕虫病毒最近在中东地区被发现,目前至少已有数万台电脑被感染。安全专家称该病毒具有极强的间谍功能,比Stuxnet病毒强20倍,是迄今为止最为复杂的病毒。

匈牙利布达佩斯大学计算机安全研究实验室Crysys实验室的研究人员在对该病毒进行初步分析后发现,Flame并不会对计算机硬件造成损害,窃取信息才是其主要目的。感染这种病毒的电脑会在用户毫不知情的情况下变成窃听装置。Flame能调用包括键盘、显示器、麦克风、存储设备、WiFi、蓝牙在内的多种设备,窃取文件、记录用户输入内容或窃听附近人们的谈话。他们初步的技术报告认为,这种病毒使用了5种加密算法和一种特殊的数据存储格式,在技术上达到了前所未有的层次。

研究人员称,Flame病毒和Stuxnet病毒以及Duqu病毒较为相似,极有可能受同一群人控制。由于其攻击对象主要是中东地区的教育和政府机构,普通用户不必过度担心。

Flame病毒,可攻击任何国家,全面了解需10年

说flame可以攻击任何国家,其实毫不夸张,下面是该病毒感染地区,可见已经感染很严重

查看更多...

Responsive Web design(响应式网页设计)

所谓Responsive Web design(响应式网页设计),通俗的说,就是可以自适应的网页设计。随着3G的普及,越来越多的人使用手机上网。移动设备正超过桌面设备,成为访问互联网的最常见终端。于是,网页设计师不得不面对一个难题:如何才能在不同大小的设备上呈现同样的网页?目前各大网站、博客已经有向此方向改变的趋势,我们也得及时做下了解。

手机的屏幕比较小,宽度通常在600像素以下;PC的屏幕宽度,一般都在1000像素以上(目前主流宽度是1366×768),有的还达到了2000像素。同样的内容,要在大小迥异的屏幕上,都呈现出满意的效果,并不是一件容易的事。 查看更多...

CNNIC宣布开放个人注册.CN域名,你还注册吗?

28号,就是昨天。CNNIC发布公告:今日,中国互联网络信息中心(CNNIC)发布公告称,自5月29日零时起,自然人将可以申请注册.CN域名。

今日,CNNIC发布“关于修订并实施《中国互联网络信息中心域名注册实施细则》的公告”,公告称,此次修订重点修改了原《实施细则》第十四条中关于域名注册主体的规定,并增加专门章节对域名注册信息的保护进行阐述,同时,针对域名注册、转移、续费等环节进行了修改完善。

根据公告,CNNIC增加了.CN域名的注册主体,“任何自然人或者能独立承担民事责任的组织均可在本细则规定的顶级域名下申请注册域名”,即域名注册的主体扩大至自然人。至此,个人注册.CN域名,首次有了法律保障。

公告全文如下:

关于修订并实施《中国互联网络信息中心域名注册实施细则》的公告
查看更多...

Android SQLite数据库基础总结

SQLite是Android平台软件开发中会经常用到的数据库产品,作为一款轻型数据库,SQLite的设计目标就是是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够。

下面我们一起来看看针对Android平台的SQlite 3的使用。
以下概念都是在Android平台的SQlite限制下的理解:
数据库基础概念
SQlite 通过文件来保存数据库,一个文件就是一个数据库。
数据库里又包含数个表格;
每个表格里面包含了多个记录;
每个记录由多个字段组成;
每个字段都有其对应的值;
每个值都可以指定类型。 查看更多...

盘点常见的几种程序员怪癖

打算走上程序员的道路了,却逐渐发现自己身上很多怪癖,晚上无聊搜了下关于程序员的怪癖,发现还有人做了总结。有网友博文这样写:做了n年的程序员,也和各种形形色色的程序员合作了n年,回顾总结,发现不管程序员性格是外向的还是内向的,是多话的还是沉默寡言的,他们或多或少都有怪癖,区别只在于怪癖的严重程度。

盘点下来。我还真的占了不少。下面就是网友总结的,这里不再提链接了,因为也不知道具体谁总结的了。

1. 别人写的代码总是比自己差,我情愿重写也不要用别人的。这个现象不用多阐述,如果你是程序员,应该深有感悟。 查看更多...

java面试中常问到的集合类问题总结

Java集合框架是最常被问到的Java面试问题,要理解Java技术强大特性就有必要掌握集合框架。这里有一些实用问题,常在核心Java面试中问到。

1、什么是Java集合API

Java集合框架API是用来表示和操作集合的统一框架,它包含接口、实现类、以及帮助程序员完成一些编程的算法。简言之,API在上层完成以下几件事:

● 编程更加省力,提高城程序速度和代码质量

● 非关联的API提高互操作性 查看更多...

Android应用层五大组件介绍及使用

5 Basic Components

  1. Activity
  2. Service
  3. Broadcast Receiver
  4. Content Provider
  5. Intent

Activity——应用表示层(基类Activity)

应用程序中的每个屏幕都是通过继承和扩展基类Activity来实现的。

同一应用中的每个Activity是相互独立的。程序启动后显示的第一幅画面是应用程序的第一个Activity(默认窗口),而后可以根据需要从这个Activity启动另一个新的Activity。

Activity利用View来实现应用中的GUI(用户直接通过GUI和应用程序做交互)。Activity窗口内的可见内容通过基类View提供。使用Activity.setContentView()方法设置当前Activity中的View对象。 查看更多...

Android环境搭建四步走

最近小子学习安卓,一开始真是什么都不会,除了有点java基础外,就是个门外汉了。
经过一夜奋战,从网上搜集整理了四个安卓环境搭建与调试排错的步骤。
整理出来供参考:
一、下载安装软件开发工具包(SDK)
1、下载
下载java JDK 6 Update 22:https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewFilteredProducts-SingleVariationTypeFilter

下载Eclipse:http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops4/R-4.1.2-201202230900/eclipse-SDK-4.1.2-win32.zip

下载Android SDK Setup 工具(在线下载安装SDK):
http://dl.google.com/android/installer_r18-windows.exe 查看更多...

VMware Cloud foundry试用体验分享

因为最近Jelastic发邮件通知要收费了,鉴于e文不好,具体是个什么情况小子也不大清楚了。总之收到邮件后就无聊的在坛子里问大牛们是不是不免费了,却是没人关注这个问题。最后出来一个坛友推荐了现在的Cloud Foundry,一开始不知道,一搜不得了,这个公司的背景可是vmware,貌似今年开始有免费版的,看来挺强大的,就想试用一下。不过相比之下,这个没有Jelastic那么好用了。当然了,只是对于新手而言。

下面是小子照着网上的做法尝试使用的。供大家参考。

Cloud foundry的地址是:http://www.cloudfoundry.com/

据说现在是人工审核的,不过很容易通过,坛友说24-48小时通过,不过小子可能在周末rp爆发了,申请之后30分钟就通过了。 查看更多...