温馨提示:您的每一次转载,体现了我写此文的意义!!!烦请您在转载时注明出处http://www.blogjava.net/sxyx2008/谢谢合作!!!

雪山飞鹄

温馨提示:您的每一次转载,体现了我写此文的意义!!!烦请您在转载时注明出处http://www.blogjava.net/sxyx2008/谢谢合作!!!

BlogJava 首页 新随笔 联系 聚合 管理
  215 Posts :: 1 Stories :: 674 Comments :: 0 Trackbacks

#

有时候 Flash Builder 的控制台(英文为 console )的输出内容有中文时,输出的文字是乱码,这个时候会很让人头痛。通常,把它的编码设置为 UTF-8 ,就能显示正常的中文了。设置步骤为:

  • 打开 SDK 目录下的 bin 文件夹(如:C:\Program Files\Adobe\Adobe Flash Builder 4\sdks\4.5.1.21328\bin);
  • 用文本编辑器打开 jvm.config 文件;
  • 找到 ” java.args=-Xmx384m -Dsun.io.useCanonCaches=false” 这行文字,然后在后面追加 “-Dfile.encoding=utf-8 -Dsun.jnu.encoding=utf-8″ 即可。最终结果为大致为 “java.args=-Xmx384m -Dsun.io.useCanonCaches=false -Dfile.encoding=utf-8 -Dsun.jnu.encoding=utf-8″;
posted @ 2012-02-28 13:38 雪山飞鹄 阅读(1037) | 评论 (0)编辑 收藏

用原生JavaScript做一个拖拽效果 -- 简明现代魔法

效果演示

拖拽状态:x:0, y:0
Drag me.
posted @ 2012-02-16 11:52 雪山飞鹄 阅读(345) | 评论 (0)编辑 收藏

你可以通过设置浏览器安全选项得到真实路径:

Internet选项 -> 安全 -> 自定义级别 -> 将本地文件上载至服务器时包含本地目录路径 -> 选“启动” -> 确定

但是,作为开发者,我们不能指望客户去这么做,所以我们必须通过代码解决这个问题。

例如我的上传文件控件的HTML代码是:
<input id="file_upl" type="file" />
那么在JS代码中我就可以这样来获取真实的文件路径:

var file_upl = document.getElementById('file_upl');
file_upl.select();

var realpath = document.selection.createRange().text;


此方案只针对IE浏览器,对其他浏览器火狐,js代码如下:

//附带不用修改浏览器安全配置的javascript代码,兼容ie, firefox全系列

function getPath(obj)  //参数obj为input file对象

  if(obj) 
    { 
 
    if (window.navigator.userAgent.indexOf("MSIE")>=1) 
      { 
        obj.select(); 
 
      return document.selection.createRange().text; 
      } 
 
    else if(window.navigator.userAgent.indexOf("Firefox")>=1) 
      { 
      if(obj.files) 
        { 
 
        return obj.files.item(0).getAsDataURL(); 
        } 
      return obj.value; 
      } 
    return obj.value; 
    } 
}

posted @ 2011-12-31 10:21 雪山飞鹄 阅读(4904) | 评论 (2)编辑 收藏

<style type="text/css">         
html, body 
{ margin: 0; padding: 0; height: 100%; }                 
iframe 
{             
position
: absolute;             
top
: 0; 
left
: 0; 
width
: 100%; 
height
: 100%;             
border
: none; 
box-sizing
: border-box; 
-moz-box-sizing
: border-box; 
-webkit-box-sizing
: border-box;         
}     
</style> 

 <iframe src="http://www.google.com/"></iframe>
参考:http://stackoverflow.com/questions/1303729/iframe-100-height-inside-body-with-padding

posted @ 2011-12-26 23:19 雪山飞鹄 阅读(255) | 评论 (0)编辑 收藏

     {".3gp", "video/3gpp"},
  {".apk", "application/vnd.android.package-archive"},
  {".asf", "video/x-ms-asf"},
  {".avi", "video/x-msvideo"},
  {".bin", "application/octet-stream"},
  {".bmp", "image/bmp"},
  {".c", "text/plain"},
  {".class", "application/octet-stream"},
  {".conf", "text/plain"},
  {".cpp", "text/plain"},
  {".doc", "application/msword"},
  {".exe", "application/octet-stream"},
  {".gif", "image/gif"},
  {".gtar", "application/x-gtar"},
  {".gz", "application/x-gzip"},
  {".h", "text/plain"},
  {".htm", "text/html"},
  {".html", "text/html"},
  {".jar", "application/java-archive"},
  {".java", "text/plain"},
  {".jpeg", "image/jpeg"},
  {".jpg", "image/jpeg"},
  {".js", "application/x-javascript"},
  {".log", "text/plain"},
  {".m3u", "audio/x-mpegurl"},
  {".m4a", "audio/mp4a-latm"},
  {".m4b", "audio/mp4a-latm"},
  {".m4p", "audio/mp4a-latm"},
  {".m4u", "video/vnd.mpegurl"},
  {".m4v", "video/x-m4v"},
  {".mov", "video/quicktime"},
  {".mp2", "audio/x-mpeg"},
  {".mp3", "audio/x-mpeg"},
  {".mp4", "video/mp4"},
  {".mpc", "application/vnd.mpohun.certificate"},
  {".mpe", "video/mpeg"},
  {".mpeg", "video/mpeg"},
  {".mpg", "video/mpeg"},
     {".mpg4", "video/mp4"},
  {".mpga", "audio/mpeg"},
  {".msg", "application/vnd.ms-outlook"},
  {".ogg", "audio/ogg"},
  {".pdf", "application/pdf"},
  {".png", "image/png"},
  {".pps", "application/vnd.ms-powerpoint"},
  {".ppt", "application/vnd.ms-powerpoint"},
  {".prop", "text/plain"},
  {".rar", "application/x-rar-compressed"},
  {".rc", "text/plain"},
  {".rmvb", "audio/x-pn-realaudio"},
  {".rtf", "application/rtf"},
  {".sh", "text/plain"},
  {".tar", "application/x-tar"},
  {".tgz", "application/x-compressed"},
  {".txt", "text/plain"},
  {".wav", "audio/x-wav"},
  {".wma", "audio/x-ms-wma"},
  {".wmv", "audio/x-ms-wmv"},
  {".wps", "application/vnd.ms-works"},
  {".xml", "text/xml"},
  {".xml", "text/plain"},
  {".z", "application/x-compress"},
  {".zip", "application/zip"},
  {"", "*/*"}
posted @ 2011-12-20 10:25 雪山飞鹄 阅读(1477) | 评论 (0)编辑 收藏

     摘要: DayOfWeek.java Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->package com.zhy.shortcut.test;/** * 周天气信息 * @autho...  阅读全文
posted @ 2011-12-16 17:54 雪山飞鹄 阅读(1929) | 评论 (1)编辑 收藏

这是一个由SIMONSU开发的免费天气插件。目前支持中国国内所有城市。可根据访客IP自动获取所在城市的天气。目前已开发成wordpress插件(Widget工具)的方式,方便一些朋友安装。 使用方法:1、下载此插件并上传到wp-content\plugins目录中;2、登录网站后台安装此插件;3、然后进入“外观”,“小工具”,把“Tsov Weather” widget小工具拖到右侧即可。
posted @ 2011-12-15 14:51 雪山飞鹄 阅读(293) | 评论 (0)编辑 收藏

使用Google Weather API查询天气预报 收藏Google Weather API 只支持美国地区使用邮政编码进行查询,例如:

http://www.google.com/ig/api?hl=zh-cn&weather=94043

(94043 为 山景城, 美国加州 的邮政编码)

而除了美国以外的地区需要使用经纬度坐标作为参数才能执行 Google Weather API, 例如:

http://www.google.com/ig/api?hl=zh-cn&weather=,,,30670000,104019996

(30670000,104019996 为 成都, 中国大陆 的经纬度坐标)

当然,也可能通行城市名称的汉语拼音来查询,例如:以下是北京的天气

http://www.google.com/ig/api?hl=zh-cn&weather=Beijing

要其它地区的经纬度坐标,可以通过 Google API 提供的国家代码列表及相应的城市经纬度坐标列表可以查询到,以下是 Google API 提供的查询参数:

http://www.google.com/ig/countries?output=xml&hl=zh-cn

(查询 Google 所支持的所有国家的代码,并以 zh-cn 简体中文显示)

http://www.google.com/ig/cities?output=xml&hl=zh-cn&country=cn

http://www.google.com/ig/cities?country=cn

缺省返回的是英文, 可以增加一个参数来返回中文:

http://www.google.com/ig/api?weather=Nanjing&hl=zh-cn

取得中国的所有城市代码:

http://www.google.com/ig/cities?country=cn

缺省返回是 JSON 格式.增加一个参数返回XML格式(Firefox 中不行)

http://www.google.com/ig/cities?country=cn&output=xml

posted @ 2011-12-15 14:47 雪山飞鹄 阅读(557) | 评论 (0)编辑 收藏

ShowTimeNowAppWidget
package com.zhy.shortcut;

import java.text.SimpleDateFormat;
import java.util.Date;

import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.Context;
import android.content.Intent;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.widget.RemoteViews;

public class ShowTimeNowAppWidget extends AppWidgetProvider {

    
private static final String TAG = "ShowTimeNowAppWidget";

    
    Handler handler;
    
    AppWidgetManager widgetManager;
    RemoteViews remoteViews;
    
    Context context;
    
    
    
    
    @Override
    
public void onDeleted(Context context, int[] appWidgetIds) {
        
super.onDeleted(context, appWidgetIds);

        Log.d(TAG, 
"---------onDeleted----------");

    }

    @Override
    
public void onDisabled(Context context) {
        
super.onDisabled(context);
        Log.d(TAG, 
"---------onDisabled----------");
    }

    @Override
    
public void onEnabled(Context context) {
        
super.onEnabled(context);
        Log.d(TAG, 
"---------onEnabled----------");
    }

    @Override
    
public void onReceive(Context context, Intent intent) {
        
super.onReceive(context, intent);
        Log.d(TAG, 
"---------onReceive----------");
    }

    @Override
    
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
            
int[] appWidgetIds) {
        
        
super.onUpdate(context, appWidgetManager, appWidgetIds);

        
this.context=context;
        
        
final int appWidgetId=appWidgetIds[0];
        
        
//创建一个RemoteViews
        RemoteViews views=new RemoteViews(context.getPackageName(),R.layout.widgetlayout);
        
        widgetManager
=appWidgetManager;
        remoteViews
=views;
        
        handler
=new Handler(){
            @Override
            
public void handleMessage(Message msg) {
                
super.handleMessage(msg);
                
                
switch (msg.what) {
                
case 0:

                    
//ComponentName component=new ComponentName(ShowTimeNowAppWidget.this.context, ShowTimeNowAppWidget.class);
                    
                    
//更新widget上TextView控件的内容
                    remoteViews.setTextViewText(R.id.widget_time, String.valueOf(msg.obj));
                    
//更新widget
                    widgetManager.updateAppWidget(appWidgetId, remoteViews);
                    
                    
break;
                
default:
                    
break;
                }
            }
        };
        
        handler.post(
new Runnable() {
            
            @Override
            
public void run() {
                Message message
=new Message();
                message.what
=0;
                message.obj
=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss").format(new Date());
                handler.sendMessage(message);
                
                handler.postDelayed(
this1000);
            }
        });
        Log.d(TAG, 
"---------onUpdate----------");
        
    }

}
widgetlayout布局文件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:padding
="30dip"
    android:layout_width
="match_parent"
    android:layout_height
="wrap_content" >

    
<ImageView
        
android:id="@+id/widget_img"
        android:layout_width
="wrap_content"
        android:layout_height
="wrap_content"
        android:src
="@drawable/ic_dialog_time" />

    
<TextView
        
android:textSize="16dip"
        android:textColor
="@color/green"
        android:singleLine
="true"
        android:ellipsize
="none"
        android:gravity
="center"
        android:paddingLeft
="5dip"
        android:layout_toRightOf
="@id/widget_img"
        android:layout_alignTop
="@id/widget_img"
        android:layout_alignBottom
="@id/widget_img"
        android:id
="@+id/widget_time"
        android:layout_width
="match_parent"
        android:layout_height
="wrap_content"
        android:layout_weight
="1" />

</RelativeLayout>
appwidget-provider描述文件
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
    android:minWidth
="300dip"
    android:minHeight
="20dip"
    android:updatePeriodMillis
="1000"
    android:initialLayout
="@layout/widgetlayout"
    
>
</appwidget-provider>
AndroidManifest.xml中的配置
<receiver 
            
android:name=".ShowTimeNowAppWidget"
            
>
            
<intent-filter>
                
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
                
<category android:name="android.intent.category.DEFAULT"/>
            
</intent-filter>
            
<meta-data android:name="android.appwidget.provider"
               android:resource
="@xml/widget" />
        
</receiver>
运行效果
posted @ 2011-12-14 16:53 雪山飞鹄 阅读(1599) | 评论 (1)编辑 收藏

需求:在界面上有两个按钮,一个开始,一个停止。点击开始按钮,更新应用的标题为当前时间。按停止按钮停止更新时间。
考察:handler的使用。
这里借助Handler来实现
package com.zhy.ui;

import java.text.SimpleDateFormat;
import java.util.Date;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

import com.zhy.shortcut.R;

public class RefershUiActivity extends Activity implements OnClickListener{
    
    private static final int UPDATA_TITIE=1;
    
    Button start;
    Button stop;
    
    //声明一个继承自Runnable的变量
    MyRunnable runnable;
    
    Handler handler;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        setContentView(R.layout.ui);
        
        runnable=new MyRunnable();
        
        start=(Button) findViewById(R.id.start);
        stop=(Button) findViewById(R.id.stop);
        
        //实列化Handler
        handler=new Handler(){
            @Override
            public void handleMessage(Message msg) {
                super.handleMessage(msg);
                //更新应用标题
                updateTitile(msg);
            }
        };
        
        
        
        start.setOnClickListener(this);
        stop.setOnClickListener(this);
        
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
        case R.id.start:
            //点击开始的时候调用handler.post()方法
            handler.post(runnable);
            break;
        case R.id.stop:
            //停止更新标题
            if(runnable!=null){
                handler.removeCallbacks(runnable);
            }
            break;
        default:
            break;
        }
    }
    
    
    class MyRunnable implements Runnable{

        //覆写run方法
        @Override
        public void run() {
            //创建Message
            Message msg=new Message();
            //标记消息
            msg.what=UPDATA_TITIE;
            //设置数据
            msg.obj=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss").format(new Date());
            //发送消息
            handler.sendMessage(msg);
            //在run方法内部在调用postDelayed()方法。
            handler.postDelayed(this, 1000);
        }
        
    }
    
    
    
    //更新标题
    private void updateTitile(Message msg) {
        switch (msg.what) {
        case UPDATA_TITIE:
            RefershUiActivity.this.setTitle(String.valueOf(msg.obj));
            break;

        default:
            break;
        }
    }
    
}
posted @ 2011-12-14 15:03 雪山飞鹄 阅读(1969) | 评论 (0)编辑 收藏

仅列出标题
共22页: 上一页 1 2 3 4 5 6 7 8 9 下一页 Last