显示下一条  |  关闭

光阴的故事

莫等闲,白了少年头,空悲切。

 
 
 
 
 
 

android google map 地图 ItemizedOverlay<OverlayItem> 选中

2011-4-2 16:40:11 阅读1033 评论1 22011/04 Apr2

在android中使用Googlemap的时候遇到想要在地图上加一些点(图片),然后点击之后图片换成另外一张图片,表示这个点被选中,但是一直没有找到很好的例子,看了半天API还是还是没头绪,最后找到了问题的关键所在,原来OverlayItem在setMarker的时候需要对Drawable.setBounds(0,0,focusedMarker.getIntrinsicWidth(),focusedMarker.getIntrinsicHeight());否则点击Marker后原来的Marker就“消失”了。最后终于找到了一个外国网站解决了问题,网址:http://developmentality.wordpress.com/2009/10/16/android-overlayitemsetmarkerdrawable-icon/

package cn.rebo.android.activity;

import java.util.ArrayList;

import java.util.List;

import android.content.Context;

import android.graphics.Canvas;

import android.graphics.drawable.Drawable;

作者  | 2011-4-2 16:40:11 | 阅读(1033) |评论(1) | 阅读全文>>

Java解析xml字符串

2011-3-13 22:07:12 阅读146 评论0 132011/03 Mar13

public static void main(String[] args){

String xmlStr = "<user><username>zhoub</username><password>123456</password></user>";

        try

        {

            DocumentBuilderFactory factory = DocumentBuilderFactory .newInstance();

            DocumentBuilder builder = factory.newDocumentBuilder();

            Document doc = builder.parse(new InputSource(new StringReader(xmlStr)));

            Element root = doc.getDocumentElement();

            NodeList optionNodeList = root.getChildNodes();

            if(optionNodeList!=null)

 

作者  | 2011-3-13 22:07:12 | 阅读(146) |评论(0) | 阅读全文>>

Flex

TypeError: Error #1007: 尝试实例化的函数不是构造函数。ProgressBar.as:1110。

at mx.controls::ProgressBar/createChildren()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\controls\ProgressBar.as:1110]

    at mx.core::UIComponent/initialize()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\core\UIComponent.as:7250]

    at mx.core::UIComponent/http://www.adobe.com/2006/flex/mx/internal::childAdded()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\core\UIComponent.as:7142]

    at mx.core::UIComponent/addChildAt()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\core\UIComponent.as:6848]

    at spark.

作者  | 2011-3-2 12:03:32 | 阅读(1121) |评论(2) | 阅读全文>>

Flex播放ByteArray类型Mp3

2011-1-26 16:48:22 阅读247 评论0 262011/01 Jan26

Adobe Flex提供相当多支援多媒体的Class,包括:Sound、Video等,丰富并便利像我对于一些多媒体运用比较不熟悉的程式人员, 透过简单的使用URLRequest(url:String) 将所需要的多媒体档案之路径或URL网址给予这些多媒体Class,即可以快速取得,并且进行播放。 

        但是我自己却遇到了一个问题,如果今天我存在于Client或Server的多媒体档(以MP3为例),那么,我将必需知道所有档案的路径,老实说,这样有点辛苦,程式撰写起来也不是说这么方便。况且,现在是Database大量使用的年代,大部分的人都会把多媒体资讯储存于Database之中 (但这不包括大型娱乐多媒体档案),而这些存在于Database中的档案,通常是利用二位元阵(ByteArray)来存放,那在Adobe Flex所提供的方式,主要是透过URLRequest,这种情形下就没有办法支援读取ByteArray的内容了。 

        看到这里也许会有人误会了我的意思,可能会被误解为,那我可以透过Embed的方式,就可以让Sound来播放ByteArray了啊。这个方式,如下之范例:

[Embed(source="assets/Sounds/voices/hello.mp3")]

作者  | 2011-1-26 16:48:22 | 阅读(247) |评论(0) | 阅读全文>>

ActionScript 3 和 Flex框架的性能优化

2011-1-24 17:54:08 阅读48 评论0 242011/01 Jan24

与其在程序写完了之后臃肿得跑不动,不如平时注意这些关键点,时时提醒自己。翻译出来,以便以后时时查阅。

1 创建新数组时避免使用它的构造函数。

这样做:var a = [];

而不要这样做:var a = new Array();

2 创建数组是一个消耗量很大的操作,所以请谨慎进行以下类型的操作:

var vanityCollection01 : Array = new Array();

var vanityCollection02 : Array = new Array();

var vanityCollection03 : Array = new Array();

var vanityCollection04 : Array = new Array();

3 复制一个数组最快的方式是:

var copy : Array = sourceArray.concat();

4 无论你用哪种方式,为数组的元素设置值都是一个慢的操作。

employees.push( employee );

employees[2] = employee;

5 在数组中获得一个值的速度是设置一个值的二倍。

var employee : Employee = employees[2];

6 将属性函数设置为静态函数,这样你在使用它的时候就不用实例化一个该类的对象。

StringUtils.trim( “text with space at end ” );

作者  | 2011-1-24 17:54:08 | 阅读(48) |评论(0) | 阅读全文>>

flex 操作xml 实现增删改查

2011-1-22 9:06:46 阅读259 评论0 222011/01 Jan22

对于xml文件里已经有自定义的命名空间(namespace)时,xml文件的遍历将需要在元素前面加上命名空间

例如:trace(myxml.Document.name);如果xml文件中有如:<kml xmlns="http://www.opengis.net/kml/2.2">的命名空间声明则在获得xml内容时需要这样:

var ns:Namespace = new Namespace(http://www.opengis.net/kml/2.2):

trace(myxml.ns::Document.ns::name);

有一种更加方便的做法是:

var ns:Namespace = new Namespace("http://www.opengis.net/kml/2.2");

       default xml namespace = ns;

var myxml:XML = new XML(“........");

trace(myxml.Document.name);

如此这样就可以像操作一般xml文件一样了。

一 在介绍Flex中操作XML之前,首先简单介绍下XML中的基本术语。

作者  | 2011-1-22 9:06:46 | 阅读(259) |评论(0) | 阅读全文>>

晚安,2010 - 废墓的2010纪念册

2011-1-3 10:39:25 阅读23 评论0 32011/01 Jan3

作者  | 2011-1-3 10:39:25 | 阅读(23) |评论(0) | 阅读全文>>

为了方便更多用户能享受DBank网盘带来的便利,DBank网盘广泛接受用户申请加入合作伙伴:

谁能申请加入合作伙伴?

您是站长\博主\版主,因为网站分享需要更大容量网盘发布资源

您是分享达人,因为在微博、博客、论坛分享需要更大容量网盘

DBank网盘能为您提供:  

1.您需要的网络存储空间

2.永久有效的外链

3.专职客服,及时解答您在使用DBank过程中遇到的各种疑问

详情见官方公告http://bbs.dbank.com/thread-16055-1-1.html

作者  | 2011-1-3 10:23:02 | 阅读(30) |评论(0) | 阅读全文>>

Apache禁止访问网站目录(列出目录文件列表)

2010-12-24 10:55:02 阅读265 评论1 242010/12 Dec24

在apache安装目录下找到httpd.conf文件,用记事本打开,通过查找功能找到

<Directory />

Options Indexes FollowSymLinks

AllowOverride None

Order deny,allow

Deny from all

</Directory>

这一段,将Options Indexes FollowSymLinks修改为Options None

在httpd.conf中有两个这样的段落都要这样子修改,完成后保存,重启apache即可。

作者  | 2010-12-24 10:55:02 | 阅读(265) |评论(1) | 阅读全文>>

Java 密码md5加密成十六进制字符串 UCenter用户加密规则

2010-12-22 9:46:35 阅读219 评论0 222010/12 Dec22

package com.rebo.sns.assist;

import java.security.MessageDigest;

import java.util.UUID;

public class Code

{

 private final static String[] hexDigits ={"0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"};

public static void main(String[] args)

 {

  System.out.println(encode("123456"));

 }

public static String encode(String password)

 {

  try

  {

   MessageDigest md = MessageDigest.getInstance("MD5");

   byte[] digest = md.digest(password.getBytes());

   String encodedPassword = byteArrayToHexString(digest);

作者  | 2010-12-22 9:46:35 | 阅读(219) |评论(0) | 阅读全文>>

Java 拷贝文件

2010-12-22 9:18:18 阅读29 评论0 222010/12 Dec22

 /**

  * 拷贝文件

  * @param srcName 需要拷贝的文件完整路径

  * @param destName 目标文件完整路径

  * @return

  */

 public boolean copyFile(String srcName,String destName)

 {

  try

  {

   File srcFile = new File(srcName);

   if(!srcFile.exists())

   {

    System.out.println("指定的文件不存在");

    return false;

   }

   String dist = destName.substring(0,destName.lastIndexOf("\\")+1);

   File distFolder = new File(dist);

   if(!distFolder.exists())

   {

    distFolder.mkdirs();

   }

   BufferedInputStream in = new BufferedInputStream(new FileInputStream(srcName));

   BufferedOutputStream

作者  | 2010-12-22 9:18:18 | 阅读(29) |评论(0) | 阅读全文>>

Java 不失真创建图片等比缩略图

2010-12-22 9:12:00 阅读327 评论0 222010/12 Dec22

要使用无损压缩图片需要导入两个包

import com.sun.image.codec.jpeg.JPEGImageEncoder;

import com.sun.image.codec.jpeg.JPEGCodec;

在Eclipse中可能会出现如下错误提示:

Access restriction: The type JPEGImageEncoder is not accessible due to restriction on required library C:\Java\jre1.6.0_07\lib\rt.jar

这是由于Eclipse默认把这些受访问限制的API设成了Error。

解决办法:点击Window->Preferences->Java->Compiler->Errors/Warnings->Deprecated and restricted API->Forbidden reference(access rules) 修改成Warning 即可。

/**

  * 创建图片缩略图(等比缩放)

  * @param src 源图片文件完整路径

  * @param dist 目标图片文件完整路径

  */

 public void createThumbnail(String src,String dist)

作者  | 2010-12-22 9:12:00 | 阅读(327) |评论(0) | 阅读全文>>

Java 遍历文件夹文件

2010-12-22 8:56:14 阅读19 评论0 222010/12 Dec22

public void main(String[] args) throws Exception

 {

  File root = new File("D:\\attachment");

  showAllFiles(root);

 }

//遍历指定目录下的所有文件

 public void showAllFiles(File dir)

 {  

  File[] files = dir.listFiles();

  for(int i=0; i<files.length; i++)

  {

   //判断该文件对象是否是文件夹

   if(files[i].isDirectory())

   {

    try

    {

     //递归调用

     showAllFiles(files[i]);

}

    catch(Exception e)

    {

     e.printStackTrace();

    }

   }

   else

   {

    System.out.println(files[i].getAbsolutePath());

作者  | 2010-12-22 8:56:14 | 阅读(19) |评论(0) | 阅读全文>>

Java 单元测试 JUnit

2010-12-12 10:33:36 阅读178 评论0 122010/12 Dec12

Java程序写单元测试方法(暂且这么叫吧)

1、往工程里添加junit.jar文件,一般Eclipse自带这个包

2、往工程里添加log4j-*.jar文件

3、编写log4j.properties文件,并放到src目录下或者classpath目录下

 log4j.properties文件内容如下:

log4j.rootLogger=DEBUG,console

 log4j.appender.console=org.apache.log4j.ConsoleAppender

 log4j.appender.console.layout=org.apache.log4j.PatternLayout

 log4j.appender.console.layout.ConversionPattern=%d [%p] - %l - %m %n

如果没有log4j.properties文件或者目录不对会出现错误:

 log4j:WARN No appenders could be found for logger

4、编写测试类 这个类必须extends TestCase

 类的函数名必须以test为前缀,如testFunction()。

 否则会出现错误:junit.framework.AssertionFailedError: No tests found in

作者  | 2010-12-12 10:33:36 | 阅读(178) |评论(0) | 阅读全文>>

log4j的配置及用法

2010-12-12 10:19:29 阅读53 评论0 122010/12 Dec12

一、Log4j简介

Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局)。这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出。综合使用这三个组件可以轻松地记录信息的类型和级别,并可以在运行时控制日志输出的样式和位置。

需要使用log4j首先需要将log4j-*.jar文件导入到工程,然后配置log4.properties文件,并将其放在src目录下或者classpath下。

1、Loggers

Loggers组件在此系统中被分为五个级别:DEBUG、INFO、WARN、ERROR和FATAL。这五个级别是有顺序的,DEBUG < INFO < WARN < ERROR < FATAL,分别用来指定这条日志信息的重要程度,明白这一点很重要,Log4j有一个规则:只输出级别不低于设定级别的日志信息,假设Loggers级别设定为INFO,则INFO、WARN、ERROR和FATAL级别的日志信息都会输出,而级别比INFO低的DEBUG则不会输出。

2、Appenders

禁用和使用日志请求只是Log4j的基本功能,Log4j日志系统还提供许多强大的功能,比如允许把日志输出到不同的地方,如控制台(Console)、文件(Files)等,可以根据天数或者文件大小产生新的文件,可以以流的形式发送到其它地方等等。

常使用的类如下:

org.apache.log4j.ConsoleAppender(控制台)

作者  | 2010-12-12 10:19:29 | 阅读(53) |评论(0) | 阅读全文>>

查看所有日志>>

 
 
 
 
 
 
 
 

 其他

 发消息  写留言

 
---爱在左,同情在右,走在生命两旁,随时撒种,随时开花,将这一径长途,点缀得花香弥漫,使穿枝拂叶的行人,踏着荆棘,不觉得痛苦,有泪可落,却不是悲凉。---
 
博客等级加载中...
今日访问加载中...
总访问量加载中...
最后登录加载中...
 
 
 
 
 
 
 
 
 
 
 
下载音乐盒  曲目表歌词秀
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
模块内容加载中...
 
 
 
 
 
 
 
模块内容加载中...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2012

   
创建博客 登录  
 关注