摘要: 剛才在VirtualBox下裝起了liveAndroid ,可是在利用wget下載apk包的時(shí)候,總是提示Read-only file system,也就是說系統(tǒng)是只讀的,什么也寫不了。于是在網(wǎng)上到處找了一下,發(fā)現(xiàn)解決起來挺容易的。一條命令就可以了
閱讀全文
摘要: 本項(xiàng)目的所有代碼已移到google code,此前在sourceforge和java.net項(xiàng)目不再維護(hù)了,現(xiàn)在項(xiàng)目的地址為:
http://code.google.com/p/yoyoplayer
在使用過程中有任何問題,都?xì)g迎在此留言。
1.2更新[2009-08-02]
1,全新的歌詞搜索方式,使搜索率大大提高。
2,把整個(gè)代碼全部移到google code上去。以前的sourceforge和java.net已經(jīng)不再維護(hù)了。
閱讀全文
摘要: 在寫JAVAME程序的時(shí)候,我們經(jīng)常需要保存一些數(shù)據(jù)到手機(jī)里面,也經(jīng)常希望能把對(duì)象也保存到手機(jī)里面,但是JAVAME里面沒有反射機(jī)制,也沒有java.io.Serializable接口,所以沒有序列化的機(jī)制,要保存對(duì)象的話,就得自己動(dòng)手了。
在 JAVAME中,程序的數(shù)據(jù)保存的地方,無外乎兩種,一種是把數(shù)據(jù)保存在RMS里面,這是所有的JAVAME的手機(jī)都支持的,還有一種就是把數(shù)據(jù)保存在手機(jī)的文件系統(tǒng)里面,這個(gè)不是所有手機(jī)都能支持的,只有支持JSR075的手機(jī),才支持把數(shù)據(jù)保存在文件系統(tǒng)里面,并且如果你的程序沒有經(jīng)過簽名的話,你每次保存或者讀取,手機(jī)都會(huì)彈出惱人的提示,是否允許程序訪問文件系統(tǒng)。所在我一般都是把數(shù)據(jù)存在RMS里面,因?yàn)樽x寫RMS是安全的,并且也是不需要手機(jī)提示的。因?yàn)槲覀兊腞MS數(shù)據(jù)是存在一個(gè)特殊的地方。但是JAVAME的RMS功能非常底層,為了保存一些數(shù)據(jù),我們必須和byte[]打交道,所以我就產(chǎn)生了,在此之前封裝一層自己的程序的想法,這樣封裝好以后,使用起來就非常方便了。只要實(shí)現(xiàn)了相關(guān)接口,就可以享受到比較易用的方法了。
此框架總共包括了四個(gè)
閱讀全文
摘要: 在使用JSF的時(shí)候,它的事件驅(qū)動(dòng)模式是一個(gè)很好的開發(fā)方法,但是由于JSF畢竟現(xiàn)在的版本才1.2,所以對(duì)于有些細(xì)節(jié)上面處理就不一定如人意了,一般來說,當(dāng)JSF的頁面驗(yàn)證有錯(cuò)或者有其它的錯(cuò)誤的時(shí)候,我們以前輸入的值會(huì)在渲染頁面的時(shí)候,恢復(fù)回來,也就是說,一個(gè)域我們綁定在后臺(tái)的屬性是一個(gè)int 值,但是我們前臺(tái)輸入了“abcd”,這個(gè)時(shí)候,后臺(tái)在驗(yàn)證階段就過不去了。然后直接渲染頁面,JSF 會(huì)把我們輸入錯(cuò)誤的abcd渲染出來。而不是把我們以前綁定在后臺(tái)的那個(gè)屬性的值,取出來,這樣也正是我們想要的結(jié)果,但是當(dāng)我們的頁面包括了 dataTable的時(shí)候,并且DataTable里面的值是可以編輯的時(shí)候,當(dāng)頁面上有錯(cuò)誤的時(shí)候,別的域都會(huì)顯示剛才我們輸入的值,唯有 DataTable里面的輸入域的值沒有還原為我們剛才輸入的值,而是綁定在后臺(tái)的值,這顯然不是我們想要看到的。但是當(dāng)DataTable有錯(cuò)誤的輸入的時(shí)候,DataTable才會(huì)把它的值恢復(fù)回來。說了這么說,感覺有點(diǎn)語無倫次了,還是拿代碼說話吧。
閱讀全文
摘要: 在hibernate里面調(diào)用session的delete方法以后,無論這個(gè)被刪除的對(duì)象有沒有被人外鍵引用到,都可以被刪除,并且此時(shí)的外鍵設(shè)為 null,也就是說他會(huì)自動(dòng)幫我們?nèi)ゲ榭此徽l引用到了。然后把引用全部去掉后,再把自己刪掉。而在JPA里面,如果調(diào)用 EntityManager.remove方法時(shí),傳進(jìn)去的對(duì)象,有被外鍵引用到,則會(huì)失敗。因?yàn)镴PA里面的實(shí)現(xiàn)就是直接執(zhí)行delete語句,也不管他有沒有被外鍵引用,此時(shí),當(dāng)然會(huì)出錯(cuò)了。
閱讀全文
摘要: 以前使用JPA的實(shí)現(xiàn)是toplink,現(xiàn)在改為hibernate,所以要修改persistence.xml文件,兩者的配置有一些不一樣,并且在 EE環(huán)境下面和SE的環(huán)境下面也有不一樣,還有一點(diǎn),那就是當(dāng)persistence.xml里面有些格式出錯(cuò)的時(shí)候,雖然出錯(cuò)的不是我們需要的那個(gè)單元,但也會(huì)使得整個(gè)persistence.xml報(bào)廢。
閱讀全文
摘要: 在開發(fā)的過程中,我們可能需要將生產(chǎn)環(huán)境和調(diào)試環(huán)境分開來,這樣才能保證安全性,但是安裝兩個(gè)glassfish又不太可能,因?yàn)樗嫶罅?。另外做為一個(gè)工程發(fā)布也不太方便,每次都要將工程名改來改去,并且綁定的EJB在同一個(gè)域內(nèi)里是不能同名的。這樣的話,要改變的東西實(shí)在是太多了。
我們可有以第三種方法,那就是為glassfish添加另外的domain,一個(gè)domain跑我們的真實(shí)環(huán)境,一個(gè)domain跑我們的測(cè)試環(huán)境,因?yàn)槭峭粋€(gè)glassfish,所以也不會(huì)存在從測(cè)試到真實(shí)環(huán)境的移植問題。以后只要改一個(gè)domain就可以了。我們?cè)诎惭bglassfish的時(shí)候,它已經(jīng)默認(rèn)為我們安裝了一個(gè)domain,那就是domain1.
閱讀全文
摘要: 天下事有難易乎?為之,則難者亦易矣;不為,則易者亦難矣。人之為學(xué)有難易乎?學(xué)之,則難者亦易矣;不學(xué),則易者亦難矣。
吾資之昏,不逮人也;吾材之庸,不逮人也;旦旦而學(xué)之,久而不怠焉,迄乎成,而亦不知其昏與庸也。吾資之聰,倍人也;吾材之敏,倍人也;屏棄而不用,其與昏與庸無以異也。圣人之道,卒于魯也傳之。然則昏庸聰敏之用,豈有常哉!
蜀之鄙,有二僧:其一貧,其一富。貧者語于富者曰:"吾欲之南海,何如?"
富者曰:"子何恃而往?"
曰:"吾一瓶一缽足矣。"
富者曰:"吾數(shù)年來欲買舟而下,猶未能也,子何恃而往!"
越明年,貧者自南海還,以告富者 。富者有慚色。
西蜀之去南海,不知幾千里也,僧富者不能至而貧者至焉,人之立志,顧不如蜀鄙之僧哉? 是故聰與敏,可恃而不可恃也;自恃其聰與敏而不學(xué)者,自敗者也 。昏與庸,可限而不可限也;不自限其昏與庸而力學(xué)不倦者,自力者也。
閱讀全文
摘要: 今天使用glassfish部署一個(gè)EJB的應(yīng)用,這個(gè)EJB又引用到了第三方庫,并且第三方庫又使用了本地方法,需要導(dǎo)入兩個(gè)DLL動(dòng)態(tài)鏈接庫.反反復(fù)復(fù)部署了很久,終于還是部署成功了.
閱讀全文
摘要: 在寫J2ME程序的時(shí)候,我們一般都希望在真機(jī)運(yùn)行的時(shí)候能有一些調(diào)試信息,一般在模擬器上運(yùn)行的話,可以通過System.out.println來輸出一些信息,但是在真機(jī)上運(yùn)行的話,就看不到了,因?yàn)槭謾C(jī)沒有控制臺(tái)啊.那時(shí)候如果想確認(rèn)一些代碼的執(zhí)行情況,經(jīng)常會(huì)用Alert彈出對(duì)話框的形式來實(shí)現(xiàn),但是它也有一個(gè)不好的地方,那就是當(dāng)有多個(gè)Alert的時(shí)候,后面的Alert會(huì)把前面的Alert給覆蓋掉.后來想,能不能以日志的形式保存起來呢,然后再查看日志呢.參考了LWUIT的框架的LOG,好像它現(xiàn)在的源碼還下載不到,只是查看了它的API,覺得用一個(gè)管理類通過靜態(tài)方法統(tǒng)一來管理 LOG是很好的一種方法,并且還支持自定義的LOG記錄器以及自定義的log顯示器.
閱讀全文
摘要: 在JAVAME開發(fā)的時(shí)候,可能會(huì)需要瀏覽手機(jī)的文件目錄,但是又沒有和JAVASE里面的JFileChooser一樣的組件可以用,只有自己寫一個(gè)了,在寫的過程中,發(fā)現(xiàn)了一些問題,在此與大家分享一下.
閱讀全文
摘要: 1.1.3更新[2008-07-28]
1,完全去除了其它的搜索部分,因?yàn)橛行┚W(wǎng)頁格式經(jīng)常會(huì)變動(dòng),所以一段時(shí)間以后可能又搜不到歌詞了,現(xiàn)在搜索歌詞用的是百度的filetype:lrc 歌曲名-歌手名 的方式進(jìn)行搜索.
2,更新了在線搜索歌詞的時(shí)候,只能下載一首的情況,以前點(diǎn)了下載之后,整個(gè)界面就不可用了,要重新輸入歌曲信息才可用,現(xiàn)在已經(jīng)不做限制了.
3,修補(bǔ)了當(dāng)以前下載并匹配的歌詞文件不見的時(shí)候,會(huì)出現(xiàn)既不下載新的歌詞也不提示出錯(cuò),現(xiàn)在當(dāng)以前的歌詞文件不存在時(shí),會(huì)自動(dòng)上網(wǎng)搜索新的歌詞.
閱讀全文
摘要: 在軟件的“關(guān)于”窗口中,我們常會(huì)看見軟件的版本號(hào)后有一些由英文和數(shù)字組成的后綴,這就是軟件的版本標(biāo)志。了解這些標(biāo)志,可以使我們?cè)谙螺d時(shí)對(duì)軟件的類型有個(gè)大致的了解。
閱讀全文
摘要: 昨天XP自動(dòng)更新,提示的時(shí)候,我不經(jīng)意間看到了有一項(xiàng)更新是有關(guān)時(shí)區(qū)的更新,當(dāng)時(shí)也沒管什么,因?yàn)閃INXP的自動(dòng)更新總不會(huì)給電腦帶來什么危害吧,誰知道,過了一段時(shí)間,正好我的程序要獲取電腦的時(shí)候,卻整整比我電腦上顯示的時(shí)候少了八個(gè)小時(shí).
閱讀全文
摘要: 本文主要談一下密碼學(xué)中的加密和數(shù)字簽名,以及其在java中如何進(jìn)行使用。對(duì)密碼學(xué)有興趣的伙伴,推薦看Bruce Schneier的著作:Applied Crypotography。在jdk1.5的發(fā)行版本中安全性方面有了很大的改進(jìn),也提供了對(duì)RSA算法的直接支持,現(xiàn)在我們從實(shí)例入手解決問題(本文僅是作為簡(jiǎn)單介紹):
閱讀全文
摘要: 上一篇大概說了一下WEB工程里面要添加的配置文件以及要引用到的庫文件,現(xiàn)在來對(duì)EJB工程進(jìn)行一些改造,讓它可以成為SEAM工程的一部份.
閱讀全文
摘要: Seam是一個(gè)挺不錯(cuò)的框架,但是用netbeans來開發(fā)它,卻有點(diǎn)難度,因?yàn)槟壳皀etbeans沒有seam插件,不像eclipse有jboss 提供的官方插件,但是插件是死的,人是活的,它要能跑起起來,一定有它的配置,下面我們就用netbeans做為IDE來開發(fā)一個(gè)seam的應(yīng)用.
閱讀全文
摘要: 美國中央情報(bào)局一直是推行對(duì)華戰(zhàn)略的急先鋒。早在1951年,在中央情報(bào)局的極其機(jī)密的“行事手冊(cè)”中,就詳細(xì)撰寫了對(duì)華戰(zhàn)略的一系列條目,以后隨著中美關(guān)系的不斷變化,而不斷修改,至今形成十條,號(hào)稱“十條誡令”。其內(nèi)容如下:
閱讀全文
摘要: Java 和C 依然占據(jù)榜首一二名的位置,不過C 的指數(shù)同比去年略有下降。(Visual) Basic上升到第3名,C++ 下降到第5名,Ruby 和Delphi 則保持繼續(xù)上升的良好態(tài)勢(shì)。詳情見下圖:
閱讀全文
摘要: 1.1.2更新[2008-04-03]
1,更改了精品網(wǎng)頁的歌詞搜索部分,因?yàn)榫肪W(wǎng)頁的內(nèi)容發(fā)生了改變,如果不更改對(duì)應(yīng)的搜索方式的話
將不能從精品網(wǎng)頁上查詢到歌詞,無論怎么樣,都對(duì)精品網(wǎng)頁表示感謝,它的網(wǎng)址是:http://www.jpwy.net/gc
2,修正了程序在某些LINUX版本上的系統(tǒng)上打開會(huì)拋出異常而影響程序使用的BUG.
3,在歌詞秀窗口去掉了作者的名字:),此前的不便,望各位用戶原諒.
4,在使用過程中,有任何的建議,可以加作者的QQ:24325142,注明yoyoplayer,或者
登錄http://www.aygfsteel.com/hadeslee上留言,此博客為作者的博客,再此感謝大家對(duì)yoyoplayer的支持.
閱讀全文
摘要: 歌曲介紹:
這首歌我清楚得記得是寫于我大三暑假的時(shí)候,那天晚上正好在下雨,聽著外面的雨聲,想著自己那段時(shí)間經(jīng)歷過的一些事情,在酒吧唱歌的辛苦,人情的一些不如意,混在一起就變成了這首歌,并且詞曲也是同時(shí)寫好的,記得那時(shí)坐在房間里,抱著一把電吉他,一個(gè)BOSS效果器,彈著彈著,竟不時(shí)有淚涌出來......
閱讀全文
摘要: 歌曲介紹:
確切的說,這首歌是完全的一首詞而已,我寫歌有時(shí)候挺奇怪的,有時(shí)候?qū)懗鲈~后立馬就能把曲譜出來,有時(shí)候一首詞當(dāng)時(shí)寫完后,由于種種原因,當(dāng)時(shí)的心境就淡漠了,以后可能就很難找到當(dāng)時(shí)的那種感覺了,所以曲就一直留到現(xiàn)在都沒有寫.其實(shí)做人何嘗不是如此呢,有時(shí)候我們年輕時(shí)認(rèn)為天大的問題,但當(dāng)我們慢慢長(zhǎng)大之后,以我們現(xiàn)在的心態(tài)去分析當(dāng)時(shí)的問題,也會(huì)覺得,如此而已......
閱讀全文
摘要: 因?yàn)楣ぷ餍枰?要架設(shè)一個(gè)Subversion和Apache一起工作的源碼管理器.以便協(xié)同工作.于是網(wǎng)上找了一些資料,在找資料的過程中,也走了一些彎路,于是自己整理了一下安裝的過程和一些注意的事項(xiàng),希望能對(duì)大家有些幫助.
閱讀全文
摘要: 加上上一次NetBeans IDE 5.5獲此殊榮,NetBeans IDE已經(jīng)連續(xù)兩次獲得Jolt“最佳開發(fā)環(huán)境”大獎(jiǎng)。
閱讀全文
摘要: 注: TIOBE 世界編程語言排行榜展現(xiàn)了編程語言的流行趨勢(shì)。每個(gè)月,都有最新的數(shù)據(jù)被更新。這份排行榜的數(shù)據(jù)取樣來源于互聯(lián)網(wǎng)上富有經(jīng)驗(yàn)的程序員、商業(yè)應(yīng)用、著名的搜索引擎(諸如谷歌、 MSN 、雅虎)的關(guān)鍵字排名、 Alexa 上的排名等。請(qǐng)注意這個(gè)排行榜只是反映了某個(gè)編程語言的熱門程度 ,這并不代表它是一個(gè)最好的編程語言或是可以寫出某些令人稱贊的好程序。
閱讀全文
摘要: 歌曲介紹:
這首歌是寫于大三的時(shí)候,是寫給我的女朋友的,和她在一起,我們經(jīng)歷了很多,一起歷盡了艱辛,在我很潦倒的時(shí)候,對(duì)我不離不棄,很感謝她在我的生命中給了我一段如此難忘的時(shí)光.
閱讀全文
摘要: 歌曲介紹:
這首歌是我真正意義上的第一首歌.要從大二剛開始的時(shí)候說起,那個(gè)時(shí)候我是校記者團(tuán)的工作人員,那個(gè)時(shí)候正好是新生在軍訓(xùn),我們記者團(tuán)正好也要招新,我負(fù)責(zé)那幾天的招新,這時(shí),有一個(gè)女孩來報(bào)名記者團(tuán),她有銀鈴般的聲音,當(dāng)時(shí)就對(duì)她產(chǎn)生了些許好感.后來,做為吉他協(xié)會(huì)的會(huì)長(zhǎng)的我,也要忙著自己協(xié)會(huì)的招新,她也來報(bào)名了,呵呵,也許這就是緣吧,后來才知道她就是和我一個(gè)學(xué)院的,并且和我一個(gè)專業(yè),都是學(xué)化工的.以后我經(jīng)常我教她彈吉他,我們一起去校音樂室唱歌.那年冬天,我為她寫下了這首歌,第一時(shí)間彈給她聽,后來這首歌編曲成樂隊(duì)版本,那段時(shí)間經(jīng)常演出這首歌曲....
驀然回首,六年過去,往事不勝唏噓,如今的她,又在哪里呢,希望她能過得很好
閱讀全文
摘要: 歌曲介紹:
這首歌是我昨天翻我的寫歌本時(shí),偶然發(fā)現(xiàn)的,我也不太確卻這首歌寫于何時(shí),現(xiàn)在想來大概是讀大二的時(shí)候吧,因?yàn)橐恢睕]有發(fā)現(xiàn)這首歌(或者說沒有重視這首歌),所以它一直都沒有曲,也就是一首歌詞而已.當(dāng)時(shí)的心境我可能已經(jīng)不太記得了,還好,這首歌如今還靜靜地躺在我的歌本里.....
閱讀全文
摘要: 歌曲介紹:
這首歌是寫于我大學(xué)畢業(yè)的時(shí)候,回首我的大學(xué)四年生活,有感而發(fā)的,臨近畢業(yè)的時(shí)候,看著同學(xué)們考研的考研,找到工作的找到了工作,而我第一次發(fā)現(xiàn)我的未來竟是如此的迷茫,一時(shí)間,竟然不知道我該做什么,就這樣,我糊里糊涂的就大學(xué)畢業(yè)了,然后因?yàn)楸緦I(yè)一直都不喜歡,可是除了會(huì)彈吉他我竟什么都不會(huì),那時(shí)候才發(fā)現(xiàn)自己是多么的無助,于是只能選擇跑業(yè)務(wù)的工作,一跑就是一年多,后來自學(xué)編程,然后就走上了程序員之路...
閱讀全文
摘要: 歌曲介紹
這首歌是寫于2003年春天,那年為了參加冰力先鋒的比賽而寫的一首歌曲,后來在我們學(xué)校的演出中,也經(jīng)常唱過此歌.我記得最初的成型是住在慧苑的6棟的時(shí)候,我和我的朋友半夜跑到樓頂,拿把吉他,就這樣彈出來了,歌詞也幾經(jīng)修改,主要是為了配曲而修改的,因?yàn)殇浺粼O(shè)備不太好,效果還得改進(jìn)...
閱讀全文
摘要: 歌名:不再遙遠(yuǎn)
歌曲介紹:
這首歌記得是寫于2003年的暑假,那一年因?yàn)閰⒓颖ο蠕h的樂隊(duì)選拔賽,將要于7月底參加在武漢的華中區(qū)總決賽,那幾天,天天排練,記得那時(shí)天氣真的很熱,我們樂隊(duì)的朋友一起度過了那一段難忘的時(shí)光,并且那個(gè)時(shí)候我們也很落魄,窮得連飯都沒有吃,只能買綠豆熬湯喝,現(xiàn)在想起當(dāng)時(shí)的那段時(shí)光,忽然會(huì)覺得很溫暖....
這首歌是一首反戰(zhàn)的歌曲,不是為了什么,也不是為了什么大流,而是發(fā)自內(nèi)心的一種感覺寫出了這首歌,這首歌的旋律,是我自己的作品中自己比較喜歡的一首...
閱讀全文
摘要: 前幾天通過了,于是把代碼通過svn上傳到了sf的項(xiàng)目下,大家可以通過如下網(wǎng)址訪問yoyoplayer的項(xiàng)目:
http://sourceforge.net/projects/yoyoplayer
SVN的地址是:https://yoyoplayer.svn.sourceforge.net/svnroot/yoyoplayer
大家可以通過subversion簽出代碼,也可以在項(xiàng)目頁下面下載代碼,也歡迎大家參與到項(xiàng)目中來.有需要參與的朋友請(qǐng)留下你們?cè)趕f上面的ID,以及自己要做的方面.
閱讀全文
摘要: 在YOYOPlayer的設(shè)置里面,開始每個(gè)單獨(dú)的設(shè)置用的是JtabbedPane來分隔,后來覺得不太好看,于是就模仿千千靜聽的設(shè)置一樣,做了一個(gè)ListBar的效果,把所有設(shè)置選項(xiàng)的標(biāo)頭放在左邊,并加了一些效果,這樣看上去更漂亮一些,呵呵.
閱讀全文
摘要: 在做了歌詞同步顯示以后,還必須得做歌詞搜索的動(dòng)作,搜索分兩種,一種是在搜索本地的特定目錄,當(dāng)然這些目錄是可以設(shè)置的,還有一種是當(dāng)本地搜索不到的時(shí)候,再到網(wǎng)絡(luò)上去進(jìn)行進(jìn)一步的搜索,當(dāng)然這些搜索都是起了一個(gè)新的線程在做的,否則就會(huì)卡到主線程播不出音樂來了.
說到歌詞的搜索,就得說說什么樣的歌詞才叫匹配了呢,這個(gè)時(shí)候,就得提起前面寫的標(biāo)簽讀取器了,第一步是從音頻文件里面讀取標(biāo)簽,根據(jù)標(biāo)簽里的歌手名和歌曲名去本地搜索完全匹配的歌詞文件,如果沒有,則第二步,根據(jù)標(biāo)簽里面的歌曲名去本地搜索匹配的歌詞文件,如果這一步還沒有找到,就可能是確實(shí)沒有這首歌的歌詞,也可能是這首歌的標(biāo)簽是不合法的或者標(biāo)簽是錯(cuò)的,第三步就取歌曲的文件名做為歌曲名再去搜索一遍,如果還沒有搜到,則說明本地沒有了,這個(gè)時(shí)候再去網(wǎng)絡(luò)上重復(fù)以上三個(gè)步驟,如果還沒有搜索,那就直接顯示歌詞名在歌詞面板了.
閱讀全文
摘要: 相信是男人系列的游戲大家都很熟悉,于是我把它移植到手機(jī)上來了,堅(jiān)持20秒的游戲做得差不多了,但是下100層的還有些細(xì)節(jié)沒有處理好,其實(shí)用JAVA寫手機(jī)游戲還是挺方便的,這得益于JAVA優(yōu)秀的架構(gòu)和實(shí)現(xiàn),雖然不同的手機(jī)型號(hào)表現(xiàn)可能會(huì)不太一樣,但是只要不用到專用的API或者用底層的畫圖,一般來說移植是沒有問題 ,本游戲用到了midp2.0里面的game包,因?yàn)橛盟鼇斫M織精靈以及圖層非常方便中,可以抽象出許多的東西.本游戲是在MOTO E680G上測(cè)試通過,規(guī)范是MIDP2.0以及CLDC1.1
閱讀全文
摘要: 在最開始寫netbeans插件的時(shí)候,就已經(jīng)開始在想如何實(shí)現(xiàn)同步的歌詞顯示,并且當(dāng)時(shí)也差不多實(shí)現(xiàn)了大概的框架,所以YOYOPlayer的歌詞顯示模塊基本上和netbeans插件的歌詞顯示模塊是一樣的,只不過一些細(xì)節(jié)做了一些改進(jìn),比如每行歌詞的漸入漸出,以后單行歌詞實(shí)現(xiàn)的卡拉OK效果等等,并把一些設(shè)置集成到了整個(gè)YOYOPlayer的設(shè)置里面去了.
閱讀全文
摘要: 在寫netbeans的音樂插件的時(shí)候,為了讀取ID3v1標(biāo)簽,曾經(jīng)寫了一個(gè)ID3v1格式的標(biāo)簽讀寫器,但是ID3v1格式的擴(kuò)展性卻不太好,這個(gè)時(shí)候APEv2格式就很適合了,首先它的編碼是很標(biāo)準(zhǔn),都是統(tǒng)一UTF-8編碼,不會(huì)出現(xiàn)亂碼的問題,其次它的擴(kuò)展性很好,并不像ID3v1一樣限制128個(gè)字節(jié).但是找了很多都沒有找到APEv2的標(biāo)簽讀寫器,沒辦法,只能自己動(dòng)手寫了,在寫之前必須了解APEv2格式標(biāo)簽的文件結(jié)構(gòu),具體的文件結(jié)構(gòu)可以參見http://wiki.hydrogenaudio.org/index.php?title=APEv2_specification,剛看到這個(gè)網(wǎng)頁的時(shí)候,看得云里霧里的,看了好久才明白它的結(jié)構(gòu).
閱讀全文
摘要: 在剛開始編碼的時(shí)候,不知道從何下手,由于寫YOYOPlayer之前用JMF寫過一個(gè)類似的播放器,但是由于要安裝JMF并且還需要另外安裝MP3 plugin,總體來說不太方便,并且JMF的項(xiàng)目也是Sun的一個(gè)已經(jīng)停止維護(hù)的項(xiàng)目了,并且用JMF有一個(gè)非常不好的地方,那就是經(jīng)常會(huì)在播放的時(shí)候crack掉,我以前用JMF寫的netbeans音樂插件就會(huì)出現(xiàn)這種問題,有時(shí)候音樂播得好好的,就突然netbeans退出了,基于這些考慮,所以放棄了使用JMF做為音樂播放框架的想法.
閱讀全文
摘要: 從最初的一無所有,到后來的豐富,都是一個(gè)過程,也許有些人能經(jīng)歷這些過程,有些人經(jīng)歷不了這過程,但是我們都可以體會(huì)這個(gè)過程.在寫YOYOPlayer 的一個(gè)多月的時(shí)間里,經(jīng)歷過的事情,寫下來算是一個(gè)紀(jì)念吧.也不至于自己在多年以后的某天回首往事的時(shí)候會(huì)恍然若失.
閱讀全文
摘要: YOYOPlayer1.0版推出之后,得到了一些朋友的認(rèn)可和反饋,經(jīng)過這段時(shí)間的修改,現(xiàn)在推出YOYOPlayer1.1版.相對(duì)于1.0版,改進(jìn)的地方如下:
閱讀全文
摘要: 從最初的寫第一個(gè)簡(jiǎn)單的Netbeans音樂插件,到現(xiàn)在的YOYOPlayer,中間經(jīng)歷了一些時(shí)間.感謝我的女朋友對(duì)我的幫助,所以此播放器取名為 YOYOPlayer,因?yàn)閅OYO是她的名字,這個(gè)播放器的所有界面的圖片也都是她做的.她剛剛學(xué)會(huì)PS,所以界面方面可能還不太完美,但至少也是一個(gè)嘗試了,歡迎大家試用,并提出寶貴意見.
YOYOPlayer的主要用處還是在linux下的使用,雖然我大部份時(shí)間是在windows下面編寫的,因?yàn)閃INDOWS下的音樂播放軟件已經(jīng)很完美了,只不過用JAVA寫的比較少而已,并且這個(gè)版本是完全的JAVA的版本,只要電腦裝了JAVA就可以跑了,不需要再另外下載JMF的框架了,因?yàn)闆]有用到JMF里面的東西.在LINUX下面播放器好像都不太好用,特別是播放音樂的,要么就會(huì)出現(xiàn)亂碼的問題,要么就會(huì)沒有歌詞同步的功能,而 YOYOPlayer經(jīng)過我在ubuntu7.10下面的初步測(cè)試,并沒有發(fā)現(xiàn)亂碼問題,因?yàn)槲夷J(rèn)是使用GBK的編碼讀取標(biāo)簽的,而LINUX默認(rèn)的編碼是UTF-8.
閱讀全文
摘要: 從最初寫Netbeans的音樂插件,到現(xiàn)在寫成JAVA的一個(gè)簡(jiǎn)單的音樂播放器,是在使用了插件版的之后,為了更方便與大家分享再寫的,因?yàn)楫吘共皇敲總€(gè)人都在用NB,雖然我個(gè)人很希望大家都用NB做為JAVA IDE,呵呵.運(yùn)行截圖如下:
閱讀全文
摘要: 經(jīng)過長(zhǎng)達(dá)半年多的等待,Netbeans6.0終于正式發(fā)布了.太高興了
今天一直在刷新Netbeans的官方網(wǎng)站,首頁現(xiàn)在也變了,首推6.0的下載了
大家趕快去試用吧.下載地址是:
http://dlc.sun.com.edgesuite.net/netbeans/6.0/final/bundles/netbeans-6.0-windows.exe
閱讀全文
摘要: 前幾天寫了一個(gè)NB的音樂插件,后來想增加一些功能,比如同步顯示歌詞,最好能自動(dòng)搜索歌詞:),經(jīng)過這幾天的修修改改,終于可以初步實(shí)現(xiàn)這些功能了。
目前能實(shí)現(xiàn)的功能有:
1,自動(dòng)保存當(dāng)前配置。
2,同步顯示歌詞功能。
3,ID3V1標(biāo)簽編輯。
4,歌曲進(jìn)度。
5,校正歌詞進(jìn)度。
6,拖放。
閱讀全文
摘要: 前幾天寫了一個(gè)NB的音樂插件,自己用了一下,還是挺方便的,后來想想,如果能把歌詞也顯示出來那就更好了。呵呵,怎么辦呢,只有自己寫了,在顯示歌詞之前,必須要知道目前正在播放的MP3是什么內(nèi)容啊,一點(diǎn)可以從文件名得到一些信息,還有一點(diǎn)就是從MP3文件里面得到這個(gè)MP3的信息,我這里實(shí)現(xiàn)的 ID3V1的格式標(biāo)簽,APEV2也想實(shí)現(xiàn),無奈找不到相關(guān)的資料,不知道APEV2的數(shù)據(jù)結(jié)構(gòu)是怎么樣的,所以也無從分析。目前已經(jīng)寫完了ID3V1格式標(biāo)簽的讀取和寫入。并且NB的音樂插件也實(shí)現(xiàn)了本地歌詞的搜索,先把ID3V1的文件結(jié)構(gòu)的類文件帖一下,大家一起分享。
閱讀全文
摘要: 在寫程序的時(shí)候,有時(shí)候需要靜下心來,如果環(huán)境比較嘈雜的話,就可以聽聽歌了,由于一直以來都是用netbeans寫程序的,而NB又可以開發(fā)插件,于是就想到在NB上開發(fā)一個(gè)播放音樂的插件,那豈不是更好,一打開NB就可以聽音樂了,也不用打開別的什么播放器了,并且即使老板看到也無所謂,我只是打開了一個(gè)IDE在那里寫程序而已.好了,先帖截圖來看一看吧:
閱讀全文
摘要: 一、驗(yàn)證類
1、數(shù)字驗(yàn)證內(nèi)
1.1 整數(shù)
1.2 大于0的整數(shù) (用于傳來的ID的驗(yàn)證)
1.3 負(fù)整數(shù)的驗(yàn)證
1.4 整數(shù)不能大于iMax
1.5 整數(shù)不能小于iMin
2、時(shí)間類
2.1 短時(shí)間,形如 (13:04:06)
2.2 短日期,形如 (2003-12-05)
2.3 長(zhǎng)時(shí)間,形如 (2003-12-05 13:04:06)
2.4 只有年和月。形如(2003-05,或者2003-5)
2.5 只有小時(shí)和分鐘,形如(12:03)
3、表單類
3.1 所有的表單的值都不能為空
3.2 多行文本框的值不能為空。
3.3 多行文本框的值不能超過sMaxStrleng
3.4 多行文本框的值不能少于sMixStrleng
3.5 判斷單選框是否選擇。
3.6 判斷復(fù)選框是否選擇.
3.7 復(fù)選框的全選,多選,全不選,反選
3.8 文件上傳過程中判斷文件類型
4、字符類
4.1 判斷字符全部由a-Z或
閱讀全文
摘要: 大家趕快去下載試用吧。期待12月3日的正式版的發(fā)布。。。
RC2的下載地址是:
http://dlc.sun.com.edgesuite.net/netbeans/6.0/rc2/bundles/netbeans-6.0rc2-windows.exe
閱讀全文
摘要: 在網(wǎng)頁里面,我們經(jīng)常要用到一些比較小而實(shí)用的效果,下面就收集了一些大家都喜歡用的一些效果
閱讀全文
摘要: Java SE 6 引入了對(duì) Java Specification Request(JSR)223 的支持,JSR 223 旨在定義一個(gè)統(tǒng)一的規(guī)范,使得 Java 應(yīng)用程序可以通過一套固定的接口與各種腳本引擎交互,從而達(dá)到在 Java 平臺(tái)上調(diào)用各種腳本語言的目的。javax.script 包定義了這些接口,即 Java 腳本編程 API。Java 腳本 API 的目標(biāo)與 Apache 項(xiàng)目 Bean Script Framework(BSF)類似,通過它 Java 應(yīng)用程序就能通過虛擬機(jī)調(diào)用各種腳本,同時(shí),腳本語言也能訪問應(yīng)用程序中的 Java 對(duì)象和方法。Java 腳本 API 是連通 Java 平臺(tái)和腳本語言的橋梁。首先,通過它為數(shù)眾多的現(xiàn)有 Java 庫就能被各種腳本語言所利用,節(jié)省了開發(fā)成本縮短了開發(fā)周期;其次,可以把一些復(fù)雜異變的業(yè)務(wù)邏輯交給腳本語言處理,這又大大提高了開發(fā)效率。
閱讀全文
摘要: Java SE 6 做為一個(gè)開發(fā)平臺(tái),針對(duì)不同的應(yīng)用開發(fā)需求,提供了各種各樣的技術(shù)框架。XML 處理框架是 JDK 6 的重要組成部分之一。它為應(yīng)用程序開發(fā)人員提供了一個(gè)統(tǒng)一的 XML 處理 API。這種框架結(jié)構(gòu)有兩個(gè)作用:一方面,開發(fā)人員透過這些框架,可以透明的替換不同廠商提供的 XML 處理服務(wù);另一方面,服務(wù)提供商可以透過這些框架,將自己的產(chǎn)品插入到 JDK 中。這種框架一般被稱為 Service Provider 機(jī)制。Java SE 6 的 XML 處理功能分為兩個(gè)部分:XML 處理(JAXP)和 XML 綁定(JAXB)。在 XML 處理框架之上,Java SE 6 結(jié)合了注釋(Annotation)技術(shù),提供了強(qiáng)大的針對(duì) Web 服務(wù)的支持。
本文首先介紹 Service Provider 機(jī)制及其在 XML 框架中的應(yīng)用。然后介紹 Java SE 6 中 XML 框架的功能,包括 SAX,StAX,DOM 三種機(jī)制。最后介紹在此基礎(chǔ)之上構(gòu)建 Web 服務(wù)的技術(shù)。JAXB 和 Web 服務(wù)的開發(fā)關(guān)系緊密,故 JAXB 的介紹也放在 Web 服務(wù)部分介紹。
閱讀全文
摘要: 長(zhǎng)久以來,由于大量(甚至幾乎所有)的 Java 應(yīng)用都依賴于數(shù)據(jù)庫,如何使用 Java 語言高效、可靠、簡(jiǎn)潔地訪問數(shù)據(jù)庫一直是程序員們津津樂道的話題。新發(fā)布的 Java SE 6 也在這方面更上層樓,為編程人員提供了許多好用的新特性。其中最顯著的,莫過于 Java SE 6 擁有了一個(gè)內(nèi)嵌的 100% 用 Java 語言編寫的數(shù)據(jù)庫系統(tǒng)。并且,Java 6 開始支持 JDBC 4.0 的一系列新功能和屬性。這樣,Java SE 在對(duì)持久數(shù)據(jù)的訪問上就顯得更為易用和強(qiáng)大了。
閱讀全文
摘要: 在寫程序的過程中,有些時(shí)候需要對(duì)一些數(shù)據(jù)進(jìn)行加密或者編碼,下面就是一些JS編碼和加密的整理
閱讀全文
摘要: 今天上NB的官方網(wǎng)站首頁已經(jīng)看到正式的RC1版已經(jīng)出來了,終于盼到了,希望盡快能看到正式版的出現(xiàn)
下載地址如下:
http://dlc.sun.com.edgesuite.net/netbeans/6.0/rc1/bundles/netbeans-6.0rc1-windows.exe
大家趕快去體驗(yàn)吧
閱讀全文
摘要: 新 API 功能簡(jiǎn)介
JDK 6 提供了在運(yùn)行時(shí)調(diào)用編譯器的 API,后面我們將假設(shè)把此 API 應(yīng)用在 JSP 技術(shù)中。在傳統(tǒng)的 JSP 技術(shù)中,服務(wù)器處理 JSP 通常需要進(jìn)行下面 6 個(gè)步驟:
1. 分析 JSP 代碼;
2. 生成 Java 代碼;
3. 將 Java 代碼寫入存儲(chǔ)器;
4. 啟動(dòng)另外一個(gè)進(jìn)程并運(yùn)行編譯器編譯 Java 代碼;
5. 將類文件寫入存儲(chǔ)器;
6. 服務(wù)器讀入類文件并運(yùn)行;
閱讀全文
摘要: 前言
在 Java 程序的運(yùn)行過程中,對(duì) JVM 和系統(tǒng)的監(jiān)測(cè)一直是 Java 開發(fā)人員在開發(fā)過程所需要的。一直以來,Java 開發(fā)人員必須通過一些底層的 JVM API,比如 JVMPI 和 JVMTI 等,才能監(jiān)測(cè) Java 程序運(yùn)行過程中的 JVM 和系統(tǒng)的一系列情況,這種方式一直以來被人所詬病,因?yàn)檫@需要大量的 C 程序和 JNI 調(diào)用,開發(fā)效率十分低下。于是出現(xiàn)了各種不同的專門做資源管理的程序包。為了解決這個(gè)問題,Sun 公司也在其 Java SE 5 版本中,正式提出了 Java 管理擴(kuò)展(Java Management Extensions,JMX)用來管理檢測(cè) Java 程序(同時(shí) JMX 也在 J2EE 1.4 中被發(fā)布)。
JMX 的提出,讓 JDK 中開發(fā)自檢測(cè)程序成為可能,也提供了大量輕量級(jí)的檢測(cè) JVM 和運(yùn)行中對(duì)象/線程的方式,從而提高了 Java 語言自己的管理監(jiān)測(cè)能力。
閱讀全文
摘要: 概述
Java 語言從誕生的那天起,就非常注重網(wǎng)絡(luò)編程方面的應(yīng)用。隨著互聯(lián)網(wǎng)應(yīng)用的飛速發(fā)展,Java 的基礎(chǔ)類庫也不斷地對(duì)網(wǎng)絡(luò)相關(guān)的 API 進(jìn)行加強(qiáng)和擴(kuò)展。在 Java SE 6 當(dāng)中,圍繞著 HTTP 協(xié)議出現(xiàn)了很多實(shí)用的新特性:NTLM 認(rèn)證提供了一種 Window 平臺(tái)下較為安全的認(rèn)證機(jī)制;JDK 當(dāng)中提供了一個(gè)輕量級(jí)的 HTTP 服務(wù)器;提供了較為完善的 HTTP Cookie 管理功能;更為實(shí)用的 NetworkInterface;DNS 域名的國際化支持等等。
閱讀全文
摘要: Instrumentation 簡(jiǎn)介
利用 Java 代碼,即 java.lang.instrument 做動(dòng)態(tài) Instrumentation 是 Java SE 5 的新特性,它把 Java 的 instrument 功能從本地代碼中解放出來,使之可以用 Java 代碼的方式解決問題。使用 Instrumentation,開發(fā)者可以構(gòu)建一個(gè)獨(dú)立于應(yīng)用程序的代理程序(Agent),用來監(jiān)測(cè)和協(xié)助運(yùn)行在 JVM 上的程序,甚至能夠替換和修改某些類的定義。有了這樣的功能,開發(fā)者就可以實(shí)現(xiàn)更為靈活的運(yùn)行時(shí)虛擬機(jī)監(jiān)控和 Java 類操作了,這樣的特性實(shí)際上提供了一種虛擬機(jī)級(jí)別支持的 AOP 實(shí)現(xiàn)方式,使得開發(fā)者無需對(duì) JDK 做任何升級(jí)和改動(dòng),就可以實(shí)現(xiàn)某些 AOP 的功能了。
閱讀全文
摘要: 三個(gè)大類ClientView,ClientModel,ClientControl就講到這里.登錄窗口以及播放聲音的實(shí)現(xiàn),還有公共包面的一些共用類,以及枚舉的各種實(shí)現(xiàn),各位可以自行下載源代碼查看,歡迎大家參與討論。本工程是用NetBeans開發(fā)的,由于工程里面用了很多聲音以及圖片,所以工程比較大,有二十多M,所以上傳不了,有需要的朋友,可以在下面留言,我會(huì)用Email的形式發(fā)給大家.
閱讀全文
摘要: 下面我們?cè)賮砜纯碈lientControl類,這個(gè)類代碼量是最多的,這個(gè)類負(fù)責(zé)整體的游戲流程和游戲邏輯,由于寫這個(gè)游戲的時(shí)候并沒有很好的思考,所以代碼可能會(huì)比較亂:(,希望大家不要介意
閱讀全文
摘要: 下面我們?cè)賮砜纯碈lientModel類,這個(gè)類負(fù)責(zé)保存游戲中的一些數(shù)據(jù),這些數(shù)據(jù)可能需要Control類去更改然后需要由View類去呈現(xiàn)的,說白了,它就是一個(gè)包含有很多setter/getter的類.它的代碼如下:
閱讀全文
摘要: 3. 游戲的開發(fā)與編碼
在我們開發(fā)這個(gè)游戲之前,我們先講一個(gè)這個(gè)游戲的實(shí)現(xiàn)所采用的方法,那就是經(jīng)典的MVC模式,因?yàn)樵陂_發(fā)游戲的時(shí)候,結(jié)構(gòu)很重要,必須要理清楚每一塊負(fù)責(zé)什么,每一個(gè)類負(fù)責(zé)什么,而MVC模式正好就是解決這種問題的很好的方案,我們可以把游戲的運(yùn)行流程交由一個(gè)類去統(tǒng)一調(diào)度,游戲的呈現(xiàn)也就是繪圖用專門一個(gè)類去負(fù)責(zé),而繪圖所需的數(shù)據(jù)可以從一個(gè)模型類里面去取,控制的類負(fù)責(zé)更改模型里面的數(shù)據(jù)并調(diào)用視圖類去更新當(dāng)前的視頻,這樣整個(gè)游戲的流程就很清晰明了。所以我們?cè)O(shè)計(jì)了如下幾個(gè)類,它們之間互相交互,形成整個(gè)游戲的框架。
閱讀全文