《Android程序設(shè)計(jì) 第二版》(Zigurd Mednieks)電子書網(wǎng)盤下載免費(fèi)在線閱讀
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序定制開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了關(guān)嶺免費(fèi)建站歡迎大家使用!
鏈接:
提取碼: vsd2
書名:Android程序設(shè)計(jì) 第二版
作者:Zigurd Mednieks
出版社:機(jī)械工業(yè)出版社
出版年份:2014-6
頁(yè)數(shù):493
移動(dòng)領(lǐng)域的兩大風(fēng)向標(biāo)--Android和iOS,也是移動(dòng)應(yīng)用設(shè)計(jì)時(shí)最大的兩個(gè)競(jìng)爭(zhēng)對(duì)手。Android與iOS在市場(chǎng)份額、受歡迎程度、使用人口統(tǒng)計(jì)方面數(shù)據(jù)不相上下,在這里,我們對(duì)比了Android和iOS之間的簡(jiǎn)單設(shè)計(jì)差異,這將幫助我們弄清一個(gè)與另一個(gè)有何不同。
由于碎片化的原因,安卓系統(tǒng)的應(yīng)用設(shè)計(jì)會(huì)有細(xì)微的差異。
我們先來(lái)了解一下Android與iOS UI應(yīng)用設(shè)計(jì)在扁平化設(shè)計(jì)和材質(zhì)設(shè)計(jì)方面的對(duì)比。
人機(jī)界面指南主要基于三個(gè)原則。清晰、尊重和深度。簡(jiǎn)單來(lái)說(shuō),該方法支持極簡(jiǎn)主義,使用簡(jiǎn)潔的元素,注重排版和扁平化色彩。
簡(jiǎn)而言之,Android Material Design被認(rèn)為是Flat設(shè)計(jì)的升級(jí)版,帶有擬態(tài)性(一種流行的設(shè)計(jì)概念,即讓所代表的物品與現(xiàn)實(shí)世界中的對(duì)應(yīng)物相似)。
用Google設(shè)計(jì)副總裁 MatíasDuarte 的話來(lái)說(shuō),它是–
有了這些基礎(chǔ)知識(shí),讓我們從7個(gè)方面研究?jī)蓚€(gè)平臺(tái)之間的差異。
目錄
1. 導(dǎo)航
2. 按鈕
3. 圖標(biāo)和屏幕分辨率
4. 字體
5. 控件
6. 卡片
7. 警報(bào)
對(duì)于iOS應(yīng)用程序,總是在“后退”按鈕旁邊提示上一個(gè)選項(xiàng)卡的名稱。在中間,顯示當(dāng)前選項(xiàng)卡的名稱,而在右上角則顯示“編輯”或“完成”(控制按鈕)。
說(shuō)到Android的設(shè)計(jì)規(guī)則,應(yīng)用程序通常在抽屜菜單或后退按鈕(可選)之后的左上角顯示標(biāo)題。移至右上方,總是有一個(gè)操作項(xiàng),例如搜索圖標(biāo)(也可以是多個(gè),例如“收藏夾”圖標(biāo)),其后是溢出菜單。
在iOS中,主導(dǎo)航始終顯示在底部,功能菜單專門用于存儲(chǔ)一次性功能。而在Android中,通常會(huì)在功能菜單中看到主要導(dǎo)航,或者以搜索欄,浮動(dòng)操作按鈕等形式在整個(gè)界面中存在。
ios界面指南中,沒有類似抽屜導(dǎo)航菜單的標(biāo)準(zhǔn)控件。iOS的全局導(dǎo)航被放置在應(yīng)用屏幕的底部,一般位于最末位的 "更多"標(biāo)簽下找到二級(jí)導(dǎo)航。
Android中,二次導(dǎo)航是一個(gè)抽屜,一旦按下功能菜單圖標(biāo),就會(huì)從左到右打開,同時(shí)產(chǎn)生一個(gè)深色的遮罩層。
有四種方法可以在iOS應(yīng)用中實(shí)現(xiàn)“后退”操作:
在某些情況下,Android應(yīng)用程序中給出了類似后退的操作,您可以通過(guò)該操作進(jìn)入前一個(gè)標(biāo)簽。但是,最常見和最簡(jiǎn)單的方法是使用導(dǎo)航欄中的后退按鈕(Android 10中現(xiàn)在是可選的)。
iOS和Android中的按鈕風(fēng)格最主要的設(shè)計(jì)區(qū)別在于,iOS中的按鈕遵循扁平化的設(shè)計(jì)模式,不帶陰影、支持標(biāo)題大小寫。Android遵循Material Design,帶陰影且字母大寫。
另一個(gè)比較重要的按鈕是Floating action button(FAB行動(dòng)呼吁按鈕)。例如安卓系統(tǒng)中Gmail的compose按鈕,iOS系統(tǒng)中社交媒體應(yīng)用的新建文章按鈕。
兩種系統(tǒng)都使用8dp的網(wǎng)格來(lái)構(gòu)建屏幕結(jié)構(gòu),而最常見的邊框是16dp。
在開發(fā)移動(dòng)應(yīng)用程序時(shí),以預(yù)定義的尺寸設(shè)計(jì)圖標(biāo)是非常關(guān)鍵的。這里有一個(gè)表,描述了所有的測(cè)量。
這些表格一開始可能會(huì)讓人有點(diǎn)不知所措,但是如果你知道基本尺寸,并且能夠使用倍數(shù)進(jìn)行檢查和導(dǎo)出,會(huì)發(fā)現(xiàn)這并不復(fù)雜。
多年來(lái),蘋果一直是Helvetica Neue字體的粉絲,然而在2015年,蘋果開始使用San Francisco,它更節(jié)省空間,非常適合手機(jī)、臺(tái)式機(jī)和iOS Watch使用。
Android系統(tǒng),一直使用Roboto作為標(biāo)準(zhǔn)系統(tǒng)字體。在可預(yù)見的未來(lái),谷歌也沒有計(jì)劃改變這一深受喜愛的元素。
控件設(shè)計(jì)包含搜索、CTA按鈕、選擇控件和標(biāo)簽等元素。每一個(gè)都滿足了這樣或那樣的目的,讓我們來(lái)看看他們的位置。
搜索功能對(duì)于兩個(gè)平臺(tái)來(lái)說(shuō)都非常重要,蘋果最近還在iMessage中加入了 "搜索欄 "。
在蘋果中,搜索選項(xiàng)有兩種類型--突出和隱藏。通常情況下,搜索圖標(biāo)會(huì)顯示在上邊的選項(xiàng)卡上,而有時(shí)需要從上到下拖動(dòng)屏幕才能顯示搜索欄。此外,如果要取消搜索查詢,可以按 "取消",如果要清除,可以用 "X"。
在安卓系統(tǒng)中,沒有隱藏的搜索欄,你總能在上層標(biāo)簽中找到一個(gè)。如果要取消搜索,只需點(diǎn)擊"←"圖標(biāo)即可,如果要清除查詢,則和iOS中的一樣。
浮動(dòng)的動(dòng)作按鈕(FAB)在Android中充當(dāng)主要行動(dòng)按鈕,可以出現(xiàn)在頂部應(yīng)用欄或一些組件的邊緣。而iOS應(yīng)用中的主要行動(dòng)按鈕總是出現(xiàn)在頁(yè)面的右上角。
不過(guò)也有一些例外,少數(shù)iOS會(huì)在底部工具欄顯示CTA,而Android則在上部工具欄顯示。
如果需要顯示一些選項(xiàng),可以在iOS平臺(tái)上使用選取器控件,選取器一般出現(xiàn)在底部。
對(duì)于在Android平臺(tái)上顯示很少的選項(xiàng),通常使用一個(gè)出現(xiàn)在原地的下拉菜單,或者一個(gè)出現(xiàn)在中心的模態(tài)對(duì)話框,使用模態(tài)框時(shí)應(yīng)用背景變暗。
據(jù)觀察,iOS系統(tǒng)并沒有一個(gè)視覺上類似于 "標(biāo)簽"的控件。它使用的是一個(gè)分段的按鈕。Android使用了"扁平化設(shè)計(jì)的tab"來(lái)實(shí)現(xiàn)同樣的效果。
卡片是圖片、文字、視頻的集合,還包括按鈕和評(píng)論。
在iOS中,卡片的特點(diǎn)是無(wú)陰影、全寬、無(wú)圓角。而在安卓系統(tǒng)中,卡片的設(shè)計(jì)有陰影、溝槽、圓角等功能。
安卓系統(tǒng)的提醒采用的是扁平化的按鈕樣式,具體尺寸可以在材質(zhì)設(shè)計(jì)指南中找到。操作按鈕被放置在提醒的右下角。這些 "按鈕 "完全以文字為主(全大寫),讓用戶更容易理解。
至于iOS系統(tǒng)的提醒,則是用分割線隔開。它們基本采用句子或標(biāo)題的形式,在獨(dú)立的區(qū)塊中呈現(xiàn)。它們被放置在彈出窗口的中心。
本文涵蓋了iOS和Android所有的初步差異,希望對(duì)你有所幫助,而設(shè)計(jì)一個(gè)iOS或Android的移動(dòng)應(yīng)用,總是有迭代的準(zhǔn)則,所以,一定要保持信息的更新,及時(shí)調(diào)整自己的產(chǎn)品設(shè)計(jì)。
Q. 為什么iOS和Android上的應(yīng)用看起來(lái)不一樣?
品牌和意識(shí)形態(tài)的不同,已經(jīng)波及到他們的操作系統(tǒng)的運(yùn)作方式。兩個(gè)平臺(tái)的UI設(shè)計(jì)已經(jīng)成為品牌的符號(hào)化。
Q. 如何設(shè)計(jì)一個(gè)原生應(yīng)用?
在設(shè)計(jì)原生應(yīng)用時(shí),必須始終遵守iOS UI應(yīng)用設(shè)計(jì)指南和Material設(shè)計(jì)指南。這樣才能使應(yīng)用與它所要針對(duì)的平臺(tái)同步。另外,這些平臺(tái)有不同的要求,所以你的應(yīng)用必須滿足它們才能在應(yīng)用商店上發(fā)布。
Q. iOS比Android更方便用戶使用嗎?
這個(gè)問(wèn)題的答案是純主觀的。它是基于用戶的個(gè)人偏好。有些人可能會(huì)覺得iOS更實(shí)用,而有些人則在各方面都偏愛Android。
《Android程序設(shè)計(jì)》(Zigurd Mednieks)電子書網(wǎng)盤下載免費(fèi)在線閱讀
鏈接:
提取碼:7bx5
書名:Android程序設(shè)計(jì)
作者:Zigurd Mednieks
譯者:祝洪凱
出版社:機(jī)械工業(yè)出版社華章公司
出版年份:2013-3-1
頁(yè)數(shù):456
內(nèi)容簡(jiǎn)介:
如何才能構(gòu)建設(shè)計(jì)良好的Android應(yīng)用?通過(guò)本書提供的權(quán)威指南,深入探索Android核心模塊及其API,了解如何創(chuàng)建可以運(yùn)行在一系列Android設(shè)備上的出色的應(yīng)用軟件。本書將帶你探索行之有效的應(yīng)用設(shè)計(jì)和實(shí)施方式,包括一些應(yīng)用框架,你可以把這些框架作為自己項(xiàng)目的起始點(diǎn)。
深入傳感器、本地開發(fā)、3D圖形和許多其他主題,并發(fā)現(xiàn)如何在選擇的平臺(tái)上構(gòu)建應(yīng)用程序。如果你要進(jìn)階到高級(jí)程序員,你將學(xué)會(huì)如何創(chuàng)建良好的Android應(yīng)用程序。
作者簡(jiǎn)介:
Zigurd Mednieks是領(lǐng)先的OEM、企業(yè)和創(chuàng)建基于Android系統(tǒng)的創(chuàng)業(yè)投資顧問(wèn)。
Laird Dornin是一家大型無(wú)線運(yùn)營(yíng)商的高級(jí)工程師,在Java、Android、J2ME、SavaJe和WebKit方面有豐富的經(jīng)驗(yàn)。
G.Blake Meike是一位經(jīng)驗(yàn)豐富的開發(fā)人員,為移動(dòng)和服務(wù)端平臺(tái)構(gòu)建Java應(yīng)用有豐富的經(jīng)驗(yàn)。
Masumi Nakamura是Where Inc.的Big Data和Recommendations組的首席架構(gòu)師。
互聯(lián)網(wǎng)移動(dòng)設(shè)備已經(jīng)普及,Android,一個(gè)開放性平臺(tái),對(duì)于各科技公司吸引力在持續(xù)上升,這不只是體現(xiàn)在翻倍上升的Android手機(jī)銷量上,Android市場(chǎng)在被迅猛的拓展開。
學(xué)習(xí)Android開發(fā)漸漸成為一種潮流。
那么,鹽城電腦培訓(xùn)介紹學(xué)習(xí)Android開發(fā)要具備哪些基礎(chǔ)呢?首先要熟悉學(xué)習(xí)Android開發(fā)要具備哪些基礎(chǔ)知識(shí)。
Java作為學(xué)習(xí)Android開發(fā)的基礎(chǔ)編程語(yǔ)言,掌握J(rèn)ava開發(fā)基礎(chǔ)知識(shí)是非常重要的。
另外,還要重點(diǎn)掌握針對(duì)Android平臺(tái)而特有的Activity、Service、Broadcast、ContentProvider、Handler等知識(shí)。
在學(xué)習(xí)Android開發(fā)時(shí)還應(yīng)該了解Android的開發(fā)工具。
學(xué)習(xí)關(guān)于AndroidSDK的相關(guān)知識(shí)。
AndroidSDK內(nèi)含一整套工具,能夠利于構(gòu)建應(yīng)用程序、設(shè)計(jì)圖形及布局。
另外一些工具能夠幫助進(jìn)行性能的調(diào)優(yōu)和剖析。
可見,掌握開發(fā)工具是非常必要的。
學(xué)習(xí)過(guò)程中,要時(shí)刻調(diào)整自己的學(xué)習(xí)狀態(tài)。
不要認(rèn)為Android開發(fā)大多應(yīng)用在Android手機(jī)上,做的都是小項(xiàng)目。
其實(shí),一個(gè)成功的項(xiàng)目開發(fā)必須有完整的流程,要有詳細(xì)的規(guī)范、進(jìn)度,專業(yè)的工程師和設(shè)計(jì)師,還要有測(cè)試人員以及后期維護(hù)等。
僅僅停留在基礎(chǔ)技能范疇,肯定是不能滿足的。
要想具備開發(fā)項(xiàng)目的能力,就要多學(xué)習(xí),積累經(jīng)驗(yàn)。
1. 說(shuō)明
android的后臺(tái)運(yùn)行在很多service,它們?cè)谙到y(tǒng)啟動(dòng)時(shí)被SystemServer開啟,支持系統(tǒng)的正常工作,比如MountService監(jiān)聽是否有SD卡安裝及移除,ClipboardService提供剪切板功能,PackageManagerService提供軟件包的安裝移除及查看等等,應(yīng)用程序可以通過(guò)系統(tǒng)提供的Manager接口來(lái)訪問(wèn)這些Service提供的數(shù)據(jù),以下將說(shuō)明他們的工具流程
2. 舉例說(shuō)明基本流程
以android系統(tǒng)支持sensor(傳感器)實(shí)例來(lái)說(shuō)明框架層的service和manager是如何配合工作的
1) 什么是sensor
sensor是傳感器, 比如控制橫豎屏切換利用的就是重力傳感器(gsensor), 還有accelerator sensor可取得x, y, z三個(gè)軸上的加速度(應(yīng)用如平衡球, 小猴吃香蕉等)
2) 應(yīng)用程序調(diào)用(以下為關(guān)鍵代碼)
sensorManager=(SensorManager)getSystemService(context.SENSOR_SERVICE);
lightSensor = sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);
sensorManager.registerListener(sensorListener, lightSensor, SensorManager.SENSOR_DELAY_NORMAL);
3) Manager層
a) 提供給應(yīng)用程序調(diào)用的接口,同實(shí)與Service交互,實(shí)現(xiàn)功能
frameworks/base/core/java/android/hardware/SensorManager.java
4) Service層
a) 開機(jī)時(shí)就運(yùn)行的管理Sensor的后臺(tái)服務(wù)
frameworks/base/services/java/com/android/server/SensorService.java
b) snesor后臺(tái)服務(wù)需要的JNI,通過(guò)它與系統(tǒng)級(jí)交互
frameworks/base/services/jni/com_android_server_SensorService.cpp
5) 系統(tǒng)層
a) 傳感器的頭文件,硬件提供商按此文件的定義實(shí)現(xiàn)其功能
hardware/libhardware/include/hardware/sensors.h
b) 傳感器的系統(tǒng)層實(shí)現(xiàn),與內(nèi)核交互,此處通常是硬件提供商提供的
hareware/libsensors
6) 內(nèi)核及硬件層
內(nèi)核訪問(wèn)硬件,同時(shí)以設(shè)備文件等方式提供給上層控制接口和傳感器數(shù)據(jù)
3. 系統(tǒng)層實(shí)現(xiàn)
1) frameworks/base/core/java/android/*Manager.java 對(duì)應(yīng)用的接口
2) frameworks/base/core/jni/ 對(duì)應(yīng)用的接口的JNI
3) frameworks/base/services/java/com/android/server/ 后臺(tái)服務(wù)
4) frameworks/base/services/jni/ JNI與系統(tǒng)層接口
5) hardware/libhardware/include/ 系統(tǒng)層頭文件
6) hardware/libxxx 系統(tǒng)庫(kù)支持
7) 內(nèi)核支持
4. 應(yīng)用程序如何使用
1) 查看系統(tǒng)提供哪些服務(wù)
find frameworks/base/core/java/android/ -name *Manager.java
此處可以看到調(diào)用系統(tǒng)提供服務(wù)的入口
2) 一般register listener,事件發(fā)生時(shí)都收到回調(diào)
5. 新建一個(gè)service(以froyo為例)
1) 接口:接口供應(yīng)用調(diào)用
frameworks/base/core/java/android/app/ContextImpl.java 加服務(wù)名與Manager對(duì)應(yīng)
frameworks/base/core/java/android/content/Context.java 加服務(wù)名定義
2) Manager:提供服務(wù)對(duì)應(yīng)的調(diào)用接口
frameworks/base/core/java/android/app/StartXXXXManager.java 實(shí)現(xiàn)調(diào)用接口
frameworks/base/core/java/android/app/IXXXXManager.aidl 定義調(diào)用接口
frameworks/base/Android.mk 加入aidl的編譯
3) service:提供后臺(tái)服務(wù)支持
frameworks/base/services/java/com/android/server/XXXXService.java 服務(wù)實(shí)現(xiàn)
frameworks/base/services/java/com/android/server/SystemServer.java 啟動(dòng)服務(wù)
文章標(biāo)題:android程序設(shè)計(jì),android程序設(shè)計(jì)考試題及答案
鏈接分享:http://vcdvsql.cn/article32/dsdiesc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)、網(wǎng)站內(nèi)鏈、網(wǎng)站設(shè)計(jì)、建站公司、網(wǎng)站營(yíng)銷、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)