您好,Java的三大框架一般指Spring、Structs2、Hibernate,簡稱SSH。SSH一般用於做網站,和Android基本無關。學習Android需要Java基礎,再學習Android的SDK調用!
Ⅱ 如何成為Android高手
如何成為Android高手若立志成為Android高手,如有耐心,「一瓶一缽足矣」。
「天下事有難易乎?為之,則難者亦易矣;不為,則易者亦難矣。人之為學有難易乎?學之,則難者亦易矣;不學,則易者亦難矣。」想成為Android高手?這可不是想像中寫幾行代碼那麼容易的事情,但也不是不可實現。
如何做?
1,學會懶惰!奇怪吧?但是,你一定也聽說過和感受過這個世界某種程度上是由懶人推動的,生命在於懶惰,懶人創造世界。當然,懶惰也是真的傻傻的呆在那
里什麼都不做,而是說要善於想出做事情的更好的方式,這樣就可以節約大量的時間,也就有更多的機會懶惰了,同事也懶出了境界。在Android中如何懶
惰?《如何成為Android高手》一文就如何在Android中學會懶惰和朋友們進行了分享。
2,精通Android體系架構、MVC、常見的設計模式、控制反轉(IoC):這一點難嗎?「學之,則難者亦易矣;不學,則易者亦難矣。」
3,編寫可重用、可擴展、可維護、靈活性高的代碼:Android應用程序開發的使用純粹面向對象的Java作為開發語言,自然也就繼承了關於Java
關於面向對象的優秀想思想,如何做?《如何成為Android高手》一文就如何在Android中編寫可重用、可擴展、可維護、靈活性高的代碼和朋友們進
行了分享。
4,高效的編寫高效的代碼:高效的編寫代碼和編寫高效的代碼好像天生就是死敵。似乎開發速度上去了,程序的執行效率就下去了;程序的執行效率上去,開發速度就下去了。如何解決二者的忙著,請聽《如何成為Android高手》一文想大家娓娓道來。
5,學會至少一門伺服器端開發技術:沒搞錯吧,成為Android高手還需要學習服務端開發技術?對,需要!《如何成為Android高手》一文就該問題和大家進行了分享。
「蜀之鄙,有二僧:其一貧,其一富。貧者語於富者曰:"吾欲之南海,何如?"富者曰:"子何恃而往?"曰:"吾一瓶一缽足矣。"富者曰:"吾數年來欲買
舟而下,猶未能也。子何恃而往!"越明年,貧者自南海還,以告富者,富者有慚色。西蜀之去南海,不知幾千里也,僧富者不能至,而貧者至之,人之立志,顧不
如蜀鄙之僧哉 」
若立志成為Android高手,如有耐心,「一瓶一缽足矣」。
Ⅲ 在安卓上大家是用什麼ssh工具做代理的
SSH 為 struts+spring+hibernate的一個集成框架,是目前較流行的一種Web應用程序開源框架
框架結構
如右圖:
Struts對Model,View和Controller都提供了對應的組件。
在右圖中,ActionServlet,這個類是Struts的核心控制器,負責攔截來自用戶的請求。
Action,這個類通常由用戶提供,該控制器負責接收來自ActionServlet的請求,並根據該請求調用模型的業務邏輯方法處理請求,並將處理結果返回給JSP頁面顯示。
Model部分
由ActionForm和JavaBean組成,其中ActionForm用於封裝用戶的請求參數,封裝成ActionForm對象,該對象被ActionServlet轉發給Action,Action根據ActionFrom裡面的請求參數處理用戶的請求。
JavaBean則封裝了底層的業務邏輯,包括資料庫訪問等。
View部分
該部分採用JSP(或HTML、PHP……)實現。
Struts提供了豐富的標簽庫,通過標簽庫可以減少腳本的使用,自定義的標簽庫可以實現與Model的有效交互,並增加了現實功能。對應上圖的JSP部分。
Controller組件
Controller組件有兩個部分組成——系統核心控制器,業務邏輯控制器。
系統核心控制器,對應上圖的ActionServlet。該控制器由Struts框架提供,繼承HttpServlet類,因此可以配置成標注的Servlet。該控制器負責攔截所有的HTTP請求,然後根據用戶請求決定是否要轉給業務邏輯控制器。
業務邏輯控制器,負責處理用戶請求,本身不具備處理能力,而是調用Model來完成處理。對應Action部分。
Spring
Spring是一個開源框架,它由Rod Johnson創建。它是為了解決企業應用開發的復雜性而創建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限於伺服器端的開發。從簡單性、可測試性和松耦合的角度而言,任何Java應用都可以從Spring中受益。
目的:解決企業應用開發的復雜性
功能:使用基本的JavaBean代替EJB,並提供了更多的企業應用功能
范圍:任何Java應用
簡單來說,Spring是一個輕量級的控制反轉(IoC)和面向切面(AOP)的容器框架。
輕量——從大小與開銷兩方面而言Spring都是輕量的。完整的Spring框架可以在一個大小隻有1MB多的JAR文件里發布。並且Spring所需的處理開銷也是微不足道的。此外,Spring是非侵入式的:典型地,Spring應用中的對象不依賴於Spring的特定類。
控制反轉——Spring通過一種稱作控制反轉(IoC)的技術促進了松耦合。當應用了IoC,一個對象依賴的其它對象會通過被動的方式傳遞進來,而不是這個對象自己創建或者查找依賴對象。你可以認為IoC與JNDI相反——不是對象從容器中查找依賴,而是容器在對象初始化時不等對象請求就主動將依賴傳遞給它。
面向切面——Spring提供了面向切面編程的豐富支持,允許通過分離應用的業務邏輯與系統級服務(例如審計(auditing)和事務(transaction)管理)進行內聚性的開發。應用對象只實現它們應該做的——完成業務邏輯——僅此而已。它們並不負責(甚至是意識)其它的系統級關注點,例如日誌或事務支持。
容器——Spring包含並管理應用對象的配置和生命周期,在這個意義上它是一種容器,你可以配置你的每個bean如何被創建——基於一個可配置原型(prototype),你的bean可以創建一個單獨的實例或者每次需要時都生成一個新的實例——以及它們是如何相互關聯的。然而,Spring不應該被混同於傳統的重量級的EJB容器,它們經常是龐大與笨重的,難以使用。
框架——Spring可以將簡單的組件配置、組合成為復雜的應用。在Spring中,應用對象被聲明式地組合,典型地是在一個XML文件里。Spring也提供了很多基礎功能(事務管理、持久化框架集成等等),將應用邏輯的開發留給了你。
所有Spring的這些特徵使你能夠編寫更干凈、更可管理、並且更易於測試的代碼。它們也為Spring中的各種模塊提供了基礎支持。
Hibernate
Hibernate是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱資料庫。 Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的J2EE架構中取代CMP,完成數據持久化的重任。
Hibernate的核心介面一共有5個,分別為:Session、SessionFactory、Transaction、Query和Configuration。這5個核心介面在任何開發中都會用到。通過這些介面,不僅可以對持久化對象進行存取,還能夠進行事務控制。下面對這五個核心介面分別加以介紹。
·Session介面:Session介面負責執行被持久化對象的CRUD操作(CRUD的任務是完成與資料庫的交流,包含了很多常見的SQL語句。)。但需要注意的是Session對象是非線程安全的。同時,Hibernate的session不同於JSP應用中的HttpSession。這里當使用session這個術語時,其實指的是Hibernate中的session,而以後會將HttpSession對象稱為用戶session。
·SessionFactory介面:SessionFactory介面負責初始化Hibernate。它充當數據存儲源的代理,並負責創建Session對象。這里用到了工廠模式。需要注意的是SessionFactory並不是輕量級的,因為一般情況下,一個項目通常只需要一個SessionFactory就夠,當需要操作多個資料庫時,可以為每個資料庫指定一個SessionFactory。
·Configuration介面:Configuration介面負責配置並啟動Hibernate,創建SessionFactory對象。在Hibernate的啟動的過程中,Configuration類的實例首先定位映射文檔位置、讀取配置,然後創建SessionFactory對象。
·Transaction介面:Transaction介面負責事務相關的操作。它是可選的,開發人員也可以設計編寫自己的底層事務處理代碼。
·Query和Criteria介面:Query和Criteria介面負責執行各種資料庫查詢。它可以使用HQL語言或SQL語句兩種表達方式。
Ⅳ 求推薦幾本安卓開發的好書
Android學習入門書籍推薦
Android編程入門教程andbook
andbook 是我看到的最簡單但最好的Android 程序開發入門書籍,內容僅有60 多頁,圖文並
茂,如果你從來沒有接觸過Android 開發,也完全可以通過閱讀此書了解程序開發過程,甚
至對APK 程序的基本原理和Android UI 界面開發有個清晰的認識,相信你花上幾個小時讀
過後,一定會躍躍欲試加入Android 開發行列,心動吧,那就行動吧。。。
深入淺出Android–Google手持設備應用程序設計
入門書籍,作者寫的很不錯,可以在閱讀SDK 的同時閱讀這本書,中間的一些使用介紹的
非常清楚,最重要的是中文版的
GoogleAndroid應用框架原理與程式設計36技
最早介紹Android 的中文書籍,台灣人寫的繁體版的,看得有些影響,不過還是值得耐心閱
讀的
AndroidAProgrammer』s Guide
多個專家寫的介紹Android 的書籍,內容寫的很不錯,Ask the Expert 部分針對一些問題作
了詳細的說明
Android Essentials
對Android 介紹的比較全面,從安裝到開發,應該有新版本了。
GoogleAndroid SDK開發範例大全(第2版)
以Android 手機應用程序開發(採用AndroidSDK2.1)為主題,通過160多個範例全面且深
度地整合了手機、網路及服務等多個開發領域,為讀者提高程序設計功力提供了很大的幫助。
GoogleAndroid開發入門與實戰
內容上覆蓋了用Android 開發的大部分場景,從Android 基礎介紹、環境搭建、SDK 介紹、
Market 使用,到應用剖析、組件介紹、實例演示等方面。從技術實現上,講解了5個Android
平台下的完整綜合實例及源代碼分析,分別是RSS 閱讀器、基於Google Map 的個人GPS、
豆瓣網(Web 2.0)客戶端、在線音樂播放器、手機信息助手,為初學者學習與實踐結合提
供了很好的指導。
Android平台開發之旅
涵蓋了Android 平台1.5到2.2版本的主要功能特性,立足實際的開發案例,介紹了Android
手機平台開發的基礎概念、實用技術和應用模式。主要內容包括:平台基礎、開發環境搭
建、程序框架、高級界面和底層界面設計、文件系統管理、網路通信、無線通信、多媒體編
程、個人信息管理、電話系統、資料庫應用、XML 應用和地圖應用。開發實例多達120例。
如何成為Android高手
成為一名真正的Android 高手必須掌握和遵循的一些准則:
1,學會懶惰
2,精通Android 體系架構、MVC、常見的設計模式、控制反轉(IoC)
3,編寫可重用、可擴展、可維護、靈活性高的代碼
4,高效的編寫高效的代碼
5,學會至少一門伺服器端開發技術
Android開發指南中文版之應用程序框架
Android SDK1.5版的英文開發資料Android Development Guide 中應用程序框架部分的翻譯
PDF 文件。
Ⅳ 本人酷愛軟體開發,想請給位高手討教一套java入門-android開發的學習計劃。
Java總體的學習計劃
第一部分:
JAVA語言基礎知識。包括異常、IO流、多線程、集合類、資料庫。
要求:對java的封裝,生命周期等有一定的了解;
理解Java虛擬機,清楚類載入機制
基礎語法------熟悉Java常用語法,類、package定義、變數命名規則,基本數據類型,Java關鍵字,Java內存機制(堆內存、棧內存)等
面向對象------熟悉面向對象思想,掌握三大特性(繼承、封裝、多態),比較面向對象與面向過程的區別(了解抽象類與介面的區別) 異常------異常處理機制和異常分類(異常繼承機構),掌握try-catch-finally的使用 ,熟悉常用的異常
數組------掌握數組的定義,數組的分類(一維數組,多維數組),熟悉數組的用法
Java常用類------對JDK API進行熟悉,掌握幾個常用的包,java.io.*,java.lang.*,了解常用的類,String、Date、File等
IO流------掌握位元組流、字元流和對象序列化的處理.。熟練使用各種輸入、輸出流類(InputStream、OutputStream、FileInputStream、FileOutputStream、DataInputStream、 DataOutputStream、BufferedInputStream、BufferedOutputStream、Reader、Writer、 InputStreamReader、OutputStreamWriter、BufferReader、BufferedWriter、 ObjectInputStream、ObjectOutputStream)。
多線程------掌握多線程實現的兩種實現方法,分別是繼承Thread類與實現Runnable介面。理解線程間的同步與互斥。
集合類-------掌握Set、Collection、Map、List、Iterator、Enumeration介面的使用,掌握HashSet、ArrayList、Vector、HashMap、HashTable類的使用
GUI------了解Java圖形界面編程,包括awt和swing
資料庫-------掌握JDBC API的使用,包括DriverManager類、Connection介面、Statement類和介面、PreparedStatement介面、ResultSet介面。
了解java反射機制,對Java1.5的新功能必須有了解與使用,泛型等。.
理解Unicode、GB2132、GBK、UTF-8、ISO8859編碼方式。
理解Java的常用演算法、排序演算法等
第二部分:
JAVA網路編程。包括Socket、RMI、HTML、XML、JSP、JavaBean、Servlet。
要求:
Socket--------了解java.io包中的套介面類和伺服器套介面類的使用。
RMI--------掌握RMI基本工作原理、掌握定義遠程服務介面類、遠程介面類、客戶端調用類和部署、編譯RMI應用程序。(這個了解就可以了 ,現在主要用的webservice)
HTML--------了解HTML語言的語法、各種標簽。
JSP-------掌握JSP2.0語法、內置對象、EL、JSTL1.1、JSP自定標簽。
JavaBean-------理解JavaBean的特點和事件模型。
XML--------了解XML語言的語法、DTD、Schema。
Servlet---------掌握HTTP協議、Servlet生命周期、Servlet會話跟蹤、Servlet過濾器、Serlvet事件偵聽器、配置web.xml。
UML-------掌握用例圖、類圖、活動圖、順序圖、狀態圖。
開發工具------掌握Rational Rose 、ant 、svn版本控制、myeclipse、dreamweave等開發工具使用。
學習過程中學會使用Tomcat、JBoss/Weblogic伺服器
第三部分:
流行MVC架構和Java對象持久化技術。包括webwork、Spring、Hibernate
要求:MVC-------理解MVC設計模式、處理過程。
Struts2-------理解Struts2實現MVC的機制、工作流程。掌握配置Struts2應用、Struts2控制器組 件、Struts2應用的國際化、異常處理、Struts2標簽庫。
Spring-------掌握控制反轉(IoC)、面向方面編程(AOP)、事務服務(JTA)、郵件服務(JavaMail)、持久化服務(DAO、JDBC、ORM)、遠程服務(RMI)。
Hibernate--------理解ORM,掌握映射對象標識符、映射關系(一對多、多對多、一對一)、映射類型、檢索策略、檢索方式、資料庫事務與並發、管理Hibernate的緩存。
也可以學習下MyBatis
Ⅵ android常用設計模式或者框架有哪些我說的是最常用的,像j2ee中的SSH框架。
android內暫時沒有什麼框架。
自己按照mvc分層的原則做好就好,有些開源的像facebook也有很多的開源庫。你可以考慮一下使用。
Ⅶ android從程序員到架構師之路的作品目錄
Part-1: 從架構到代碼的過程
1.1 敏捷與架構的完美組合 敏捷開發的原則和價值觀 開發、架構、測試之關系 架構在敏捷過程里的角色 架構師在敏捷過程的職責 過程觀點:(需求)測試做<反饋>,敏捷(過程)做<迭代>; 分合觀點:(架構)設計做<分>,(代碼)開發做<合> 測試觸發反饋,反饋帶動迭代,迭代驅動<架構à代碼>重構 迭代促進了<架構師&開發者>的心靈溝通與攜手協作 舉例:架構師如何設計敏捷的起始架構(Simple Solution) 加法設計:圍繞問題( Problem)和願景(Vision),產生創意構想(Creative Idea) 減法設計:創意愛上限制(Creativity loves constraint) 1.2 代碼是架構的外貌,永遠青春 架構師與開發者的合作成果:架構+代碼=軟體(系統) 架構是軟體的骨架、代碼是軟體的外貌 架構是軟體的核心 架構的用意:創新組<合> 架構設計的焦點:介面(Interface) 設計決策具有<未來性>,系統才能適應未來 1.3 設計與開發的分工合作 架構設計的目的是:組合 架構師做<分>,支持開發者做<合>,合作實踐(系統)組合 分得妙,就能合得快(即:分之以為用,合之以為利) 分得妙,就能得好介面(Interface) 架構師的核心工作:介面設計(Interface Design) 開發者的核心工作:依據介面,開發(系統)模塊並整合 有許多種開發者:如App開發者、底層系統開發者等 1.4 敏捷思維:盡快呈現架構的外貌 介面設計是<物>的組合設計 介面設計是<事>的分工設計 架構師設計多種介面來支撐分工與組合 架構師心中的4種介面:SI、PI、API和UI SI:本架構與外部系統之間的整合介面 PI:本架構與內部挿件(Plug-in)之間的介面 API:本架構與應用程序(App)之間的介面 UI:App與用戶的互動介面 l 依循敏捷原則,介面迅速落實為代碼,盡快呈現外貌
1.5 EIT造形:介面美麗的外貌 認識EIT軟體造形 EIT造形:呈現核心設計的外貌 EIT造形的<I>可涵蓋三種:SI、PI、API EIT造形的<E>代表本架構 EIT造形的<T>代表本架構的配件(即插件:Plug-in) 1.6 一群<E&I>美妙的組合是:框架(Framework) 認識GoF的設計模式(Design Pattern) 隨著敏捷的迭代過程,EIT造形會逐漸增加 如何巧妙組合漸增的EIT造形:擅用設計模式 組合起來,就成為軟體框架了 如何迭成多層級(Layer)的框架體系:以Android為例 Part-2: 從Android框架代碼中學習設計
2.1 基礎設計模式(Pattern)的代碼:以Android為例 Template Method模式:IoC(控制反轉)機制 Observer模式:介面設計 Abstract Factory模式:兩個EIT造形的組合 Adapter模式:封裝介面 Composite模式:實踐組合 Façade模式:組合體的介面設計 EIT造形是原子,設計模式是分子 更多EIT造形的組合模式:以Android代碼為例 2.2 從 UI框架入手 View體系的架構設計(使用Template Method模式) Activity-View的架構設計(使用Factory模式) Layout-View的架構設計(使用Composite模式) WMS(WindowManagerService)-View的架構設計 WMS-SurfaceFlinger的架構設計 Surface-Canvas(畫布)的架構設計 SurfaceView與OpenGL的3D繪圖架構設計 ListView框架的設計 2.3 跨進程(IPC)架構設計 Android 的IPC幕後設計:BD(Binder Driver)驅動架構 以IBinder介麵包裝BD驅動的服務 包裝IBinder介面的Proxy-Stub設計模式 Proxy和Stub類別的代碼 設計Proxy和Stub類別的API 如何自動生成Proxy和Stub類別代碼 IBinder & AIDL方法 方法(一):Implementing a Binder 方法(二):Using a Messenger 方法(三):Bound Services 2.4 Java與C/C++兩層框架的設計 JNI(Java Native Interface)代碼開發要點 JNI的數據型態(Data Type)轉換規則 JNI的線程(Thread)模式:JNIENV類的設計 正向通信:Java函數調用本地C函數 反向通信:本地C函數調用Java函數 Android HAL架構設計 HAL(Hardware Abstraction Layer)的意義 理解runtime與HAL Stub 撰寫HAL Stub代碼 Stub調用Linux Kernel的方法 2.5 核心服務的框架設計 認識核心服務(Core Service) 核心服務都是在開機過程中,由Android的INIT進程啟動的 包括Android Service和 Native Service兩種 以Java語言撰寫的,就稱為Android Service 以C++撰寫的,就稱為Native Service 親自撰寫一個核心服務 撰寫一個C++類別 繼承BBinder基類,繼承得來IBinder界面 提供介面給Java層(透過JNI)調用 2.6 JUnit測試框架的設計 Android的測試工具,都是基於JUnit測試框架的 JUnit框架也是由許多EIT造形所組成;其TestCase基類是<E&I> 從基類衍生出各子類,如ServiceTestCase就是擴充的<E&I>;其內涵的setUP()和tearDown()函數就是<I> 可撰寫<T>(即Test case)代碼,來啟動TDD機制 可使用TestSuite基類來管理一群相關的<T>(即Test case) Part-3: 梳理你的架構設計思想、方法和模式
3.1 復習設計概念與技藝
概念復習 說明框架的起源、分層與其「無用之用」效果 闡述應用框架魅力的泉源:控制反轉(IoC, Inversion of Control)機制 深入認識控制反轉機制 主控者是框架,而不是應用程序 現代應用框架:採取廣義IoC觀念 框架的重要功能:提供默認行為(Default Behavior) 技藝復習 抽象(無之)與衍生(有之) 打造框架:細膩的抽象步驟 基本步驟: 細膩的手藝(一):數據抽象 細膩的手藝(二):函數抽象 細膩的手藝(三):將抽象類別轉為介面 善用類的繼承(Inheritance)機制 設計基類的抽象函數 抽象是手段,組合是目的 UML復習 UML的3種基本圖表:類圖、順序圖和用例圖 以UML表達設計模式和框架 EIT造形的兩種表達:UML圖和代碼 3.2 架構設計的需求分析方法 基本設計技能:把輪胎拔掉 偉大的雕刻師羅丹( Musée Rodin)說:」把不必要的部分去掉」 買主需求:想想為什麼(why)汽車架構師會決定把輪胎拔掉呢? 其背後的理由是:買主來了,才知道買主對輪胎的偏好或特殊需求。只有等到買主決定和挑選了輪胎之後,才能將輪胎裝配上去。 探索買主需求 為什麼把輪胎拔掉呢? 為什麼火鍋店的桌子要挖洞呢? 為什麼餐廳要分開<食譜>與<點菜單>呢? 3.3 介面設計模式 什麼是介面(Interface) 在OOP里,將介面定義為一種特殊的類別(Class) 在Java里,將」純粹抽象類別」稱為介面(Interface) EIT造形的介面表示為<I> <I>可以合並到<E>里 誰控制<I>? <E>成為控制點 引擎<E>à<I>à驅動輪胎<T> 如何控制API ? UI與API 被動型API與主動型API API與商業模式 API決定控制權&金流 沒錢就改版,改版就有錢 以HAL為例,說明API = 話語權 誰擁用介面的制定權,誰就掌握控制點,就能獲得較大的話語權 從API看控制力量的強弱等級 把控制力傳播出去 Part-4: 親自<敏捷+架構>、並迭代出代碼
4.1 情境範例:」手機訪問TV/STB」 願景:多屏互動、幸福家庭的實踐 亮點:許多智能設備大量進入家庭,在家裡的Android TV建立一朵私密雲,來整合窗外多個雲平台和手機移動終端,變得流行起來。 情境:手機遠距訪問TV,透過TV打開家中的壁燈開關 架構:基於<手機+TV>的大小機相聯、大小屏幕互動的新架構 設計:設計TV里的框架<E&I>、撰寫插件<T> 技術: 在外的家庭成員透過手機瀏覽器(Browser)上網訪問家庭雲,您可以在家庭雲里,安裝一個i-Jetty網頁容器(Web Container) 此時,I-Jetty里的HttpServlet就是另一個<E>,而它的doGet()等函數就是<I> 您寫的servlet代碼就是I-Jetty的<T>,它接受手機的訪問 4.2 實際開發:依循敏捷、落實為代碼
<架構設計>階段的敏捷迭代 Step-0. 准備測試計劃 訂定此階段的測試方案(Test Case) 以Android手機Browser為測試方案的執行軟體 Step-1. 設計敏捷過程的起點架構:Simple Solution 通信協議:手機與TV采HTTP通信 軟體介面:TV端的EIT造形與手機端Browser對接 設計:以UML表達EIT造形 代碼:賺寫I-Jetty的Servlet來實踐EIT造形 Step-2. 啟動TDD機制、進行迭代 從手機來實機檢測TV里的EIT造形的介面代碼 依循TDD的反饋,迭代Step-1和Step-2的活動 <代碼開發>階段的敏捷迭代 Step-3. 准備測試計劃 訂定此階段的測試方案:基於用戶需求(Requirements) 以Android手機Browser為測試方案的執行軟體 Step-4. 以上階段Step-2產出的EIT造形為起點架構 Step-5. 依循測試方案,展開細節設計和代碼開發 撰寫Android App代碼:基於Android應用框架 I-Jetty的<T>調用Android的App App透過JNI調用Android的Zigbee驅動代碼 Zigbee驅動透過Dongle發信號給壁燈開關 Step-6. 啟動TDD機制、進行迭代 從手機來實機檢測TV里的有關代碼 依循TDD的反饋,迭代Step-5和Step-6的活動,直到完成 4.3 繼續敏捷迭代、開發新功能
新功能1:手機控制TV里的Camera拍照片 TV/STB內的i-Jetty含有servlet代碼,讓手機可以遠距來訪問它 TV/STB則內含Camera驅動,能控制攝像頭硬體 運用EIT造形和敏捷迭代,開發軟體來整合家外的手機與TV/STB上的攝像頭硬體,讓家庭成員隨時從手機來打開TV/STB的攝像頭,拍了照片送回到手機上呈現出來 展開敏捷過程,直到完成 新功能2:手機控制TV將照片送上雲端(Cloud) TV/STB將Camera拍攝的照片送上雲端:例如Google的GAE等 基於WiFi通信協議 展開敏捷過程,直到完成 Part-5: 架構設計應用:支持跨平台
5.1 三個架構設計策略 三個實施策略: 策略-1:把它」EIT(設計)」了 策略-2:挾天子以令諸侯 策略-3:建立中間件(middleware) 5.2 跨晶元(小)平台:採取<策略-1>
情境A:先有別人的(小)平台,然後才建立我的平台 小平台是指別人的平台,該平台的變化決定於別人 為了跨平台,就不宜直接使用別人的平台 您設計<E&I>,而且設計<T>來包容別人平台的變化,這就稱為:把它」EIT(設計)」了。 情境B:先建立我的平台,然後才讓別人來擴充(Extend) 這反過來,讓別人設計插件<T>來擴充(extend)您的<E&I> 別人為了保護他自己,也會將插件分成兩部分:<壁虎尾巴>與<壁虎身體> 萬一您的<E&I>有變化時,這只壁虎(插件)便能棄尾求生,讓<壁虎身體>跨您的<E&I> 5.3 Android版本(大)平台:採取<策略-2> Android升級和版本變更頻繁,終端必須隨之而更新 Android是一個多層級<E&I>結構,各層都是由Google所開發,Google是強龍,位居天子角色,其設計<I>來控制您的插件<T> 您可以拿EIT造形搭配Proxy-Stub設計模式,規劃Stub類別(曹操類),制定自己的<I>,讓<T>脫離Android的<E&I>所牽制;實現」挾天子以令諸侯」的效果 5.4 跨自己的平台(建立中間件):採取<策略-3> 隨著您的公司業務成長,您的平台版本變更頻繁;如何包容自己平台的變化呢? 您可以規劃一個上層平台<E&I>來吸納自己平台的變化 此平台又稱為中間件,其提供穩定的<I>(又稱API),也保護自己平台的變動自由度,實現」沒錢就改版,改版就有錢」的效果 中間件還能提供您的專有API,來凸顯自己平台的獨特性 Part-6: 架構設計的成功案例分享
6.1 案例:重構PhoneGap的架構和代碼 議題:PhoneGap目前只搭配HTML5的Web App 如何重構PhoneGap的架構和代碼 讓PhoneGap也能搭配一般的Native App 現況:目前PhoneGap的架構設計 HTML5 & PhoneGap可以讓UI更容易跨平台 其依賴Browser和PhoneGap的插件<T>來吸收平台的差異化 如果插件很多時,PhoneGap里的PluginManager負責管理之 UI事件是從WebView傳送到PhoneGap的插件<T> 目標 即使不採用HTML5,也能使用PhoneGap來管里插件 一旦不使用HTML5,PhoneGap就不再搭配WebView 於是,PhoneGap轉而搭配一般的View,如Button等 UI事件(Event)改從一般的傳送到PhoneGap的插件<T> 收獲 如何攔截App的啟動事件(onCreate事件)和UI事件 以EIT造形加快理解PhoneGap框架的結構 深刻領悟<I>的設計要領:如IPlugin介面設計 熟悉從<重構設計>到<重構代碼>的過程 6.2 重構的設計思考 重構范圍內共有3個EIT造形的美妙組合 第1個造形:{ Activity-DroidGap } 第2個造形:{ WebView-CodavaWebView } 第3個造形:{ PluginManager-Plugin-<T>} 熟悉從<重構設計>到<重構代碼>的過程 因為不再搭配WebView,所以前兩個EIT造形都必須重構 第3個造形最復雜 上上策是:不重構第3個造形,其內涵和介面代碼都保持不變 成功地讓第3個造形跨到重構的新平台(即前兩個造形) 6.3 案例的成功關鍵和啟示 關鍵:在於上述的設計思考 洞悉:心懷EIT造形去觀察架構 技巧:從<I>觀察重構的變動震幅,找出上上之策 啟示:優越架構,帶來易於重構的機會,創造了系統未來性
Ⅷ android 能不能用 spring
android 一般不能用spring。
Spring是一個開源框架,Spring是於2003 年興起的一個輕量級的Java 開發框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中闡述的部分理念和原型衍生而來。它是為了解決企業應用開發的復雜性而創建的。框架的主要優勢之一就是其分層架構,分層架構允許使用者選擇使用哪一個組件,同時為 J2EE 應用程序開發提供集成的框架。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。
Spring的用途不僅限於伺服器端的開發。從簡單性、可測試性和松耦合的角度而言,任何Java應用都可以從Spring中受益。Spring的核心是控制反轉(IoC)和面向切面(AOP)。簡單來說,Spring是一個分層的JavaSE/EEfull-stack(一站式) 輕量級開源框架。
Ⅸ 安卓開發的入門書籍大家推薦幾本
1、《GoogleAndroidSDK開發範例大全》
《GoogleAndroidSDK開發範例大全》是2010年人民郵電出版社出版的圖書。全書共分10章,主要以範例集的方式來講述Android的知識點,詳細介紹了開發Android的人機交互界面、Android常用的開發控制項、使用Android手機收發簡訊等通信服務。
2、《Android軟體安全權威指南》
本書主要介紹Android平台上的軟體安全技術。從平台搭建和語言基礎開始,循序漸進地講解了Android平台上的軟體攻防技術。本書共12章,系統地講解了與Android軟體安全相關的環境搭建、文件格式、靜態分析、動態調試、Hook與注入、軟體保護技術、軟體殼等多個主題。
3、《Android開發精要》
《Android開發精要》是2012年機械工業出版社出版的圖書,作者是范懷宇。該書講述的是如何才能寫出貼近Android設計理念、能夠更加高效和可靠運行的Android應用,通過Android的源代碼去了解其底層實現細節是最重要的方法之一。
4、《Android應用性能優化》
《Android應用性能優化》是2012年人民郵電出版社出版的圖書,作者是[法] Hervé Guihot。本書主要介紹如何快速高效地優化應用,讓應用變得穩定高效。
5、《Android應用UI設計模式》
《Android應用UI設計模式》面向Android 4.0+操作系統,是市面上第一本深入解析Android界面設計的佳作。《Android應用UI設計模式》從適用於移動設備和平板的通用模式以及Android UI設計指南出發。
參考資料來源:
網路—《GoogleAndroidSDK開發範例大全》
網路—《Android軟體安全權威指南》
網路—《Android開發精要》
網路—《Android應用性能優化》
網路—《Android應用UI設計模式》