導航:首頁 > 程序命令 > 程序員android

程序員android

發布時間:2022-07-13 12:24:31

❶ 作為一個程序員怎麼通過android開發賺錢

1、好好的去上班,現在一個做過項目的Android程序員薪資在12-30K不等。和團隊一起,這樣既穩定而且薪資也比較靠譜。
2、接私活。這個事行業內比較普遍的現象。但是私活最好有自己的團隊
3、出售成品代碼,自己完成某個獨有的功能代碼,可以對外出售。
4、自己創業。不過,如果項目方向不好的話,被時代潮流碾壓的可能性非常大。

❷ Android程序員,最常用的20%技術有哪些

Java基礎部分,面向對象,類集,IO
Android 4大組件的用法
Android自帶的一些view必須要會
彈窗:Toast/Dialog/WindowsManager
動畫:幀/Tween/屬性動畫
文件存儲:file/xml/SharedPreferences/Sqlite
網路通訊:各種庫,JSON/XML數據格式,當然也可以HttpURLConnection自己實現
線程/UI線程交互:Handle/AsycTask
eclipse/as 的debug技能
進階部分:
多進程通訊IPC/aidl
自定義View實現
Touch事件分配
圖片緩存優化:載入時查找LruCache內存/sd卡/伺服器
JNI/NDK
常用設計模式
其他:
代碼混淆配置
AndroidStudio Gradle的配置
簽名打包

❸ 大家討論下Android程序員未來十年的發展方向

大家基本上傾向於認為到 2025年時編程仍然有意義,但有人說 2025年以後情況可能就不是這樣了。而那些認為編碼將死、程序員將失業的人的理由是機器智能會像今天的程序員一樣具備自學編程的能力。比如說 AlphaGo擊敗李世石就是一個機器學習能力的證據。

軟體演進然後幫助我們創建出更強大的基礎設施進而引領我們走向更高層次的抽象,反過來又讓我們做出比今天更復雜的軟體,如此周而復始。所以編程始終都是有重要意義的,但是抽象和你試圖用代碼解決的問題會不斷發生快速演變。

❹ 高級程序員如何學習Android開發

一、Java基礎,雖然現階段Google已經將Kotlin定為官方推薦語言,但是大多數國內項目都是用Java開發。即使以後的大趨勢是向Kotlin轉換,也需要一些時間,所以完全不用擔心Java會過時,你可以在Android學的差不多的時候再去學Kotlin,學習成本也會很低。
1. 如果非科班出身建議看視頻或者找人指導學習,科班出身可以直接看Java相關書籍,基礎好的可以一邊了解Android一邊學習Java。
2. 對於Java需要掌握到什麼程度:
- Java基本數據類型、基本語法、關鍵字、表達式和分支循環
- 面向對象,封裝、多態和繼承
- 介面的使用方法和場景
- Java常用的各類型集合的優缺點及使用場景
- JavaI/O
- Java的多線程
- Java的反射機制和泛型
- 一些常用的設計模式(如:單例、工廠等)
掌握了以上Java知識基本可以應對很多開發場景。
二、Android(軟硬體部分)
1. 開發平台:電腦用Windows的或者Mac都可以,處理器最好i5及以上,8G內存及以上,配上固態硬碟。(推薦Mac)
2. 開發工具:Eclipse已經很少見到,大多數開發人員都選擇AndroidStudio(IntelliJ IDEA也可以,跟AS類似),調試可以用AS自帶的模擬器或者第三方模擬器,有條件的請用真機。
3. 開發環境:配好Java環境,正常安裝AndroidStudio即可。
三、Android(基礎編程部分)
1. 了解項目工程各個目錄的作用
2. 學習各類基本布局的使用方法
3. 了解基本控制項的使用(如:TextView、ImageView等)
4. Activity和Fragment的生命周期,數據交互方法
5. 列表類控制項(如:RecylerView、ListView等)和Adapter的使用方法
6. Activity的啟動模式,四大基本組件的作用及使用場景
四、Android(進階編程部分)
1. 資料庫的簡單存儲(增刪改查)
2. Android自帶的SharePreferences存儲
3. 文件存儲的方法
4. Android的消息機制和非同步任務
5. 三種動畫的使用
6. 了解Http協議相關的知識
7. 觸摸事件的分發機制
8. 自定義View

❺ 我是個android程序員,想改行

看到你這些牢騷,很熟悉啊,以前我在外包公司做的時候,也是你一樣的心態,天天加班,天天2,3點,早晨7,8點起,比你這加班到凌晨苦多了。
但是現在,我還是做android,只是換了個環境,收入穩定,上班時間,早晨9點,下午5點半,准時下班。你現在這種情況:
1.是你自己能力還相當不足,從你說話就可以看出來,你估計做android還沒幾天,積累不夠,要比能力強的人多花更多的時間去熟悉,去了解對你來說新的東西。
2.跟你的工作環境也有直接關系,一般公司不會這樣,除非是處於初級階段的外包公司,我原來那個就是。
作為一個過來人,給你一些建議,在什麼都沒學會之前,能力很有限之前,不要先去抱怨,因為你能力不足。程序員相對你想要的那種職業,薪資應該會高很多,那種職業要麼是比較醬油的,工資低;要麼是家裡有後台的,天天可以打醬油,但拿的還不少,你覺得這兩種情況,你是前者?那你就是不思進取。如果你是後者,你也不必做這個職業遭罪。最關鍵的是,一個積極上進的人,不會去抱怨,而是換個角度去考慮問題。你要是能力強,換個環境,想我現在這樣的工作時間,很多的。月薪8K-10K,多的是,但是你要有那個能力,能力就是在你現在的這種公司,不停的做項目,積累,用最短的時間積累更多的知識。
如果你是個積極向上的人,我希望今後有機會和你一起探討和分享android的開發經驗;但如果你堅持要換工作,找一份「安逸」的朝九晚五的工作,當我沒來過。

❻ Android程序員的較好的職業規劃應該是怎樣

Android程序員的職業規劃,怎麼說呢?一句話叫做:早知如此,又何必當初。命運有些是自己可以掌握的,有些可能需要運氣和機會。
一、路徑可達
先說說路徑可達這個詞吧?有些人會覺得他的路看不到未來,有些人就可以清晰的看到他的方向。如果你現在所做的工作過兩年會不會有所成長,達到你的目標。如果答案是否定的,那麼說明現在的工作是沒有上升通道的,就需要改變。當然安於現狀不思進取是另外一回事。時刻反思自己所走的路,然後迅速調整,可能會少走很多彎路,畢竟時間不可逆。

二、時間規劃
我有時候會想我五年後在哪裡?做什麼?大部分人對於這個都會比較模糊。因為時間跨度太大。五年時間相當於整個生命長河其實比較短,但在職業規劃中確是很長的段,特別是剛畢業的那五年。從時間規劃來講肯定會用到時間的切分。宏觀的東西只有落地到一件件事上才是有效的,才算得上完整的規劃。但是話又說回來人是有惰性的,人對於這種有限制的東西有天然的排斥感,執行起來非常痛苦,即使開始執行起來很有激情,過不了幾個月,所有的計劃都縮水了,這同時也導致了很多時間的浪費和做事情的盲目性。所以計劃的時效性和執行很重要,這里又會涉及一個詞:「執行力」。
沒有計劃也導致學習變成一個一個孤立的點,完全沒有串連性。因為你是想到學什麼學什麼,而不是計劃著學,一段時間後可能會有一些積累,但是永遠深度不夠。這可以做一個簡單的實驗,把自己腦子里的東西理一理,如果時間需要很長說明整體知識體系已經有些混亂,可以對比一下操作系統的磁碟整理。如果一個人能很好的管理時間那麼必成大牛。好學生好在哪裡,排除智商的因素外,就是時間管理和善於思考。我覺得我自己最大的問題:時間管理,自律性,溝通能力。這三塊是我覺得自己最缺乏一定程度上是致命的,很大程度上會決定我未來的所發展的高度。
三、項目經理還是架構師
在程序員中一直有個討論就是將來要做項目經理還是做架構師。這兩條路的側重點不一樣,所以積累的東西也可能不同。項目經理更強調綜合能力,比如說協調能力,溝通能力等一系列偏管理的能力。而架構師可能更專注於技術本身,技術上的宏觀方向。兩條路有重疊,但是更多的是區別。有些項目經理可能就不會寫代碼。但是同樣可以帶好一個項目,一個團隊。
我曾經也問自己要是以後這兩條路走哪條,其實都可以嘗試一下。比如說給一個項目讓我帶帶,我能否把它帶好,其實需要機會,同時也需要自己去爭取這樣的機會。所以我的答案就是如果有機會的話兩條路都可以嘗試走走,就是兩個方向的一些能力都可以進行積累。很多人認為項目經理是一個職位,我倒覺得是動態的,這個項目中你做項目經理,另外一個項目中可能又是開發工程師。所以不永遠是項目經理,也不永遠是開發工程師。
就程序員而言,專注技術是沒有任何問題的,先技術後管理。管理這個東西總的說有點虛無飄渺,各都有各的一套理論,比較難以評估。但是技術是可測量的,通過一定的努力技術水平都會有定的躍升。記得在《肖申克的救贖》裡面說到地質的形成只需要兩個條件:壓力和時間。其實對於學技術也是一樣的。只要肯學一定會達到某個水平。到大牛級別的確實需要一些悟性和天分。
四、我的選擇
我為什麼覺得自己應該走架構師這條路,這和我職業終極目標是契合的。這里先說一下架構師做什麼?架構師負責整個項目甚至整個系統的構架(這一句話等於廢話)。一般型的項目可能這個設計項目就做掉甚至可能就不需要架構。但是系統復雜度上升的時候,會涉及到系統之間的交互,還有技術的可行性和整個設計的方案。這個時候架構師就出場了。另外的工作就是承擔一定的培養新人的工作。所以架構師都需要具備比較好的口才,很多人都說程序員不會說話,錯了,那是低端的,到了高端的程序員口才都很好,看一下那些程序員大會中侃侃而談的架構師們,是不是有種「高端大氣上檔次」的感覺。這後面會發現有一個發展方向就是「培訓師」,還可以寫書,其實這些都可能是一些「副產品」。技術到一定的境界很多事情到都是水到渠成。
架構師寫代碼嗎?當然寫。他們肯定不會寫那些簡單的代碼,他們一般寫什麼代碼?框架,一般來講優秀的框架都是一個人或者極少人寫出來的。比如說Linux的核心就是一個人寫出來的。好的代碼絕不是人堆出來的。你給100個初級程序員也整不出一個Struts來。這里會衍生出另外一條路,就是開源框架,很多牛人都是開源社區的愛好者。都或多或少的參與了一些開源項目。甚至把自己寫的一些東西開源出來。一般來講能做到這個級別那是相當厲害的了。

五、領域方向
我記得以前總有人問我你最擅長的領域是什麼?這個問題一問我就懵了,因為我從來就沒想過這個問題。可能本身還沒到分領域的級別,還處於一種「原始積累」階段。技術學到一定階段的時候是分領域的。領域之間會有一些交叉。
我所知道的大方向是「高性能,大數據量,移到平台「。這是我給Java這所分的三個方向。其實我上面所說的三個方向不一定是同一個維度。但是我認為寫Java的如果沒有沾上這三個方向中的一個,一定沒有前途。高性能和大數據量的處理需要比較多的技術儲備。很多人說寫個Java就是CRUD(嚴格來講,對於計算機本身所有的操作都是CRUD)。可是在高性能情況下所涉及的問題一下成指數級增長。各種「水平擴展」,「服務化」,「容災」,」緩存」等各種牛B的詞彙就來了,你寫一般的CRUD最多也就知道個SSH,這是不一樣的。比如說做大數據量的處理一定會知道Hadoop,然後就是雲計算,雲存儲。反正什麼牛B什麼來。移動平台和上面我所說的維度不一樣,因為移動平台相對應的是PC平台。但是由於移動平台的發展時間很短。所以能搭上這趟快車也有不錯的發展。要是早些年(2012年以前)進入移動平台的開發,現在同水平的程序員工資肯定更高。這是平台發展所帶來的紅利。雖然三年前我預見到了移動平台的無可限量,但是那時候就像一個一無所有的人,還管它什麼移動平台還是PC平台,能寫代碼做項目就OK。以至於我學了一個月的Android就偃旗息鼓。
不管怎麼樣技術的底層都是一樣的,所以扎實的基礎是必要的,這就是為什麼演算法和數據結構是永恆不衰的。很多人說演算法和數據結構無用那就是無知的表現。這個無知就像在討論讀大學有沒有用一樣。

六、總結
上面所說的一些東西可能都會比較虛,很多人都可能明白其中的道道,比如說到時間管理,這個估計從學生時代就在講。但是真正的執行還是千差萬別。所以又回歸到哪裡?回歸到人本身。後來我想明白一件事情,即使道理再明白,沒有好的執行仍然等於空談。這里我回想起劉未鵬的《暗時間》。裡面非常細致的講了對於時間的管理。這個我讀大學的時候同樣在一本書《讀大學,究竟讀什麼》裡面也有所論述。當然兩個方向是不一樣的,一個是程序員的思維,另外一個是文科生的思維。但是道理只有一個,時間利用率的本質是什麼。
另外就是實踐,強烈的實踐。我記得大學的時候讀《人性的弱點》真是心潮澎湃,可是過不了多久我就忘了書中的內容。所以沒有把書中的一些東西深刻的印記在腦海里並轉化成你自己的東西,它永遠只是知識。

❼ android程序員面試時要注意什麼

談談UI中, Padding和Margin有什麼區別? widget相對位置的完成在antivity的哪個生命周期階段實現。 請解釋下在單線程模型中Message、Handler、Message Queue、Looper之間的關系。 AIDL的全稱是什麼?如何工作?能處理哪些類型的數據? 請解釋下Android程序運行時許可權與文件系統許可權的區別。 系統上安裝了多種瀏覽器,能否指定某瀏覽器訪問指定頁面? 對多線程的運用和理解,及多線程之間handle的傳值。 對android虛擬機的理解,包括內存管理機制垃圾回收機制。 Framework工作方式及原理,Activity是如何生成一個view的,機制是什麼。 android本身的一些限制,比如apk包大小限制,讀取大文件時的時間限。 如何載入的音樂信息,如何改善其效率。 ListView如何提高其效率? 啟動應用後,改變系統語言,應用的語言會改變么? 啟動一個程序,可以主界面點擊圖標進入,也可以從一個程序中跳轉過去,二者有什麼區別? Android程序與Java程序的區別? Android中Task任務棧的分配。 在Android中,怎麼節省內存的使用,怎麼主動回收內存? 不同工程中的方法是否可以相互調用? 在Android中是如何實現判斷區分通話記錄中的電話狀態,去電,來電、未接來電? dvm的進程和Linux的進程, 應用程序的進程是否為同一個概念 sim卡的EF 文件有何作用 如何判斷是否有SD卡? 嵌入式操作系統內存管理有哪幾種, 各有何特性。 什麼是嵌入式實時操作系統, Android 操作系統屬於實時操作系統嗎? 一條最長的簡訊息約佔多少byte? Linux中跨進程通信的幾種方式 。 談談對Android NDK的理解。 談談Android的優點和不足之處。 Android系統中GC什麼情況下會出現內存泄露呢? Android UI中的View如何刷新。 簡單描述下Android 數字簽名。 什麼是ANR 如何避免它? android中的動畫有哪幾類,它們的特點和區別是什麼? handler機制的原理。 android中線程與線程,進程與進程之間如何通信。 說說mvc模式的原理,它在android中的運用。 android中有哪幾種解析xml的類,官方推薦哪種?以及它們的原理和區別。 DDMS與TraceView的區別? res目錄有默認幾項resource。 android的哪個版本是一次重大的升級? 兩個Activity之間跳轉時必然會執行的是哪幾個方法。 橫豎屏切換時候Activity的生命周期。 如何將一個Activity設置成窗口的樣式。 你後台的Activity被系統 回收怎麼辦? 如何退出Activity?如何安全退出已調用多個Activity的Application? 如果後台的Activity由於某原因被系統回收了,如何在被系統回收之前保存當前狀態? 兩個Activity之間怎麼傳遞數據? 怎麼讓在啟動一個Activity是就啟動一個service? 同一個程序,但不同的Activity是否可以放在不同的Task任務棧中? Activity怎麼和service綁定,怎麼在activity中啟動自己對應的service? 什麼是Service以及描述下它的生命周期。 Service有哪些啟動方法,有什麼區別,怎樣停用Service? 不用service,B頁面為音樂播放,從A跳轉到B,再返回,如何使音樂繼續播放? 什麼是IntentService?有何優點? 什麼時候使用Service? 請描述一下Intent 和 Intent Filter。 Intent傳遞數據時,可以傳遞哪些類型數據? 說說Activity,Intent,Service是什麼關系 。 請描述一下Broadcast Receiver。 在manifest和代碼中如何注冊和使 用 broadcast receiver 。 請介紹下ContentProvider是如何實現數據共享的。 請介紹下Android的數據存儲方式。 SharedPreferences:用來存儲”key-value paires“格式的數據,它是一個輕量級的鍵值存儲機制,只可以存儲基本數據類型。 文件存儲:通過FileInputStream和FileOutputStream對文件進行操作。在Android中,文件是一個應用程序私有的,一個應用無法讀寫其他應用程序的文件。

❽ 程序員編寫android應用程序時,主要調用什麼層提供的介面實現

Framwork層,框架層提供了android開發需要的api和常用類庫。應用層基於框架層。

❾ android程序員面試時要注意什麼

第一個問題就是「不求甚解」。
何為不求甚解?其大多數的問題就是在於大量的使用第三方的jar包,問他個原理一點也答不上來,甚至是最基礎的。舉個例子說明,比如我問他json數據怎麼解析,都知道哪些解析器,直接不知道,因為現在的開發者都直接去使用GJSON,從來不去了解解析的整個過程和原理,更不會寫。雖然用google提供的工具可以輕松實現,但是原理和過程還是得要學習的。學了總會有用,現在第三方的jar包多的是,封裝的也都比較好,不是不能用,但是一定要學習原理和機制,這樣才能提高自己,舉一反三,如果只會用第三方,只會粘貼復制,你還僅僅處在碼畜的級別,甚至有可能還不如。這個問題你犯了嗎?記得要對號入座哦!
第二個問題就是不思進取,或者說叫技術落後。
怎麼說呢,技術是不斷在進步的,不斷的在革新,尤其是我們程序員這個行業。很多程序猿一旦學習完了,工作了,雖然用舊的知識和技術也能實現這種效果,但是從不會考慮效率,不去學習新的技術,明明有更好的控制項提供了,也不知道,或者知道並不去學習,還停留在以前的知識,面試時要的工資還挺高。再舉個例子,面試時,問他們ListView的復用,大家答的都挺好的,都非常明白,我再問一句:Android5.0提供了新的控制項替代了它,你們知道嗎?用過嗎?就全都啞火了。我都不知道該說什麼好?程序猿之所以累,之所以叫猿就是因為他要時時刻刻保持一顆活到老學到老的心,要利用最新的技術知識解決新的難題。
講到這里,兩個問題已經講完了,不知道你自己是否也有這樣的毛病呢?請記得對號入座哦。現在我們再說一說面試者的另一方面的事,那就是簡歷的書寫。

我相信大家寫面試簡歷肯定都有誇大的成分,都會吹牛,這不要緊,牛吹好了,工資自然高,但是別吹過頭,面試的時候我看到面試者的簡歷時,給我的感覺是:我靠,好屌,好厲害啊!這時一個情不自禁的想法就來了,我要問問他這方面的知識。比如:一個面試應用層開發的,非把自己底層開發也寫的很牛逼,你真的像你簡歷上寫的那樣「精通」嗎?面試者把簡歷寫的每個技術知識點都是精通與熟練,有時候,反而是搬起石頭砸了自己的腳,吹牛可以,誇大也可以,都是為了生存嗎?但是要適可而止,要在自己掌握的一個度里,這樣既能自己面試的漂亮和順利,給面試官也有好的印象,這樣的情況不招你,招誰啊?

閱讀全文

與程序員android相關的資料

熱點內容
自己購買雲主伺服器推薦 瀏覽:422
個人所得稅java 瀏覽:761
多餘的伺服器滑道還有什麼用 瀏覽:191
pdf劈開合並 瀏覽:28
不能修改的pdf 瀏覽:752
同城公眾源碼 瀏覽:489
一個伺服器2個埠怎麼映射 瀏覽:298
java字元串ascii碼 瀏覽:79
台灣雲伺服器怎麼租伺服器 瀏覽:475
旅遊手機網站源碼 瀏覽:332
android關聯表 瀏覽:945
安卓導航無聲音怎麼維修 瀏覽:333
app怎麼裝視頻 瀏覽:430
安卓系統下的軟體怎麼移到桌面 瀏覽:96
windows拷貝到linux 瀏覽:772
mdr軟體解壓和別人不一樣 瀏覽:904
單片機串列通信有什麼好處 瀏覽:340
游戲開發程序員書籍 瀏覽:860
pdf中圖片修改 瀏覽:288
匯編編譯後 瀏覽:491