- 博客(120)
- 资源 (5)
- 收藏
- 关注
原创 Android布局属性全面剖析
Android功能强大,界面华丽,但是众多的布局属性就害苦了开发者,下面这篇文章结合了网上不少资料,花费本人一个下午搞出来的,希望对其他人有用。第一类:属性值为true或false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:layout_centerInpare
2011-10-13 17:16:46 4330 1
原创 手机通讯原理
在我国北方的乡村,不少人家门前或院子里都有石磨。在村里随便走走,经常可以看到左邻右舍家有一老驴被蒙着眼睛围着大石磨不停地绕圈圈。那是老驴在拉磨。 春去秋来,年复一年,在中国的土地上,每天都不知道有多少头老驴在拉磨,它们为中国农村家家户户奔小康贡献了一生。但是,中国500
2011-10-12 17:12:44 11854 9
原创 简单的J2EE(五)Servlet和Jsp
Servlet在每来一个请求的时候,开启一个线程。Servlet在请求结束以后,依然存活。Servlet有四个基本方法:init(),Service(),请求方法(doPost/doGet),destroy()。我们可以覆盖init()方法,加入在Servlet生命周期中
2011-10-12 09:59:20 846
原创 不一样的XML处理
在以前的xml处理中,本人一直使用dom或者sax,首先解析xml文档,然后把解析出来的数据填入到一个对象中,最后在程序中使用这个对象。程序员就是懒,最近在网上看到了可以直接把XML和Java对象互相转换的工具,觉得非常棒,以下是一个简单的例子。
2011-10-11 10:00:14 942
原创 简单的J2EE(四)一些技术选型的建议
本文罗列一些问题,都是平常开发中经常遇到的,希望对你们有所帮助。 1.数据校验 显然,正常的J2EE程序,都离不开数据校验这一块。而数据校验又分为客户端校验和服务器端校验。客户端校验的好处是用户体验好,输入东西以后,可以马上得到响应,而不需要联网,服务器的
2011-10-10 17:16:40 1173
原创 简单的J2EE(三)客户端的选择
在现有技术的范畴内,客户端一般有两种选择,要么是基于浏览器的,要么是单独的PC客户端(比如基于Swing)。那么怎么选择这两种技术呢?本文给出一个参考。 基于浏览器的客户端:优点:1.开发周期快,由于是基于成熟的浏览器开发用户界面,所以要比PC客
2011-10-10 10:36:32 1675
原创 Java Executors(线程池)
Sun在Java5中,对Java线程的类库做了大量的扩展,其中线程池就是Java5的新特征之一,除了线程池之外,还有很多多线程相关的内容,为多线程的编程带来了极大便利。为了编写高效稳定可靠的多线程程序,线程部分的新增内容显得尤为重要。 有关Java5线程新特征的内容
2011-10-09 16:37:47 58231 15
原创 简单的J2EE(二)J2EE层次结构
首先上一张图:在J2EE概念里,把一个应用分为四个层次:客户层,Web层,EJB层,EIS层。首先,每一层都和相近的层进行通信,每一层都是根据功能划分出来的,专注于自己的事情。1.客户层主要和客户打交道,帮助用户完成信息的输入,信息的提交,并且显示Web层提供的数
2011-10-09 13:46:21 3488
原创 简单的J2EE(一)J2EE诞生的一些破事
一直以来,每一样新东西的出生,都有必然的原因(你的出生其实没有原因的,你就是一个“性福”的副产品)。Java也一样,想当年,所有的编程语言,都只能针对一个平台,跨平台是程序员意淫的事情。后来出现了浏览器,在服务器那边,不管用什么语言编写的网络程序,客户端这边都可以使用浏览器查看(
2011-10-09 12:37:22 1111
原创 我尽量用平和一点的口吻跟你说说关于程序员的那点事儿
首先声明,本博客是转载的,转载的原因是确实非常精彩!非常欣赏作者的文笔。 我尽量用平和一点的口吻跟你说说关于程序员的那点事儿。 1. 我在一个叫摩托罗拉的公司干过,那地方有50%的人整天干的事情就是催另外25%的人没完没了的解剩下那25%的人造成的bug。
2011-10-08 16:03:00 1939 8
原创 离线配置Android开发环境
每次一换电脑,或者一重装系统,就要重装一个android的开发环境,忒烦,今天记录一下,以后就不用查人家的了。 首先是jdk的安装,然后是eclipse的安装,这些就不说了,Android的配置才是本文的正题。最开始的时候,我也是傻逼轰轰的跟着网上的文章,采取在线安装的方式,可怜小弟那时候半兆的网速啊,基本上一个晚上是搞不定的,关键是它还不是一键安装的,在有些地方,万
2011-10-03 10:59:09 8344 37
原创 (三)Android Context说明
1. 写文章之前的声明:首先,文章写上原创标签是有点牵强的,本质上是读书笔记。上周周六的时候参加了博文视点的一个作者交流会,编辑送我了一本android内核方面的书《Android内核剖析》,拿回来读了一下,非常的棒。首先作者知识丰富,对android认识很到位,水平比很多其他Android编者高不少。其次,水平高正常,写书的吗,都有点水平,但是作者写书的时候,非常用心,语言通俗易懂,干脆。这点就
2011-09-27 10:42:47 1232 2
原创 我所了解的LBS
LBS:Location Based Service,基于位置的服务。 用通俗的话来描述这门技术的现实应用:让世界知道你现在的位置,然后你可以知道你想关心的任何东西的位置。反正,和位置很相关…… 一个很经典,很未来的LBS描述:2011年的4月1日,星
2011-09-27 10:08:40 1522
原创 (二)Android Framework概述
1. 写文章之前的声明:首先,文章写上原创标签是有点牵强的,本质上是读书笔记。上周周六的时候参加了博文视点的一个作者交流会,编辑送我了一本android内核方面的书《Android内核剖析》,拿回来读了一下,非常的棒。首先作者知识丰富,对android认识很到位,水平比很多其他A
2011-09-26 14:36:25 5624 3
原创 (一)Android 异步消息处理
1. 写文章之前的声明:首先,文章写上原创标签是有点牵强的,本质上是读书笔记。上周周六的时候参加了博文视点的一个作者交流会,编辑送我了一本android内核方面的书《Android内核剖析》,拿回来读了一下,非常的棒。首先作者知识丰富,对android认识很到位,水平比很多其他A
2011-09-26 11:02:38 3052 2
原创 初学J2ME时,看过的好文章(五)
随着手机编程的发展,现在的手机网络编程已经成为一种基本的手机软件开发技能,虽然相对于PC网络编程来说,手机网络编程比较简单,且绝大部分都是进行客户端网络编程,但是在实际使用中还是存在一系列的问题。下面的说明部分适用于各种手机开发技术,代码部分以J2ME技术为基础进行说明。手机
2011-09-22 17:46:21 972 1
原创 初学J2ME时,看过的好文章(四)
在J2ME的低级用户界面编程中,进行事件处理是经常使用到的技术之一,因为处理手机键盘上的按键事件是最常使用到的一种,所以就以此为中心,介绍一下实际使用过程中三种处理方式进行说明: 1、 覆盖keyPressed方法 在继承了Canvas的界面中,如果需要进行按
2011-09-22 17:45:06 608
原创 初学J2ME时,看过的好文章(三)
因为在MIDP手机编程中,没有控制台的概念,所以所有的MIDP手机软件都必须有自己的界面,下面就熟悉一下MIDP的界面类体系。 首先说明的是,MIDP的标准界面类都位于javax.microedition.lcdui包中,使用时一定要记得引入。 在
2011-09-22 17:44:12 585
原创 初学J2ME时,看过的好文章(二)
用惯的J2ME高级UI而还没有接触过低级UI的developer一定不会习惯跟Canvas的初夜!因为他没有Form那么多可以触摸到风情万种,也没有Item的独特风味,有的只是一个只画笔一个画布,一些只有名字的事件响应方法,更奇怪的事情是你不能手动的调用paint()去做你想做的
2011-09-22 17:42:49 712
原创 初学J2ME的时,看过的好文章(一)
J2ME程序开发全方位基础讲解汇总(1)J2ME中暂时无法完成的功能 列一些J2ME中暂时无法完成的功能,希望大家能积极补充: 1、在手机中不更改代码实现移植,主要指游戏。 2、动态修改按钮文字。 3、在Canvas上接受中文输入。 4、
2011-09-22 17:41:36 741
原创 移动开发中的通信架构(七)
回答网友疑问:1.为什么发送请求的时候不直接发送,而是添加在一个vector中,然后每个200毫秒发送一次?答:这主要是因为本框架是应对通信需求非常严格的项目,比如炒股软件,浏览器等实时软件。这些软件对网络要求非常高,而且某些界面可能要求实时刷新,这样就导致请求非常多,而
2011-09-19 09:45:21 773 1
原创 移动开发中的通信架构(六)
前面有朋友说架构中少一个类HttpListener,现在补充如下,引起的不便,请谅解。 package app.http;import app.http.Response;/** * http监听类,主要用于沟通通信和UI两个线程 */publ
2011-09-19 09:21:43 715
原创 移动开发中的通信架构(五)
《 移动开发中的通信架构》系列文章终于写完了,我整整花了一周多时间才搞定。哎,自己会一样东西是一件事情,然后描述一件东西,又是一件事情。系列文章在发布的时候,又改了大半天。文章中难免有不足的地方,希望可以交流。 下面来说说本框架的优点:1.和其他模块高度分离
2011-09-16 13:52:00 1226 4
原创 移动开发中的通信架构(四)
这篇文章讲解真正的网络请求类HttpClient,它负责打开网络链接,获取数据,把数据存放于一个字节数组,让Response解析。以下是代码:package app.http;import java.io.ByteArrayOutputStream;impor
2011-09-16 13:38:59 1038
原创 移动开发中的通信架构(三)
前面两篇文章讲述了框架的大体情况和请求的封装,这篇文章讲述请求的发送。在本框架中,请求生成以后,并不是马上发送,而是加入一个请求列表。然后有一个线程来维护这个请求列表。 下面来具体分析,从移动开发中的通信架构(二)的第一段代码中取出:sendReques
2011-09-16 13:29:37 1446 2
原创 移动开发中的通信架构(二)
先罗列一小段代码,这一小段代码代表了通信框架中发送请求的基本方式,读者可以根据这段代码,分析整个请求过程:/** * 典型使用方式: * * StructRequest output = new StructRequest(GameConst.COMM_PRIC
2011-09-16 11:12:28 1407 1
原创 移动开发中的通信架构(一)
移动开发,或者其他大部分软件开发,我们程序员做的无非三件事情:获取数据、显示数据、获取用户事件并做相应反馈。而且移动开发之中,由于网络环境的不稳定,获取网络数据就成为很多应用的瓶颈。本文将试图构建一个稳定,高效,通用的移动开发通信框架。 本文基于J2ME环境编写,
2011-09-16 10:33:27 1542 1
原创 java三大框架技术起源
Struts、Hibernate和Spring是我们Java开发中的常用关键,他们分别针对不同的应用场景给出最合适的解决方案。但你是否知道,这些知名框架最初是怎样产生的?我们知道,传统的Java Web应用程序是采用JSP+Servlet+Javabean来实现的,这种模
2011-09-14 13:32:51 1249 2
原创 JDK
这是以前的一篇老文章,现在转移到csdn上,做个纪念! 在安装jdk的时候,一般要配置3个选项:java_home;path;classpath,其中path已有,只是需要增加一些参数而已。具体步骤如下:首先右键点我的电脑。打开属性。然后选择“高级
2011-09-14 13:23:14 1053
转载 java中四种引用类型
今天看代码,里面有一个类java.lang.ref.SoftReference把小弟弄神了,试想一下,接触java已经有3年了哇,连lang包下面的类都不了解,怎么混。后来在网上查资料,感觉收获颇多,现记录如下。 对象的强、软、弱和虚引用在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachabl
2011-07-13 17:20:38 48065 8
原创 Android程序的真正入口Application
接触android已经有一段时间了,一直以为android程序的入口是配置文件中指定的Activity,最近看一个开源项目,发现里面实现了android 的Application类,才知道,android程序的真正入口是Application类的onCreate方法。只不过大多数开发者无需重写该类,它的继承关系如下图:java.lang.Object ↳ android.content.C
2011-07-13 11:40:14 17789 1
转载 java数据结构
ArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,都允许直接序号索引元素,但是插入数据要设计到数组元素移动等内存操作,所以索引数据快插入数据慢,Vector由于使用了synchronized方法(线程安全)所以性能上比Ar
2011-07-08 11:28:12 1446
原创 终止线程
由于java放弃了自己的stop方法,导致我们终止一个线程变得困难[其实有stop也困难,可能导致死锁,你敢用哇?]。以下根据不同的情况,给出不同的解决办法。 1.线程里面是一个循环 这样的终止线程是最简单的,只需要设置一个标志位,在循环检查的时候,就可以跳出线程,代码如下: package app;public class Main{ priv
2011-06-30 16:40:00 1460
原创 android之服务
Android中的服务和windows中的服务是类似的东西,服务一般没有用户操作界面,它运行于系统中不容易被用户发觉,可以使用它开发如监控之类的程序。 服务的开发比较简单,如下:第一步:继承Service类public class SMSService extends Service { }第二步:在AndroidManifest.xml文件中的节点里对服务进行配置:
2011-06-27 15:29:00 863 2
原创 android之广播
广播被分为两种不同的类型:“普通广播(Normal broadcasts)”和“有序广播(Ordered broadcasts)”。前者是完全异步的,所有接收者(逻辑上)都在同一时刻运行,对消息传递的效率而言这是很好的做法,但缺点是:接收者不能将处理结果传递给下一个接收者,并且无法终止广播Intent的传播;然而后者是逐个执行接收者——系统会按照接收者声明的优先级别(声明在intent-filte
2011-06-27 15:22:00 587
原创 Activity生命周期
Activity有三个状态:当它在屏幕前台时(位于当前任务堆栈的顶部),它是激活或运行状态。它就是响应用户操作的Activity。 当它上面有另外一个Activity,使它失去了焦点但仍然对用户可见时,它处于暂停状态。在它之上的Activity没有完全覆盖屏幕,或者是透明的,被暂停的Activity仍然对用户可见,并且是存活状态(它保留着所有的状态和成员信息并保持和窗口管理器的连接)。如果系统处于
2011-06-27 14:27:00 667
原创 android中xml解析
同其他系统一样,android的解析xml的方式也有三种:sax,dom,pull。本文主要记录pull方式。pull解析xml的方式是事件驱动,当pull到一种标签的时候,它可以返回一个事件,我们根据事件来解析整个xml文档。 /***inStream代表需要解析的文件的输入流*/ public static List getPersons(InputStream inStrea
2011-06-20 11:22:00 641 1
原创 AndroidManifest.xml分析
一、关于AndroidManifest.xmlAndroidManifest.xml是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。 除了能声明程序中的Activities, ContentProviders, Services, 和Intent
2011-06-15 10:54:00 797
原创 Activity解析
这篇文章会涉及到以下几个内容: 一 Activity的生命周期 二 让Activity变成一个窗口:Activity属性设定 三 你后台的Activity被系统 回收怎么办:onSaveInstanceState 四 调用与被调用:我们的通信使者 - Intent 一 Activity的生命周期 和其他手机平台的应用程序 一样,Android应用程
2011-06-15 10:05:00 857
原创 删除svn信息
<br /> 最近用svn,在给项目打包的时候,总是会把svn的信息也打进去,这样就使得jar很大,非常烦。最后在网上查了一下删除svn信息的办法。现摘录如下:<br /> 1.找到项目的根目录,在命令行中换盘<br /> 2.在命令行中执行命令:for /r ./ %a in (./) do @if exist "%a/.svn" rd /s /q "%a/.svn"<br /> 3.搞定
2011-05-18 09:21:00 879
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人