0-2歲的app開發人員必讀,Android開發APP前的準備事項

2019獨角獸企業重金招聘Python工程師標準>>> hot3.png

隨著移動互聯網的興起,各行各業對移動應用的需求越來越大,從事APP開發的人也越來越多,APP開發行業可以說是方興未艾。APP開發是比較復雜的事情,涉及產品、美工設計、服務器端開發、Android/iOS開發、軟件測試和項目管理等各方面。這些方面都是相互關聯的,如果要做好一個APP,需要對上述各方面都有所了解。

在實際工作中,許多從別的行業轉行從事APP開發或從事APP開發一兩年的人員,對APP開發的基礎知識不甚了解,需要關注的地方都沒有考慮到,導致在開發APP的過程中犯了許多低級錯誤,而這些本來是可以避免的;而在APP開發行業中,從事APP開發一兩年的人員又是占了絕大多數。在許多創業型的小公司里,也沒有專職的產品、美工和測試人員,往往要求Android/iOS開發人員做到一專多能、身兼數職。

目前介紹APP開發的書籍很多,大都局限于某一方面,內容不夠全面,并且許多書籍偏于理論,與實際聯系不緊密。國內外市面上大多數的Android開發類圖書,基本上可以分為兩類:

一類是從系統內核和源代碼入手,書的內容重在分析Android各個模塊的運行機制,深入理解系統肯定對應用開發者有好處,但很多時候并不是那么實用;

另一類是標準教程,基本內容與Android官方文檔類似,圍繞API的用法就事論事地講解,這類書在寫法、教學思路和實例上雖然各有千秋,但在實際工作中就會發現還遠遠不夠。

有感于此,一本面向初級讀者且全面介紹APP開發的書《Android APP開發實戰——從規劃到上線全程詳解》誕生了。與上述兩類書都不同,本書完全從實戰出發,以從零開始規劃一款APP至APP上線這個過程為主線,介紹整個過程中所涉及的知識,而不局限于某一方面。這樣一來,讀者將對APP開發的相關知識有一個全面的了解,進而以更專業的方式完成APP的開發。?

?

9ccc0ca9ly1frz1uwl4mtj205706a745.jpg

?點擊鏈接購買紙書

本書是從多個實際項目中獲得的經驗總結,可以使讀者在開發APP的過程中少犯低級錯誤,減少可能遇到的各種問題,從而提高開發效率。

? ?1.1 開發App前需要準備哪些工作?

1.1 APP適配的硬件

1.2 APP橫豎屏界面的選擇

1.3 APP適配的操作系統版本

1.4 APP適配的屏幕尺寸

1.5 APP開發樣機的選擇

1.6 APP內置的圖片資源

開發APP前,除了競品分析和項目組搭建外,還有以下事項需要確定。

???1.1 APP適配的硬件

大多數用戶主要是將PAD用于娛樂、教育或企業辦公。對于游戲、視頻播放、圖形圖像處理、閱讀、教育或企業辦公等類型的APP,建議適配手機和PAD。電商或理財等類型的APP建議只適配手機。

隨著硬件性能和網速的提高,使用PAD的用戶越來傾向于直接打開相關的網站,而不愿去下載應用,以免頻繁升級應用。因此在開發APP的時候,為節約資源,加快開發進度,可以先開發網站和手機版本的APP,最后再開發PAD版本的APP。

???1.2 ?APP橫豎屏界面的選擇

目前大部分PAD的尺寸都是大于等于7.9英寸,對于PAD版本的應用可以只考慮開發橫屏界面,不用考慮豎屏界面。還有一部分PAD的尺寸在7英寸左右,對于這類PAD,可以考慮直接讓用戶使用手機版本APP(如果一個APP在6英寸的手機上使用,沒有界面問題,那在7英寸的PAD上通常也可以正常使用)。

對于手機版本的應用:游戲、視頻播放、圖形圖像處理、閱讀、教育或企業辦公等類型的APP建議支持橫屏和豎屏;電商或理財等類型的APP可以只支持豎屏。

???1.3 ?APP適配的操作系統版本

iOS APP建議適配iOS 8.0以上版本,Android APP建議適配Android 4.2以上版本,可以根據Apple和Google提供的各版本系統占有率的統計數據做實時調整。使用Android Studio新建工程時,在圖1-1所示的界面,單擊“Help me choose”鏈接,顯示如圖1-2所示的界面,列出了Android系統各版本的市場占有率。

?

9ccc0ca9ly1frz1yms8vgj20e60aemxe.jpg

?圖1-1

?

9ccc0ca9ly1frz1yuo235j20gh0axwew.jpg

?圖1-2

對于大多數公司來說,畢竟開發和測試資源有限,對于占有率低于5%的系統版本建議不必考慮支持。

???1.4 ?APP適配的屏幕尺寸

Apple產品的尺寸不像Android產品那么多,每種尺寸的用戶量巨大,除了iPhone 4系列和之前系列的手機外,其余型號的手機和PAD都要適配。

Android產品的尺寸千差萬別,建議適配的手機屏幕基準尺寸為5英寸、5.5英寸和6英寸,PAD屏幕基準尺寸為7英寸、8英寸和10英寸;屏幕像素密度支持MDPI、HDPI、XHDPI和XXHDPI這4種。

???1.5 ?APP開發樣機的選擇

Apple的機型比較少,除了iPhone 4系列的手機外,其余每個機型都可以考慮購買樣機。

Android的機型比較多,在選擇機型的時候,應根據以下幾項綜合判斷。

屏幕尺寸、屏幕像素密度、內存、價格和目標用戶。

APP在小內存(1GB)低端機(低于1千元)上可以正常使用,那在中高端機上肯定也可以正常使用,如果目標用戶包括低端用戶,那一定要購買小內存低端機,大內存高端機可以不買。

如果不考慮低端設備用戶,那屏幕密度為MDPI 的樣機可以不買。

友盟和極光等廠商也會發布一些關于不同設備的市場占有率等的數據統計報告,在選擇開發樣機的時候,可以做參考。

???1.6 ?APP內置的圖片資源

Apple 的產品硬件配置高、屏幕好,所以iOS APP通常內置兩套圖片,即@2x和@3x分辨率的圖片。

Android的產品中,屏幕像素密度為XXHDPI的比較少,且大多數產品的配置不高,為了節約存儲空間和減少APP的大小,Android APP通常只內置一套完整的像素密度為XHDPI的圖片,以及部分MDPI、HDPI和XXHDPI的圖片。

如果APP定位高端用戶,建議還是要內置一套完整的像素密度為XXHDPI的圖片。

本文摘自《Android APP開發實戰——從規劃到上線全程詳解》

?

9ccc0ca9ly1frz1z6h7lhj205706a745.jpg

?《Android APP開發實戰》

強增??著

?點擊鏈接購買紙書

本書從實戰出發,以從零開始規劃一款APP至APP上線這個過程為主線,盡量貼合實戰,介紹整個過程中所涉及的各類知識,而不局限于某一方面,使得讀者對APP開發相關知識有一個全面的了解,幫助他們開闊眼界,且能夠以更專業的方式完成APP的開發。?

本書的許多內容是在官方文檔之上,從多個實際項目中獲得的經驗總結,可以使讀者在開發APP的過程中,少犯低級錯誤,減少可能遇到的各種坑和提高開發效率。 ??

9ccc0ca9ly1frz20hq4upg20hs01pt93.gif

?推薦閱讀

2018年5月新書書單(文末福利)

2018年4月新書書單

異步圖書最全Python書單

一份程序員必備的算法書單

第一本Python神經網絡編程圖書

?

9ccc0ca9ly1frz20z3xe4j205w05y74f.jpg

?長按二維碼,可以關注我們喲

每天與你分享IT好文。

?

在“異步圖書”后臺回復“關注”,即可免費獲得2000門在線視頻課程

點擊閱讀原文,購買《Android APP開發實戰——從規劃到上線全程詳解》

閱讀原文

轉載于:https://my.oschina.net/u/3722671/blog/1825173

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/277843.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/277843.shtml
英文地址,請注明出處:http://en.pswp.cn/news/277843.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

FixedThreadPool吞掉了異常

為了方便遍描述問題,如下是簡化后的 public class RunException {public static void main(String[] args) { ExecutorService readerPool Executors.newFixedThreadPool(3); readerPool.submit(new Runnable() { public void run() { throw new RuntimeException(…

Teams Meeting App的 task 彈出框

前幾篇文章我們介紹了 Teams Meeting App 的各種類型和如何從無到有的使用 net6 和 c# 來開發一個 Teams Meeting app,那今天我們開始討論一些 meeting app 的高級互動: task 彈出框。我們先來快速修改一下之前的代碼,看看什么是 task 彈出框…

react 學習

react官網地址:http://facebook.github.io/react/ webpack官網地址:http://webpack.js.org/ 英文 https://www.webpackjs.com/ 中文 參考資料: React 入門實例教程-阮一峰 webpack的學習 學習列表: 了解react的語法&#x…

如何獲取Teams Meeting 詳情

最近有一些朋友問我,有沒有可能獲取到會議的詳情,我搜索了目前所有的 teams 文檔,發現有一個api可以獲取,不過在我寫這篇文章的時候,這個 api 還在 preview 階段,可能在正式發布前,還會有一些變…

C++ : 內聯函數和引用變量

一.內聯函數 內聯函數和普通函數的使用方法沒有本質區別&#xff0c;我們來看一個例子&#xff0c;下面展示了內聯函數的使用方法&#xff1a; #include <iostream> using namespace std; //下面展示內聯函數的使用 inline double square(double x) {return (x*x);} int…

Teams Meeting 實時事件通知

Microsoft Teams最近推出了很多新的功能和api&#xff0c;我們今天就來一起看一下 teams 會議的實時事件通知&#xff0c;我覺得有了這個功能&#xff0c;我們的app&#xff0c;我們的bot又可以有很多可以實現的場景了。 我們來看看如何在 c# 里處理會議開始和結束這兩個事件。…

error記錄 | 不能將參數 1 從“const char [5]”轉換為“LPCTSTR

Windows使用兩種字符集ANSI和UNICODE&#xff0c;前者就是通常使用的單字節方式&#xff0c;但這種方式處理象中文這樣的雙字節字符不方便&#xff0c;容易出現半個漢字的情況。而后者是雙字節方式&#xff0c;方便處理雙字節字符。Windows NT的所有與字符有關的函數都提供兩…

JMM 學習筆記

并發編程的模型 并發編程需要解決的兩個問題&#xff1a;線程之間如何同步&#xff0c;線程之間如何通信。 線程之間通信&#xff1a;共享內存&#xff0c;消息傳遞。 共享內存通過線程之間讀-寫程序的公共狀態進行通信。消息傳遞要通過線程之間主動傳遞消息進行通信。 線程之間…

嵌套函數,匿名函數,高階函數

目錄 嵌套函數匿名函數高階函數嵌套函數 就是在函數里再定義一個函數 # 1,函數內部可以在定義函數 # 2,函數要想執行&#xff0c;必須要先被調用 def name1():print(kk)def name2():print(vfx)name2() name1() 輸出&#xff1a; kk vfx name2 現在他內部代碼找輸出&#xff0c;…

Teams Developer Portal介紹

在去年的 Build2021 大會上講到的 Teams Developer Portal 已經上線一段時間了&#xff0c;我這幾天玩了一下&#xff0c;發現比之前的 app studio 強大了很多&#xff0c;所以趕快寫篇文章和大家分享。 Developer Portal 有兩種訪問的方式&#xff0c;一個是網頁版&#xff0…

使用環境變量來配置 Teams App 的 manifest

上篇文章我們介紹了 Teams 的 Developer Portal&#xff0c;今天我想分享一個dev portal里一個比較實用的功能。這個功能在之前的 App Studio 里沒有。這個功能叫 Environment variables。 當我們真實開發一個 teams app的時候&#xff0c;肯定有自己的開發環境&#xff0c;測…

[Unity優化]批處理03:靜態批處理

[Unity優化]批處理03&#xff1a;靜態批處理 原理&#xff1a; 運行時&#xff0c;把需要進行靜態批處理的網格合并到一個新的網格中。雖然只進行一次合并操作&#xff0c;但是會占用更多的內存來存儲合并后的網格&#xff0c;并且被靜態批處理的物體無法移動旋轉縮放 要使用靜…

制造領域的人工智能技術

“AI將執行制造、質量控制、縮短設計時間、減少材料浪費、提高生產再利用率&#xff0c;執行預測性維護等等&#xff0c;盡管人工智能有望從根本上改變很多行業&#xff0c;但該技術非常適合制造業”Ng說。Andrew Ng是深度學習Google Brain項目的創始人兼斯坦福大學計算機科學兼…

如何獲取一個會議的 transcripts

Teams 開發團隊在過去半年里提供了很多的關于會議的 api&#xff0c;這讓我們又有了很多的可以實現的功能和場景。今天我要介紹的是如何獲取會議的 transcripts。 首先我們要知道的一個概念是&#xff1a;一個會議 meeting 可能有很多的 transcript&#xff0c;是一對多的關系…

JS獲取IP地址

HTML代碼&#xff1a; <!DOCTYPE html> <html><head><meta charset"UTF-8"><title></title><script src"https://unpkg.com/vue/dist/vue.js"></script></head><body><div id"vm&quo…

1小時玩爆趣頭條自媒體平臺,增粉實戰操作分享

做自媒體的人最關注的就是每天自己賬號的后臺數據&#xff0c;因為數據決定當天的收益。因此只要每天能達到幾十萬的數據&#xff0c;相信對于做自媒體的朋友來說&#xff0c;一個月下來&#xff0c;最少也有1萬以上的收入。目前&#xff0c;自媒體平臺能賺錢的平臺有很多&…

營業額統計

傳送門 這個題...裸題啊,裸的不能再裸了 按天數插入,每次插入之后,比較和前驅后繼的差,取 min 統計入答案即可 注意之前已經插入過的值就不需要插入了.然后這題就 A 了 Code: #include <iostream> #include <cstdlib> #include <cstdio> #include <ctime&…

React setStats數組不更新,百思不得其解。

樓樓今日遇到個坑爹的問題。 就是 this.setStats({}) 對 this.stats 不更新問題 問題是這樣的 constructor(props) {super(props);this.state {imageList: []}WechatService.getMaterialOrealList("image").then((result) > {this.setState({imageList: result})…

隧道6in4 和隧道6to4(GNS3)

隧道6in4實驗配置 拓撲圖 Device Interface IP Address&#xff08;IPv6&#xff09; R1 F 0/0 10.1.81.1 F 0/1 2001:db8:cafe:81::10 R2 F 0/0 10.81.1.2 F 0/1 172.81.1.2 R3 F 0/0 172.81.1.3 F 0/1 2001:DB8:ACE:81::20 R4 F 0/0 2001:db8:cafe:81::4…

hadoop常用命令總結

2019獨角獸企業重金招聘Python工程師標準>>> 一、前述 分享一篇hadoop的常用命令的總結&#xff0c;將常用的Hadoop命令總結如下。 二、具體 1、啟動hadoop所有進程 start-all.sh等價于start-dfs.sh start-yarn.sh 但是一般不推薦使用start-all.sh(因為開源框架中內…