A. 開發手機app 應該學什麼
要開發一款APP,目前分為兩條路線,一個是傳統的外包模式,需要從零開始,一點點的研發,一條是通過應用公園APP在線製作平台,不需要編程,自己就可以快速製作運營APP。
首先,先說傳統的模式:
APP開發涉及的知識主要包括:
1、前期需求的分析規劃:需要一個完整的需求文檔,包括流程圖、時序圖等,這個非常重要。
2、交互設計、UI設計:就是APP頁面的設計和各個頁面鏈接的跳轉情況。
3、APP前台開發
蘋果iOS版:
從基礎開,一定要掌握C語言和數據結構,然後按照C語言+數據結構(面向過程) 》C++(面向對象)》java(進階)由於 X code是運行在Mac OS X 上的開發環境,你必須首先熟悉 蘋果電腦以及蘋果Mac OS X系統的
安卓版:
最基本的Java語言和XML知識,還得學android特有的API的用法,如果想成為android應用開發者,最基本的是需要懂得用。掌握了這兩種語言後再裝個Eclipse和Android SDK, 就可以做開發了。
4、伺服器相關:得掌握WebService相關知識和開發語言,ASP.Net、php、JSP等。
5、熟悉並能開發資料庫。
6、某些功能需要做演算法,這還需要一定得專業知識,尤其是數學基礎。
7、API介面開發:包括你自行開發API的能力以及調用第三方API的經驗。
8、TCP/IP,socket等網路協議和相關知識。
9、App發布的流程,真機調試技巧,證書,打包,上架。
B. 開發Android APP需要學習什麼語言
學Java、學Android、學c++。
C. 安卓開發需要學習什麼
學習分三個階段:
1,Android基礎階段:平台架構特性(JAVA/C) Market/應用程序組件 環境搭建與部署/打包與發布 AVD/DDMS/AAPT 調試與測試 相關資源訪問/資源製作 Activity/Service/Broadcast Receiver/Content Provider/原理(生命周期)及深層實現
2,Android進階初級:組件Widget/ 菜單Menu/ 布局Layout 詳解 Xml解析(Pull/Dom/Sax)/JNI 解析SQL資料庫原理,。
SQLite /SharedPreferences/File詳解 多媒體Audio/Video/Camera 詳解
3,Android進階高級:藍牙/WIFI SMS/MMS 應用實現 深層次解析GPS原理。
實現LocationManager/LocationProvider 進行定位/跟蹤/查找/趨近警告以及Geocoder正逆向編解碼等技術細節 2D圖形庫(Graphics/View)詳解 SDCARD/感測器/手勢 應用實現
(3)開發安卓app需要學什麼擴展閱讀:
知識體系
1、Unix/Linux平台技術:基本命令,Linux下的開發環境
2、企業級資料庫技術:SQL語言、SQL語句調優、Oracle資料庫技術
3、Java 語言核心技術:Java語言基礎、Java面向對象編程、JDK核心API、Java集合框架、Java網路編 程、JavaI/O編程、Java多線程編程、Java異常機制、Java安全、JDBC、XML
4、軟體工程和設計模式:軟體工程概述、配置管理及SVN、UML、基本設計模式
5、Android應用開發基礎:Android開發平台、Eclipse+ADT開發環境、AVD及感測模擬器調試、Android核心組件、Android常用組件、Android高級組件、文件及網路訪問、SQLite資料庫編程、後台服務編程
6、互聯網核心技術: HTML、CSS、JavaScript、JQuery、Ajax應用
7、Android高級應用開發:音頻視頻攝像頭、互聯網應用、GPS和位置服務、Google Map、2D3D繪制、感測器開發、游戲開發、電話及SMS服務、網路BluetoothWi-Fi等。
8、Android系統級開發:移植、驅動、NDK(C方向)。
9、JavaEE核心技術:Servlet核心技術、JSP核心技術、Struts、Spring、Hibernate框架。
D. 做安卓軟體開發需要學習什麼技術
Android的開發技術很多,在開始學習的時候不可能一次性全部學會,也沒有必要一開始都全部學會,但是有些技術是非常常用的,需要在開始時打好基礎,這些技術時:
1、Activity生命周期
雖然Android中有四大組件,但是不可否認Activity是最常用的。所以熟練掌握Android的生命周期是必須的。其實生命周期就是記住 Activity的那些方法在什麼時候被系統調用,這樣才可以把對應的邏輯代碼寫到合適的方法內部去。
至於服務和廣播組件可以稍微緩一下,到實際使用的時候再學習都可以。
2、界面開發技術
界面開發是一種基本的技術,幾乎所有的程序裡面都需要用到。在Android開發中界面開發分為3種:
1)使用xml文件布局
使用xml首先對於界面進行布局,然後在Activity裡面進行引用是最常見的應用軟體開發技術,這種方式使用的最大,需要學習的內容也最多。學習時需要熟悉:
a)五種Layout布局
深刻理解五種布局組織控制項的方式是一個基本的基礎,這樣你才可以在實際的界面中靈活的使用每種布局結構,構造出需要的界面。
b)常用控制項
控制項有很多,至少要知道每種控制項是做什麼的,至於裡面的特定參數和方法可以學要的時候再去查
c)界面美華
系統的控制項很多時候無法滿足要求,需要通過添加背景更換圖片等進行美化,要熟悉每種控制項如何去美華。
掌握了上面的內容,通過布局的嵌套就可以製作出各種界面,如果在熟悉include的使用就可以減少xml的重復,方便後期的修改和維護了。
2)使用代碼動態創建
有些時候需要動態的創建一些布局和控制項,這個就需要使用LayoutInflater去創建一些動態的界面了。
3)自己繪制界面
游戲中常用,繼承SurfaceView自己繪制。
3、數據存儲技術
Android中的數據存儲方式有3種:
1)SharedPrefereneces存儲
對於簡單的數據可以使用該方式存儲,以鍵值對的方式存儲一些基本的數據。
2)文件存儲
將數據以文件的形式存儲,可以是手機自身的存儲也可以是SD卡,文件的數據格式自己定義。
3)SQLite資料庫存儲
使用標准SQL語句進行操作,復雜數據的首選。
4、網路編程
現在的Android程序不需要聯網的已經不多了。所以網路編程也是必須的,一般的公司都會封裝有自己的聯網結構,但是基本的聯網還是要熟悉。
1)HTTP聯網
使用Http聯網+Json數據格式是現在很多客戶端的首選。
2)Socket聯網
至於藍牙等連接方式則可以在項目需要的時候學習。
對於手機的系統功能,如撥打電話、發送簡訊、讀取系統參數等則可以根據需要在學習,不麻煩的。
其次,手機軟體相關
Android開發不同於普通的電腦軟體開發,需要了解手機的操作習慣,知道手機的屏幕不大、內存有限,電池有限等,在實際開發和設計時盡量考慮。
E. 自己想做一個安卓App,需要學什麼內容大概多久可以做好。
快速學會製作app的建議:
1、首先可以寫一些簡單功能的無UI的java程序,熟悉java基本語法,基本數據類型,常用類;理解繼承機制等。
2、再次可以看一些Android的入門書籍,重點了解:Activity的生命周期;常用Layout及各類View的構建;能寫一些簡單的demo來使用這些控制項。
3、如果要有內容發布功能,就意味著需要在客戶端進行網路訪問和數據傳輸,這時就需要稍微了解http協議,數據傳輸格式建議使用json;在Android客戶端的開發中有一些第三方組件可以幫助你完成網路訪問和數據解析,建議:android async http以及gson,你可以在github上查找這些組件;使用這些組件避免了你自造輪子,節省時間,但可能會阻礙你了解到一些技術細節(例如多線程,json解析方式),這點初學者可自行權衡。
4、如果你需要寫一個伺服器端,建議使用php+mysql來實現web service,容易上手;你可能也需要了解一些對象關系資料庫的基本概念和原理,一些基本的sql語法;試著建立你的資料庫表,編寫sql語句來查詢你想要的數據;然後編寫php代碼來連接並操作你的資料庫,並將結果以json形式返回;如果想用java來完成伺服器端,也是可以的,j2ee+jsp也可勝任。
5、極客營講師覺得在學會以上之後你就可以著手設計開發你的App了,極客營提醒良好的代碼結構和風格比學會某些sdk要重要的多,各位同學應該從一開始就養成良好的習慣。極客營講師都會要求極客營學生做到的一點。
F. 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開源項目,無需翻牆。
注意:遇到問題一定要搞清楚問題出現的原因,建議花點時間仔細閱讀一篇講解詳細的博文,而不是直接復制別人貼出來的代碼,直接套用別人發的解決方案。
G. 安卓開發需要學什麼
安卓開發需要學:
一、應用程序
Android以Java為編程語言,使介面到功能,都有層出不窮的變化,其中Activity等同於J2ME的MIDlet,一個 Activity 類負責創建視窗,一個活動中的Activity就是在 foreground(前景)模式,背景運行的程序叫做Service。
二、中介軟體
操作系統與應用程序的溝通橋梁,並用分為兩層:函數層(Library)和虛擬機(Virtual Machine)。 Bionic是 Android 改良libc的版本。
Android 同時包含了Webkit,所謂的Webkit 就是Apple Safari瀏覽器背後的引擎。Surface flinger 是就2D或3D的內容顯示到屏幕上。Android使用工具鏈(Toolchain)為Google自製的Bionic Libc。
三、硬體抽像層
Android 的 HAL(硬體抽像層)是能以封閉源碼形式提供硬體驅動模塊。HAL
的目的是為了把 Android framework 與 Linux kernel 隔開。
讓 Android 不至過度依賴 Linux
kernel,以達成 kernel independent 的概念,也讓 Android framework
的開發能在不考量驅動程序實現的前提下進行發展。
四、編程語言
Android 是運行於 Linux kernel之上,但並不是GNU/Linux。因為在一般GNU/Linux 里支持的功能,Android 大都沒有支持。
包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。Android又以bionic 取代Glibc、以Skia 取代Cairo、再以opencore 取代FFmpeg 等等。
五、安全控制
目前Android 的 Linux kernel控制包括安全(Security),存儲器管理(Memory Managemeat),程序管理(Process Management),網路堆棧(Network Stack),驅動程序模型等。
下載Android源碼之前,先要安裝其構建工具Repo來初始化源碼。Repo 是 Android 用來輔助Git工作的一個工具。
參考資料來源:網路—android開發
H. 開發安卓APP需要學習哪些知識
原生android開發首先需要有java基礎包括語法、常用類、封裝繼承多態神馬的就不用多說了
其次需要熟悉xml的編寫,原生開發中是使用xml來編寫界面的,有以上兩點就可以開始android開發了
如果你是想開發跨平台的app,還有一種方式就是會和型應用,用的是webview技術,這種app開發不需要太多的java語言基礎,但是需要熟悉javascript腳本,和html5前端開發和頁面響應式技術
I. 開發一個完整android 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開發簡單的第三方應用,否則還是讓一個團隊來完成各自擅長的領域。