Archive for 八月 2011

WPF TextBox控件 多行显示 以及水平垂直滚动条的添加 WP7通用

设置多行显示:
给TextBox控件添加TextWrapping属性,值为Wrap,当文本长度超出TextBox宽度时会自动换行。添加AcceptsReturn属性,值为True,当按回车时,就会换行。
添加水平以及垂直滚动条:
设置VerticalScrollBarVisibility和HorizontalScrollBarVisibility属性,值为Auto.

C#中数据类型的转换

本文不断更新中...
string转int :int.Parse(string s)
string转float: float.Parse(string s)
string转double:double.Parse(string s)
string转long,decimal与上类似
其他类型转string:调用ToString()方法

Visual Studio2010常用快捷键集合

本文不断更新中.
选中行注释:Ctrl+K,Ctrl+C ,第一次用VS,对于两次快捷键的组合才能完成命令感到意外.
选中行取消注释:Ctrl+K,Ctrl+U
整行复制:在该行空白处按Ctrl+C
整行剪切:在该行空白处按Ctrl+X或Shift+Delete
代码自动排版对齐:Ctrl+K,Ctrl+D
在类中创建属性:prop+tab+tab 注:prop并非键盘上的键,面是用键盘输入"prop"
查看项目属性:Alt+F7

网页返回 重新启动Activity实例的解决

最近在写一个微博应用,需要用到OAuth授权,机制是这样的,先是客户端向服务器请求一个oauth_token,再根据这个oauth_token构造一个让用户授权的URL,转到浏览器,在浏览器中打开,让用户输入帐号密码.然后通过设置自定义协议让浏览器返回时转到指定的Activity.之前跳转到浏览器和让浏览器返回启动的是同一个Activity,但是发现,浏览器返回时不是调用已启动的Activity的 OnNewIntent 方法,而是重新启动一个实例,导致内存中有两个该Activity实例.通过设置android:launchMode解决: Continue reading ‘网页返回 重新启动Activity实例的解决’ »

Java 通过SimpleDateFormat把毫秒值的时间转换成需要的格式,转换回Calendar Date

存储时间的时候,先把时间转换成相对于格林威治时间的毫秒值,再存储,就不需要再分别存放年\月\日\时\分\秒了,直接存储毫秒值,需要使用的时候再转换成Calendar,Date或者直接通过SimpleDateFormat格式化输出.
Continue reading ‘Java 通过SimpleDateFormat把毫秒值的时间转换成需要的格式,转换回Calendar Date’ »

RelativeLayout的使用实例 类似自定义TabHost效果

TabHost如果要自定义显示的效果,有点麻烦,而默认的样式有时候又与我们程序的风格不匹配.今天我们就用RelativeLayout来实现与TabHost相同的功能.上效果图:

点击上面的tab,tab自身样式会改变,下面内容也会改变,功能完全与TabHost相同.
介绍一下RelativeLayout,RelativeLayout是相对布局,顾名思义,就是说里面的控件位置都是相对其他控件的位置而确定的.如上面的效果,Tab相对于屏幕顶部对齐,底部按钮相对于屏幕底部对齐.而内容则放在顶部的Tab和底部的按钮中间.
所以所有被其他控件依赖定位的控件,必须先写,也就是说,要实现上面的效果,XML中不是从上往下写,而是先定上和下,再写中间,因为中间的内容高度,位置都依赖于它的上下控件.
实现TabHost效果的原理也简单,点击tab时设置被点击和没被点击的的tab的背景,字体颜色即可显示点击效果.在点击事件中,用View的removeAllViews()方法清除中间控件的所有内容,再用addView方法添加需要的内容.
下面上代码,布局XML: Continue reading ‘RelativeLayout的使用实例 类似自定义TabHost效果’ »

Java Socket编程 服务端与客户端通讯 基于SWT

今天学习下Java的Socket编程.为了演示效果更直观,用SWT加了UI,说实话,SWT相当好用,用Eclipse的WindowBuilder插件,可以实现可视化编程,基本上不用学习,再加上SWT跟我们的移动开发没什么关系,所以这部分不解释.今天的例子是一个不完整的聊天室,说它不完整是因为我只是拿它演示客户端与服务器之间的通讯,并没有加入多客户端聊天的功能.上个效果图:

Continue reading ‘Java Socket编程 服务端与客户端通讯 基于SWT’ »

直接把对象存入文件 ObjectOutputStream与ObjectInputStream的使用

ObjectOutputStream可以把对象直接存入到文件中,然后利用ObjectInputStream读取文件还原成对象,前提是该对象实现了Serializable接口.由于ObjectInputStream无法判断文件流中对象的数量,所以我们在循环读取的时候,只好写个死循环,然后捕捉EOFException异常,来实现把所有对象读进来.也可以在写入文件时,把所有对象存进ArrayList,然后把这个ArrayList写入文件,这样就不需要判断对象数量了. Continue reading ‘直接把对象存入文件 ObjectOutputStream与ObjectInputStream的使用’ »