android網路應用開發
1. Android應用開發詳解的前 言
移動互聯網時代 來臨,一個嶄新的時代開始了。所謂移動互聯網就是將移動通信和互聯網整合在一起,使移動設備(包括手機和上網本)可以隨時隨地地訪問互聯網資源和應用。互聯網時代創造了一個經濟神話,也造就了很多時代英雄,他們一個個令人仰慕。試想為數億的手機用戶和數億的網民建立一個共同的平台,使其應用到企業、商業和和農村之間,又會是怎樣一個驚天動地的偉業呢?新時代開始了,你願意輸在起跑線上嗎?
智能手機 是移動互聯網時代一個標志性的客戶端工具,它和傳統的手機是有區別的,它就像一台「小電腦」,具有獨立的操作系統,可以自由安裝、卸載軟體,具有強大的計算和存儲能力,可以通過移動通信網路來實現無線網路接入。智能手機一般具備如下特點:高速度處理晶元、大存儲晶元和存儲擴展能力、面積大、標准化、可觸摸的顯示屏、攝像頭至少300萬像素、支持播放式的手機電視、必須支持GPS導航、操作系統必須支持新應用的安裝等。
互聯網的競爭格局基本定型,那麼移動互聯網時代競爭的焦點在智能手機終端上,軟體部分包括智能手機操作系統和應用軟體。
目前智能手機操作系統有:諾基亞的Symbian、蘋果的iOS、微軟的Windows Mobile和Google的Android等。
Google 於1998年9月7日創立,經過十幾年在搜索引擎方面的精耕細作,成為全球互聯網巨頭,尤其在地圖搜索的應用更是引人注目。Google於2007年11月5日宣布的基於Linux平台的開源手機操作系統,名稱為Android,中文譯為「機器人」。這意味著Google在移動互聯網時代開始搶跑並領跑。
Android 是一個真正意義上的開源智能手機操作系統,該系統由底層的Linux、中間層的軟體包和上層的java應用程序組合而成。該系統一經推出立即受到了全球移動設備廠商和開發者的熱捧。
2008年9月22日,美國運營商T-Mobile USA在紐約正式發布第一款Google手機——T-Mobile G1。該款手機為中國台灣宏達電代工製造,是世界上第一部使用Android操作系統的手機,它支持WCDMA/HSPA網路,理論下載速率為7.2Mbps,並支持Wi-Fi。到了2010年1月,Google開始發布自家品牌手機Nexus One。該款手機使用的操作系統是Android 2.1。如下左圖為G1,右圖為Nexus One。
圖1 G1和Nexus One
內容簡介
本書分為三個部分,包括基礎篇、技術篇和應用篇。由淺入深地講述了Android應用開發的方方面面。
篇 名 章 名 內容簡介
第一篇 基礎篇 第1章 Android概述 Android概述,講述了Android的前生後世、架構和特點、Android Market、應用程序組件和Android與Java ME的區別及聯系
第2章 Android開發基礎 Android開發基礎,講述了Android開發環境的搭建、Android常用工具的使用和第一個Android應用程序的開發
第二篇 技術篇 第3章 Android中的資源訪問 Android 中的資源訪問,講述了如何定義和訪問Android中的外部資源。
第4章 Android用戶界面 Android 用戶界面,講述了Android中的事件處理機制、布局管理和常用組件的使用。
第5章 Android基本程序單元Activity Android 基本程序單元Activity,講述了Android中重要組件Activity的創建、啟動和生命周期等內容
續表
篇 名 章 名 內容簡介
第二篇 技術篇 第6章 Android組件之間的信使Intent Android 組件之間的信使Intent,講述了Intent對象及其屬性、Intent的實現策略和Intent的常見應用
第7章 Android Service組件 Android Service組件,講述了Android中的後台服務Service的概念、創建和使用,並詳細講解了遠程服務的調用
第8章 Android廣播事件處理 Broadcast Receiver Android 廣播事件處理 Broadcast Receiver,講述了廣播事件處理機制、Notification、NotificationManager和AlarmManager的使用
第9章 Android中的數據存取 Android中的數據存取,講述了Android的四種數據存取方法:Preference、File、sqlite和Network
第10章 Content Provider Content Provider,講述了Android不同應用程序之間相互共享數據的機制,包括ContentProvider和ContentResolver
第11章 Android中的多媒體應用 Android中的多媒體應用,講述了Android的圖片應用、音頻及視頻播放、音頻及視頻錄制和照相機的使用
第12章 Android中的圖形圖像 Android中的圖形圖像,講述了Android中的圖片、動畫、圖形繪制和圖形特效
第13章 Android中的互聯網應用 Android中的互聯網應用,講述了Android中的各種網路應用,包括Socket、URL、HTTP、Web Service和WebView組件
第14章 Android中的GPS應用 Android中的GPS應用,講述了LocationManager、LocationProvider、跟蹤、定位、Geocoder正逆向編解碼和可視化位置服務
第三篇 應用篇 第15章 Android應用案例——移動警務通 Android 應用案例——移動警務通,通過一個真實的商業案例講解了Android的各種應用,本項目包括信息採集、信息查詢、照片上傳、GPS定位等綜合警務應用
第16章 Android應用案例——雷電游戲 Android 應用案例——雷電游戲,通過一個完整的雷電游戲,講述了Android的游戲開發思路、框架和具體實現,並比較了Android游戲開發和Java ME游戲開發的異同,成功移植了Java ME游戲API到Android當中
第17章 Android應用案例——備忘錄 Android 應用案例——備忘錄,通過一個Android基礎應用項目綜合應用了Android中的各種組件,包括Activity、Service、Broadcast Receiver、ContentProvider、Intent和View的應用
第18章 Android應用案例——無線點餐系統 Android 應用案例——無線點餐系統,通過一個真實的商業案例講解了Android的各種應用,本項目包括操作員登錄、點餐、結算、轉台、並台、查台、更新數據和退出系統等餐廳點餐的常用操作
本書特點
1.實例豐富,步步為「贏」
作為一名從業多年的開發人員,筆者深刻體會到技術型書籍中的實例代碼對讀者的重要意義,所以本書實例占據了本書的很大篇幅;作為一名多年的培訓講師,筆者也掌握了如何「傳道」的技巧,這種技巧就是「編程思路」,也叫「編程步驟」,所以本書中每個實例開始部分都有概括性的步驟總結,使讀者有「畫竹必先有成竹於胸」的感受。
2.代碼整齊,注釋清晰
為了使讀者更好更快地學習Android,書中的代碼非常整齊,並且每行代碼都有注釋。下面的代碼段演示了有注釋的程序和沒有注釋的程序。
本書內容的介紹:
作為一本android應用開發書籍,本書既適合android初學者,也適合具備了一定android開發經驗但需要開發案例的高級讀者。
本書分為三個部分,共18章,由淺入深地詳細介紹了android的每個開發細節。
本書基礎翔實,實例豐富,案例真實。從基礎到案例覆蓋了android應用開發的三大領域:基礎應用、網路應用和游戲應用。讀者所需要學習的,正是本書描述的。
?有注釋
package com.amaker.ch03.dimen;
import android.app.Activity;
import android.content.res.Resources;
import android.os.Bundle;
import android.widget.Button;
import com.amaker.test.R;
/**
*
* @author 郭宏志
* 測試尺寸資源
*/
public class TestDimensionActivity extends Activity {
private Button myButton;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 設置當前Activity的內容布局視圖
setContentView(R.layout.test_dimen);
// 通過findViewById方法獲得Button實例
myButton = (Button)findViewById(R.id.Button01);
// 獲得Resources 實例
Resources r = getResources();
// 通過getDimension方法獲得尺寸值
float btn_h = r.getDimension(R.dimen.btn_height);
float btn_w = r.getDimension(R.dimen.btn_width);
// 設置按鈕的寬
myButton.setHeight((int)btn_h);
// 設置按鈕的高
myButton.setWidth((int)btn_w);
}
}
?沒有注釋
package com.amaker.ch03.dimen;
import android.app.Activity;
import android.content.res.Resources;
import android.os.Bundle;
import android.widget.Button;
import com.amaker.test.R;
public class TestDimensionActivity extends Activity {
private Button myButton;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.test_dimen);
myButton = (Button)findViewById(R.id.Button01);
Resources r = getResources();
float btn_h = r.getDimension(R.dimen.btn_height);
float btn_w = r.getDimension(R.dimen.btn_width);
myButton.setHeight((int)btn_h);
myButton.setWidth((int)btn_w);
}
}
3.案例真實,覆蓋全面
本書分為三篇,從Android的基礎知識講到Android的項目實戰,覆蓋了Android應用開發的三大領域:基礎開發、互聯網應用開發和游戲開發。
致謝
最後衷心地感謝我的父母、家人、朋友、同學和同行的夥伴們。再次感謝我的父母,感謝你們對我的培養和寄予的厚望,感謝你們拖著年邁的身體為我照料那個讓人可愛又可恨的女兒。
感謝電子工業出版社的胡辛征老師在寫作風格和布局謀篇方面給予的建議和幫助,感謝江立老師耐心細致的編輯、修正。他們的豐富經驗和認真負責的態度,使得本書從開始粗糙的初稿變成最後精美的成書。
郭宏志
2010年3月
2. 做Android開發 需要掌握哪些知識
Android開發是基於Linux平台,在java基礎之上,用來開發手機APP的一門編程語言
判斷是否可以從事安卓開發的相關工作,可以從以下三個方面思考:
1,Android基礎階段:平台架構特性(JAVA/C) Market/應用程序組件 環境搭建與部署/打包與發布 AVD/DDMS/AAPT 調試與測試 。
2,Android進階初級:組件Widget/ 菜單Menu/ 布局Layout 詳解 Xml解析(Pull/Dom/Sax)/JNI 解析SQL資料庫原理。
3,Android進階高級:藍牙/WIFI SMS/MMS 應用實現 深層次解析GPS原理。
實現LocationManager/LocationProvider 進行定位/跟蹤/查找/趨近警告以及Geocoder正逆向編解碼等技術細節 2D圖形庫(Graphics/View)詳解 SDCARD/感測器/手勢 應用實現
如果自身實力還不到位的話,可以點 擊 頭 像 試 聽 課 程了解一下,專業的事要由專業的人來做。
3. Android應用開發需要具備哪些知識
l 熟練運用Android下的自定義控制項。
l 熟練掌握Android系統架構,對Android的各個層次的開發有一定的認識。
l 熟練掌握android下的XML,JSON,HTML的解析,熟練掌握各種數據的存儲方式,能使用MVC獨立開發客戶端程序,熟悉安卓下的GPS定位。
l 熟悉android 的JNI 開發,通過JNI實現JAVA與C/C++程序間的調用及回調。
l 熟練掌握UI設計、常用布局、動畫特效。熟悉安卓下的消息推送機制原理。
l 熟悉Android下的安全機制。如獲取系統最高許可權使得不能停止服務,利用守護進程保護服務不被停止,清理內存等。
l 熟悉Android下網路通信機,對Socket通信、TCP、Http有較深刻的了解和經驗。
l 熟練應用Mysql,SQLServer,及安卓下的SQLite資料庫操作及編碼。
l 熟練掌握HTML,DIV/CSS,熟悉JavaScript/Ajax/jquery能實現靜態頁面的開發。
l 了解HTML5,了解PhoneGAP框架,WebSevice。
熟練使用Eclipse/Myeclipse,CVS/SVN/GIT等開發工具, 對數據結構有深入了解,有C/C++基礎
當然你java基礎也必須要好 演算法什麼的
4. android開發的知識體系
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框架。
5. 安卓開發需要學習什麼
學習分三個階段:
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/感測器/手勢 應用實現
(5)android網路應用開發擴展閱讀:
知識體系
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框架。
6. android 五大應用開發框架是什麼
android應用開發框架是 Application Framework. 其系統架構由5部分組成,分別是:Linux Kernel、Android Runtime、Libraries、Application Framework、Applications。第二部分將詳細介紹這5個部分。下面自底向上分析各層。 Android架構 1、Linux Kernel Android基於Linux 2.6提供核心系統服務,例如:安全、內存管理、進程管理、網路堆棧、驅動模型。Linux Kernel也作為硬體和軟體之間的抽象層,它隱藏具體硬體細節而為上層提供統一的服務。 如果你學過計算機網路知道OSI/RM,就會知道分層的好處就是使用下層提供的服務而為上層提供統一的服務,屏蔽本層及以下層的差異,當本層及以下層發生了變化不會影響到上層。也就是說各層各盡其職,各層提供固定的SAP(Service Access Point),專業點可以說是高內聚、低耦合。 如果你只是做應用開發,就不需要深入了解Linux Kernel層。 2、Android Runtime Android包含一個核心庫的集合,提供大部分在Java編程語言核心類庫中可用的功能。每一個Android應用程序是Dalvik虛擬機中的實例,運行在他們自己的進程中。Dalvik虛擬機設計成,在一個設備可以高效地運行多個虛擬機。Dalvik虛擬機可執行文件格式是.dex,dex格式是專為Dalvik設計的一種壓縮格式,適合內存和處理器速度有限的系統。 大多數虛擬機包括JVM都是基於棧的,而Dalvik虛擬機則是基於寄存器的。兩種架構各有優劣,一般而言,基於棧的機器需要更多指令,而基於寄存器的機器指令更大。dx 是一套工具,可以將 Java .class 轉換成 .dex 格式。一個dex文件通常會有多個.class。由於dex有時必須進行最佳化,會使文件大小增加1-4倍,以ODEX結尾。 Dalvik虛擬機依賴於Linux 內核提供基本功能,如線程和底層內存管理。 3、Libraries Android包含一個C/C++庫的集合,供Android系統的各個組件使用。這些功能通過Android的應用程序框架(application framework)暴露給開發者。下面列出一些核心庫: 系統C庫--標准C系統庫(libc)的BSD衍生,調整為基於嵌入式Linux設備 媒體庫--基於PacketVideo的OpenCORE。這些庫支持播放和錄制許多流行的音頻和視頻格式,以及靜態圖像文件,包括MPEG4、 H.264、 MP3、 AAC、 AMR、JPG、 PNG 界面管理--管理訪問顯示子系統和無縫組合多個應用程序的二維和三維圖形層 LibWebCore--新式的Web瀏覽器引擎,驅動Android 瀏覽器和內嵌的web視圖 SGL--基本的2D圖形引擎 3D庫--基於OpenGL ES 1.0 APIs的實現。庫使用硬體3D加速或包含高度優化的3D軟體光柵 FreeType --點陣圖和矢量字體渲染 SQLite --所有應用程序都可以使用的強大而輕量級的關系資料庫引擎 4、Application Framework 通過提供開放的開發平台,Android使開發者能夠編制極其豐富和新穎的應用程序。開發者可以自由地利用設備硬體優勢、訪問位置信息、運行後台服務、設置鬧鍾、向狀態欄添加通知等等,很多很多。 開發者可以完全使用核心應用程序所使用的框架APIs。應用程序的體系結構旨在簡化組件的重用,任何應用程序都能發布他的功能且任何其他應用程序可以使用這些功能(需要服從框架執行的安全限制)。這一機制允許用戶替換組件。 所有的應用程序其實是一組服務和系統,包括: 視圖(View)--豐富的、可擴展的視圖集合,可用於構建一個應用程序。包括包括列表、網格、文本框、按鈕,甚至是內嵌的網頁瀏覽器 內容提供者(Content Providers)--使應用程序能訪問其他應用程序(如通訊錄)的數據,或共享自己的數據 資源管理器(Resource Manager)--提供訪問非代碼資源,如本地化字元串、圖形和布局文件 通知管理器(Notification Manager)--使所有的應用程序能夠在狀態欄顯示自定義警告 活動管理器(Activity Manager)--管理應用程序生命周期,提供通用的導航回退功能 5、Applications Android裝配一個核心應用程序集合,包括電子郵件客戶端、SMS程序、日歷、地圖、瀏覽器、聯系人和其他設置。所有應用程序都是用Java編程語言寫的。更加豐富的應用程序有待我們去開發! 從上面我們知道Android的架構是分層的,非常清晰,分工很明確。Android本身是一套軟體堆迭(Software Stack),或稱為「軟體迭層架構」,迭層主要分成三層:操作系統、中間件、應用程序。從上面我們也看到了開源的力量,一個個熟悉的開源軟體在這里貢獻了自己的一份力量。
7. Android應用開發手機沒有網要輸入什麼代碼
輸入WifiDirect代碼。可以在應用開發手機內輸入WifiDirec代碼後,實現Android手機之間無網路傳輸文件,Android無網路傳輸相對於安全可靠。
8. android應用開發做什麼比較有前景
能從事的方向很多,主要從事android移動應用操作系統、android游戲開發、android應用平台和游戲的測試、功能優化等。主要崗位是android應用軟體開發工程師、android游戲程序員、android游戲開發工程師、android軟體移植工程師、android網路游戲開發工程師等崗位。目前剛入職的android軟體開發工程師平均薪資都在五千左右,有兩年以上經驗的,年薪都在十萬左右。
9. android應用開發,網路應用在模擬器上可以聯網,真機調試卻聯網失敗
我建議你開啟一個新的線程去執行耗時操作,否則非常容易導致ANR異常,比如使用Asynctask來完成。
謝謝,望採納!
10. android開發 需要學習什麼
Android開發簡單來說,就是在安卓系統的手機上製作APP,現在安卓手機市場份額大,對人才的需求也是很高的
Android開發,需要掌握以下知識:
android以java為基礎的,所以前提要學好Java基礎知識,比如基本類型、集合等。
android api,學習基本的Activity、service、intent等基本的知識,可以開發一些界面。
計算機網路基本知識。
Linux命令、C編程基礎、Android Java編程、Google Android Linux操作系統具體操作等
課 工 場的Android開發教學系統非常完備,如果有這方面的學習需求,可以點 擊 頭 像試聽課程了解一下。