-
當(dāng)前位置:首頁 > 創(chuàng)意學(xué)院 > 技術(shù) > 專題列表 > 正文
android應(yīng)用
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于android應(yīng)用的問題,以下是小編對(duì)此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個(gè)非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對(duì)話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁版、PC客戶端
官網(wǎng):https://ai.de1919.com
本文目錄:
一、android 應(yīng)用程序升級(jí)提示簽名相同不能覆蓋是為什么
android 應(yīng)用程序升級(jí)提示簽名相同不能覆蓋是為什么
應(yīng)該是簽名不同吧,相同應(yīng)該可以覆蓋呀!
什么是應(yīng)用程式簽名,為什么要為應(yīng)用程式簽名
"數(shù)字簽名"是指可以新增到檔案的電子安全標(biāo)記。 使用它可以驗(yàn)證檔案的釋出者以及幫助驗(yàn)證檔案自被數(shù)字簽名后是否發(fā)生更改。
數(shù)字簽名的主要功能有2點(diǎn),分別軟體真實(shí)性和完整性。真實(shí)性:即軟體來源可信(軟體開發(fā)商來源真實(shí));完整性,確保軟體在釋出后沒有經(jīng)過篡改。
參考:為軟體進(jìn)行數(shù)字簽名的必要性
為什么我升級(jí)QQ瀏覽器不能安裝,提示應(yīng)用程式未安.
你好樓主,重啟您的手機(jī)試下,或者檢查您的手機(jī)記憶體是否夠用,解除安裝不常用的軟體以獲得更多的手機(jī)記憶體空間。手機(jī)QQ瀏覽器的安裝包很小,一般不會(huì)占用您過多的手機(jī)空間,而且它使用了騰訊自主開發(fā)的超強(qiáng)極速核心,保證了瀏覽器自身的穩(wěn)定效能、相容性的同時(shí)還大幅優(yōu)化了瀏覽器的載入速度,開啟網(wǎng)頁幾乎沒有延時(shí)
android啟動(dòng)時(shí)為什么要升級(jí)應(yīng)用程式
造成 Android開機(jī)就顯示升級(jí)應(yīng)用的錯(cuò)誤,是自己刷機(jī)后沒有wipe,雙清?;蚴謾C(jī)線上ota升級(jí)后沒有自動(dòng)雙清,導(dǎo)致系統(tǒng)快取混亂,所以報(bào)錯(cuò),建議執(zhí)行wipe(雙清)操作。
wipe會(huì)刪除手機(jī)所有設(shè)定和所有已安裝程式及相關(guān)檔案,恢復(fù)到出廠設(shè)定,就是剛拿到手機(jī)的原始狀態(tài)。
雙wipe步驟如下:
1.關(guān)機(jī) 按HOME鍵+電源鍵進(jìn)入recovery模式。
2.用音量下鍵選擇wipe data/factory reset這項(xiàng)。
3.按HOME鍵執(zhí)行wipe data/factory reset命令后再用音量下鍵選擇Yes -- delete all user data并按HOME鍵執(zhí)行命令。
4.執(zhí)行Yes -- delete all user data命令后,表示開始執(zhí)行。
5.按音量下鍵選擇wipe cache partition命令并按HOME鍵執(zhí)行。
6.執(zhí)行wipe cache partition命令后,音量下鍵選擇Yes -- Wipe Cache并按HOME鍵執(zhí)行命令。
7.執(zhí)行Yes -- Wipe Cache命令后,表示wipe cache partition也執(zhí)行成功了。
wipe data/factory reset和wipe cache partition執(zhí)行成功后 選擇 reboot system now 重啟系統(tǒng)即可。
怎么給Android應(yīng)用程式簽名
不管是模擬器還是真實(shí)手機(jī)。因此,在裝置或者是模擬器上執(zhí)行除錯(cuò)程式之前,必須為應(yīng)用程式設(shè)定數(shù)字簽名。 所有的程式都必須簽名,沒有被簽名的程式,系統(tǒng)將不能安裝。 可使用自簽署證書簽署應(yīng)用程式,無須授權(quán)憑證。系統(tǒng)僅僅會(huì)在安裝的時(shí)候測(cè)試簽名證書的有效期,如果應(yīng)用程式的簽名是在安裝之后才到期,那么應(yīng)用程式仍然可以正常啟用??梢允褂脴?biāo)準(zhǔn)工具-Keytool and Jarsigner-生成金鑰,來簽名應(yīng)用程式的.apk檔案。 Android SDK 工具可以在除錯(cuò)時(shí)給應(yīng)用程式簽名。ADT助手和Ant編譯工具都提供了兩種簽名模式-debug模式和release模式 debug模式下,編譯工具使用JDK中的通用程式Keytool通過已知方法和密碼建立秘鎖和金鑰。每次編譯的時(shí)候,工具使用debug金鑰簽名應(yīng)用程式的.apk檔案。因?yàn)槊艽a是已知的,工具 不需要在每次編譯的時(shí)候提示輸入密鎖和金鑰。 當(dāng)應(yīng)用程式除錯(cuò)完畢準(zhǔn)備要釋出release版本時(shí),可以在release模式下編譯。release模式下,編譯工具不會(huì)將.apk檔案簽名。需要自己用Keytool生成金鑰和密鎖,再用JDK中的Jarsigner工具給.apk檔案簽名。簽名基本設(shè)定 首先設(shè)定JAVA_HOME環(huán)境變數(shù),告訴SDK如何找到Keytool,或者可以在Windows 系統(tǒng)環(huán)境變數(shù)PATH變數(shù)中新增Keytool的JDK路徑。 在釋出release版本時(shí),從Package面版上按選中你的project,按滑鼠右鍵,依次選擇Android Tools、Export Application Package。或者可以點(diǎn)選Manifest Editor,overview 頁面上的“Exporting the unsigned .apk”連線 ,匯出未簽名apk檔案。儲(chǔ)存.apk檔案后,用Jarsigner及自己的金鑰給apk檔案簽名,如果沒有金鑰, 可以用Keystore建立金鑰和密鎖。如果已經(jīng)有一個(gè)金鑰了,如公共金鑰,就可以給.apk檔案簽名了。 也可以把上面這個(gè)完整的步驟寫成一個(gè)bat檔案,這樣需要簽名的時(shí)候只要執(zhí)行這個(gè)bat就可以了。下面給出一個(gè)完整的bat檔案示例: @Rem android簽名程式 注釋指令 @Rem echo是顯示指令 格式:echo [{on|off}] [message] @echo ********************************************************** @Rem 檔案是否存在命令格式:if exist 路徑+檔名 命令 @if exist d:sign/MyFirstApp.keystore goto sign @echo 建立簽名檔案MyFirstApp.keystore @Rem keytool命令格式:-genkey產(chǎn)生簽名 -alias別名 -keyalg加密演算法 -validity有效天數(shù) -keystore生產(chǎn)簽名檔名稱keytool -genkey -alias MyFirstApp.keystore -keyalg RSA -validity 40000 -keystore MyFirstApp.keystore @echo 開始簽名: @Rem jarsigner命令格式:-verbose輸出詳細(xì)資訊 -keystore金鑰庫位置 -signedjar要生成的檔案 要簽名的檔案 金鑰庫檔案 jarsigner -verbose -keystore MyFirstApp.keystore -signedjar MyFirstApp_signed.apk MyFirstApp.apk MyFirstApp.keystore @goto over :sign @echo 開始簽名:jarsigner -verbose -keystore MyFirstApp.keystore -signedjar MyFirstApp_signed.apk MyFirstApp.apk MyFirstApp.keystore :over @echo ********************MyFirstApp.apk 簽名完成*********************** pause 以上是一個(gè)給應(yīng)用簽名的完整bat檔案,在執(zhí)行這個(gè)bat檔案時(shí),還需要按照螢?zāi)惶崾镜牟襟E輸入一些必要資訊,最后生成一個(gè)簽名后的檔案是:MyFirstApp_signed.apk。
上百度搜索APK簽名軟體,一般是開啟軟體選擇要簽名的APK檔案,等到簽名完成后會(huì)生成一個(gè)新的APK檔案,新舊的這兩個(gè)檔案大小必須差別非常小,否則就是簽名不成功導(dǎo)致檔案損壞。
1、準(zhǔn)備工作
apk的簽名工作可以通過兩種方式來完成:
1)通過ADT提供的圖形化介面完成apk簽名;
2)完全通過DOS命令來完成apk簽名
我比較喜歡第2)種方式,所以下面將講解如何通過命令的方式完成apk簽名。
給apk簽名一共要用到3個(gè)工具,或者說3個(gè)命令,分別是:keytool、jarsigner和zipalign,下面是對(duì)這3個(gè)工具的簡單介紹:
1)keytool:生成數(shù)字證書,即金鑰,也就是上面說到的副檔名為.keystore的那類檔案;
2)jarsigner:使用數(shù)字證書給apk檔案簽名;
3)zipalign:對(duì)簽名后的apk進(jìn)行優(yōu)化,提高與Android系統(tǒng)互動(dòng)的效率(Android SDK1.6版本開始包含此工具)
從這3個(gè)工具的作用也可以看出,這3個(gè)工具的使用順序。通常我們自己所開發(fā)的所有應(yīng)用程式,都是使用同樣的簽名,即使用同一個(gè)數(shù)字證書,這就意味著:如果你是第一次做Android應(yīng)用程式簽名,上面的3個(gè)工具都將用到;但如果你已經(jīng)有數(shù)字證書了,以后再給其它apk簽名時(shí),只需要用到j(luò)arsigner和zipalign就可以完成。
為了方便使用上面3個(gè)命令,首先需要將上面3個(gè)工具所在路徑新增到環(huán)境變數(shù)path中(我說的是為了方便使用,沒有說必須要這么做)。怎么配置環(huán)境變數(shù)就不在此講解了,這里需要說一下這3個(gè)工具預(yù)設(shè)所在的路徑:
1)keytool:該工具位于jdk安裝路徑的bin目錄下;
2)jarsigner:該工具位于jdk安裝路徑的bin目錄下;
3)zipalign:該工具位于android-sdk-windows/tools/目錄下
不知道大家是否注意到keytool和jarsigner兩個(gè)工具是jdk自帶的,也就意味著生成數(shù)字證書和檔案簽名不是Android的專利;另外從字面上理解jarsigner也能猜得出該工具主要是用來給jar檔案簽名的。
2、生成未經(jīng)簽名的apk檔案
既然我們要自己對(duì)apk進(jìn)行簽名,就不再需要ADT預(yù)設(shè)幫我們簽名了。如何得到一個(gè)未經(jīng)簽名的apk檔案呢?開啟Eclipse,在Android工程名稱上點(diǎn)選右鍵,依次選擇“Android Tools” - “Export Unsigned Application Package ...”,然后選擇一個(gè)儲(chǔ)存位置儲(chǔ)存即可。這樣就得到了一個(gè)未經(jīng)簽名的apk檔案。
3、使用keytool工具生成數(shù)字證書
keytool -genkey -v -keystore liufeng.keystore -alias liufeng.keystore -keyalg RSA -validity 20000
說明:
1)keytool是工具名稱,-genkey意味著執(zhí)行的是生成數(shù)字證書操作,-v表示將生成證書的詳細(xì)資訊打印出來,顯示在dos視窗中;
2)-keystore liufeng.keystore 表示生成的數(shù)字證書的檔名為“l(fā)iufeng.keystore”;
3)-alias liufeng.keystore 表示證書的別名為“l(fā)iufeng.keystore”,當(dāng)然可以不和上面的檔名一樣;
4)-keyalg RSA 表示生成金鑰檔案所采用的演算法為RSA;
5)-validity 20000 表示該數(shù)字證書的有效期為20000天,意味著20000天之后該證書將失效
MOTO E2安裝moto txt時(shí)提示為未簽名應(yīng)用程式
你好,其實(shí)想閱讀電子書不必這么麻煩,可以先把你想閱讀的電子書在電腦里改字尾為HTML(如:金庸全集.txt改為金庸全集.)就可以了。再把以修改的電子書在手機(jī)里開啟就能閱讀。是以一個(gè)網(wǎng)頁形式開啟的,絕不收費(fèi),請(qǐng)放心使用。并可以 *** 字型的大少。
還有一點(diǎn),E2的瀏覽器是OPERA MINI的,是目前手機(jī)瀏覽器中最好的一個(gè)軟體。只要OPERA MINI中有的功能,也可以用在電子書上,方便實(shí)用,不加重E2負(fù)擔(dān)。。。。。
推薦使用。。。。。。。。
為什么msn不能安裝,提示為由于應(yīng)用程式配置不正確,應(yīng)用程式未能啟動(dòng)。
我裝了 VC2005 還是安裝不了 MSN啊~~剛剛從官網(wǎng)下的 MSN9.0
線上求助?。@@@
我剛剛解決了這個(gè)問題,可能是上一次刪除或者安裝除了錯(cuò)。而你必須用你上次安裝的那個(gè)exe程式重新安裝一次才行
我電腦昨兒重灌的,msn可能損壞了,本來我從官網(wǎng)下載了:Windows Live Messenger 2009獨(dú)立安裝包(官方加強(qiáng)版)
剛才想換成這個(gè),但是就提示出:由于應(yīng)用程式配置不正確,應(yīng)用程式未能啟動(dòng)。
我就嘗試著用自己上次安裝msn的那個(gè)9.0重新安裝,居然能裝上。
我不知道你的問題是不是如此,但是你可以試一下。
網(wǎng)上還有答案是:
把這個(gè)資料夾刪除了就行了C:Program FilesWindows Live
我沒試過,如果我的方法不行,你也不妨嘗試一下哦~
祝你的msn很快就安上哦~
二、到底Android核心應(yīng)用是什么
核心應(yīng)用是系統(tǒng)運(yùn)行的支持軟件,如果意外停止,您可以重啟手機(jī)。
Android應(yīng)用程序沒有唯一的啟動(dòng)入口(如C語言中的main()函數(shù)入口),一個(gè)Android應(yīng)用程序是由多個(gè)不同的組件組合而成,組件之間通過Intent來實(shí)現(xiàn)通信。
Android系統(tǒng)的基本組件包括Activity,Service, BroadcastReceiver和ContentProvider等,此外還包括專門負(fù)責(zé)在基本組件之間傳遞消息的Intent組件。所有組件都必須在AndroidManifest.xml文件中聲明。
一、Activity —— 應(yīng)用表示層( 基類 Activity )
一個(gè)活動(dòng)表示一個(gè)可視化的用戶界面,關(guān)注一個(gè)用戶從事的事件。例如,一個(gè)活動(dòng)可能表示一個(gè)用戶可選擇的菜單項(xiàng)列表,或者可能顯示照片連同它的標(biāo)題。一個(gè)文本短信應(yīng)用程序可能有一個(gè)活動(dòng),顯示聯(lián)系人的名單發(fā)送信息;第二個(gè)活動(dòng),寫信息給選定的聯(lián)系人;其他活動(dòng),重新查看舊信息或更改設(shè)置。雖然他們一起工作形成一個(gè)整體的用戶界面,但是每個(gè)活動(dòng)是獨(dú)立于其他活動(dòng)的。每一個(gè)都是作為Activity基類的一個(gè)子類的實(shí)現(xiàn)。
應(yīng)用程序中的每個(gè)屏幕都是通過繼承和擴(kuò)展基類 Activity 來實(shí)現(xiàn)的。
同一應(yīng)用中的每個(gè) Activity 是相互獨(dú)立的。程序啟動(dòng)后顯示的第一幅畫面是應(yīng)用程序的第一個(gè) Activity (默認(rèn)窗口),而后可以根據(jù)需要從這個(gè) Activity 啟動(dòng)另一個(gè)新的 Activity 。
Activity 利用 View 來實(shí)現(xiàn)應(yīng)用中的 GUI (用戶直接通過 GUI 和應(yīng)用程序做交互)。 Activity 窗口內(nèi)的可見內(nèi)容通過基類 View 提供。使用 Activity.setContentView() 方法設(shè)置當(dāng)前 Activity 中的 View 對(duì)象。
二、Service —— 沒有可見的用戶界面,但能夠長時(shí)間運(yùn)行于后臺(tái)( 基類 Service )
一個(gè)服務(wù)沒有一個(gè)可視化用戶界面,而是在后臺(tái)無期限地運(yùn)行。例如一個(gè)服務(wù)可能是播放背景音樂而用戶做其他一些事情,或者它可能從網(wǎng)絡(luò)擴(kuò)取數(shù)據(jù),或計(jì)算一些東西并提供結(jié)果給需要的活動(dòng)(activities)。每個(gè)服務(wù)都繼承自Service基類。
運(yùn)行于應(yīng)用程序進(jìn)程的主線程中,因此 Service 不會(huì)阻塞其他組件和用戶界面。
Service 是不能自己啟動(dòng)的,必須通過 Context 對(duì)象(如一個(gè) Activity )調(diào)用 startService 或 bindService 方法來啟動(dòng)(用這兩種方法啟動(dòng)的 Service 的生命周期不同)。
三、Broadcast Receiver —— 用戶接收廣播通知的組件( 基類 BroadcastReceiver )
一個(gè)廣播接收者是這樣一個(gè)組件,它不做什么事,僅是接受廣播公告并作出相應(yīng)的反應(yīng)。許多廣播源自于系統(tǒng)代碼,例如公告時(shí)區(qū)的改變、電池電量低、已采取圖片、用戶改變了語言偏好。應(yīng)用程序也可以發(fā)起廣播,例如為了他其他程序知道某些數(shù)據(jù)已經(jīng)下載到設(shè)備且他們可以使用這些數(shù)據(jù)。一個(gè)應(yīng)用程序可以有任意數(shù)量的廣播接收者去反應(yīng)任何它認(rèn)為重要的公告。所有的接受者繼承自BroadcastReceiver基類。
Android 中的廣播要么來自于系統(tǒng),要么來自普通應(yīng)用程序。
很多事件都可能導(dǎo)致系統(tǒng)廣播,如手機(jī)所在時(shí)區(qū)發(fā)生變化,電池電量低,用戶改變系統(tǒng)語言設(shè)置等。
四、Content Provider 為解決應(yīng)用程序間數(shù)據(jù)通信、共享的問題(基類 ContentProvider )
內(nèi)容提供者(content provider)使一個(gè)應(yīng)用程序的指定數(shù)據(jù)集提供給其他應(yīng)用程序。這些數(shù)據(jù)可以存儲(chǔ)在文件系統(tǒng)中、在一個(gè)SQLite數(shù)據(jù)庫、或以任何其他合理的方式。內(nèi)容提供者繼承自ContentProvider 基類并實(shí)現(xiàn)了一個(gè)標(biāo)準(zhǔn)的方法集,使得其他應(yīng)用程序可以檢索和存儲(chǔ)數(shù)據(jù)。然而,應(yīng)用程序并不直接調(diào)用這些方法。相反,替代的是它們使用一個(gè)ContentResolver對(duì)象并調(diào)用它的方法。ContentResolver能與任何內(nèi)容提供者通信,它與提供者合作來管理參與進(jìn)來的進(jìn)程間的通信。
在 Android 中,每個(gè)應(yīng)用程序都是用自己的用戶 ID 并在自己的進(jìn)程中運(yùn)行。這樣的好處是,可以有效地保護(hù)系統(tǒng)及應(yīng)用程序,避免被其他不正常德應(yīng)用程序所影響,每個(gè)進(jìn)程都擁有獨(dú)立的進(jìn)程地址空間和虛擬空間。
一旦需要以上 4 種 Android 應(yīng)用程序基本組件完成請(qǐng)求, Android 會(huì)首先確認(rèn)該組件所在進(jìn)程是否運(yùn)行,如果沒有運(yùn)行, Android 將先啟動(dòng)進(jìn)程,同時(shí)確認(rèn)被請(qǐng)求組件的實(shí)例是否存在,否則將創(chuàng)建一個(gè)新的組件實(shí)例。
五、Intent —— 連接組件的紐帶
以上 4 種基本組件中,除了 Content Provider 是通過 Content Resolver 激活外,其他 3 種組件 Activity 、 Service 和 Broadcast Receiver 都是由 Intent 異步消息激活的。
三、Android與iOS:應(yīng)用程序用戶界面設(shè)計(jì)的差異和比較
移動(dòng)領(lǐng)域的兩大風(fēng)向標(biāo)--Android和iOS,也是移動(dòng)應(yīng)用設(shè)計(jì)時(shí)最大的兩個(gè)競爭對(duì)手。Android與iOS在市場份額、受歡迎程度、使用人口統(tǒng)計(jì)方面數(shù)據(jù)不相上下,在這里,我們對(duì)比了Android和iOS之間的簡單設(shè)計(jì)差異,這將幫助我們弄清一個(gè)與另一個(gè)有何不同。
由于碎片化的原因,安卓系統(tǒng)的應(yīng)用設(shè)計(jì)會(huì)有細(xì)微的差異。
我們先來了解一下Android與iOS UI應(yīng)用設(shè)計(jì)在扁平化設(shè)計(jì)和材質(zhì)設(shè)計(jì)方面的對(duì)比。
人機(jī)界面指南主要基于三個(gè)原則。清晰、尊重和深度。簡單來說,該方法支持極簡主義,使用簡潔的元素,注重排版和扁平化色彩。
簡而言之,Android Material Design被認(rèn)為是Flat設(shè)計(jì)的升級(jí)版,帶有擬態(tài)性(一種流行的設(shè)計(jì)概念,即讓所代表的物品與現(xiàn)實(shí)世界中的對(duì)應(yīng)物相似)。
用Google設(shè)計(jì)副總裁 MatíasDuarte 的話來說,它是–
有了這些基礎(chǔ)知識(shí),讓我們從7個(gè)方面研究兩個(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)卡的名稱,而在右上角則顯示“編輯”或“完成”(控制按鈕)。
說到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)用程序中給出了類似后退的操作,您可以通過該操作進(jìn)入前一個(gè)標(biāo)簽。但是,最常見和最簡單的方法是使用導(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)格來構(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ù)雜。
多年來,蘋果一直是Helvetica Neue字體的粉絲,然而在2015年,蘋果開始使用San Francisco,它更節(jié)省空間,非常適合手機(jī)、臺(tái)式機(jī)和iOS Watch使用。
Android系統(tǒng),一直使用Roboto作為標(biāo)準(zhǔn)系統(tǒng)字體。在可預(yù)見的未來,谷歌也沒有計(jì)劃改變這一深受喜愛的元素。
控件設(shè)計(jì)包含搜索、CTA按鈕、選擇控件和標(biāo)簽等元素。每一個(gè)都滿足了這樣或那樣的目的,讓我們來看看他們的位置。
搜索功能對(duì)于兩個(gè)平臺(tái)來說都非常重要,蘋果最近還在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)在頁面的右上角。
不過也有一些例外,少數(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"來實(shí)現(xiàn)同樣的效果。
卡片是圖片、文字、視頻的集合,還包括按鈕和評(píng)論。
在iOS中,卡片的特點(diǎn)是無陰影、全寬、無圓角。而在安卓系統(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)用看起來不一樣?
品牌和意識(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è)問題的答案是純主觀的。它是基于用戶的個(gè)人偏好。有些人可能會(huì)覺得iOS更實(shí)用,而有些人則在各方面都偏愛Android。
四、Android 手機(jī)應(yīng)用開發(fā)一般采用什么框架?
android應(yīng)用開發(fā)框架是 Application Framework. 其系統(tǒng)架構(gòu)由5部分組成,分別是:Linux
Kernel、Android Runtime、Libraries、Application
Framework、Applications。第二部分將詳細(xì)介紹這5個(gè)部分。下面自底向上分析各層。
Android架構(gòu)
1、Linux Kernel
Android
基于Linux 2.6提供核心系統(tǒng)服務(wù),例如:安全、內(nèi)存管理、進(jìn)程管理、網(wǎng)絡(luò)堆棧、驅(qū)動(dòng)模型。Linux
Kernel也作為硬件和軟件之間的抽象層,它隱藏具體硬件細(xì)節(jié)而為上層提供統(tǒng)一的服務(wù)。
如果你學(xué)過計(jì)算機(jī)網(wǎng)絡(luò)知道OSI/RM,就會(huì)知道分層的好處就是使用下層提供的服務(wù)而為上層提供統(tǒng)一的服務(wù),屏蔽本層及以下層的差異,當(dāng)本層及以下層發(fā)生
了變化不會(huì)影響到上層。也就是說各層各盡其職,各層提供固定的SAP(Service Access Point),專業(yè)點(diǎn)可以說是高內(nèi)聚、低耦合。
如果你只是做應(yīng)用開發(fā),就不需要深入了解Linux Kernel層。
2、Android Runtime
Android
包含一個(gè)核心庫的集合,提供大部分在Java編程語言核心類庫中可用的功能。每一個(gè)Android應(yīng)用程序是Dalvik虛擬機(jī)中的實(shí)例,運(yùn)行在他們自己
的進(jìn)程中。Dalvik虛擬機(jī)設(shè)計(jì)成,在一個(gè)設(shè)備可以高效地運(yùn)行多個(gè)虛擬機(jī)。Dalvik虛擬機(jī)可執(zhí)行文件格式是.dex,dex格式是專為Dalvik
設(shè)計(jì)的一種壓縮格式,適合內(nèi)存和處理器速度有限的系統(tǒng)。
大多數(shù)虛擬機(jī)包括JVM都是基于棧的,而Dalvik虛擬機(jī)則是基于寄存器的。兩種架構(gòu)各有優(yōu)劣,一般而言,基于棧的機(jī)器需要更多指令,而基于寄存器的機(jī)
器指令更大。dx 是一套工具,可以將 Java .class 轉(zhuǎn)換成 .dex
格式。一個(gè)dex文件通常會(huì)有多個(gè).class。由于dex有時(shí)必須進(jìn)行最佳化,會(huì)使文件大小增加1-4倍,以O(shè)DEX結(jié)尾。
Dalvik虛擬機(jī)依賴于Linux 內(nèi)核提供基本功能,如線程和底層內(nèi)存管理。
3、Libraries
Android
包含一個(gè)C/C++庫的集合,供Android系統(tǒng)的各個(gè)組件使用。這些功能通過Android的應(yīng)用程序框架(application
framework)暴露給開發(fā)者。下面列出一些核心庫: 系統(tǒng)C庫--標(biāo)準(zhǔn)C系統(tǒng)庫(libc)的BSD衍生,調(diào)整為基于嵌入式Linux設(shè)備
媒體庫--基于PacketVideo的OpenCORE。這些庫支持播放和錄制許多流行的音頻和視頻格式,以及靜態(tài)圖像文件,包括MPEG4、
H.264、 MP3、 AAC、 AMR、JPG、 PNG 界面管理--管理訪問顯示子系統(tǒng)和無縫組合多個(gè)應(yīng)用程序的二維和三維圖形層
LibWebCore--新式的Web瀏覽器引擎,驅(qū)動(dòng)Android 瀏覽器和內(nèi)嵌的web視圖 SGL--基本的2D圖形引擎
3D庫--基于OpenGL ES 1.0 APIs的實(shí)現(xiàn)。庫使用硬件3D加速或包含高度優(yōu)化的3D軟件光柵 FreeType
--位圖和矢量字體渲染 SQLite --所有應(yīng)用程序都可以使用的強(qiáng)大而輕量級(jí)的關(guān)系數(shù)據(jù)庫引擎
4、Application Framework
通
過提供開放的開發(fā)平臺(tái),Android使開發(fā)者能夠編制極其豐富和新穎的應(yīng)用程序。開發(fā)者可以自由地利用設(shè)備硬件優(yōu)勢(shì)、訪問位置信息、運(yùn)行后臺(tái)服務(wù)、設(shè)置
鬧鐘、向狀態(tài)欄添加通知等等,很多很多。 開發(fā)者可以完全使用核心應(yīng)用程序所使用的框架APIs。應(yīng)用程序的體系結(jié)構(gòu)旨在簡化組件的重用
,任何應(yīng)用程序都能發(fā)布他的功能且任何其他應(yīng)用程序可以使用這些功能(需要服從框架執(zhí)行的安全限制)。這一機(jī)制允許用戶替換組件。
所有的應(yīng)用程序其實(shí)是一組服務(wù)和系統(tǒng),包括:
視圖(View)--豐富的、可擴(kuò)展的視圖集合,可用于構(gòu)建一個(gè)應(yīng)用程序。包括包括列表、網(wǎng)格、文本框、按鈕,甚至是內(nèi)嵌的網(wǎng)頁瀏覽器
內(nèi)容提供者(Content Providers)--使應(yīng)用程序能訪問其他應(yīng)用程序(如通訊錄)的數(shù)據(jù),或共享自己的數(shù)據(jù)
資源管理器(Resource Manager)--提供訪問非代碼資源,如本地化字符串、圖形和布局文件 通知管理器(Notification
Manager)--使所有的應(yīng)用程序能夠在狀態(tài)欄顯示自定義警告 活動(dòng)管理器(Activity
Manager)--管理應(yīng)用程序生命周期,提供通用的導(dǎo)航回退功能
5、Applications
Android裝配一
個(gè)核心應(yīng)用程序集合,包括電子郵件客戶端、SMS程序、日歷、地圖、瀏覽器、聯(lián)系人和其他設(shè)置。所有應(yīng)用程序都是用Java編程語言寫的。更加豐富的應(yīng)用
程序有待我們?nèi)ラ_發(fā)! 從上面我們知道Android的架構(gòu)是分層的,非常清晰,分工很明確。Android本身是一套軟件堆迭(Software
Stack),或稱為「軟件迭層架構(gòu)」,迭層主要分成三層:操作系統(tǒng)、中間件、應(yīng)用程序。從上面我們也看到了開源的力量,一個(gè)個(gè)熟悉的開源軟件在這里貢獻(xiàn)
了自己的一份力量。
以上就是關(guān)于android應(yīng)用相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。
推薦閱讀:
chatGPT有ios版嗎(chaturbate有蘋果客戶端嗎)