A. 想成為一個android開發工程師,還需學習其他什麼技術
開發android,需要掌握這些基礎。
①java基礎知識 ②Linux基礎知識 ③資料庫基礎知識 ④網路協議 ⑤Android基礎知識 ⑥伺服器端開發知識①Java基礎知識
很多朋友一上手就開始學習Android,似乎太著急了一些。Android應用程序開發是以Java語言為基礎的,所以沒有扎實的Java基礎知識,只是機械的照抄別人的代碼,是沒有任何意義的。萬丈高樓平地而起,Java就是築起高樓的每一塊磚頭。那麼Java學到什麼程度才算是過關呢?我個人認為至少要掌握以下兩個方面的內容:
a)Java基礎語法:具體的知識點列表可以在這里下載:《Java知識點列表》V1.0。這部分內容沒有討價還價的餘地,必須爛熟於胸。至於具體的學習方法,可以看書或者是看視頻,但是關鍵是要多加練習,無論是書上的練習還是視頻裡面的練習,都需要仔仔細細的完成;
b)設計模式:由於在Android系統的框架層當中,使用了大量的設計模式,如果沒有這個方面的知識,對於Android的理解就會大打折扣。設計模式的種類非常之多,一個一個的全部掌握,是不現實的,必須首先掌握面向對象的基礎設計原則,有了這些基礎原則的支持,就可以舉一反三。這部分內容可以在《Effective Java》和《Agile.Software.Development:Principles,Patterns.and.Practices》這兩本書中找到。
②Linux基礎知識
大家都知道,Android系統的基礎是Linux操作系統。在開發過程當中,我們也需要使用到一些Linux命令。所以說一些Linux的基礎知識是必須的(話說現在的程序員,不懂Linux都不好意思跟人家打招呼),推薦大家看看《鳥哥的私房菜》這本書,寫的相當不錯;
③資料庫基礎知識
這個比較簡單,就是一個增刪改查的資料庫操作,可以看一下這本書:《SQL編程練習與解答》
④網路協議
至少需要學習兩種基礎的協議,HTTP協議與Socket協議;
⑤Android基礎知識
⑥伺服器端開發知識
由於很多Android應用程序都需要伺服器端的支持,所以掌握一些伺服器端開發知識還是非常有必要的。至於選擇哪一種伺服器端知識進行學習,就比較麻煩了,因為技術的種類實在是太多了:
a)Java EE:就是上面郵件當中所提到的SSH—Struts+Spring+Hibernate。這種技術的優點的功能完整、強大,已經使用了很多年,而且既然大家已經非常熟悉Java了,那麼學習SSH看起來也順理成章。但是使用這種技術開發伺服器端程序,非常麻煩。即使是一些簡單的功能,也可能需要大量的代碼和配置文件來實現;
b)php:簡單易學,開發快速。但是我們需要多學一種語言,是否得不償失,就要大家自己判斷了;
c).NET:這項技術的特點和Java EE差不多,但是要想掌握.NET,則需要掌握c#,也是個麻煩的事情;
d)ruby on rails:這是我個人最喜歡的伺服器端技術,簡潔,優雅,寥寥幾行代碼,就可以實現很復雜的功能,但是這需要Ruby語言知識作為基礎;
至於選擇哪一種知識,就看大家自己的判斷了,畢竟每個人想法不一樣,愛好也不相同。
安卓開發學習書籍
書的話建議買 精通Android2 ,或者 Android2高級編程 這兩本書,講解的細致,但是一定要結合sdk來看。國內的不要買。。。。(切身體會,千萬別買)
看完之後就可以自己動手做做項目了。
對於java基礎,我現在的感覺是 如果要深入學習android平台,java基礎一定要好(里邊包括各種java類庫的用法,本地代碼jni什麼的)。但如果平時隨便做做應用的話,會面向對象編程就完全可以了。
安卓開發學習學習網站
推薦你關注DevStore(主要是開發者服務商店)還有csdn和開源中國,都是開發者經常關注的網站。
DevStore(全球首家開發者服務商店)主要是整合開發者會用到的服務,可以實現在線對比評測,省去自己去網上搜索尋找的過程,還有sdk配置過程,很方便的,嘿嘿,我還在這個網站上寫評測掙過外快呢。
csdn是 中國最大的開發者技術社區,牛人還是很多的
開源中國是目前國內最大的開源技術社區,主要是軟體下載,源碼託管
自學的話平時就多看一些官方文檔,幫助文檔也是一個很好的參考資料,多看看,平時多敲代碼,多看住喲啊哈斯看規范,看完之後去敲代碼主要是在實踐過程中發現錯誤,多做項目自然多遇見問題,遇見問題解決問題,下次自然就知道怎麼解決,在實踐中發現真理。
當然可以的話有一個老師還是很好的,但是要記得要是的作用只是引導,師傅領進門修行在個人。
B. 如何開發一款app
按照以下步驟可以開發app:
1、APP的idea形成;
2、那些idea來進行APP的主要功能設計以及大概界面構思和設計;
3、大功能模塊代碼編寫以及大概的界面模塊編寫;
4、把大概的界面和功能連接起來;
5、進行app測試;
6、上傳至應用商店。
C. app開發需要什麼技術
app開發編程語言選擇需要注意一下幾點:
實用:語言應該給開發人員在不消耗太多資源的情況下對特定項目的控制權。
流行:該語言應該非常流行,以便有大量的工具、框架和資源支持它。它應該是團隊的其他成員都熟悉的。
繁榮:語言應該在幾年後才可以使用,而不是僅僅是現在。
原生app:
Swift (IOS):創建一個iOS應用程序。iOS應用程序是用Xcode編寫的,它使用兩種語言中的一種:Objective C或Swift。Swift更容易閱讀、書寫和使用,能更好地管理內存和硬體,可讀性更強,需要的代碼更少。它不能用於Android開發,但如果只是開發ios應用,Swift是最好的選擇。
APICloud Studio3:基於業界領先的代碼編輯器-Vscode深度定製,可以快速輕松地構建多端應用,同時為 Windows、Mac和Linux提供了出色的開發體驗,可以選擇自己喜歡的操作系統進行開發。
Java (Android):Java是一種面向對象的編程語言, Andorid操作系統是用Java編寫的,所以它的編譯速度要快一些。
Kotlin (Android):Kotlin是一種較新的語言。它也可以編譯成JavaScript,這使得它更加靈活。
Java和Kotlin也可以很好地互換。它們是不同的語言,但是你可以從Kotlin中調用Java,從Java中調用Kotlin。在編譯之後,甚至無法分辨Java和Kotlin類之間的區別。它雖然開發方式有點不同,但是最終產品是非常相似的。
JavaScript :JavaScript是開發前端應用程序最有用的編程語言。它是最流行的前端工具和框架的首選語言。
HTML5 + CSS3*:超文本標記語言。與HTML一樣,CSS(層疊樣式表)也是一種標記語言。HTML關注的是結構、功能和文字,而CSS關注的是設計。顏色、視覺效果以及更多的內容都由CSS完成。
如果需要做任何一種app網站開發應用程序,學習CSS是必須的。它是用戶和實際產品之間的最後一層,決定了站點的外觀和感覺。
D. 開發app需要學習什麼知識(手機軟體開發app需要學什麼)
你這個問題有些籠統,一個完整的app有簡單有復雜,不同的app應用功能的差異也導致不同的技術實現或者演算法模型。大體來說,一個app從設計到最終實現需要你懂得以下幾個必要方面:
1、前期需求規劃與信息、交互設計——你需要制定出一個完整的需求文檔,功能文檔,流程圖,時序圖。
2、交互設計、UI設計——設計出基本且完善的原型圖和app基礎的交互設計效手拍果,之後再根據這些設計出完整的UI界面並學會切圖,一些需要做自適應的素材圖片需要做點9patch。這里還需要你懂得px,pt和dp之間的換算,屏幕密度的換算和相互之間的系數,以便你的app能完美適應不同解析度設備。其中交互設計需要你懂得很多人機操作的技巧經驗,掌握Axure等交互工具的使用,UI設計需要你掌握Photoshop和Illustrator等操作。
3、使用ADT之類的開發環境進行app開發,你最基本的也得掌握java語言,熟悉android環境和機制,這裡面涉及面廣,請根據項目自行學習相關知識。
4、如果不是單機版的app,需要用到伺服器,那你還得掌握WebService相羨改關知識和開發語言,常用的有ASP.Net,PHP,JSP等。
5、熟悉並能開發資料庫。
6、某些功能需要做演算法,這還需要一定得專業知識,尤其是數學基礎。
7、熟悉API介面開發,這里包括你自行開發API的能力以及調用第三方API的經驗。
8、熟悉TCP/IP,socket等網路協議和相關知識。
9、熟練掌握App發布的流程,真機調試技巧,證書,打包,上架。
App開發其實不一定適合一個人搞,太費勁,除非是一個單機版的小應用,或者利用現成的api開發簡單的第三方應用,否則還是讓一個團兄薯判隊來完成各自擅長的領域。
E. PHP服務端使用WebSocket客戶端Android用什麼 Socket可以嗎
理論上客戶端也是需要用socket的,socket是tcp/udp協議通信的,過程比較繁瑣。
為何不採用基於http協議的webservice呢
F. php與android 用socket通信
實在不明所以,要做android的APP,PHP要做的工作就是提供介面給android啊。android想要獲取數據,PHP介面里提供特定格式的數據,如果android想要提交數據,就通過post或者get提交,PHP端只需要接收,像接收網頁form表單
G. 我想問一下開發app需要什麼技術
目前app開發方式主要分原生app開發,web app開發和混合app開發,他們所涉及到的技術要點如下:
一、原生app開發
開發Native App需要根據運行的手機系統採用不同的開發語言,開發安卓app開發需要熟悉java語言,對於Android環境和機制要熟悉,學會搭建android開發環境,此外一些app某些功能還可能涉及到演算法,需要有一定的數學基礎,了解數據結構,自行開發API的能力和調用第三發API的經驗,熟悉tcp、IP,socket等網路協議,如果涉及到伺服器,還需要了解webservice相關知識和相應的開發語言,常用有PHP、JSP、ASP.Net.,在UI設計、框架、性能優化、調試適配等也是要有所了解的;如果是開發IOS app,需要懂得Objective-C主流編程語言,利用iOS SDK搭建開發環境,
二、網頁app開發
iOS/Android的內置瀏覽器是基於webkit內核的,很多app開發都是用html或html5、CSS3、JavaScript技術,服務端技術用java、php、ASP。相對來說,網頁開發涉及到的技術點較少。
三、混合app開發
混合開發中主流的是以web為主體型的開發,穿插Native功能。對於前面原生app開發和網頁app開發的技術都要了解。這種開發方式兼容了混合app和網頁app的優點,是目前很多人採用的方式,但是會這方面的技術人才比較少。
H. 什麼叫做軟體開發工程師
軟體工程師(Software Engineer),是從事軟體職業的人員的一種職業能力的認證,通過它說明具備了工程師的資格。軟體工程師是從事軟體開發相關工作的人員的統稱。通常人們會和程序員(英文Programmer)產生混淆,但其實是兩種不同的性質。程序員是從事程序開發、維護的專業人員。一般將程序員分為程序設計人員和程序編碼人員,但兩者的界限並不非常清楚,特別是在中國。軟體從業人員分為初級程序員、高級程序員、系統分析員,系統架構師,測試工程師五大類。
軟體工程師的工作不同於程序員但是一個軟體工程師必定是一個優秀的程序員。
首先軟體工程師與程序員工作上最大的不同,可以打一個比喻:把一款軟體比做一座大橋,那麼軟體工程師相當於施工總指揮,而一般的開發人員也就是程序員相當於建築工人,所以很多人就說自己是IT民工就是這么來的。
想要成為一名優秀的軟體開發工程師,就必須具備以下能力:
1、需求分析能力
對於軟體工程師而言,理解需求就可以完成合格的代碼,但是對於研發項目的組織和管理者,他們不但要理解客戶需求,更多時候還要自行制定一些需求。
2、項目設計方法和流程處理能力
軟體開發工程師必須能夠掌握不少於兩到三種的項目設計方法,並能夠根據項目需求和資源搭配來選擇合適的設計方法進行項目的整體設計。
3、復用設計和模塊化分解能力
作為一個從事模塊任務的軟體開發工程師,他需要對他所面對的特定功能模塊的復用性進行考慮,而作為一個系統分析人員,他要面對的問題復雜的多,需要對整體系統按照一種模塊化的分析能力分解為很多可復用的功能模塊和函數,並針對每一模塊形成一個獨立的設計需求。
4、整體項目評估能力
作為系統設計人員,必須能夠從全局出發,對項目又整體的清醒認識,比如公司的資源配置是否合理和到位,比如工程進度安排是否能最大化體現效率又不至於無法按期完成。
5、團隊組織管理能力
(1)工作的量化
沒有量化就很難做到合適的績效考核,而程序量化又不是簡單的代碼行數可以計算的,因此要求技術管理人員需要能真正評估一個模塊的復雜性和工作量。
(2)對團隊協作模式的調整
一個優秀的軟體開發工程師應該能夠根據程序員之間的能力水平差距,以及根據項目研發的需求,選擇合適的組隊方式,並能將責權和成員的工作任務緊密結合,這樣才能最大發揮組隊的效率。