很多朋友對于android使用入門和android經典入門教程不太懂,今天就由小編來為大家分享,希望可以幫助到大家,下面一起來看看吧!
android中怎么做單元測試
1.這里拿“android的ScrollView滾動布局獲取數據基礎方法”這個示例中利用HttpUtils工具類獲得json數據為例,利用單元測試進行測試。
首先,在AndroidManifest.xml清單文件中使用鼠標點擊的方法添加android.test.InstrumentationTestRunner(如果使用代碼容易出錯),之后再添加Instrumentation的Name和Targetpackage,全部自動完成這一過程。
2.然后在AndroidManifest中使用Alt+/自動添加單元測試包,單元測試準備工作完成。
3.在第二步中targetPackage指定的包名com.example.layout,意思是在com.example.layout包下所有包下的類都可以進行單元測試,所以在該包下建立一個測試類MyTest,并繼承AndroidTestCase,寫一個testjson()方法,用于測試android語句是否能正確輸出json數據。寫好測試代碼之后,執行測試代碼。如果出現“綠色”,則測試成功,這樣就完成了單元測試。
如何從零基礎自學android編程學習安卓將來能做什么
我來回答一下。
首先說個人背景,大四學生,專業機械類,學校只教了C語言基礎,其他編程知識均為自學。
大二時準備學Android開發,看了一點java基礎的語法知識,然后不了了之。
大三因為自己參加的項目,接觸C++,用MFC寫了個簡單的桌面軟件。
大四開始找工作,由于之前在機械公司的實習經歷,感覺自己不喜歡機械類的工作,也不適合,開始改簡歷,投一些計算機類的公司,可惜并不是很理想,期間面了一家Android開發的實習生,人家提問,好多不懂,面試完感覺自己好渣。那是去年12月份左右。
面試失敗回來后,不再海投簡歷,覺得與其抱著僥幸的心理去讓別人給你一個機會,不如練好技術,給自己更多的選擇機會。
12月份到2月初放寒假那段時間,每天白天去另外一家公司實習,回來就背著電腦去圖書館,看書,敲代碼,直到圖書館熄燈。每天堅持,周末更是泡在圖書館。啃完郭霖大神的那本《第一行代碼》,開始對一些大致的概念有所理解,Android的基礎知識也掌握了一些。
看完書前面一大半的時候,我花了幾天時間,寫了一個撥號軟件,Google原生的撥號不帶T9撥號,我就自己寫了一個,現在看來很簡單,界面也很粗糙,不過那時還是成就感滿滿的。在這個問題如何評價《第一行代碼》一書?-Android下可以看到,第一名的匿名答案就是。
后來就是放寒假了,寒假之前開始寫一個軟件,『在讀』,就是記錄你閱讀紙質書進度的一個軟件,由于覺得功能不實用,已經停止開發了。下面是一些簡單的截圖。
功能很簡單,就是記錄一本書的閱讀進度,高級一點的就是加入調用豆瓣的API,可以根據關鍵字聯網查詢一些書的信息,如上圖所示,點擊進去可以看到書籍的大致信息。
寒假在家寫這個軟件,并開始看《Java編程思想》,開始系統地理解一些Java的知識。
寒假過得很充實,每天看書,做筆記,有時連著好幾天晚上敲代碼敲到凌晨2點,可是不覺得累,因為喜歡這種感覺,看著自己寫的軟件在手機上跑起來,特別開心,這也是我為什么轉行做程序猿的原因吧。
憑著這段時間的學習,今年開學初,投了幾個Android開發的實習生職位,基本上都獲得了面試機會,技術面問的那些問題,自己在寫上面這個軟件時都多多少少遇到過,所以基本上都沒問題,然后陸陸續續拿到一些offer。現在在其中一家公司實習,職位就是Android開發。
最近自己寫的一個習慣養成的App上線了,滿滿的成就感。
雖然功能簡單,界面也簡潔,但是看著自己寫的一行行代碼,一點點改進界面,最后得到一個自己滿意的結果,還是很開心的。:)
以上羅嗦了這么多,講了本人從只有一點編程基礎到找到Android開發工作的經歷,沒有大牛那么厲害,只是一番很平常的經歷,希望題主你可以得到一些你想要的經驗。
回答題主的問題:
覺得自己有毅力,有信心的話,同時學習能力比較強,那就自學,不差錢的話就報班吧,找個靠譜的。
第二個問題我已經回答了。
第三個問題,我覺得起碼郭霖的《第一行代碼》上那些知識點要掌握的吧。
如果題主自學的話,以下是建議:
推薦書籍,郭霖的《第一行代碼》,很好的Android入門書。
Java的話,一開始不推薦《Java編程思想》,沒有編程基礎的有點難懂,你可以看看網上教程之類的。
多敲代碼。書上的例子,不要看著覺得會,就不去敲了,很多時候你自己敲一遍,才發現存在很多問題,試著去解決這些問題,你會學到很多。
在有一定基礎上,可以想著寫一些個人的項目,思考要添加什么功能,怎么實現,不懂的就Google。
學習網站的話,Android開發的官網不翻墻是打不開的,可以考慮買個vpn或者別的途徑,翻墻去看,反正我是習慣了Google,vpn一直掛著。貼一個我自己的書簽。安卓開發者必備的42個鏈接
推薦stormzhang的Android學習之路博文。Android學習之路,很贊,一些Android初學者資源都很贊,仔細看完這篇,你會學習到很多。
開發工具下載,同樣是墻的問題,這里有不需要翻墻的資源。AndroidDevTools配置中遇到的問題自己多搜索。
最后再說一下,推薦AndroidStudio,真心好用。==
最后最重要的就是,要有興趣,有堅持的決心,不要輕易放棄,遇到問題多看看文檔,多搜搜,不要失去信心,慢慢成長起來,不要急功近利。
加油!
計算機本科生,已經學完Java,想自學一下android開發,兩者差別多大
正好是一路按照這個路線走下來的老工程師。
在2009年之前一直是JAVA開發,然后就在手機公司轉向了Android開發。
先說說相同點:上層的開發基本上轉安卓后沒啥障礙,JAVA的各種面向對象編程,在安卓上是一樣的。
如果原來有用過一些應用框架Spring,Hibernate,mysql之類的,
轉到安卓平臺就是相當于用新的應用框架來開發。
安卓基本也是MVP開發框架,模型層、展示層、處理層。
安卓的UI交互界面,各類控件,開發起來也比較好理解。也要編寫大量的事件處理邏輯。
安卓應用開發像這個手機應用主界面,稱為Launcher,這是開機就加載的主界面。
上面有Widget也就是小插件。
安卓UI開發中要處理大量的消息,有系統發來的各種通知消息,這些消息的處理,會非常關鍵。
安卓應用的生命周期的函數處理也是非常關鍵,直接決定了垃圾回收是否及時。
垃圾回收,是要重點處理的問題之一。
費精力的地方之一是,需要看安卓的應用開發框架了解各個API跟類。
應用之下是FrameWork層一定要了解Android系統,實際就是Linux系統+JAVA虛擬機(安卓徹底改造過的)。
所以底層系統跟上層虛擬機直接,還有個FrameWork層。
對于應用開發工程師來說,也要了解Framework層。
比如通訊錄機制、Camera、音樂這些基礎功能都會跟下面有點關系。
上層通過JNI接口,來調用下層的功能。
工作會比較辛苦,但是挺有意思的如果開始了安卓開發,那是打開了另一個世界。需要持之以恒的努力。
學無止境。
如何快速地開發一款Android App
前言
從開發的角度來介紹如何開發一個AndroidApp,需要說明一點是,這里只是提供一個如何開發一個app的思路,并不會介紹很多技術上的細節,從整個大局去把握如何去構思一個app的開發,讓你對獨立開發一款app的時候有個理解,如果有說的不對的地方,歡迎大家拍磚留言討論。
開發環境
Android應用層使用的開發語言是Java,自然需要用到Java運行環境,無論你在Window是系統還是Mac系統都需要安裝JDK,并且配置它的環境變量,不懂什么叫環境變量的或者不知道怎么配的,請利用好自己的百度技能自行學習。
開發工具
開發工具,Android因為歷史原因,前面很長一段時間使用的是Eclipse,我們要開發Android應用的時候需要另外安裝Google為它開發的插件ADT,Eclipse這個開源軟件很優秀,也很專業,但僅僅只是使用它來開發Android就顯得有點雞肋了,如果沒有對Eclipse進行優化的話,會很卡很卡,后面Google實在不愿意寄人籬下,就專門為我們開發者開發了目前很受廣大開發者推崇的AndroidStudio,現在2.0預覽版也出來啦,大伙趕緊去下吧。
模擬器
Android自帶的模擬器一直廣受詬病,實在是太卡太慢了,對比人家IOS模擬器是那么的流暢,Android開發者直喊好苦逼啊,不過還好后面出了第三方比原生流暢n倍的模擬器Genymotion,大家可以去下一個個人版的夠你平時開發測試用了。最好的辦法還是使用真機測試,畢竟真機才是真實的環境。
Android核心基礎
前面是準備工作,想開發一款Androidapp,你最起碼要掌握Android的核心基礎知識,針對初學Android的童鞋,想一口吃掉一個胖子是不可能的,還是得把基礎打牢之后才能完成獨立的開發,Android入門不難,學完基礎你只是具備開發app的基本條件,想做一個優秀的app還有很長一段路要走,經驗是靠不斷實踐堆出來的,找一套系統的課程去認真學習一下,在線教育的資源很多,比如慕課網,極客學院都有很多不錯的學習資源,童鞋自己擇優來學習即可。
產品開發流程
正常的互聯網開發app的流程大致如下:
-產品規劃,定產品方向
-需求調研,產出需求文檔
-需求評審,修訂需求文檔
-產品狗畫app線框圖提供給射雞師
-射雞師根據線框圖設計視覺稿
-程序猿根據視覺稿搭建UI框架
-程序猿根據需求文檔開發功能
-測試媛編寫測試用例,根據排期進行測試
-程序猿修復回歸測試反饋的bug,提交beta版
-測試通過,提交給運營喵發布到渠道上線
上面是筆者的經驗總結,可能有不太準確的地方,但大致整個流程是這樣,我們開發者要清楚自己在整個產品中充當的角色,明白自己的工作職責即可。
快速搭建項目
Android比沒有想象那么難,只是剛開始要學習的東西多,一下子消化不了才會比較茫然,筆者寫這篇博客就是想幫助大家整理一下開發思路。
快速搭建項目也算是一項技能,而這項技能只能由你自己來完善,剛開始做開發的時候一定會有很多重復性的工作,如果沒有意識去提高自己的開發效率的話,可能你的十年工作經驗代表的只是一年的經驗用了十年而已。
那要怎么做,筆者提供一個自己總結的,僅供參考:
-定開發規范
-搭建UI框架
-選用開發庫集成(或自造輪子)
-第三方服務集成(視情況而定)
定開發規范
一個項目一般不會只有一個人獨立開發,就算是獨立開發,我們也應該定一下開發規范,一般會有什么樣的規范?
-命名規范
-代碼規范
-代碼管理規范
命名規范
命名規范包括:
-項目命名
-包命名
-類命名、成員變量命名
-資源文件命名
我們做每一個產品都會有相應的命名,不要用中文來命名,最好用能表達中文意思的英文來表示,例如CSDN客戶端,可以用CSDNClient作為命名,我們創建項目的時候可以以它作為Applicationname。
代碼規范視語言而定,開發android使用的是Java,自然要按照Java的編碼規范進行編碼,比如命名采用駝峰命名法,編碼的時候也要符合Android的開發規范,比如UI線程不做任何耗時的操作,像網絡請求、數據庫操作都需要放到子線程中去做,只有UI的刷新才在UI線程中做,像這些規范,可以根據自身在項目遇到的問題來定,定規范的好處就是減少踩坑的幾率,提高開發的質量。
對于一個經常更新迭代的產品,不可能由頭到尾不變,這個時候我們需要對代碼進行分支管理,最好使用git代碼倉庫對代碼進行管理,作為一個合格的開發者連git都不用實在說不過去,還用svn的童鞋趕緊放棄它投入git的懷抱,它的好處是不言而喻的,自己去體會。
搭建UI框架需要我們根據產品的導航模式來設計,市場上常用的導航模式有如下圖幾種:
我們的app如果不出意外一定是其中的一種導航模式,一般線框圖出來我們就應該知道即將要開發的app長什么樣子,開發者不必等視覺稿和素材出來才開始動工,我們先大致搭個架子,等視覺稿出來之后我們再做調整。
選用開發庫
一般我們app涉及到的庫會有:
-UI框架(比如下拉刷新PullToRefresh、側滑菜單Slidingmenu)
-網絡請求庫(比如okhtttp、AndroidAsyncHttp、Volley)
-數據操作庫(比如GreenDao、Ormlite)
-圖片緩存框架(比如Universal-Imageloader)
-數據解析庫(比如Gson)
之所以要選用這些庫,肯定是為了避免重復造輪子,在開發效率的角度來說,選用優秀的開源庫能大大縮短開發周期和提高開發效率,但從個人提升角度來看的話,我們可能就成了一個只會用API的程序猿了,如果想提升的話,造輪子或者分析這些優秀的源代碼是一個不錯的途徑。
第三方服務集成
我們開發app的時候,肯定會遇到一些需求,比如推送的需求、自動升級、數據統計、社會化分享、用戶反饋等等,然而對于一個剛起步的企業或者個人開發者的話,全都要自己去開發的話,那豈不是累死,像推送這種有一定的技術門檻,能做好都能成立一家公司了,所以選用一些第三方服務是一個可選之舉。如果說你以后做大了,用第三方怕不好控制,那就自己做唄,有錢任性招兵買馬就自己做,誰叫咱有錢呢。
前面這些東西開發一個app夠了,開發出來能不能用還得有靠譜的測試,有沒有crash,操作流不流暢,體驗好不好才會有用戶去用。這里不從產品的角度去評判一個app的好與壞,程序員要考慮的是從代碼層面、性能層面去讓我們的app變得更好。
云測
我們開發完畢之后,需要給測試工程師進行基本的功能需求測試,他們傳統的做法就是根據事先寫好的測試用例來做回歸測試,再把測試出來的bug反饋給工程師,工程師再去修bug,但這樣實在是太不靠譜了,有時候我們太在意功能而忽略了一些更重要的東西,那就是體驗,給用戶最直接的感受就是你這個app夠不夠驚艷,夠不夠流暢,用戶可能根本就不在乎你這個功能做的有多牛逼。所以我們更應該從非功能性方向去做測試,我們的目的是讓用戶用的爽,而不是加一些亂七八糟的功能。那怎么測非功能性的一些因素,這里就要提到『云測』這個東西,因為現在設備太多了,如果公司要買一堆設備來做測試,那得多少成本,況且設備更新得太快,你根本就跟不上,所以就有了云測這個東西,它是一個云測試平臺服務,提供了一大批主流機型,我們就直接省去購買設備的成本,還能得到完善的測試報告。
再來說一下它的好處:
-終端云,省去測試設備購買租賃成本
-高效率節省測試人員成本及時間
-包含兼容性測試、性能測試、功能測試
-操作簡單、詳細測試報告生成
這么多好處,你在缺少測試工程師的時候,不去嘗試那實在說不過去。
打包上線
前面的開發環節、測試環節都沒問題之后,你離實現一個app的完整開發就不遠了,正常的互聯網公司,會把簽名打包的apk給到運營,交給他們去寫文案,上傳到應用渠道,讓渠道給我們去首發和推廣。如果是個人開發者,這些工作就得我們自己做了。
總結
從整個app開發流程上去給大家梳理了一遍,沒有講太多技術上的東西,但理解app流程對自己把握產品很有益處,雖然我們只是一個小小的開發者,但如果你有追求,哪天輪到你去負責一個產品的時候,你就應該對開發的每一個環節都了如指掌,因為出了問題,你也知道怎么針對性的去解決。筆者雖然只是一個小小的開發者,但也樂于思考,很多時候不太愿意被別人牽著鼻子走,因為我們的人生就應該把握在自己手里。
新手如何入門APP制作
首先就拿目前移動市場占用量最高的安卓和ios系統來說,如果你要開發安卓版的app或者ios的app,或者混合開發需要學習的技能都是不一樣的。
1,安卓app開發
你得掌握安卓開發的Java語音,當然開發工具如eclipse,AS等至少要會使用一種吧。app在手機上是怎么運行的,activity生命周期,資源回收,安全,io等都需要學習的。app打包測試,上傳應用商店等技能也是必不可少的。
2,蘋果app開發
硬件方面:如果你需要將你開發的app上架到AppStore,你需要一個蘋果的開發者賬號,個人賬號$99一年,并且你要一個mac系統的電腦用于申請app開發證書,ios系統設備用于測試。
軟件方面:熟練掌握開發語言object-C,以及開發工具,如xcode。
以上是本人的一些見解,如果覺得有用請點個贊吧
關于android使用入門到此分享完畢,希望能幫助到您。