android委託
㈠ 請簡述什麼是android事件處理,並分析兩種android事件處理機制的實現過程和區別
UI編程通常都會伴隨事件處理,Android也不例外,它提供了兩種方式的事件處理:基於回調的事件處理和基於監聽器的事件處理。
對於基於監聽器的事件處理而言,主要就是為Android界面組件綁定特定的事件監聽器;對於基於回調的事件處理而言,主要做法是重寫Android組件特定的回調函數,Android大部分界面組件都提供了事件響應的回調函數,我們主要重寫它們就行。
一 基於監聽器的事件處理
相比於基於回調的事件處理,這是更具「面向對象」性質的事件處理方式。在監聽器模型中,主要涉及三類對象:
1)事件源Event Source:產生事件的來源,通常是各種組件,如按鈕,窗口等。
2)事件Event:事件封裝了界面組件上發生的特定事件的具體信息,如果監聽器需要獲取界面組件上所發生事件的相關信息,一般通過事件Event對象來傳遞。
3)事件監聽器Event Listener:負責監聽事件源發生的事件,並對不同的事件做相應的處理。
基於監聽器的事件處理機制是一種委派式Delegation的事件處理方式,事件源將整個事件委託給事件監聽器,由監聽器對事件進行響應處理。這種處理方式將事件源和事件監聽器分離,有利於提供程序的可維護性。
舉例:
View類中的OnLongClickListener監聽器定義如下:(不需要傳遞事件)
[java] view plainprint?
public interface OnLongClickListener {
boolean onLongClick(View v);
}
public interface OnLongClickListener {
boolean onLongClick(View v);
}
View類中的OnLongClickListener監聽器定義如下:(需要傳遞事件MotionEvent)
[java] view plainprint?
public interface OnTouchListener {
boolean onTouch(View v, MotionEvent event);
}
public interface OnTouchListener {
boolean onTouch(View v, MotionEvent event);
}
二 基於回調的事件處理
相比基於監聽器的事件處理模型,基於回調的事件處理模型要簡單些,該模型中,事件源和事件監聽器是合一的,也就是說沒有獨立的事件監聽器存在。當用戶在GUI組件上觸發某事件時,由該組件自身特定的函數負責處理該事件。通常通過重寫Override組件類的事件處理函數實現事件的處理。
舉例:
View類實現了KeyEvent.Callback介面中的一系列回調函數,因此,基於回調的事件處理機制通過自定義View來實現,自定義View時重寫這些事件處理方法即可。
[java] view plainprint?
public interface Callback {
// 幾乎所有基於回調的事件處理函數都會返回一個boolean類型值,該返回值用於
// 標識該處理函數是否能完全處理該事件
// 返回true,表明該函數已完全處理該事件,該事件不會傳播出去
// 返回false,表明該函數未完全處理該事件,該事件會傳播出去
boolean onKeyDown(int keyCode, KeyEvent event);
boolean onKeyLongPress(int keyCode, KeyEvent event);
boolean onKeyUp(int keyCode, KeyEvent event);
boolean onKeyMultiple(int keyCode, int count, KeyEvent event);
}
public interface Callback {
// 幾乎所有基於回調的事件處理函數都會返回一個boolean類型值,該返回值用於
// 標識該處理函數是否能完全處理該事件
// 返回true,表明該函數已完全處理該事件,該事件不會傳播出去
// 返回false,表明該函數未完全處理該事件,該事件會傳播出去
boolean onKeyDown(int keyCode, KeyEvent event);
boolean onKeyLongPress(int keyCode, KeyEvent event);
boolean onKeyUp(int keyCode, KeyEvent event);
boolean onKeyMultiple(int keyCode, int count, KeyEvent event);
}
三 比對
基於監聽器的事件模型符合單一職責原則,事件源和事件監聽器分開實現;
Android的事件處理機制保證基於監聽器的事件處理會優先於基於回調的事件處理被觸發;
某些特定情況下,基於回調的事件處理機制會更好的提高程序的內聚性。
四 基於自定義監聽器的事件處理流程
在實際項目開發中,我們經常需要自定義監聽器來實現自定義業務流程的處理,而且一般都不是基於GUI界面作為事件源的。這里以常見的app自動更新為例進行說明,在自動更新過程中,會存在兩個狀態:下載中和下載完成,而我們的程序需要在這兩個狀態做不同的事情,「下載中」需要在UI界面上實時顯示軟體包下載的進度,「下載完成」後,取消進度條的顯示。這里進行一個模擬,重點在說明自定義監聽器的事件處理流程。
4.1)定義事件監聽器如下:
㈡ 智能手機有哪些系統
目前,主流的智能手機操作系統有,Android
、IOS、
symbian
S60
系列
、Windows
mobile
系列,Linux
等。palm已經停止開發了,所以不說。
Android是目前最火的智能操作系統。Android是google委託HTC,基於Linux內核研發的全新操作系統.現在,使用Android系統的設備包括HTC
的Gphone系列,2010年出的所有機型,三星的銀河系列,moto
復活後的全線機型,傻愛的新X系列,魅族M9等。
Android系統不僅能用在手機上,還能用在平板電腦上,未來的大部分平板電腦將會採用Android系統,已上市的產品有智器
V5
V7
T7
T7
3G,藍魔W7
W9
W11等
IOS全稱iphone
Operating
System,即iphone操作系統,是美國蘋果電腦公司開發的智能操作系統,ios只能用於蘋果公司的移動設備上,如iphone
ipad
、ipod
touch。
symbian
S60系列是諾基亞控股的塞班軟體公司開發的智能操作系統,S60系列現役的OS主要是第三版和第五版,使用S60第三版的機器多數是
諾基亞的手機,型號覆蓋N
E
XM
C
X
6
系列,S60第五版同樣是N記用的最多,型號覆蓋
N
XM
C
X系列,除此之外,索愛,三星也有S60
3rd
5th的智能機,不過現在,諾基亞已經全部收回塞班的股權,未來塞班將會由諾基亞獨占。
㈢ 不知開發一個android的app需要多少錢
看你能扛多長時間了。iso端+android端+後台,預計需要17萬左右。
1、看App本身的復雜度;
需要伺服器後台支持的復雜度要高,是3D游戲需要3d引擎的復雜度要高很多很多。。。
2、看工作范圍;
如果你已做好設計,並製作好界面素材,准備好數據,並自備帳號自己完成上線申請,僅委託開發就要便宜一些,反之如果委託全新的創意加上功能的策劃,費用就會增高不少。
3、看質量要求;
一樣的App,質量不同價格肯定也受影響,並且App還有一個升級的問題,這個升級是有大量工作要做的,是否承擔升級和完善的責任也會影響價格;
4、參考價格;
A-一個簡單的生活應用App,不依賴後台,連設計+開發都委託,直接開發工期=2周,方案+溝通+測試+修改=2周,前前後後約1個月,看團隊質量,價格應該在3萬~10萬;
B-一個游戲App,純單機,不依賴後台,無應用內購買,無Push,2D游戲,合作應該也是4周左右,價格會略高些,5萬到10萬;
C-復雜的前後台App,比如現有系統整合的App或者業務系統復雜的委託開發,這種差不多就要8萬起,而且一期很難開發到一個成熟的狀態,需要差不多3次升級能達到一個可用度較高的狀態,真要做好的話,找靠譜團隊,價格應該在10萬~幾十萬,周期約2個月~3個月。這個價格是來自於APP開發公司的保守估價。但如果是那種已經有此方面經驗的公司,價格可能會便宜點。
不過如果你要計劃開發APP,最好先不要直接找到APP開發公司,這樣對自己是很不利的。起碼價格要貴很多。還有後期的開發質量,你也是糊里糊塗的。
個人建議,先找一個APP產品設計的公司,或者是一些APP產品設計的專業大叔問問行業情況,比比較好點。
產品設計是門藝術,而APP開發只是負責把這個藝術落地而已。兩者結合,便是產品設計的成品。
但兩者感覺水火不容呀!唉~~
㈣ Android中ClassLoader和java中有什麼關系和區別
android的app開發使用java語言。
Java是一種可以撰寫跨平台應用程序的面向對象的程序設計語言。Java 技術具有卓越的通用性、高效性、平台移植性和安全性,廣泛應用於PC、數據中心、游戲控制台、科學超級計算機、行動電話和互聯網,同時擁有全球最大的開發者專業社群。
android開發採用java語言,所以開發android的app需要先學習java。
㈤ android app測試的基本要點有哪些需要特別注意的地方
總結了幾個比較重要的,希望對你有幫助
App測試問題一:用戶體驗
用戶體驗是一個app成功與否的關鍵。App商店中app評分可以反映用戶體驗,差評說明銷售虧損。所以用戶體驗在移動app測試中是一個重要問題。因為體驗具有主觀性,所以它無法直接被測出。但你要知道,我們在測試過程中,必須要從一些關鍵影響因素入手,去解決用戶體驗問題。
而好的用戶體驗的成功因素包括吸引人的設計,積極的互動性和可用性。
而針對這個問題,我們的測試要從真人體驗測試、各個功能的深度測試以及Bug探索與崩潰分析這幾個方面著重入手,才能夠涵蓋完善用戶體驗所需的測試點。
APP測試問題二:app對於移動設備的兼容性
目前,安卓類的移動設備正在急劇增加,手機碎片化異常嚴重。並且因為顯示屏大小和現狀、操作系統版本和基本設備特點等限制因素的不一致,致使幾乎沒有開發者會花費大量金錢去購買市面上存在的主流手機,那麼這些因素疊加起來,最終就很大程度上導致普通的質量管理很難進行。而如果不全面地進行兼容性測試,那麼app的生存空間又在哪裡呢?
同時還有一點,設備製造商的(安卓)操作系統的設備特殊定製,應明確地在設備上進行測試。測試時,有必要限制將會被app支持的設備。必須要標明系統組合(硬體/操作系統)和向下兼容性。為了最大化系統組合的覆蓋,就必須要有靈活的策略來與足夠的機型來執行測試。
兼容性問題當然是進行兼容性測試,而在所有的兼容性測試中,使用真機進行測試,是最好的測試方式。但由於上文已提及到眾多企業無力購置大量機型,那麼,這樣的需求就只有委託給第三方的測試機構來完成
APP測試問題三:app的網路連接情況
網路連接是移動app測試的另一大問題。理想狀態下,app的網路連接將在單獨的線程中實現,這樣就不會彼此干擾。此外,一個app必須適當地應對網路中斷、延遲、變更和信號弱等情況。如果說不能夠將這些測試點進行到底,那麼在app在運行過程中將很有可能出現由於網路問題而導致的app運行中斷,如果這樣的問題出現在金融或證券領域的app中,那麼就很可能在當下環境中讓用戶無法完成掛單、賣出買入或者確認等操作,造成不可挽回的損失。
對於網路問題,一般是進行模擬網路情況的測試,比如TestBird提供的弱網模擬測試和它們的中斷測試
APP測試問題四:伺服器的承載能力測試
任何開發者都不能夠拍胸脯確認自己的app能夠獲取多少用戶,並且能夠明確指出同時在線的用戶能有多少,如果不關注伺服器的承載能力,那麼很可能在突然的情況下,伺服器就被大量湧入的用戶給沖爆,導致癱瘓。
如此,用戶自然會流失,同時伺服器的宕機,也會給當時正在進行重要操作的用戶造成損失,這樣的情境,我們依然可以考慮到金融與證券的方向。
伺服器的壓力測試已經是常見的測試項目了,但是進行全面、專業的壓力測試才是保證明確需測伺服器承載力的必要條件。
TestBird
㈥ 公司想做一個安卓的APP,做一個大概多少錢
看功能的復雜度來吧, 看需求文檔.
作為互聯網從業者,被行外朋友們問及最多的問題是「 做一個網站需要多少錢?」 或者「做一個APP需要多少錢?」。作為做過完整網站項目和APP的人,今天從產品經理的角度,一起來算一下中小型APP從無到有需要做哪些工作,以及為達成使命,需要付出多少金錢。
以下內容的前提是:深圳、移動互聯網方向。包含研發一個新產品過程中一些常見的工作,並非十全十美。
首先假設在做APP之前我們已經有了一個成熟的團隊(這是非常幸運的前提,很多產品研發進度極其緩慢的原因之一就是在過程中不斷在招人),團隊的結構以架構師兼後台開發1名 + 安卓1名 + iOS開發1名 + 產品經理1名 + 前端開發1名 + 設計師1名。你可能也發現了這些人員配備都是單點的,一旦有人生病或請假,某個職位就會缺失,項目進度就會拖後,所以我們大約配備2個浮動名額,也就是,初始團隊大概有8名,我們假設團隊平均工資在13000左右(憋驚訝,深圳需要這個數,還是比較低的…),需要給員工繳納五險一金,詳見下表(假設我們是老實善良的公司,公積金按最低標准繳納):
除工資的部分,還要平均為每個員工多繳納 3653元的五險一金支出,員工部分的支出是 (13000+3653)*8=133224元/月。
好,有了團隊,下一步要解決的是工作場所的問題,8人團隊可以選擇創業孵化器(前提是你能找到孵化器)或者中低端的辦公場所(這類的辦公場所,深圳大約是120元/㎡,大約100平米)。這里有必要稍微提以下孵化器,孵化器的租金會比較便宜(或者不要錢),在接納創業團隊之前一般會簽署協議,需要以場地作為股權置換條件,或者是優先投資權,是否劃算,得創業團隊自己掂量。算上水電、物業,一個月15000左右算比較省了。
有了場地和團隊,接下來置換辦公耗材、寬頻之類的(假設電腦自己帶),普通的人體工程學椅子價格在150元左右,如果不買工程學椅子也可以,用普通的椅子,加上桌子平攤成本,桌椅需要200左右的成本,這算一次性付出。拍腦袋,6000元可以搞定吧。
唔,人、場地、作案工具齊活了,開始進入正題吧。
一、產品定位、扯皮、早期工作準備階段。
做APP之前一般會有個老闆,老闆大概知道自己想要什麼功能(對,老闆一般不知道自己要做什麼東西,需求是什麼,產品定位是什麼),這時候產品經理要出馬了,跟老闆各種扯皮、釐清需求、找產品定位,這里大概扯個兩周,好說歹說會把產品的定位、一期的需求想清楚(期間架構師可以開始構思產品的技術架構了,未能正式開工)。
產品定位以及早期的需求確定出來之後,需要想個產品的名字、需求調研、競品調研分析、注冊域名、購置伺服器以及周邊基礎能力(如CDN存儲、簡訊服務、消息推送等)、商標(未注冊商標、很多團隊就是吃了這個虧)、搶注域名、設計Logo,這里在老闆不中途改變想法、變更產品需求和定位的前提下,最起碼扯一周,這時候產品的原型、技術架構的雛形也出來了,基本可以進入真刀真槍的幹活了。這一步假設域名不需要花大價錢購買,全部費用算起來拍腦袋10000元/年 可以搞定。
二、產品版本策劃、架構設計階段。
看似一切都准備就緒之後,產品開始整理需求,按照需求優先順序規劃版本。架構師按照產品的發展方向構想,開始著手進入開發環境、生產環境部署、基礎代碼研發階段。
很有必要提一下的是,做APP比較常見的兩種功能實現方式有Native原生和Webview 方式,這兩種方式的優劣不在本文的討論范圍,一般為了保證體驗,以原生的方式為主,Webview的方式為輔。以原生的方式做開發,版本是尤為重要的。其一,APP開發完成之後,需要把上架到APP store(假設我們只上iOS和安卓),iOS 的APP Store 有冗長的應用審核周期,你必須提前把往後幾個中小版本的功能規劃好了才不至於在這個環節自亂陣腳;其二,你的APP安裝到用戶的手機上時你肯定希望他大部分時候運行的都是最新的版本,如果你的版本更新過於頻繁,用戶也會煩。
看起來過程似乎非常順利,產品經理把產品的思路釐清之後,開始准備產品V1.0 的規劃。
新產品從無到有常見的工作:
1.產品官網,產品官網是產品、公司、團隊的臉面,讓用戶進入之後能以最快的速度了解你的定位以及產品特性,也就是什麼樣的人在為解決什麼樣的問題,做著什麼樣的事情。
2.用戶協議。是的,如果用戶要注冊、使用你的產品,你得起草你的用戶協議,跟律師或法務不斷溝通調整。
3.種子用戶。嗯,你要思考你的第一批種子用戶從哪裡來,如何組織,怎麼管理,他們是檢驗你產品的第一群人,對於驗證你的產品定位、發現產品問題、提升產品體驗來說至關重要。
4.基礎數據上報規劃。你要知道產品一旦發布,在對用戶行為一無所知的情況下,需要收集什麼數據來優化、調整你的產品設計,思考你的產品方向。
5.UI設計與交互標准制定。不能保證產品的UI以及交互一上線就有讓用戶覺得驚艷的效果,但是必須保證UI/交互在一致性上沒有問題。
6.後台管理系統。如論是查看數據還是內容管理,後台管理系統是你工作的有效輔助,也不能少。
7.APP。這是你的產品的重中之重,密切觀察跟蹤。
……
如果一切順利,那麼在3-6個月之後,你的APP第一版應該有了第一個雛形了。
三、內部測試、打磨階段
在這個階段,你要跟設計、研發、種子用戶之間保持密切溝通,不斷收集問題、發現問題、優化、解決問題,期間可能需要發布1-3個beta子版本。同時,你要想辦法保持種子用戶的活躍與配合的激情,這是一項艱巨的工作,誰做誰知道。
四、發布階段
發布的時候,不算渠道宣傳費用,不打廣告,上線iOS APP Store 需要注冊開發者賬號,購買證書,也需要花費一定的費用,不多,也就99美元/年。
如果你做得多一些,找安全團隊幫你做安全評估,這里也要花上一些錢,這里就不算了。至於負載均衡、加速技術什麼的,你的APP剛上線,應該用不上。
6個月的時間,算快,一個APP從無到有需要的費用大概這么算:
人工費用: 133224元*6個月 ≈ 80 w。
場地租金: 15000元*6個月 = 9w。
辦公耗材+桌椅支出:1w。
伺服器、域名、周邊IT基礎費用:2w。
大約算下來,不算營銷費用,第一個版本,你需要准備100w。
是的,當有人問題做一個APP需要多少錢時,你可以回答一個不太復雜的APP,從無到有做出來,半年第一個版本出來,需要100萬。
㈦ android okio 有什麼用
千峰扣丁學堂Android開發為您解答:
Okio庫是一個由square公司開發的,它補充了java.io和java.nio的不足,以便能夠更加方便,快速的訪問、存儲和處理你的數據。而OkHttp的底層也使用該庫作為支持。而在開發中,使用該庫可以大大給你帶來方便。
Okio中有兩個關鍵的介面,Sink和Source,這兩個介面都繼承了Closeable介面;而Sink可以簡單的看做OutputStream,Source可以簡單的看做InputStream。而這兩個介面都是支持讀寫超時設置的。
它們各自有一個支持緩沖區的子類介面,BufferedSink和BufferedSource,而BufferedSink有一個實現類RealBufferedSink,BufferedSource有一個實現類RealBufferedSource;此外,Sink和Source它門還各自有一個支持gzip壓縮的實現類GzipSink和GzipSource;一個具有委託功能的抽象類ForwardingSink和ForwardingSource;還有一個實現類便是InflaterSource和DeflaterSink,這兩個類主要用於壓縮,為GzipSink和GzipSource服務;
㈧ android app中 哪些地方可申請專利
1.APP屬於軟體版權,可委託第三方軟體版權注冊公司。一般在5000以上。但是時間很快,一般7日內就可以下來!
2.個人到北京去軟體版權注冊局,需要1個月才可以申請成功。
個人介意:如果軟體無價值就不用申請了!