Ubuntu下安装配置JDK和Android

Ubuntu新的版本源里面已经没有sun jdk软件包了,默认安装的都是open jdk。但是Open JDK里面似乎没有tools.jar文件,结果会导致很多软件运行出错。

怎么安装Sun-JDK或者Oracle-JDK?

可以手动安装,也可以通过PPA安装。

PPA安装方式:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer

别的源:

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:ferramroberto/java
sudo apt-get update
sudo apt-get install ant sun-java6-jdk sun-java6-jre sun-java6-bin sun-java6-plugin

[……]

Read more

Adobe Flash Player Premium Features for Gaming

Flash Player premium features for gaming enable developers and publishers to deliver stunning web-based games across browsers to over a billion computers—dramatically expanding the market for a new class of social gaming experiences. In addition, Adobe is opening up the Flash Player to a supported third party ecosystem of specialized gaming middleware and development tools, not just those from Adobe. Adobe’s support of these 3rd party developer solutions targeting the Flash Player is enabled by the new tier of premium features.

  • The new tier of premium features provides access to domain memory in combination with hardware-accelerated Stage3D in Flash Player.
  • This combination of APIs enables unprecedented gaming experiences across the web. Together, they allow native game engines that power premiere titles on the most advanced modern console hardware to run directly on the web with no install, consistently across browsers, while reaching the largest possible audience.
  • All other existing Flash Player capabilities are unaffected by the premium features terms. Developers can continue to use all of the other features of Flash Player—which power many of the most successful games on the web today—royalty-free.
  • Developers can use the premium features without charge in apps packaged for iPhone/iPad (iOS), Android, Windows, or Mac OS using Adobe® AIR®.

[……]

Read more

IIS tips (1)

IIS7 url里面禁止包含bin的文件夹

网站的url里面包含bin文件夹的路径无法访问,错误如下显示 :

HTTP 错误 404.8 – Not Found

请求筛选模块被配置为拒绝包含 hiddenSegment 节的 URL 中的路径。

最可能的原因:
为 Web 服务器配置了请求筛选,它包含 hiddenSegments 节,允许服务器管理员拒绝对特定目录的访问。
可尝试的操作:
确认 applicationhost.config 或 web.config 文件中的 configuration/system.webServer/security/requestFiltering/hiddenSegments 设置。
链接和更多信息
这是一项安全功能。请不要更改此功能,除非您完全清楚更改的影响范围。如果需要从被此设置拒绝的某个特定目录提供内容,请从 configuration/system.webServer/security/requestFiltering/hiddenSegments 中删除被拒绝的目录。
查看更多信息 »

只需要将bin文件夹从新命名,就可以正常访问。[……]

Read more

Ubuntu tips (1)

Ubuntu挂载Windows文件服务器共享目录:

首先安装smbfs:apt-get install smbfs

然后设置挂载,需要注意Windows中带空格的目录结构:

labuser@ubuntu10-04:~$ sudo smbmount //orc-fs/Flash” “Runtime/ /home/labuser/Desktop/orc-fs -o user=username,pass=password,iocharset=utf8,dir_mode=0777,file_mode=0777

说明:

网络主机的主机名: orc-fs

网络主机的使用者名称: username

网络主机的登录密码: password

分享中的目录名称: Flash Runtime

主机上要挂载的目录: /home/labuser/Desktop/orc-fs

卸载网络共享目录

sudo umount /home/labuser/Desktop/orc-fs UTF8[……]

Read more

Mysql data export & import

使用mysqldump备份数据时如果碰到如下错误提示:

Got error: 1044: Access denied for user … when using LOCK TABLES

那可能是你用来备份的数据库用户没有lock table的权限,可以换一个权限更高的用户,或者使用mysqldump的另一个选项:–single-transaction 或者加上 –skip-lock-tables

mysqldump -uyourusername -pyourpassword –single-transaction yourdb > yourdb.sql

mysqldump -uyourusername -pyourpassword –skip-lock-tables yourdb > yourdb.sql

如果数据里面有单引号等转义字符:

mysqldump -u root -p –no-create-db –complete-insert –compatible=mssql –default-character-set=utf8 –skip-opt –compact –extended-insert=false dbname tablename|sed "s/\\\’/”/g">tablename.sql

[……]

Read more

How to increase the number of AIR mobile applications

目前APP Store里面使用Adobe AIR技术开发的iOS应用并不是很多,虽然其中不乏一些精品(例如曾经登上iPad排行榜榜首的机械迷城),但相对于APP Store里面50多万的应用总数还是略微少了些。

笔者认为使用AIR来开发应用,特别是游戏类应用,效率是肯定远远胜过使用Objective-C的,性能也并不差很多,况且还能不用怎么修改源代码而跨平台到桌面系统,Android系统和黑莓系统。尽管如此,为何目前AIR For iOS应用数量较少呢?Adobe又需要采用什么战略来增加这一数量呢?

我们不妨先来看看AIR的竞争对手之一,Titanium。Titanium几乎与AIR的战略一模一样,一开始AIR支持桌面的时候,Titanium也仅能支持桌面。后来AIR开始支持移动系统Android和iOS,Titanium也效仿之。但是目前使用Titanium开发的应用比AIR要多很多,据统计现在iTunes应用商店中的500,000应用中,有几乎五分之一是基于Titanium开发的。

Titanium是Appcelerator公司旗下的跨平台开源开发框架。一般来说,开发者采用JavaScript在Titanium上开发应用,不过与其他Web移动框架例如PhoneGap不同的是,Titanium独特的cross-compile的跨平台编译技术能将Web应用直接转换为各种平台中原生的应用程序。这一点大大增强了Web应用的性能,而且跟Adobe AIR技术非常类似——将Flash应用直接编译为原生应用。

Titanium的收费页面是:http://www.appcelerator.com/products/plans-pricing/

通过上面那个网址我们可以看到,Titanium的收费方式,主要是如下几种:[……]

Read more

Building Social Applications with AIR

这里是Adobe官方网站对于AIR的介绍:

Adobe® AIR® 运行时使开发人员能使用 HTML、JavaScript、Adobe Flash® Professional 软件和 ActionScript® 构建 Web 应用程序,这些应用程序可以作为独立的客户端应用程序运行并且不受浏览器的约束。Adobe AIR 作为 Flash Platform 的一个关键组件,为跨设备和平台交付应用程序提供了一个一致、灵活的开发环境,使设计人员和开发人员能完全释放自己的创意。现在提供 AndroidΤΜ BlackBerryΤΜ Tablet OS 和 iOS* 移动操作系统及电视支持。

MixMatchMusic首席执行官兼共同创始人,MobBase 移动应用程序服务开发人员,Charles Feinn,这样评价Adobe AIR:

借助 Adobe AIR,我们将相同的代码用于桌面、Tablet 和智能手机,这不仅为我们节省了时间和资金,还提供了部署效率。我们随后可以快速、有效地通过 Adobe 的应用程序分发服务 Adobe InMarket 分发这些应用程序。

Emantras Inc. 首席执行官,Sesh Kumar也给Adobe AIR不错的评价:

使用 Adobe AIR 和 Flash Platform 创建应用程序的投资回报和资源节省真正扭转了形势。AIR 是唯一可用的解决方案,它允许您通过重用代码瞄准智能手机、Tablet、台式机和电视。通过多种设备提供电子教学内容的能力令几乎所有人都能进行学习。

Adobe AIR诞生数年来,已经从1.0版本升级至如今的2.5版本,产品日趋成熟,其跨平台理念也从电脑桌面扩展到了移动平台,包括Android系统、iOS系统、黑莓系统等等。

[……]

Read more

AIR Auto update introduction

AIR 1.5 加入了自动升级的类air.update.ApplicationUpdater,这样你的AIR应用程序便可以通过网络自动更新到最新版本了。

注意:Flex SDK 3.2以上才支持AIR 1.5。

自动更新的原理:ApplicationUpdater 会去读取网络上的一个XML版本描述文件,其中包含了版本号和对应的安装文件路径以及更新描述信息,然后和当前运行的AIR程序版本进行比较,来决定是否下载和安装。
这里有一个例子:

<?xml version="1.0" encoding="utf-8"?>  
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="checkForUpdate()">  
    <mx:Script>  
        <![CDATA[  
            import mx.controls.Alert;  
            import air.update.events.UpdateEvent;  
            import air.update.ApplicationUpdaterUI;  
            private var appUpdater:ApplicationUpdaterUI = new ApplicationUpdaterUI();  
  
            private function checkForUpdate():void {  
                appUpdater.updateURL = "http://localhost:8400/team/xml/test-update.xml"; // Server-side XML file describing update  
                appUpdater.isCheckForUpdateVisible = false; // We won't ask permission to check for an update  
                appUpdater.addEventListener(UpdateEvent.INITIALIZED, onUpdate); // Once initialized, run onUpdate  
                appUpdater.addEventListener(ErrorEvent.ERROR, onError); // If something goes wrong, run onError  
                appUpdater.initialize(); // Initialize the update framework  
            }    
            private function onError(event:ErrorEvent):void {  
                Alert.show(event.toString());  
            }  
            private function onUpdate(event:UpdateEvent):void {  
                appUpdater.checkNow(); // Go check for an update now  
            }  
        ]]>  
    </mx:Script>  
</mx:WindowedApplication>  

[……]

Read more

Top key events of Java in 2011

The Release of Java 7

Five years after Java 6, Oracle brought Java 7 to us in July 2011, with new I/O APIs, support for dynamically typed languages and some other small language enhancements.

As software developers, we all understand that it’s tough to meet a deadline, so we really shouldn’t complain about the delay in Java 7. At least Mark Reinhold and company have got a pretty good roadmap in place for the follow on release of Java 8, late 2012.

Oracle vs Google

Oracle’s lawsuit against Google has been going on a while now and the trial date has been pushed to 2012. It seems Oracle is keen to get the trial going as soon as possible, with their claim that Java is ‘losing ground to Android’.

The Ongoing Rise of Android

A review of the year would be incomplete without some mention of Android. With the latest repost of three million Android device activations over Christmas weekend, the momentum of Google’s mobile OS shows no signs of stopping.

[……]

Read more