當前位置:首頁 » 安卓系統 » android高煥堂

android高煥堂

發布時間: 2022-06-26 03:42:56

1. 高煥堂的介紹

高煥堂。台灣Android論壇主席,現任亞太地區Android技術大會主席,台灣Android領域框架開發聯盟總架構師。發表100多篇Android核心技術文章,出版了6本Android專業技術書籍。

2. 請大家 推薦 android 框架研究方面的書籍

找些高煥堂的書看看!
上eoe上面去找下!應該有的

3. 如何在 Activity 之間傳遞參數

Activity之間是如何調用的
javaWeb程序中,jsp與jsp之間的調用是通過重定向完成的,而在Android中,Activity與Activity之間的切換是通過Intent來完成的。

謂Intent,它是Android中非常重要的內置組件,他可以理解為「我要干一件什麼事情」。在Android中有3大組
件:Activity,Service、Broadcast,他們之間的通信都是通過Intent來完成的,所以Intent其實就是告訴他們之間的每一
個人,要干什麼事情。
創建自己的Activity
高煥堂先生的Android講義中有如下一段內容:
Android的4種嫡系組件(即Activity、Service、IntentReceiver和ContentProvider)之間如何互相溝通呢?這4種嫡系組件都是由Android啟動的,並不是組件之間透過直接呼叫而啟動的。

段文字總結的十分精闢,它告訴了讀者(以Activity為例)Activity是Android自啟動的,這樣的話,編程人員必須要明確告訴
Android「我的應用程序裡面有哪些是你要給我啟動的」,而如何告訴Android這些信息呢,Android為我們提供了一個
AndroidManifest.xml文件。在這個文件中,就可以告訴Android這些內容。這也是為什麼我們在建立了自己的Activity、
ContentProvider等之後,必須要在配置文件中進行配置的原因。
以下代碼是在自己定義的一個名為SecondActivity的Activity,其配置代碼如下:
<activity android:name=".SecondActivity"
android:label="secondActivity">
</activity>

在android:name一項中中的「.」代表在當前配置文件的默認包名之下。
Activity之間的切換
從一個Activity調用另一個Activity,十分簡單,只需要創建一個Intent,並且告訴Intent我從哪來,要到哪去,然後執行這個Intent,就可以了。示例代碼如下:
Intent i = new Intent(TestActivity.this,SecondActivity.class);
startActivity(i);

然,這樣只能夠做到Activity之間的切換,如果想在切換的同時,由舊的Activity向新的Activity傳遞一些參數,那麼就要在
startActivity()方法之前,為Intent添加參數,通過putExtra(string,xxx)這組方法,就可實現。
putExtra(string,xxx)方法類似於map,鍵都是String型,值有不公類型,該方法被重載,具體可參考API,示例代碼如下:
Intent i = new Intent(TestActivity.this,SecondActivity.class);
i.putExtra("uName", "legend");
i.putExtra("uAge", (short)18);
startActivity (i);

獲取Intent傳遞的值
舊的Activity將值傳遞給了新的Activity,那麼在新的Activity中,要通過getIntent()方法,方可接收傳遞過來的Intent。得到Intent後通過getxxxExtra()方法,可以取得不同類型的值。如下所示:
Intent i = getIntent();
String uName = i.getStringExtra("uName");
short uAge = i.getShortExtra("uAge", (short) 0);

舊Activity得到新Activity結束後傳遞的Intent

開發中,有這種情況,比如說我們的一個Activity要調用一個新的Activity,讓後用戶對新的Activity操作完成後,關閉新的
Activity,這時需要將新的Activity中的一些值傳遞給舊的Activity。這就中情況不用自己處理,Android已經為我們編寫了一個
onActivityResult(int requestCode, int resultCode, Intent
data)方法,專門處理這種情況。
首先,在舊的Acitvity中的啟動Intent方法不能再使用之前的
startActivity,而要給用startActivityForResult(i, REQUESTCODE1
);方法,該方法第一個參數為要傳遞的intent,第二個參數為請求碼,該請求碼其實就是一個整型變數,用於指明是那個方法、或者說是那個控制項啟動了該
intent,其最主要的目的是在onActivityResult(int requestCode, int resultCode, Intent
data)方法中,編程使用。讀者這里可以不用深究,看到例子後,便會明白。該處代碼如下:

Intent i = new Intent(TestActivity.this,SecondActivity.class);
i.putExtra("uName", "legend");
i.putExtra("uAge", (short)18);
startActivityForResult(i, REQUESTCODE1 );


次,在新的Activity中要接受剛剛傳遞的Intent,接受方法如上所述,這里不再贅述。在新的Acitvity處理完成後,需要同過
setResult(Intent
i)方法來設置新的Activity結束後需要傳遞會舊的Activity的Intent。之後調用新的Activity的finish()方法,結束新
的Acitvity就可以了。代碼如下:

Intent resultIntent = new Intent();
resultIntent.putExtra("uName", "legend2");
resultIntent.putExtra("uAge", (short)22);
setResult(RESULTCODE1, resultIntent);
SecondActivity.this.finish();

最後,在舊的Activity中重寫onActivityResult(int requestCode, int resultCode, Intent data)方法,該方法的三個參數,這里就不在贅述了,相信讀者一看即明白,這里給出代碼如下:
if(requestCode == REQUESTCODE1){
System.out.println("REQUESTCODE equal");
if(resultCode == SecondActivity.RESULTCODE1){
System.out.println("RESULTCODE equal");
String uName = data.getStringExtra("uName");
short uAge = data.getShortExtra("uAge", (short)0);
tv.setText("uName:"+uName+" uAge:"+uAge);
}
}

參考程序
ActivityTest
補充:

Intent中,可以攜帶Object類型的信息,讀者查閱API後,可能會放先,putExtra()方法中,並沒有實現object的,但是重載了如
下的方法:putExtra(String name, Serializable
value),只要將對象實現了Serializable介面,就可以添加進Intent了。
對象序列化及反序列化
一個對象產生後,實際上是在內存中開辟了一個存儲空間,方便存儲信息。
對象的序列化,就是一個對象變成二進制數據流的一種方法,通過對象的序列化可以方便的實現對象的傳輸與存儲。
如果一個類的對象想要被序列化,必須實現Serializable介面,但是該介面中無方法,它屬於一個標示介面,表示具備了某種能力。
序列化和反序列化,可以理解為:
序列化:程序àObjectOutputStreamà序列化對象
反序列化:序列化對象àObjectInputStreamà程序
在序列化的時候,可以通過serialVersionUID來標識序列化版本。
值得注意的是,序列化存儲的只是對象的成員變數。
ObjectInputStream中的readObject()方法可讀取對象。
ObjectOutputStream中的writeObject()方法可寫入對象。

4. 《GoogleAndroid開發入門與實戰》pdf下載在線閱讀,求百度網盤雲資源

《Google Android開發入門與實戰》(姚尚朗)電子書網盤下載免費在線閱讀

鏈接:https://pan..com/s/1epEbscnMfX0GSUXt4OvPcQ

提取碼:42ea

書名:Google Android開發入門與實戰

作者:姚尚朗

豆瓣評分:6.3

出版社:人民郵電出版社

出版年份:2009 年6月

頁數:400

內容簡介:

本書內容上覆蓋了用Android開發的大部分場景,從Android基礎介紹、環境搭建、SDK介紹、Market使用,到應用剖析、組件介紹、實例演示等方面。從技術實現上,講解了5個Android平台下的完整綜合實例及源代碼分析,分別是RSS閱讀器、基於Google Map的個人GPS、豆瓣網(Web 2.0)客戶端、在線音樂播放器、手機信息助手。

本書注重對實際動手能力的指導,在遵循技術研發知識體系的嚴密性同時,在容易產生錯誤、不易理解的環節配以了詳實的開發情景截圖,並將重要的知識點和經驗技巧以「小實驗」、「小知識」的活潑形式呈現給讀者。在程序實例的講解方面,將實例安插在Android開發的精髓知識章節,這為初學者學習與實踐結合提供了很好的指導。.

本書配套有300多分鍾的全程開發視頻光碟,指導讀者快速、無障礙地學通Android實戰開發技術。..

本書適合具備一定軟體開發經驗,想快速進入Android開發領域的程序員;具備一些手機開發經驗的開發者和Android開發愛好者學慣用書;也適合作為相關培訓學校的Android培訓教材。

特點:

* 第一本國內開發團隊原創的Android圖書

* 完全基於Android最新的SDK1.5

* 著名台灣技術專家高煥堂、Google Android工程師何峰、InfoQ站長霍泰穩鼎力推薦!

* 全書除了大量小型案例之外還包含了5個Android平台下的完整商業實例及源碼分析,分別是RSS閱讀器、基於GoogleMap的個人GPS、豆瓣客戶端、在線音樂播放器、手機信息助手

* 隨書附贈的光碟中包含389分鍾的詳細教學視頻以及Android開發必備開發資源,部分教學視頻免費下載地址:http://www.eoeandroid.com/viewthread.php?tid=328

* 讀者對於此書內容的疑問可以訪問http://www.eoeandroid.com社區,作者團隊將會及時解答

作者簡介:

本書由國內Android知名專業開發團隊eoeMobile團隊傾心撰寫。eoeMoblie團隊國內最早一批專注於Android開發的專業團隊,目前團隊已經在Google Market上有超過5款的作品,而且取得了可喜的下載量。國內著名網站豆瓣網的Android客戶端(eoeDouban)也是由此團隊製作。關於此團隊的更多信息請訪問:http://www.eoemobile.com.關於圖書的進展,可以訪問http://www.eoeandroid.com 社區

作者簡介:

靳岩:

網名:海陽|haiyangjy

blog: http://www.haiyangjy.com

姚尚朗:

網名:iceskysl

blog: http://iceskysl.1sters.com

歡迎大家就書或者Android的問題和我們進行直接的交流。

社區支持:http://www.eoeandroid.com/

5. 高煥堂的android系統架構講得怎麼樣

寫的很不錯,有點躍躍欲試了,內容很翔實
說的清晰
不過需要一些基礎才能領悟
好資料,值得學習

6. 在慕課網裡面是否可以學習到android技術

不曉得 不過在麥子學院可以,高煥堂和sundy的Android教程,看起來干貨多多

7. 教你如何巧用Android賺大錢

比較起來,apple為大家提供的機會就像是芝麻,Android卻能為大家帶來一個漢堡。」在日前由創意時代主辦的Android工作坊上,亞太地區Android促進會主席、台灣著名架構設計師高煥堂與參與工作坊的上百名嘉賓分享了他利用Android、整合軟硬體設計以及工業設計賺大錢的思路。高煥堂介紹,由於Android兼具開放與兼容性的創意空間,因此十分適合通過軟硬體結合的創新設計打開產品市場,賺取軟體開發之外的更多利益。 賺大錢途徑一:HAL層讓大家盡情開辟「自留地」 「我將Android稱為開放的系統而不是開源,為什麼?我們拿另外一個開源系統——由諾基亞和intel共同推出的Meego來比,Meego跟Android到底有什麼差別?Meego雖然是諾基亞和intel推出的,但是卻交給了linux基金會來主導,linux基金會主導就必然會要求無論是深圳或者台灣硬體廠所設計的驅動程序開源,這也正是Android跟meego最大區別。Android從來不要求台灣或韓國、深圳所做的驅動程序百分之百開源。如果像meego這樣要求硬體驅動也開源的話,你的一些創新的想法和功能基本上也就等於是開放了,這樣大家就失去創新的動力了,允許保留硬體驅動的封閉就會給很多廠商不斷去創新的動力。」 高煥堂表示,開放是指Android本身內核是開源、但整套系統又不是完全的開源,Android允許開發人員在硬體驅動的上保密,因此企業可以在這一層級開發個性化的應用或者形成自身獨特的優勢,然後再通過這些獨特的、個性化的設計獲取市場。 那麼Android是如何做到這一點呢?高煥堂介紹,這么多硬體廠商支持Android的關鍵點在HAL這一層,「HAL到底是什麼?HAL翻譯過來就是硬體抽像層,是Google應廠商『希望不公開源碼』的要求下,所推出的新觀念,Google創造出的HAL框架就像一個萬里長城,它把上層(包括虛擬機、Android系統服務層、上面的應用程序層),跟驅動和應用的設計分離,讓Android開發不至過度依賴Linux kernel。在這樣的基礎上,廠商自己所做的東西歸你自己所有,你願意怎麼改就怎麼改,這樣就留給了硬體廠商一個自己控制的區域,你的設計空間就在這里形成。」 「Android這樣做可以說是冒著被liunx大家長逐出家門的風險,我們看到liunx官方網頁不久前已經去掉了Android的東西,但google並沒有妥協,他還是要去這樣做。因為只有硬體驅動的私有化才為不同層面上的廠商帶來更多的賺錢機會,大家都能賺錢才能使Android不斷的發展壯大。」高煥堂表示,正是因為Android擁有這樣開源卻又允許相對保留的特點,才吸引了摩托羅拉、HTC、三星、華為等等無數一流硬體廠商以及深圳本土很多手機、消費電子甚至汽車電子、工業電子廠商的踴躍支持。 賺大錢途徑二:沒錢就改版,改版就有錢 Android的另外一個特點兼容性則是指系統本身對更多硬體的包容、更多創意的包容,「我說的兼容性可能和軟體開發人員理解的兼容性不同,這里的兼容性是指的對廠商開發的新硬體、新創新、新功能的支持,而不是不同版本Android對同一個程序的包容,甚至相反,很多低版本的程序可能無法在更高版本的Android上運行。」高煥堂認為,這樣的特點或許會讓部分軟體開發人員覺得有些辛苦,但也恰恰是這樣的特點給大家帶來了更多賺錢的機會。「Android兼容性表示它可以支持更多硬體和功能,這也是不僅僅是手機廠商,TV、機頂盒、汽車、醫療甚至工業廠商也都願意加入進來的原因,而Android版本的快速更新說明它生命力的活躍,每次改版都能為大家帶來更多推出新產品的機會。」 「我們可以把整個Android生態系統看成一棵有生命的樹,兼容硬體和創新功能是樹根,Android系統本身是樹干,大家開發的產品是樹枝,開發的軟體和應用是樹葉。那麼不斷的加入新的硬體和功能就意味著樹根不斷的長大,Android改版就是樹干在不斷長大,大家開發出更多產品更多軟體就是樹枝樹葉在不斷長大。我們不能期待樹根樹干都不變,不變如何又有創新的機會?不變又如何有設計空間?不變如何長出更多的樹枝樹葉?所以Android改版是這個生態系統具有生命力的象徵,我們要歡迎Android快速改版,這樣帶給深圳、帶給亞太地區大家都是機會。 」高煥堂表示,這里的機會並不是指簡單的軟體開發,而是整個生態系統更新帶來的機會,比如ipad、iphone4就是iPhone OS升級為蘋果帶來的機會,「但是蘋果平台改版帶來的利益大部分被他自己拿走了,雖然也有部分軟體開發人員獲利,但相比蘋果賺的錢都是芝麻,因為蘋果本身平台是封閉的,你不可能拿他的OS做產品;而Android就不同,他改版的話,不但軟體開發上可以賺點芝麻,結合上硬體設計和工業設計做產品的人就可以賺到牛肉和起司,賺到整個漢堡。」 賺大錢途徑三:去寫主動型API,掌握主導權 高煥堂表示,傳統做硬體、軟體最大毛病在於大部分時候是被動的,是提供功能給別人調用,這樣就只能賺一個辛苦錢。而利用Android的一些特性來設計主動型API的時候,主導權就握在了自己的手中。「比如google的AP 引擎,他定義的API可以讓全世界給他寫AP,類似的還有facebook,為什麼他們敢開放給別人進去寫AP?這就像一個傳統的四合院,原來是封閉的,現在他開放的把四合院門打開,讓每個人進去露營、你需要用的東西他統統幫你,還有水電全部用他的,但是他要收租金。這叫做他掌握了API,API主控權在他手上,所以他敢開放。如果一個被動API,我們只是寫了一大堆功能給人家調用,這樣我們是被掌握,被掌控就不敢開放。當擁有主動型API,我們就敢開放。」 那麼什麼叫主動型API?怎麼設計出主動型API?「舉一個例子,Android出來的時候,大家把它看成是另外一個平台,卻沒有看到它背後的意義。我們可以來看看他里邊的Servlet技術,他就是提供幾個基類,讓你來寫指令,基類是他自己寫的,定義的這個介面是由他自己定的,然後我們寫指令去實現那個介面,在這種情況之下他就是一個主動型API,我們是處於一個被動的角色。處於被動角色的話,大家賺錢的途徑就很少。」高煥堂表示,「這樣我們就必須去思考,我們如何設計主動的API?這里我想到了一個十分有趣的例子,就是漢獻帝和曹操,在當時,漢獻帝往下面下聖旨的時候要經過曹操,這個介面是曹操定的,去實現漢獻帝聖旨的人已經看不到漢獻帝。我們也可以從這樣的角度出發,在設計API時候把Android的介麵包起來,我們變成挾天子以令諸候。」 賺大錢途徑四:設計雲計算中的專賣連鎖店 「就像上邊說的,我們要把Android看成是一個產業,而不是一個產品。Android要跟硬體搭配、跟雲端計算搭配,這樣才能帶給Android更大的空間。接下來,Android還要跟設計整合,將設計的元素、美學、哲學、中華文化納入進來,才能讓Android進入每一個家庭。」高煥堂表示,要賺到整個漢堡就需要考慮更多的整合,「比如原來設計界在設計餐廳、設計桌子、車子的時候都沒有把軟硬整合這樣一個元素考慮進去,所以我們現在的IT業者要主動告訴他現在我們可以在桌子加晶元和軟體,讓桌子會跑會自動適應使用者習慣和要求,還可以將Android做成是一種服務,跟家庭、跟汽車、跟休閑做一些結合,再把設計和藝術文化放進來,就可以讓我們產出高附加價值的產品。我們可以買軟體送硬體,或者買硬體送軟體,也可以做一個雲端整合來賣服務,實在不行還可以去賣廣告,所以有很多機會。」 「那麼如何與雲計算和設計結合呢?我們大部分企業都沒有做雲的力量,但是我們可以做一些端的創新。雲就像是百貨公司,因為它開放別人進來,所以百貨公司就是自己不賣東西,但是開放給很多專櫃進來賣東西,所以稱為雲叫做百貨公司。百貨公司里頭就可以開很多品牌,所以各位就有很多機會了。當雲端整合的時候就有很多機會,如果你有能力像阿里巴巴一樣做百貨公司,那也不錯。如果沒有你也可以賣香水、賣咖啡。這些東西,每個店面就要自己去設計,所以設計創意的空間又來的,設計的越好,客人越多。雲端整合之後,你又發現有很多的機會。現在都在做雲的時候,趕快去開連鎖店。 」高煥堂介紹,」以前大家都認為是雲在控制端,但是就從兩岸硬體產業來講,我們是希望我們的端控制雲,我們可以設計出很好的軟硬體結合的商品來開專賣店,這個時候雲就是我們端的物流中心,為我們賺錢。」 「什麼叫做連鎖店呢?比如說一些醫療的應用,深圳跟台灣在這方面的整合一直表現非常良好,現在我們也有一些設備出來,例如醫護人員專用的MID,它需要獨特的外觀設計(適合醫療場合、並且可以隨身放入白大褂的口袋)、獨特的軟硬整合(更多數據管記錄和管理)、獨特的創意空間(貼身化的定製服務)。這樣的一個產品不但整合了軟體、硬體、雲端,還加入了設計和文化的元素,從而為企業帶來了更多的利潤。」高煥堂表示,「在今後的產品設計中,需要更多的從服務角度、從賺錢角度、從商業角度,來讓通信、內容、設計、軟體、硬體等方面的人員共同參與進來,我們也希望兩岸可以把這些做很好的整合,最終讓我們中華民族的產品和文化傳播到世界各個角落。」

8. 我幹了5年android程序員了,怎麼往架構師轉,需要具備哪些技能

前端工程師+程序員+系統管理員+對各種技術靈活搭配的能力+模式總結=架構師
這些就是一個架構師所需要具備的技能
台灣android教父高煥堂出了個叫《android從程序員到架構師之路》的課程也許會對你

9. 高煥堂的人物簡介

學歷:
美國 U. ofColorado 資管研究所(1991)
淡江大學管理科學研究所(1983)
曾任:
銘傳大學專職講師
台灣《面向對象 Object-Oriented 雜志》主編
英國 Access Capital公司嵌入式軟體架構師
現職:
物澤計算機系統架構師&顧問
亞太地區 Android 合作促進會(APAC) 主席
台灣 Android 技術論壇 會長

10. android系統開發有哪些內容質量比較好的書

高煥堂android的系列書籍都不錯,Android線程(Thread)模式知多少,Android應用軟體架構設計,Android應用框架原理與程式設計,Android設計招式之美都可以看的

熱點內容
printphp 發布:2022-08-10 03:55:24 瀏覽:690
釣海龜腳本 發布:2022-08-10 03:54:13 瀏覽:823
阿里雲登陸遠程伺服器 發布:2022-08-10 03:51:22 瀏覽:224
ECF演算法 發布:2022-08-10 03:51:18 瀏覽:76
註解編譯器 發布:2022-08-10 03:47:08 瀏覽:4
蒸汽噴射壓縮器 發布:2022-08-10 03:44:03 瀏覽:787
itunes備份的文件夾 發布:2022-08-10 03:39:52 瀏覽:525
開發一個軟體使用什麼伺服器 發布:2022-08-10 03:39:44 瀏覽:320
心心app緩存的照片 發布:2022-08-10 03:38:25 瀏覽:1000
sql主鍵多個 發布:2022-08-10 03:36:58 瀏覽:631