1.C當然是基礎,在java下就可以編寫開發一些軟體,相對來說java下的程序適用的比較廣,可以在許多手機系統下使用。另外,塞班是目前比較成熟的一個手機系統,主要使用C作為集成化的開發環境,如果有興趣你可以去電驢上下些資料自學。
2.現在手機軟體最多的還是民間自製的,大都不是用於盈利的,實際盈利的軟體,最熱的恐怕是瀏覽器類的(如UCWEB)、殺毒安全類的(如網秦)、還有就是手機游戲了(主要是網游這塊比較來錢),而這類商業軟體的開發不會去找零散的程序員,項目相對也比較大,不是一個人可以勝任的。我的建議是你先自學,然後嘗試對一些民間軟體做漢化啊改進啊之類的工作,去一些國外論壇上移植國外的民間軟體也不錯,自己找項目這種事也不是徹底沒譜,不過是很困難的。最多可以在學校聯系下,如果有商家委託學校開發一個東西,你可以參與進去就是不錯了。
3.根據開發的程序不同時間上當然會差別很大,這個問題也毀扮意義不大,短時間依靠個人就可以開發出來的軟體會有多大的價值么?
4.這跟軟體本身的商業價值有關,也是個沒有辦法回答的問題。
你通過自己的知識賺錢的想法是對的,但是我覺得這個事情要麼你作為未來的從業方向去做,要麼作為平常的愛好來做,如果你選前者,那你更歲余培該用一些時間去鍛煉和學習,從低處著手,而不要老想著現在如何利用這個賺錢;如果你選後者,那你就是廣大的民間程序開發愛好者的一員,更不要乎唯去注重錢的事了。
除非你有好的創意,比如你發現一個有市場的軟體類型,那你可以拉一幫人一起開發出來,做出來以後或者自己運營或者賣給一些相關的企業,這樣就可以盈利。
其實手機軟體業也並不存在那麼多的特別,類比電腦軟體業,有很多相似的地方,像超級兔子這樣的名牌民間自製軟體從開發出來隔了多少年才能盈利的?這樣講你應該可以知道,作為民間自製軟體,無論是手機上的還是電腦上的,進入盈利模式的過程,都是很復雜艱難的。軟體本身有使用價值是不夠的,還要有盈利的能力,這不外乎通過廣告和收取使用費用這樣的手段,就這兩點,很多挺實用的軟體卻都滿足不了的
② 怎樣學習開發手機軟體
不如說有沒有不斷學習掌握新知識的心態和思想准備、體力准備更重要。給自己找准一個方向最重要。
從開發的角度上簡單的說手機軟體可以分成應用軟體、用戶界面、操作系統、底層與設備驅動以及通信協議等幾個方面。測試是手機軟體開發的另外一個重要領域,分為協議測試、白箱測試以及系統測試。
應用軟體包括游戲、WAP瀏覽器,Web瀏覽器、e-mail信箱管理器、MP3播放器、MPEG播放器、Flash播放器、日程管理、電子辭典、語音錄音、語音識別以及漢字輸入謹洞等改晌腔等。
用戶界麵包括待機界面、呼叫控制、MMS界面、短消息/EMS界面等等一切操作手機時所能夠看到的、聽到的和摸到的過程式控制制。開發用戶界面涉及到對GUI和通信過程的理解。
每個手機裡面都有一個嵌入式多任務操作系統,如Nucleus,AMX等等。這個系統不僅要管理好所有的任務,而且要提供糾錯環境。
底層部分包含語音編解碼、信令在無線介面上進行傳輸編解碼、數據編解碼等等內容。設備驅動指的是LCD驅動、Flash驅動、GPIO驅動、MIDI晶元驅動、通用串口驅動、USB驅動、電源管理單元驅動等等方面。
通信協議包含完成空中傳輸過程第2層、第3層協議、補充業務協議、數據傳輸協議、以及SIM/UIM協議等等。擴展一點,TCP/IP協議,WAP協議也可以歸在這一類。
除此以外最新的手機還支持Java等應用環境的整合。
可以看得出整個手機的軟體,涉及到一個巨大的知識系統。體現到代碼上,最簡單的手機,它的軟體系統至少也需要核衫40萬行代碼。一般的手機軟體的代碼規模,在100萬行左右。
一個軟體開發專業人員每年能夠生產得代碼量,在1萬行左右。
以上所說的每一個方面都涉及到一個龐大的知識系統,不是念完大學課程、甚至博士課程就馬上可以應付得了的。所以,重要的是選准一個自己最感興趣的領域,瞄準這個領域切入,苦幹3~5年,才能略有建樹。
值得一提的是,國內廠商十分緊缺的是測試專家,尤其是空中介面協議測試專家。
不管怎樣,手機軟體開發最低的入門條件是:
1.熟悉《數據結構》
2.熟悉多任務操作系統
3.精通C語言
4.略知通信協議,比如ISDN協議中呼叫建立和呼叫拆除過程。