网站开发与移动开发

博客园 首页 新随笔 管理

06 2012 档案

摘要:IOS上使用地图比Android要方便,只需要新建一个MKMapView,addSubView即可。这次要实现的效果如下:有标注(大头针),定位,地图。1、添加地图1.1 新一个Single View app ,选择默认项,创建后,在ViewController.h#import <UIKit/UIKit.h> #import <MapKit/MapKit.h> #import <CoreLocation/CoreLocation.h> @interface ViewController : UIViewController <MKMapViewDel 阅读全文
posted @ 2012-06-29 00:22 txf2004 阅读(354) 评论(0) 推荐(0)

摘要:前面有一篇博文IOS学习之Tab Bar的使用和视图切换这是在AppDelegate里使用Tabbar,这样的程序打开就是TabbarView了,有时候我们需要给程序做一些帮助页面,或者登录页面,之后才跳转到tabbar View里,或者后面的页面才使用Tabbar的,那这样怎么实现呢?我们建立一个视图,然后在这个视图通过[selfpresentModalViewController : tabBaranimated:YES];跳转来实现。 当程序中需要在多个View直接切换的时候,可以使用 UINavigationController,也可以用 ModalViewController。U.. 阅读全文
posted @ 2012-06-28 21:06 txf2004 阅读(279) 评论(0) 推荐(0)

摘要:一、Android应用程序架构当我们安装好Android到IDE后,我们可以看到如下程序架构,其中:lsrcjava原代码存放目录lgengen目录中存放所有由Android开发工具自动生成的文件。目录中最重要的就是R.java文件。这个文件由Android开发工具自动产生的。Android开发工具会自动根据你放入res目录的xml界面文件、图标与常量,同步更新修改R.java文件。正因为R.java文件是由开发工具自动生成的,所以我们应避免手工修改R.java。R.java在应用中起到了字典的作用,它包含了界面、图标、常量等各种资源的id,通过R.java,应用可以很方便地找到对应资源。另外 阅读全文
posted @ 2012-06-28 13:48 txf2004 阅读(598) 评论(0) 推荐(0)

摘要:一维码,二维码,zxing 什么是一维码、二维码?一维码就是商品包装盒上的条形码,例如:书本后面的条形码,在真维斯或者其他等品牌店的衣服标签上都可以看到,一维码的应用已经很广泛了;而二维码就是。。。。。。类似“马赛克”打格的图像,以图像中的黑白点数量、大小来表示0和1,因此二维码可以存储的信息远比一维码要多好多,例如火车票右下角的那个方块,别的实在想不起来了……反正现在也很多了。技术角度介绍一维码: 条码卡以一组规则排列的条、空及其对应字符组成的条形码记载信息,常见的条码符号是由黑条和白空印刷而成,当光照射到条码符号上时,黑条和白空产生较强的对比度,从而利用条、空对光的不同反射率来识读信息。. 阅读全文
posted @ 2012-06-28 12:33 txf2004 阅读(1651) 评论(0) 推荐(0)

摘要:接着IOS学习之Table View的简单使用这篇,这里主要讲UITableView 中的Cell的操作,包括标记、移动、删除、插入。为了简单快捷,直接从原来那篇的代码开始,代码下载地址:http://download.csdn.net/detail/totogo2010/4361870要进行数据的操作了,把代码里的不可变数组改成可变的:NSArray*list -》NSMutableArray *list1、标记Cell。效果如下:打开项目,-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPa 阅读全文
posted @ 2012-06-28 12:21 txf2004 阅读(271) 评论(0) 推荐(0)

摘要:在Android手机上, 在某个程序里,通过按Menu键,一般都会打开这个程序的设置,而在IOS里,系统提供了一个很好的保存程序设置的机制。就是使用Settings Bundle。在按了HOME键的情况下,在第一页的图标中找到设置,会看到程序的设置都在这里。那如何添加自己的程序的设置项呢?1、添加设置项默认情况下,新建的项目程序是没有设置项的。新建一个项目,命名为 SettingsBundleDemo,选择Single View App模版创建。项目创建完成,在项目里选择创建新文件,选择Resource 中的Settings Bundle,创建。再给程序添加一个icon。运行。按home键.. 阅读全文
posted @ 2012-06-28 11:04 txf2004 阅读(473) 评论(0) 推荐(0)

摘要:原文:http://mobile.51cto.com/hot-316799.htm首先傻蛋先画了个图来再来阐述一下WorkSpace的结构。如下图:点击查看大图桌面的左右滑动功能主要是在PagedView类中实现的,而WorkSpace是PagedView类的子类,所以会继承PagedView中的方法。当我们的手指点击WorkSpace时,首先就会触发PageView中的onInterceptTouchEvent()方法,会根据相应的条件来判断是否对Touch事件进行拦截,如果onInterceptTouchEvent()方法返回为true,则会对Touch事件进行拦截,PageView类的o 阅读全文
posted @ 2012-06-28 09:04 txf2004 阅读(226) 评论(0) 推荐(0)

摘要:原文:http://mobile.51cto.com/hot-314700.htm上一节我们研究了Launcher的整体结构,这一节我们看看整个Laucher的入口点,同时Laucher在加载了它的布局文件Laucher.xml时都干了些什么。我们在源代码中可以找到LauncherApplication, 它继承了Application类,当整个Launcher启动时,它就是整个程序的入口。我们先来看它们在AndroidManifest.xml中是怎么配置的。<applicationandroid:name="com.android.launcher2.LauncherAppl 阅读全文
posted @ 2012-06-28 09:03 txf2004 阅读(211) 评论(0) 推荐(0)

摘要:原文:http://mobile.51cto.com/hot-312129.htm从今天起傻蛋打算做一个系列文章,对最新的Android4.0系统中的Launcher,也就是Android4.0原生的桌面程序,进行一个深入浅出的分析,从而引领Android系统的编程爱好者对Launcher的设计思想,实现方式来做一个研究,从而能够通过这个实例最掌握到目前世界领先的设计方法,同时在程序中加入我们的一些新的实现。众所周知,对一些优秀源代码的分析,是提高编程水平的一条便捷的方式,希望本系列文章能够给大家带来一定的启发,同时欢迎大家和作者一起讨论,作者的微博是:http://weibo.com/zui 阅读全文
posted @ 2012-06-28 09:02 txf2004 阅读(213) 评论(0) 推荐(0)

摘要:接上篇IOS学习之UIPickerView控件的简单使用接着上篇的代码http://download.csdn.net/detail/totogo2010/4391870,我们要实现的效果如下:当选择左边的一级选项时,左边展示一级选项里含有的二级选项,选择后显示在TextField里。如何实现呢?建立一个和左边的列表key对应的数组,当选择这个key时,刷新左边UIPickerView部分的内容显示对应数组的数据,选择时,找到两个UIPickerView部件rowIndex,找出数据,放到TextField里。1、打开上篇PickerViewDemo项目,在ViewController.h添加 阅读全文
posted @ 2012-06-25 23:48 txf2004 阅读(205) 评论(0) 推荐(0)

摘要:UIPickerView控件在给用户选择某些特定的数据时经常使用到,这里演示一个简单的选择数据,显示在UITextField输入框里,把UIPickerView作为输入View,用Toolbar作为选定数据的按钮。和其他UITableView控件相似,UIPickerView也需要数据源。我们要实现的效果如下:下面开始使用的步骤。1、打开XCode 4.3.2,新建一个Single View Application ,命名为PickerViewDemo,Company Identifier 为:com.rongfzh.yc2、拖放控件2.1、拖放一个UIPickerView,放置在View的最 阅读全文
posted @ 2012-06-25 16:07 txf2004 阅读(250) 评论(0) 推荐(0)

摘要:1、使用UIWebView加载网页运行XCode 4.3,新建一个Single View Application,命名为WebViewDemo。2、加载WebView在ViewController.h添加WebView成员变量和在ViewController.m添加实现#import <UIKit/UIKit.h> @interface ViewController : UIViewController { UIWebView *webView; } @end ViewController.m - (void)viewDidLoad { [super viewDidLoad]... 阅读全文
posted @ 2012-06-23 15:49 txf2004 阅读(228) 评论(0) 推荐(0)

摘要:1、IOS开发比Android开更容易赚钱1.1 Appstore上的应用和游戏比Android play store质量高 现在Android Market变更为Android play store,App Store大概已经超过60万应用了,Android play store大约30万,App store的应用和游戏都是通过严格审核的,大多是收费的应用游戏。Android里面的色情、壁纸和铃音等垃圾应用数量也是很庞大,如果去除这些,Android Market的应用数量和质量会更缩水。当然在这么大的数目下,数量已经不是竞争关键,应用质量才是真正的关键。 Android应用商... 阅读全文
posted @ 2012-06-23 13:30 txf2004 阅读(218) 评论(0) 推荐(0)

摘要:IOS上的选择时间日期的控件是这样的,左边是时间和日期混合,右边是单纯的日期模式。,您可以选择自己需要的模式,Time, Date,Date and Time , Count Down Timer四种模式。本篇文章简单介绍下PickerDate控件的使用1、新建一个Singe View Application,命名为DatePickDemo,其他设置如图2、放置控件打开ViewController.xib,拖拽一个DatePicker控件放到界面上,再拖拽一个Button控件放到界面上,双击Button,输入"选择日期时间"3、建立xib和ViewController的关联 阅读全文
posted @ 2012-06-21 17:23 txf2004 阅读(200) 评论(0) 推荐(0)

摘要:每次进入到android source 目录后的第一件事恐怕就是先执行. build/envsetup.sh,完成一些命令的初始化,今天主要分析envsetup.sh。1. 命令-也就是envsetup.sh中的函数view plaincopy to clipboardprint?functionhelp()#显示帮助信息functionget_abs_build_var()#获取绝对变量functionget_build_var()#获取绝对变量functioncheck_product()#检查productfunctioncheck_variant()#检查变量functionsetpa 阅读全文
posted @ 2012-06-21 16:58 txf2004 阅读(455) 评论(0) 推荐(0)

摘要:当图片过大,或图片数量较多时使用BitmapFactory解码图片会出java.lang.OutOfMemoryError: bitmap size exceeds VM budget,要想正常使用则需分配更少的内存,具体的解决办法是修改采样值BitmapFactory.Options.inSampleSize,例如:BitmapFactory.Options opts = new BitmapFactory.Options(); opts.inSampleSize = 4; Bitmap bitmap = BitmapFactory.decodeFile(imageFile, opts);如 阅读全文
posted @ 2012-06-21 16:55 txf2004 阅读(187) 评论(0) 推荐(0)

摘要:一、 一般命令1、 AT+CGMI 给出模块厂商的标识。2、 AT+CGMM 获得模块标识。这个命令用来得到支持的频带(GSM 900,DCS 1800 或PCS 1900)。当模块有多频带时,回应可能是不同频带的结合。3、 AT+CGMR 获得改订的软件版本。4、 AT+CGSN 获得GSM模块的IMEI(国际移动设备标识)序列号。5、 AT+CSCS 选择TE特征设定。这个命令报告TE用的是哪个状态设定上的ME。ME于是可以转换每一个输入的或显示的字母。这个是用来发送、读取或者撰写短信。6、 AT+WPCS 设定电话簿状态。这个特殊的命令报告通过TE电话簿所用的状态的ME。ME于是可以转换 阅读全文
posted @ 2012-06-21 13:54 txf2004 阅读(1330) 评论(0) 推荐(0)

摘要:IOS学习之UINavigationController详解与使用(二)页面切换和segmentedController 接上篇,我们接着讲Navigation 的Toolbar。1、显示Toolbar在RootViewController.m的- (void)viewDidLoad方法中添加代码,这样Toobar就显示出来了。 [self.navigationController setToolbarHidden:NO animated:YES]; 2、在ToolBar上添加UIBarButtonItem新建几个UIBarButtonItem,然后以数组的形式添加到Toolbar中U... 阅读全文
posted @ 2012-06-21 13:25 txf2004 阅读(274) 评论(0) 推荐(0)

摘要:IOS学习之UINavigationController详解与使用(一)添加UIBarButtonItem是上篇,我们接着讲UINavigationController的重要作用,页面的管理和切换。1、RootView 跳到SecondView首先我们需要新一个View。新建SecondView,按住Command键然后按N,弹出新建页面,我们新建SecondView2、为Button 添加点击事件,实现跳转在RootViewController.xib中和RootViewController.h文件建立连接在RootViewController.m中实现代码,alloc一个SecondVie 阅读全文
posted @ 2012-06-21 12:49 txf2004 阅读(278) 评论(0) 推荐(0)

摘要:1、UINavigationController导航控制器如何使用UINavigationController可以翻译为导航控制器,在IOS里经常用到。我们看看它的如何使用:下面的图显示了导航控制器的流程。最左侧是根视图,当用户点击其中的General项时 ,General视图会滑入屏幕;当用户继续点击Auto-Lock项时,Auto-Lock视图将滑入屏幕。相应地,在对象管理上,导航控制器使用了导航堆栈。根视图控制器在堆栈最底层,接下来入栈的是General视图控制器和Auto-Lock视图控制器。可以调用pushViewControllerAnimated:方法将视图控制器推入栈顶,也可以 阅读全文
posted @ 2012-06-21 11:10 txf2004 阅读(292) 评论(0) 推荐(0)

摘要:http://changeyouforever.iteye.com/blog/1160038android:allowTaskReparenting 用来标记Activity能否从启动的Task移动到有着affinity的Task(当这个Task进入到前台时)——“true”,表示能移动,“false”,表示它必须呆在启动时呆在的那个Task里。 如果这个特性没有被设定,设定到<application>元素上的allowTaskReparenting特性的值会应用到Activity上。默认值为“false”。 一般来说,当Activity启动后,它就与启动它的Task关联,并且在那 阅读全文
posted @ 2012-06-20 19:57 txf2004 阅读(155) 评论(0) 推荐(0)

摘要:http://www.8qiu.cn/archives/category/programming/designpattern设计模式源于生活,从生活的角度去思考设计模式,进步会很快 阅读全文
posted @ 2012-06-20 15:23 txf2004 阅读(144) 评论(0) 推荐(0)

摘要:1. 初始化的时候设置datatype: 'local' $("#grid").jqGrid({ url:"http://www.8qiu.cn", datatype:"local", //other options }); 2. 当要加载数据的时候把datatype改成json或者XML: $("#list").jqGrid('setGridParam',{datatype:'json'}).trigger('reloadGrid'); 阅读全文
posted @ 2012-06-20 15:02 txf2004 阅读(1208) 评论(0) 推荐(0)

摘要:原作者:http://android.blog.51cto.com/268543/537684AIDL的作用 由于每个应用程序都运行在自己的进程空间,并且可以从应用程序UI运行另一个服务进程,而且经常会在不同的进程间传递对象。在Android平台,一个进程通常不能访问另一个进程的内存空间,所以要想对话,需要将对象分解成操作系统可以理解的基本单元,并且有序的通过进程边界。 通过代码来实现这个数据传输过程是冗长乏味的,Android提供了AIDL工具来处理这项工作。 AIDL (Android Interface Definition Language) 是一种IDL 语言,用于生成可以在An.. 阅读全文
posted @ 2012-06-20 09:39 txf2004 阅读(161) 评论(0) 推荐(0)

摘要:Fragment要点Fragment作为Activity界面的一部分组成出现可以在一个Activity中同时出现多个Fragment,并且,一个Fragment亦可在多个Activity中使用。在Activity运行过程中,可以添加、移除或者替换Fragment(add()、remove()、replace())Fragment可以响应自己的输入事件,并且有自己的生命周期,当然,它们的生命周期直接被其所属的宿主activity的生命周期影响。设计哲学 Android在3.0中引入了fragments的概念,主要目的是用在大屏幕设备上--例如平板电脑上,支持更加动态和灵活的UI设计。平... 阅读全文
posted @ 2012-06-19 18:31 txf2004 阅读(212) 评论(0) 推荐(0)

摘要:通过手机的通知系统,可以将应用程序的一些重要消息告知给用户。流畅、舒适、友好的应用程序离不开精心设计的消息提醒机制。但是并不是所有的通知都是用户想看的,否则只会给用户造成骚扰,所以要谨慎使用通知。在对《Android Design》进行翻译时发现:Android 系统已经提出了一些关于通知消息的设计建议,故在此分享给大家。一、何时使用通知?通知主要用于对时间敏感(Time Sensitive)的事件,尤其是涉及他人(Involve another person)的同步事件。例如下面的 Gtalk 和日历发出的通知就是时间敏感,且与人相关的事件。那么什么时候又不应该使用通知呢?官方的建议是:不直 阅读全文
posted @ 2012-06-19 18:13 txf2004 阅读(187) 评论(0) 推荐(0)

摘要:树形控件--zTree 很好很强大:http://www.ztree.me/v3/demo.php#_506 阅读全文
posted @ 2012-06-19 12:00 txf2004 阅读(315) 评论(0) 推荐(0)

摘要:Barcode4J由Java语言编写而成,可以灵活的生成条形码。它采用Apache License V2.0许可,这使得它很容易在商业中被使用。它可以让您生成各种流行的一维和二维条码,包括DataMatrix 和 PDF417。以各种格式输出,包括SVG, EPS, bitmaps和Java2D,同样也可根据您的需要添加自己的输出格式。它为各种应用提供了插件,包括最重要的Apache FOP(格式对象处理器)。有一些用户将Barcode4J部署为一个servlet。 •1D barcode implementations [examples] [xml-format]: ◦Interleave 阅读全文
posted @ 2012-06-19 11:37 txf2004 阅读(389) 评论(0) 推荐(0)

摘要:条码/RFID标签打印方案 条码/RFID标签打印方案 1, 热转印条码标签打印热转打印技术的原理是通过加温和加压将色带上的固体油墨熔化转印到介质上完成打印的。通过选择热转印色带与标签材料匹配,热转印打印方式可以产生耐高温、抗磨损、耐化学溶剂等特殊性能的条码标签。因此,在条码行业得到了最广泛的应用。热转印打印机的精度有203DPI、300DPI、406DPI和600DPI等四种。打印速度从51毫米/秒到300毫米/秒。打印宽度通常有71毫米、104毫米、165毫米和215毫米等几种。2, 热敏条码标签打印热敏打印方式采用热敏标签材料,不使用色带,直接加温热敏标签完成打印。... 阅读全文
posted @ 2012-06-18 15:37 txf2004 阅读(945) 评论(0) 推荐(0)

摘要://打印页面区域方式一:给body添加visibility:hidden;隐藏标记,给要打印的部分添加visibility:visible;显示标记 function printTag1(){ $("#entityForm").css("display","none"); $("#tagImgView").css("display","block"); window.print(); $("#entityForm").css("display&q 阅读全文
posted @ 2012-06-18 15:35 txf2004 阅读(575) 评论(0) 推荐(0)

摘要:混战、杂乱、参差不齐,这是对国内安卓第三方应用商店现状的惯用表述语。在浮躁的纷争背后,缺少了太多对应用商店本身的思量。应用商店本身应当回归理性,思考对用户的价值、对产业的价值、对公司的价值。谨在此分享4部分思考:应用商店的产品方向、盈利模式、入口形态,以及可能的新机会。产品,立身根本A、应用发现用户为什么要用应用商店?从目前看,主要需求是:找到自己想要的内容。即发现有趣、好玩、实用等符合自身需求的应用(有明确目标、无明确目标)。所有正常用户,一定是怀着这个目的来使用应用商店。这些需求可以细化为:移动互联网业内人士来寻找有创意、有灵感、有价值的应用产品;电子书爱好者来寻找最新最热的小说;学生来寻 阅读全文
posted @ 2012-06-18 11:02 txf2004 阅读(268) 评论(0) 推荐(0)

摘要:Android 4.0 解锁界面有多种,可以在Settings中“安全”,“屏幕设定”中设置,默认滑动当触屏时左边显示拍照功能图标,右边显示解锁图标。其它几种“无”,“图案”,“密码”原理一样的可以去顺藤摸瓜。我对4.0还是出认识,有些地方不正确喜欢高人指正。后面几种布局文件修改后续推出。锁屏java类frameworks/base/policy/src/com/android/internal/policy/impl/LockScreen.java中的构造函数可以看到一段代码finalLayoutInflater inflater = LayoutInflater.from(context) 阅读全文
posted @ 2012-06-18 10:33 txf2004 阅读(223) 评论(0) 推荐(0)

摘要:bundle是一个目录,其中包含了程序会使用到的资源.这些资源包含了如图像,声音,编译好的代码,nib文件(用户也会把bundle称为plug-in).对应bundle,cocoa提供了类NSBundle.我们现在用bundle获取程序里的一张图片,并显示到View上。新建一个Single View Application,并在加入viewDidLoad方法里加入如下代码:// 通过使用下面的方法得到程序的main bundle NSBundle *mainBundle = [NSBundle mainBundle]; NSString *imagePath =... 阅读全文
posted @ 2012-06-18 09:44 txf2004 阅读(134) 评论(0) 推荐(0)

摘要:接上篇,IOS学习之IOS沙盒(sandbox)机制和文件操作(二),我们看看NSFileManager如何使用。包括创建文件,目录,删除,遍历目录等。1、在Documents里创建目录创建一个叫test的目录,先找到Documents的目录, NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSLog(@"doc... 阅读全文
posted @ 2012-06-17 23:55 txf2004 阅读(235) 评论(0) 推荐(0)

摘要:接上篇IOS学习之IOS沙盒(sandbox)机制和文件操作(一)我们看看如何获取应用程序沙盒目录。包括真机的沙盒的目录。1、获取程序的Home目录 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *path = [paths objectAtIndex:0]; NSLog(@"path:%@", path); 打印结果:2012-06-17 14:00:06.098 IosSandbox[3536:f803. 阅读全文
posted @ 2012-06-17 14:17 txf2004 阅读(258) 评论(0) 推荐(0)

摘要:今天看到同事harry_duan写的一个js文件,感觉挺有意思。 目地是在js文件中使用jstl的fmt:message 1.在资源文件中定义消息 errors.message1=error xxxxxx 2.创建一个js文件,为了jstl能用,将js文件命名为 myjs.js.jsp (以jsp结尾) <%@ page contentType="text/html; charset=utf-8" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt& 阅读全文
posted @ 2012-06-14 14:20 txf2004 阅读(183) 评论(0) 推荐(0)

摘要:主要用到了spring-aop-2.5.6.jar的AOP支持包! 之前我们在AccountService中加入了注解@Transactional标签,但是要想要真正发挥事务作用,还需要一些配置。主要需要调整dao.xml文件 dao.xml-事务管理Xml代码 <beanid="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager"p:dataSource-ref="dataSource"/>& 阅读全文
posted @ 2012-06-14 10:59 txf2004 阅读(503) 评论(0) 推荐(0)

摘要: 阅读全文
posted @ 2012-06-13 17:50 txf2004 阅读(138) 评论(0) 推荐(0)

摘要:lhgdialog基本使用方法 :1.下载最新版本lhgdialog:http://lhgcore.com/lhgdialog.rar2.在需要调用lhgdialog编辑器的网页head标签结束之前添加以下代码: <scripttype="text/javascript"src="lhgcore.min.js"></script><scripttype="text/javascript"src="lhgdialog.min.js"></script><!--注: 阅读全文
posted @ 2012-06-12 22:17 txf2004 阅读(798) 评论(0) 推荐(1)

摘要:<!-- 导入jqGrid jquery(注意加载顺序,否则容易出现jQgrid列表加载出错的问题) --><link type="text/css" href="${ctx}/jquery.ui.1.8.17.custom/css/smoothness/jquery-ui-1.8.17.custom.css" rel="stylesheet" /><link type="text/css" href="${ctx}/jquery.jqGrid-4.3.3/css/ui.jq 阅读全文
posted @ 2012-06-11 20:29 txf2004 阅读(429) 评论(0) 推荐(0)

摘要:Android 的系统属性包括两部分:文件保存的持久属性和每次开机导入的cache属性。前者主要保存在下面几个文件中:bionic/libc/include/sys/_system_properties.h1#definePROP_SERVICE_NAME"property_service"2#definePROP_PATH_RAMDISK_DEFAULT"/default.prop"3#definePROP_PATH_SYSTEM_BUILD"/system/build.prop"4#definePROP_PATH_SYSTEM_D 阅读全文
posted @ 2012-06-07 11:35 txf2004 阅读(220) 评论(0) 推荐(0)

摘要:实际团体协作开发过程中,各个模块交叉调用(持有了一个锁后调用其他模块的方法,而其他模块的方法又需要持有锁),相互等待就有可能会出现死锁,因为本来模块相互调用一般不关心具体实现,只依赖于接口解决方式:1)尽量使用tryLock(long timeout, TimeUnit unit)的方法(ReentrantLock、ReentrantReadWriteLock),设置超时时间,超时可以退出防止死锁。2)尽量使用java.util.concurrent(jdk 1.5以上)包的并发类代替手写控制并发,比较常用的是ConcurrentHashMap、ConcurrentLinkedQueue、At 阅读全文
posted @ 2012-06-07 00:08 txf2004 阅读(221) 评论(0) 推荐(0)

摘要:在数据库中,游标是一个十分重要的概念。游标提供了一种对从表中检索出的数据进行操作的灵活手段,就本质而言,游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。游标总是与一条T_SQL 选择语句相关联因为游标由结果集(可以是零条、一条或由相关的选择语句检索出的多条记录)和结果集中指向特定记录的游标位置组成。当决定对结果集进行处理时,必须声明一个指向该结果集的游标。如果曾经用 C 语言写过对文件进行处理的程序,那么游标就像您打开文件所得到的文件句柄一样,只要文件打开成功,该文件句柄就可代表该文件。对于游标而言,其道理是相同的。可见游标能够实现按与传统程序读取平面文件类似的方式处理来 阅读全文
posted @ 2012-06-07 00:02 txf2004 阅读(1346) 评论(0) 推荐(0)

摘要:有许多标准和实践准则可适用于Java开发者,但此处要说的,是每个Java开发者需坚守的基本原则。 一、为代码加注释。虽然每个人都知道这点,但有时却不自觉忘了履行,今天你“忘了”加注释了吗?虽然注释对程序的功能没什么“贡献”,但过一段时间,比如说两星期之后或者更长,回过头来看看自己的代码,说不定已经记不住它是干什么的了。如果这些代码是你个人的,那还算是走运了,不幸的是,当然了,大多数时候都是别人的不幸,很多时候大家都是在为公司写代码,写代码的人也许早已经离开了公司,但别忘了一句古话,有来有往嘛,为他人,也为我们自己,请为你的代码加上注释。 二、不要让事情复杂化。程序员有时候总是对简单问题想出.. 阅读全文
posted @ 2012-06-06 16:33 txf2004 阅读(216) 评论(0) 推荐(1)

摘要:Fragment 表现 Activity 中用UI的一个行为或者一部分. 可以组合多个fragment放在一个单独的activity中来创建一个多界面区域的UI,并可以在多个activity里重用某一个fragment.把fragment 想象成一个activity的模块化区域, 有它自己的生命周期, 接收属于它的输入事件, 并且可以在activity运行期间添加和删除.Fragment 必须总是被嵌入到一个activity中, 它们的生命周期直接被其所属的宿主activity的生命周期影响. 例如, 当activity被暂停,那么在其中的所有fragment也被暂停; 当activity被销 阅读全文
posted @ 2012-06-01 18:30 txf2004 阅读(265) 评论(0) 推荐(0)