android手機開發
⑴ android智能手機開發好嗎android系統如何
目前,我國的3G核心人才僅有不足萬人,而且基本上都被幾大運營商和設備廠商所掌握。廣大手持端設備製造商所急需的嵌入式開發人才、軟體開發商所緊缺的移動商務解決方案人才以及3G時代海量的內容開發商和提供商(SP/CP)所需的增值業務開發人才,基本上處於無處可尋的狀況。隨著各大電信運營商3G網路的大規模鋪設並投入運營,以及3G手機的普及,未來人才的需求量還將成倍增長,3G軟體人才將成為人才市場上的「搶手貨」。根據智聯招聘對市場的調查,2.5G環境下比較成熟的工程師年薪在10萬元左右,未來過渡到3G以後,其潛力將進一步被發掘。北京智聯易才人力資源顧問有限公司副總經理韓慶峰預測,3G人才的年薪至少在15至20萬元左右,相對IT其他行業來說,這一數值是非常具有誘惑力的。由於市場中3G人才的匱乏,第一批3G人才將具備非常強的市場競爭力。所以android的發展前景很好的。android軟體工程師在市場的需求很大的,所以現在很多人成快速成為android高級工程師,如何能做到呢?我有朋友是去中山大學軟體人才培訓中心參加了半年的就業培訓,然後出來成了軟體開發工程師了,這方面就業真的不錯,剛出來工資就很好,如果你對這方面有興趣的話,你也可以去中山大學軟體人才培訓中心了解下的,希望對你有幫助!
⑵ 在國內 Android 開發用什麼手機比較好
目前大多數三星手機開發者選項為默認隱藏狀態,激活方法:設置-關於手機-軟體信息-連續點擊版本號7次-返回設置菜單,即可顯示開發者選項。
如需關閉開發者選項:設置-開發者選項-滑動關閉。
⑶ android手機app應用開發,需要學習什麼語言需要什麼工具
1、學java
目前,Java語言在Android開發中占據絕對統治地位,所以開發Android的第一步就是學好Java,建議至少完整的看一本Java入門書籍,推薦:
Java語言程序設計 :入門書籍,分為《基礎篇》和《進階篇》。
Java編程思想 (第4版):從Java的基礎語法到最高級特性(深入的面向對象概念、多線程、自動項目構建、單元測試和調試等),更講述了java語言的前世今生,語言特性,設計理念等等,閱讀本書需要一定的java基礎,建議至少看完《Java語言程序設計-基礎篇》再看這本書。
2、學Android
第一行代碼 :郭霖大大編寫的Android入門書籍,推薦這本書的原因有兩個,一是郭霖大大的語言通俗易懂,二是這本書很新,是基於Android4.0的入門書籍,根據友盟指數的統計,Android4.0以下的設備已不足10%,所以,現在入門,拋棄那些仍舊停留在Android2.x的入門書籍吧。AndroidDevTools:從開發工具到入門教程,從代碼規范到版本控制工具,一切與android相關的都在這個網站上,Android入門請參考該網站的 Android Dev Tutorials 模塊,這個網站的github地址是inferjay/AndroidDevTools · GitHub,如果有什麼補充的可以push。
Android學習之路:stormzhang大大編寫的Android入門文章,對於有一定java基礎的人來說,Android入門有這一篇文章就足夠了。(該文章同樣被收錄在AndroidDevTools中)
郭霖的專欄:郭霖大大CSDN專欄。
stormzhang.com 的頁面:stormzhang大大的個人博客。
3、遇到問題怎麼辦
Google:用google搜出來的結果比網路質量高。至於如何不翻·牆就使用google請自行知乎,但是作為一個Android開發者,早晚要學會翻牆。
博客園 - 開發者的網上家園
博客頻道 - CSDN.NET
Stack Overflow:國外的開發者問答社區,無需翻牆。
GitHub · Build software better, together.:國外的代碼託管平台,這里有很多Java/Android開源項目,無需翻牆。
注意:遇到問題一定要搞清楚問題出現的原因,建議花點時間仔細閱讀一篇講解詳細的博文,而不是直接復制別人貼出來的代碼,直接套用別人發的解決方案。
⑷ 如何使用android手機開發android
把手機的USB調試打勾,系統設置->應用程序->開發->USB調試,然後用數據線把手機連接電腦。下載一個QQ手機應用助手。Eclipse中點擊項目然後右鍵選擇Run As 然後選最後一個,然後選擇你自己的手機就運行就可以了。
⑸ 做Android 開發怎麼選擇手機
做Android開發選擇手機時,主要從原生性、版本號、屏幕適配三方面考慮。
1. 原生性
原生Android系統是指Google公司發布,沒有經過第三方修改的安卓系統。由於Android是開源系統,所以,有的廠商在引入時,會修改其框架層的源碼以適應當地的市場或者定製自己的專屬功能。顯然,經第三方修改過的安卓系統,不再保證原生安卓的普適性,所以在開發時,可能會出現一些未知的BUG。因而,有條件的情況下,建議盡量選擇谷歌Nexus系列的手機(設備)進行初期版本的開發測試,以保證最大的兼容性。
2. 版本號
Android版本號是不同時期發布的的Android系統版本編號,對用戶而言,它限制了Android的功能特性,對開發者而言,它限制了Android編程介面的種類和數量。由於安卓版本號眾多(截止2016年9月,最新的Android正式版本是7.0),各地區的迭代周期不一,導致搭載不同Android版本的設備分布很不均勻,這就是安卓版本的「碎片化」。
不過,Android各版本之間並不是完全獨立,而是向後兼容的,也就是說,保證低版本的特性在高版本上也能實現,但是不保證高版本的特性可以在低版本上展示。因而,開發者選擇的測試設備搭載的Android版本越低,其開發的應用兼容性就越強。可是實際開發中,不能單一考慮兼容性,還要考慮市場因素。兼容太低版本的設備會極大地限制Android新特性的體現,降低趣味性與互動性,而且還會增加維護成本。
如下圖是谷歌對Android版本號的分布統計圖(截止到2016年5月),可以看到,低於Android 4.0版本號的設備市場佔有率已經少於3%,所以,建議Android開發者在選擇手機時最低兼容到4.0就可以了。
最後,在Android開發中,初期的測試建議在Android模擬器上完成,它可以提供比手機等真實設備更廣泛的特性定製。在產品逐漸成熟並計劃投放到市場時,再參考以上因素,選擇有代表性的手機或其它安卓設備進行調試。
⑹ 開發android手機軟體的工具有哪些
Android SDK
Android是谷歌(Google)公司推出的手機開發平台。 與iPhone相似,Android採用WebKit瀏覽器引擎,具備觸摸屏、高級圖形顯示和上網功能,用戶能夠在手機上查看電子郵件、搜索網址和觀看視頻節目等,比iPhone等其他手機更強調搜索功能,界面更強大
集成開發環境 Eclipse
Eclipse是著名的跨平台的自由集成開發環境(IDE)。最初主要用來Java語言開發,但是目前亦有人通過插件使其作為其他計算機語言比如C++和Python的開發工具。 Eclipse的本身只是一個框架平台,但是眾多插件的支持使得Eclipse擁有其他功能相對固定的IDE軟體
Android NDK
Android NDK 是在SDK前面又加上了「原生」二字,即Native Development Kit,因此又被Google稱為「NDK」。 在此之前,Android平台的第三方應用程序均是依靠基於Java的Dalvik特製虛擬機進行開發的。原生SDK的公布可以讓開發者更加直接的接觸Android系統資源,...
Android組件界面設計工具 DroidDraw
DroidDraw 是一個基於Java Swing的Android界面設計器,我們可以通過它來生成復雜的Android Layout XML文件,據作者介紹,Android的Layout和Swing Layout中有很好的對應,設計器的代碼編寫起來還是比較容易的。 android下,高級組件,通過xml來配置,書寫
NetBeans開發Android的插件
這是一款在 NetBeans 中開發 Android 平台應用的插件。
⑺ android手機app開發流程
首先你要懂的android app開發語言有哪些(java,c++),其次,我在啟匯網路上面看到一些關於app軟體開發的步驟:1:應用規劃,2:架構設計,3:界面設計,4:數據操作與存儲,5:業務實現,6:頁面跳轉。當然,這只是比較簡單的概括,如果你想知道更詳細的情況,得自己再去網上找資源才行。七月中 的感言: 贊!很贊!非常贊!從來沒有這么贊過!
⑻ 基於android系統的手機游戲的開發
如果你有興趣為Android平台開發游戲,有很多你需要了解的東西。如果你有過游戲開發經驗,那麼轉移到移動平台上來將不是特別困難。你主要只需學習其架構以及API就行了。如果你是一名游戲開發新手,我總結了一張列表,上面有你必需知道的東西,供你起步用。這些知識適用於很多類型的游戲,包括動作類、策略類、模擬類和益智類。 Android是一個基於Java的環境。這對初學者來說是個好消息,因為相對於C++,Java被廣泛認為是一門更容易上手的語言,它是移動開發的規范。Google也做了一件出色的工作,它將API文檔化並提供示例代碼供使用。其中有個叫做API Demos的示例幾乎展示了所有API的功能。如果你熟悉Java並且用過Eclipse,要讓你的第一個應用跑起來那是相當簡單。如果你以前從沒寫過代碼,在你前進路上還要學習很多,但別氣餒。
獲取SDK
新手上路的第一步便是獲取Android SDK(軟體開發工具包)。SDK里有一個核心類庫,一個模擬器,一些工具和示例代碼。我強烈建議使用Eclipse和Android Eclipse插件。如果你玩Android的話,Eclipse IDE對Java開發者來說很好用。如果這是你第一次開發Java項目,你可能會需要下載全套JDK,它裡麵包括簽名和部署你的應用程序的一些工具。
學習應用程序架構
別急著一頭扎進開發的海洋里,理解Android應用程序架構是很重要的。如果你不學一下,你設計出來的游戲在線下將很難調試。你將需要理解Applications、Activities、Intents以及它們怎樣相互聯系。Google提供了很多有用的架構信息。真正重要的是要理解為什麼你的游戲需要多於一個的Activity,以及什麼才是設計一個有良好用戶體驗的游戲。要理解這些,首先要了解什麼是Activity生命周期。
學習Activity生命周期
Activity生命周期由Android操作系統來管理。你的activity創建、恢復、暫停、銷毀都受操作系統的支配。正確處理這些事件是很重要的,這樣應用程序才能表現良好,做用戶認為正確的事。在你設計你的游戲之前了解所有這些是如何工作的是件好事,因為以後你可以為自己節省調試時間和昂貴的重新設計時間。對大多數應用來說,默認的設置將工作正常,但對於游戲,你可能需要考慮將SingleInstance標志打開。當設置為默認時,Android在它認為合適時會創建activity的新實例。對於游戲來說,你可能只需要一個游戲activity的實例。這對於你要怎樣管理事務的狀態有些影響,但對於我來說,這解決了一些資源管理的問題,應予以考慮。
主循環
根據你寫的游戲的類型,你可能需要也可能不需要一個主循環。如果你的游戲不依賴於時間或者它僅僅對用戶所做的加以回應,並且不做任何視覺上的改變,永遠等待著用戶的輸入,那麼你就不需要主循環。如果你寫的是動作類游戲或者帶有動畫、定時器或任何自動操作的游戲,你應該認真考慮下使用主循環。
游戲的主循環以一個特定的順序通常盡可能多的在每秒鍾內「滴答」提醒子系統運行。你的主循環需要在它自己的線程里運行,原因是Android有一個主用戶界面線程,如果你不運行自己的線程,用戶界面線程將會被你的游戲所阻塞,這會導致Android操作系統無法正常的更新任務。執行的順序通常如下:狀態,輸入,人工智慧,物理,動畫,聲音,錄像。
更新狀態意思是管理狀態轉換,例如游戲的結束、人物的選擇或下一個級別。很多時候你需要在某個狀態上等上幾秒鍾,而狀態管理應該處理這種延遲,並且在時間過了之後設置成下一個狀態。
輸入是指用戶按下的任何鍵、對於滾動條的移動或者用戶的觸摸。在處理物理之前處理這些是很重要的,因為很多時候輸入會影響到物理層,因而首先處理輸入將會使游戲的反應更加良好。在Android里,輸入事件從主用戶界面線程而來,因此你必須寫代碼將輸入放入緩沖區,這樣你的主循環可以在需要的時刻就從緩沖區里取到它。這並非難事。首先為下一個用戶輸入定義一個域,然後將onKeyPressed或onTouchEvent函數設為接到一個用戶動作就放到那個域里,有這兩步就夠了。如果對於給定游戲的狀態,這是一個合法的輸入操作,那麼所有輸入需要在那一刻做的更新操作都已經定下來了,剩下來就讓物理去關心怎樣響應輸入吧。
人工智慧所做的類似於用戶在決定下一個要「按」哪個按鈕。學習怎樣寫人工智慧程序超出了這篇文章的范圍,但大體的意思是人工智慧會按照用戶的意圖來按按鈕。這些也有待物理去處理和響應吧。
物理可能是也可能不是真正的物理。對於動作類游戲來說,關鍵點是要考慮到上一次更新的時間、正在更新的當前時間、用戶輸入以及人工智慧,並且決定它們朝著什麼方向發展和是否會發生沖突。對於一個你可視化地抓取一些部件並滑動它們的游戲來說,物理就是這個游戲中滑動部件或者使之放入合適的位置的部分。對於一個小游戲來說,物理即使這個游戲中決定答案是錯還是對的部分。你可能將其命名為其他東西,但每個游戲都有一個作為游戲引擎的紅肉部分(譯者註:可能是主體部分的意思),在這篇文章里,我把這部分稱為物理。
動畫並非像在游戲里放入會動的gif圖片那樣簡單。你需要使得游戲能在恰當的時間畫出每一幀。這並沒有聽起來那麼困難。保留一些像isDancing、danceFrame和lastDanceFrameTime那樣的狀態域,那樣動畫更新便能決定是否可以切換到下一幀去了。動畫更新真正做的事就那麼多。真正來顯示動畫的變化是由錄像更新來處理的。
聲音更新要處理觸發聲音、停止聲音、音量變化以及音調變化。正常情況下當寫游戲的時候,聲音更新會產生一些傳往聲音緩沖區的位元組流,但是Android能夠管理自己的聲音,因而你的選擇將是使用SoundPool或者MediaPlayer。它們都需要小心處理以免出錯,但你要知道,因為一些底層實現細節,小型、低比特率的聲音文件將帶來最佳的性能和穩定性。
錄像更新要考慮游戲的狀態、角色的位置、分數、狀態等等,並將一切畫到屏幕上。如果使用主循環,你可能需要使用SurfaceView,並做一個「推」繪制。對於其他視圖,視圖本身能夠調用繪制操作,主循環不必處理。SurfaceView每秒產生的幀數最多,最適合於一些有動畫或屏幕上有運動部件的游戲。錄像更新所要做的工作是獲取游戲的狀態,並及時地為這個狀態繪制圖像。其他的自動化操作最好由不同的更新任務來處理。
代碼看起來是什麼樣的?這兒有個例子。
1: public void run() {
2: while (isRunning) {
3: while (isPaused && isRunning) {
4: sleep(100);
5: }
6: update();
7: }
8: }
9:
10: private void update() {
11: updateState();
12: updateInput();
13: updateAI();
14: updatePhysics();
15: updateAnimations();
16: updateSound();
17: updateVideo();
18: }
3D還是2D?
在開始寫游戲之前,你要決定是做3D的還是2D的。2D游戲有一個低得多的學習曲線,一般更容易獲得良好的性能。3D游戲需要更深入的數學技能,並且如果你不在意的話會有性能問題產生。如果你打算畫比方框和圓圈更復雜的圖形,還需要會使用3D Studio和Maya那樣的建模工具。Android支持OpenGL用來3D編程,並且在OpenGL方面有很多很好的教程可供學習。
建立簡單、高質量的方法
上手時,要確保你整個游戲不要就用一個龐大而冗長的方法。如果你遵循我上面描述的主循環模式,這將相當簡單。每個你寫的方法應當完成一個非常特定的任務,並且它就應該無差錯地那樣做。舉例來說,如果你需要洗一副紙牌,你應該寫一個「shuffleCards」的方法,並且該方法就應該只做這一件事。
這是一個適用於任何軟體開發的編碼實踐,但對於游戲開發來說這尤為重要。在一個有狀態的、實時的系統里,調試將變得非常困難。使你的方法盡量的小,一般的經驗法則是每個方法有且僅有一個目的(譯者註:完成且僅完成一個功能)。如果你要為一個場景用編程方式畫一個背景,你可能需要一個叫做「drawBackground」的方法。諸如此類的任務能夠很快完成,因而你可以按照搭積木的方法來開發你的游戲,而你能夠繼續添加你要的功能,並且不會使得這一切難以理解。
最重要的是效率!
性能是任何游戲的主要問題。我們的目標是使得游戲的反應越快越好,看起來越流暢越好。某些方法如Canvas.drawLine比較慢。並且要將屏幕大小的點陣圖畫到主畫布上,每一幀都是代價昂貴的。如何權衡對於達到最佳性能很有必要。確保管理好你的資源,使用技巧來以最少量的CPU資源完成你的任務。如果性能不好的話,即使是最好的游戲玩起來也沒勁。人們一般對於游戲卡或者響應慢幾乎難以容忍。
提示和技巧
看一下SDK中的示例LunarLander。它使用SurfaceView,這對於一個每秒需要處理最多幀的游戲來說是合適的。如果你要做3D,示例中有GLView可以處理3D顯示的很多初始化工作。對LightRacer來說,我不得不優化把所有東西都畫出來這種方法,否則幀率將會大大地降低。我只在視圖初始化的時候把背景畫進一個點陣圖里一次。路徑放在它們自己的點陣圖里,隨著車手的前進而更新。這兩個點陣圖在每一幀里都被畫進主畫布中去,車手畫在頂端,到最後會有一個爆炸。這種技術使得游戲運行在一個可以玩的程度。
如果適用的話,使得你的點陣圖的大小精確等於你打算畫到屏幕上的大小,這也是個好的實踐。這么做了以後就需要縮放,可以節省CPU資源。
在游戲中始終一致的點陣圖配置(如RGBA8888)。這將會通過減少不同格式之間轉換的時間來節省圖形庫的CPU時間。
如果你決定開發3D游戲但沒有3D方面的知識,你需要挑選一兩本3D游戲編程方面的書並學習線性代數。你最少要理解點積、叉積、向量、單元向量、法線、矩陣和變換。這方面我遇到的最好的書是叫《3D游戲編程和計算機圖形學數學》。
聲音文件要小而且低比特率。需要載入的越少,載入速度越快,游戲所需內存越少。
聲音使用OGG文件,圖片使用PNG文件。
確保釋放所有媒體播放器,當Activity銷毀時空出所有的資源。這能保證垃圾收集器清除了所有東西,也能保證在兩次游戲開始之間沒有內存泄露。
加入Android谷歌小組,尋求社區支持。這里有人可以在開發過程中給你幫助。
最重要的是,花時間測試再測試,確保每一小部分都如你所願地工作。改善游戲是整個開發中最耗時最困難的部分。如果你匆匆將其推向市場,你很可能會使用戶們失望,你會感到你的努力都白費了。你不可能使所有人都喜歡你寫的東西,但你至少要盡量發布你最高質量的作品。
Google在這里有幫助你上手的絕佳的文檔。
電驢上也有很多不錯的書籍和視頻教程~希望對你有幫助
⑼ 做 Android 開發怎麼選擇手機
如果真想做 android 開發,需要提供客服服務,你必須得擁有不止一部手機。包括原味的和非原味的。一般情況下至少是,FWVGA,WVGA,HVGA,QVGA,屏的四種機器一樣一台。同時還需要有一台側滑鍵盤級別的機型,用於測試橫屏側滑時的界面。這至少會是4台機器。
理想的情況下,qHD 雙核機型可能也需要一台,不過目前購置成本較高。買高配機型做開發其實並不合適,因為你的程序要在不同的平台上能跑,你就必須讓你的程序了在中等甚至中等偏下的配置上流暢運行。
如果目標是國內用戶,那麼理想情況下你應該有 中聯通,中移動,中電信 3G 號碼一樣一個。
同時考慮到不同廠商的不同,你應該有三星,HTC,Moto 這主要三大產商的機型。
在有限的成本下,三星 Nexus S,銳合 X3,HTC a315c,Moto Droid 2 Global。這四台機器覆蓋了我說的所有類型,所有解析度、所有網路以及三大產商。
最後,如果成本有限,只想折騰著玩玩,Google 親兒子,Nexus S 仍然可能是最合適的。