Posts tagged ‘开发’

SpringMVC Angular2 Intellij Idea 开发环境搭建

整合Angular2的问题在于,修改前端源码后,需要即时生效,总不能每次修改都ng build吧,效率太低。

ng build支持-w参数,加上后可以一直运行,检测文件变化后重新build,我们就利用这个特性来配置idea。当然,如果你不嫌麻烦,可以在每天写代码前先在终端里执行ng build -w

Continue reading “SpringMVC Angular2 Intellij Idea 开发环境搭建” »

iOS开发 自定义按钮样式

通常,按钮有两种状态,普通和高亮,所以,我们需要先准备两张图片,这里是blueButton.png和whiteButton.png,拖进项目中。
Interface Builder并没有图形化实现该功能的方法,需要我们自己在代码中设置按钮的背景。
在ViewController.m的(void)viewDidLoad方法中:


    UIImage *normalImage=[[UIImage imageNamed:@"whiteButton.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(8, 10, 37, 28)];
    UIImage *pressedImage=[[UIImage imageNamed:@"blueButton"] resizableImageWithCapInsets:UIEdgeInsetsMake(8, 10, 37, 28)];
    [button1 setBackgroundImage:normalImage forState:UIControlStateNormal];
    [button1 setBackgroundImage:pressedImage forState:UIControlStateHighlighted];
    [super viewDidLoad];

先读取图片文件,得到UIImage对象,再设置该对象可拉伸,UIEdgeInsetsMake的四个参数,分别为在图片中可拉伸区域上,左,下,右的x或y座标,左和右是x,上和下是y.
再给UIButton对象发送消息- (void)setBackgroundImage:(UIImage *)image forState:(UIControlState)state,设置不同状态时显示的图片。

Android开发 使ListView的HeaderView和FooterView不可选择点击

在ListView里,HeaderView和FooterView也占一行,与其他的item一样,可以点击,有索引,HeaderView的索引为0.如果要使这两项不可点击,可以使用下面的方法:


public void addFooterView(View v, Object data, boolean isSelectable) 
public void addHeaderView(View v, Object data, boolean isSelectable) 

如果在view里已经填充数据,第二个参数可以为空,第三个参数设为false,即不可选择

J2EE开发 Listener事件监听器的使用

Listener用于监听某些事件的发生,在指定事件发生时,触发相应的方法。
Servlet监听器有三种:ServletContext监听器,HttpSession监听器,ServletRequest监听器。
ServletContext监听接口:ServletContextAttributeListener(监听属性改变),ServletContextListener(监听ServletContext本身的改变)

HttpSession监听接口:HttpSessionAttributeListener(监听属性改变),HttpSessionListener(监听HttpSession本身的改变),HttpSessionActivationListener(监听HttpSession对象的状态,激活或钝化),HttpSessionBindingListener(监听对象的绑定状态)

ServletRequest监听接口:ServletRequestAttributeListener(监听属性改变),ServletRequestListener(监听对象本身)

下面实现HttpSessionListener接口,写个在线人数统计。原理:因为HttpSessionListener可以监听Session的创建与销毁,所以我们只需要在创建时计数加一,销毁时计数减一就可以。Session会在服务端和客户端都保存,所以,并不是客户端关闭网页,关闭浏览器,服务端上的Session就销毁了,服务端有个超时时间,当超过一定时间,用户没有活动时,session才会过期。基于上面的原因,我们的统计不可能是实时准确的。
还有,如果测试使用Chrome,有点小问题,因为,重启浏览器后,还是同一个Session,就不会触发监听器,所以重启浏览器后,会发现在线人数并没有增加,使用IE和Firefox没有这个问题。 Continue reading “J2EE开发 Listener事件监听器的使用” »

iOS开发教程电子书推荐《Beginning.iOS.5.Development.Exploring.the.iOS.SDK》iOS5开发基础教程 PDF

《Beginning.iOS.5.Development.Exploring.the.iOS.SDK》,中文名《iOS5开发基础教程》,这个教程基于最新的iOS 5.0系统,不过目前只有英文版,我目前就用这本书作教材学习iOS开发,所以,博客中的文章都是基于这本书上的例子的。如果实在是看不懂,可以下载iOS4的版本,有中文版。但是因为我是初学,而现在最新版的xcode与之前的区别还挺大的(多了ARC等),对照学习起来会有些难度。这个是电子原版的,而不是扫描版,所以没有清晰度的问题,在Kindle DXG中看,效果很好。
目录: Continue reading “iOS开发教程电子书推荐《Beginning.iOS.5.Development.Exploring.the.iOS.SDK》iOS5开发基础教程 PDF” »

iOS开发 给TableView增加SearchBar

效果如图:

可以根据输入的关键字,在TableView中显示符合的数据。
图中分组显示和索引效果,前面的博文已经记录,不再赘述。下面的例子是基于前文的基础上修改的,所以文件名啥的,请参考前文。
第一步是在TableView上方添加一个Search Bar,这里有一点需要注意,必须先把TableView拖下来,留下空间放Search Bar,不要在Table View占满屏幕的情况下把Search Bar拖到Table View顶部。区别在于,使用后面的方法,Search Bar是作为Table View的Header部分添加的,而前面的方法,Search Bar是独立的。在添加索引功能时,如果作为Table View的Header添加,右侧的索引会遮住Search Bar的右边部分。Search Bar几个常用属性:
Placeholder是提示,就是hint属性,Corretion是自动修正,一般设为NO,即不修正,Show Cancel Button是显示取消按钮,我这里勾选。选中Search Bar的情况下切换到Connections Inspector面板,delegate与File's Owner建立连接(我们会在ViewController中支持UISearchBarDelegate协议)。与前面几篇文章的例子相同,ViewController文件名为PDViewController.h和PDViewController.m。
第二步,添加Table View和Search Bar的Outlet.按住Control键,分别拖动Table View和Search Bar到PDViewController.h,添加Outlet
第三步,就是PDViewController代码: Continue reading “iOS开发 给TableView增加SearchBar” »

iOS/Objective-C开发 字典NSDictionary的深复制(使用category)

目标:把NSDictionary对象转换成NSMutableDictionary对象,对象内容是字符串数组,需要实现完全复制(深复制)。
如果调用NSDictionary的mutableCopy方法,可以得到一个NSMutableDictionary对象,但这只是浅复制,如果我们修改NSDictionary中数组内的值(当然,数组必须是NSMutableArray),会发现,NSMutableDictionary对象内数组的值也跟着更改了。我们需要增加一个mutableDeepCopy方法来实现深复制,在该方法中,循环复制每一个元素。
要实现这一功能,有两种方法,一是继承,二是使用category。category与继承的区别在于,使用category并不是新建一个类,而是在原类的基础上增加一些方法(使用的时候还是用原类名),这样,我们就不需要修改已经在其他源文件中写好的类名,只需要导入h头文件,再把复制方法修改成我们新增的方法即可。 Continue reading “iOS/Objective-C开发 字典NSDictionary的深复制(使用category)” »

iOS开发 给TableView增加索引

当TableView显示的数据很多的时间,可以给其添加索引,添加索引后,在TableView的右侧会显示索引的键,手指滑动这里,就可以快速切换到该键对应的数据(好像联系人就是这样的,很久没用iPhone了,不敢肯定,我只有iPod,没联系人).
具体实现代码只需在前文的基础上修改。
打开PDViewController.m,增加一个selector: Continue reading “iOS开发 给TableView增加索引” »