當前位置:首頁 » 安卓系統 » android程序流程圖

android程序流程圖

發布時間: 2022-05-19 20:33:05

❶ 進行Android開發的時候沒有測試機適配怎麼辦,如何進行屏幕適配

Android項目的res目錄下一般加上我們自己創建的,會有6個目錄,分別是:drawble drawble-ldpi drawble-mdpi drawble-hdpi drawble-xhdpi drawble-xxhdpi, 這里就不包括更為特殊的drawble目錄了,(比如drawlbe-land-hdpi, 表示水平方向的高解析度的圖片,這些都目錄不管多麼長,它們都是按一丁點規律匹配的, 我們的目的是, 從個別中發現規律,從而應用到整體)。
當一個apk運行起來時,Android系統會根據其所運行的手機的屏幕密度去相對應的圖片文件夾里找指定名稱的圖片。 注意, 先去哪個目錄里找,完全是根據這個手機的屏幕密度決定的。

其中注意兩點:
1, 中等解析度,即mdpi的屏幕密度是160,他是標準的參考密度。所以計算比例的時候它的比例值是1. 其他屏幕密度的參考比例都是以這個為依據。
2, 默認的drawble目錄(一般是自己建的),和mdpi是一樣的。將圖片放到這個目錄和放到drawble-mdpi目錄是一樣的效果。不過一般習慣性的放一些自定義selector或者點9的圖片在這里。
現在我們來看, HTC one V手機的屏幕密度是252ppi, 那距離哪一個最靠近呢, 就是hdpi了。 所以當apk運行在這個手機上時,首先會去這個目錄找圖片。
下面是用常見的一些類型的手機總結的一個表格:

注意一點: 上面說的對應關系,都是首選目錄, 那如果首選目錄裡面找不到圖片呢?

Android圖片選擇策略
上面說到, 如果屏幕所對應的文件夾沒有要找的圖片,怎麼辦。這是很常見的,我們開發項目時一般不會去為每一個級別的屏幕去切一套圖片。那樣做只會讓apk很大。所以一般性的圖片我們只切一兩個典型密度屏幕的圖片。但是apk是有可能會運行在從ldpi到xxhdpi的各種級別的手機上。這個時候就需要根據一定的策略去尋找圖片了。
Android系統尋找圖片的步驟是這樣的:
1, 去屏幕密度對應的目錄去找。如果找到就拿來用。
2, 如果沒找到,就去比這個密度高一級的目錄裡面去找,如果找到就拿來用。
3, 如果沒找到就繼續往上找。以此類推。
4, 如果到了xxhdpi目錄還沒有找到的話,就會去比自身屏幕密度低一級的目錄去找,如果低一級的目錄>=hdpi,找到了就拿來用。
5, 如果沒找到, 就去mdpi目錄去找, 如果找到了,就拿來用。
6, 如果沒找到,就去默認的drawble目錄里去找, 如果找到了就拿來用。
7 ,如果沒找到,再去最低的ldpi目錄里去找。如果找到了,就拿來用。
8, 如果沒找到, 那就是沒找到了, 圖片無法顯示。(不過一般不會出現這種現象,因為如果每個目錄都沒有這個圖片的話,你是編譯不過的)
這里有兩點需要注意:
① 首先會去比自己密度高的目錄里去找,這是因為因為系統相信,你在密度更高的目錄里會放置解析度更大的圖片,這樣的話這個圖片會被縮小,但同時顯示效果不會有損失,但是如果優先去低一級別的目錄去找的話, 找到的圖片就會被放大,這樣的話這個圖片就會被拉扯模糊了。
e.g. 同一張圖片,你在mdpi和xxhdpi目錄各放了一份, 這個應用你現在運行在hdpi的手機上, 那應用會選擇哪張圖片呢。答案是xxhdpi目錄里的。即便hdpi離mdpi更近一點!
②,如果在mdpi里找不到是不會直接去ldpi里找的, 而是先去默認的drawble目錄里找,這是drawble目錄和drawble-mdpi是一個級別的。
下面用一張流程圖來總結:

(註: 以上流程圖是我通過做實驗總結出來的,如有謬誤還望指出。)

Android系統對圖片的縮放規則

上文中提到如果在手機對應的目錄沒有找到圖片,就會按照一定的策略去其他目錄找,那找到了以後就原圖顯示么? 非也。
對於放在不同目錄下的圖片, 系統會按照一定比例對原始的圖片進行放大或者縮小, 具體的放大縮小比例可參考下表, 圖片所在目錄和對應的屏幕密度是相同時圖片縮放比例為1,也就是原圖顯示,而橫向的比例表示分別放在該密度手機上運行時圖片被縮放的比例。
對原始圖片的縮放倍數。

上表幾點值得注意的地方:
①, drawable目錄和drawable-mdpi目錄和dp到px的轉換關系是一樣的。
②,當你放一個120px*180px的圖片到drawable-hdpi目錄,如果此應用運行在一個xhdpi的手機上,則這個圖片會被拉扯到160px*240px。
③, 最後一行dp->px, 說明了在代碼或者布局文件中聲明一個dp值, 這個值在不同屏幕密度的手機中會被乘以不同的倍數。 比如你在布局文件中寫了一個寬和高分別為120dp和180dp的LinearLayout, 那麼當這個應用運行在xhdpi的手機上時(比如上面那個常見手機表中的中興U985手機),它的實際像素就會被轉換為240px*360px。 如果運行在ldpi的手機上,就變成了90px*135px。 但是在這兩個手機中顯示的區域大小從肉眼看,是一模一樣大的。(這點作為後面內容的一個引子,「看起來」一樣大,這就是Android的一個神奇的地方)

我們來做個試驗
試驗材料:
① 一張120px*180px的圖片

② 四部手機, 具體參數參考上面的一張表格。三星 Galaxy win pro 3218 (hdpi)、 HTC one V (hdpi)、 中興U985 (xhdpi)、Google Nexus 7 (xhdpi)。
③ 我在布局文件里聲明了3個View, 第一個位於左上角,是一個線性布局,寬和高指定為120dp*180dp(注意是dp哦), 第二個位於右上角,是一個ImageView,內容就是上面這張120px*180px的圖片, 第三個位於左下角也是一個線性布局,固定寬高,是120px*180px。
我將這個圖片放到一個Android工程里的drawable-hdpi目錄

從上面的那種縮放關系表中我們可以知道,圖片從hdpi目錄中取, 運行在hdpi手機上寬高保持原始值,,運行在xhdpi手機上,寬高會乘以4/3, 也就是說圖片會被拉扯變大, 但是圖片的實際顯示效果,即「視覺大小」怎麼樣呢。
下面是運行後的效果:

如圖: 黑色區域是120dp*180dp的View, 藍色區域是120px*180px的圖片, 灰色區域是120px*120px的View。
1, 可以看到使用dp的View(黑色區域)在不同解析度,不同屏幕尺寸,不同屏幕密度的手機下,視覺大小看起來是一模一樣的。
但是他們的實際像素值是不一樣的: 120dp*180dp -> (hdpi) -> 180px*270px, 而120dp*180dp ->(xhdpi)-> 240px*360px。 由於屏幕密度的不同,縮放以後的像素可以顯示出一樣的視覺大小。
2, 藍色圖片的視覺大小也是一樣的, 由於圖片放到了hdpi目錄下, 所以前兩個手使用的是圖片的原始像素120px*180px, 而後兩個手機對圖片進行了放大, 參考上面的屏幕密度縮放關系表, 放大了4/3倍。 我通過對屏幕的截圖,測量下來的結果的確是放大了這么多, 分別為160px*240px。 由於屏幕密度的不同,它們顯示出來的視覺大小是相同的。
3, 但是使用固定像素值的View就沒那麼幸運了, 它在hdpi的手機上看起來要比在xhdpi的手機上大一些。 要是在屏幕密度相差更大的手機上看的話, 這個區域的大小會相差很大。 這就是為什麼Android推薦使用dp作為View的尺寸,而不是真實像素的原因了。
4, 經過反復試驗,(實驗結果就不貼圖了,很多),得出一個結論,使用哪個目錄下的圖片(前提是圖片只放在某一個目錄中),在所有,不管是解析度還是屏幕尺寸還是屏幕密度,3個參數都在改變的情況下,圖片顯示的視覺大小都和運行在這個目錄對應屏幕密度手機上時的大小是一樣的。

UI給工程師切多大圖是合適的。

說說我之前走的冤枉路吧。
在之前, 設計師的交互和視覺設計都是基於480*800的界面, 切圖的時候會以480*800為基礎切一版, 然後在給所切圖片的寬和高乘上個4/3,然後在出一版。
比如同一個120*180的圖片, 就會出兩個版本, 一個是120*180的一個是160*240的。分別放到hdpi目錄和xhdpi目錄。
吃到的苦頭是,UI很累, apk很大。T^T
這番探究下來, 發現直接基於720*1280的視覺稿切一版圖片就可以了。 將圖片只放到xhdpi目錄中,這樣系統會在不同密度屏幕的手機中對圖片進行合理的縮放, 而之前這個縮放工作竟然是人工完成的!
另: 如果想在xxhdpi的手機上顯示的很好, 也可以基於1080P的屏幕設計, 這樣的話就兼容所有低密度屏幕的手機, 而且也不會出現圖片被拉扯的現象。

❷ 如何根據android代碼生成出流程圖

你應該是沒有點一下,注冊機先注冊,然後再應用注冊機生成響應碼,運用注冊機前點一下這個文件disable_activation.cmd

❸ 開發一個APP的詳細流程有什麼

開發一個APP的詳細流程有什麼

按照時間規定,我們分為以下七個階段:

1、溝通階段

仔細做軟體致---電---幺伍扒---幺幺叄叄---駟柒駟駟進行用戶訪談、需求分析、需求評審。企業的想要做什麼樣的APP,APP想要實現什麼樣子的功能,APP整體想要什麼樣的風格,APP想要適配哪個系統平台,進行系統化的交流與整理之後,交給技術團隊去實現的。

4.視覺創意階段

其中包含:編碼規范、頁面製作和技術嵌套、系統兼容、單元測試、修復BUG。之後可以用頭腦風暴的形式,確立初步的創意方向與定位。接下來將會為用戶提供創意表現、頁面分格、創意說明等等內容。

5.技術開發階段

進入開發階段時,對項目本身進行評估,對研發周期、提測時間、預發布時間點進行初步的判斷。然後才是對功能進行分解,進行開發准備,按照編碼—系統集成—系統測試—BUG修復—交付的流程進行。

6、驗收階段

程序開發完成之後,要等待專業測試人員進行測試,測試內容包括APP性能、功能、內容等。如果測試無BUG,那麼就可以驗收了。

7、運營階段

上線之後,APP即可進行運營。在運營期間,要進行推廣與數據分析,即對數據報告與數據跟蹤,為後期維護做好准備。

❹ android 開發要畫流程圖嗎

一般是由公司的美工或者設計人員出UI界面設計,作為Android開發人員只需要根據美工的界面設計和切圖,編寫代碼將效果做出來就可以了,不需要畫流程圖的。

❺ 如何查看android軟體的行為

引言

在一個家庭中,老、幼兩類群體的安全是家庭成員比較擔心的,老人外出購物走丟,初中生上課期間去網吧等事件頻繁發生。針對此類安全問題,本文基於Android設計出位置實時監控系統。由於在Android系統手機上開發,可提高便捷性和普及程度,降低成本。

1 系統總體設計

本系統在整體上可以分成兩大部分,即被監控端和監控端。被監控端和監控端都是在基於Android操作系統的智能手機上開發實現。該系統內數據傳輸可採用WiFi、GPRS或者3G網路等通信模式,定位採用的GPS衛星定位的方式。然後利用位置分析資料庫進行位置數據分析,在手機上載入電子地圖,直觀地顯示被監控端的位置(若出現在非正常區域則進行提醒監控端)。系統總體的結構圖如圖1所示。

3.3 程序實現

一是接收發送過來的經緯度信息。本設計為直觀顯示經緯度信息,在載入地圖的同時,顯示在「簡訊內容:」部分。其接收功能實現代碼如下:

/**
* 監聽收到的簡訊
*/
private final class SmsObserver extends ContentObserver {
public SmsObserver(Handler handler) {
super(handler);
}
public void onChange(boolean selfChange) {
ContentResolver resolver = getContentResolver();
//查到發出的簡訊
Uri uri = Uri.parse("content://sms/inbox");
Cursor cursor = resolver.query(uri, new String[] { "address", "body" }, null, null, "_id desc limit 1");
if (cursor.moveToNext()) {
String address = cursor.getString(0);
if (address.equals("此處為被監控對象的手機號碼")) {
String body = cursor.getString(1);
smsContent.setText(body);
SearchButtonProcess(body);
}
}
}

二是實現電子地圖上的位置顯示。僅僅有經緯度信息,監控者無法直觀地了解被監控對象的方位。所以在監控端軟體上,載入網路地圖實現被監控對象的實時監控,運行結果如圖8所示。其實現代碼如下:

/**
* 對收到的地點發起搜索並顯示在地圖上
*
* @param v
*/
private void SearchButtonProcess(String smsContent) {
try {
// 逗號分隔過濾得到經緯度字元串
String[] point = smsContent.split(",");
// 獲取到的字元串需要轉化成long,然後long值需要乘1e6後轉化為int
String latitudeStr = point[0];
String longitudeStr = point[1];
GeoPoint ptCenter = new GeoPoint((int)(Float.valueOf(latitudeStr)*1e6),
(int)(Float.valueOf(longitudeStr)*1e6));
// 反Geo搜索
mSearch.reverseGeocode(ptCenter);
} catch (Throwable e) {
Toast.makeText(MainActivity.this, "SearchButtonProcess Error", Toast.LENGTH_LONG).show();
}

4 系統測試結果

如果被監控端和監控端都採用Android手機平台,可以充分利用Android提供的豐富的介面,使系統具有更好的擴展性和實用性。該系統進一步改進還可以實現拍照、截圖、標注和查看軌跡等功能。

5 結束語

該系統結構簡單、功能明確,軟體界面方便美觀,設計完成後該系統在自己家庭中進行試用。經過實際生活中的運用證明,該系統可對家中的老人或者孩子進行位置的實時監控,並根據其位置信息家庭成員可以判斷是否正常,及時打電話確保安全。此外在本系統的設計基礎上,添加LED的顯示模塊也可以應用到城市公交當中去,為乘客向導系統(PIS,Passenger Information System)的建立提供了一些方法和思路。還可以通過司機的Android操作系統手機,實現遠程運輸車輛的全程監控,極大地降低成本。

❻ 設計並開發出一個完整的android app 需要掌握哪些知識

你這個問題有些籠統,一個完整的app有簡單有復雜,不同的app應用功能的差異也導致不同的技術實現或者演算法模型。大體來說,一個app從設計到最終實現需要你懂得以下幾個必要方面:
1、前期需求規劃與信息、交互設計——你需要制定出一個完整的需求文檔,功能文檔,流程圖,時序圖。

2、交互設計、UI設計——設計出基本且完善的原型圖和app基礎的交互設計效果,之後再根據這些設計出完整的UI界面並學會切圖,一些需要做自適應的素材圖片需要做點9patch。 這里還需要你懂得px,pt和dp之間的換算,屏幕密度的換算和相互之間的系數,以便你的app能完美適應不同解析度設備。其中交互設計需要你懂得很多人機操作的技巧經驗,掌握Axure等交互工具的使用,UI設計需要你掌握Photoshop和Illustrator等操作。

3、使用ADT之類的開發環境進行app開發,你最基本的也得掌握java語言,熟悉android環境和機制,這裡面涉及面廣,請根據項目自行學習相關知識。

4、如果不是單機版的app,需要用到伺服器,那你還得掌握WebService相關知識和開發語言,常用的有ASP.Net,PHP,JSP等。

5、熟悉並能開發資料庫。

6、某些功能需要做演算法,這還需要一定得專業知識,尤其是數學基礎。

7、熟悉API介面開發,這里包括你自行開發API的能力以及調用第三方API的經驗。

8、熟悉TCP/IP,socket等網路協議和相關知識。

9、熟練掌握App發布的流程,真機調試技巧,證書,打包,上架。

App開發其實不一定適合一個人搞,太費勁,除非是一個單機版的小應用,或者利用現成的api開發簡單的第三方應用,否則還是讓一個團隊來完成各自擅長的領域。

❼ 求android UA 程序流程圖,函數之間的調用關系,盡量條理一些

MMS中UA用過,一般也就只是定製一下。

❽ android 原生怎麼實現流程圖的繪制

自View實現的,當然也包括我們後面一步一步引出的自定義控制項也不例外,所以說這些View應該都具有相同的繪制流程與機制才能顯示到屏幕上(因為他們都具備相同的父類View,可能每個控制項的具體繪制邏輯有差異,但是主流程都是一樣的)。經過總結發現每一個View的繪制過程都必須經歷三個最主要的過程,也就是measure、layout和draw。
既然一個View的繪制主要流程是這三步,那一定有一個開始地方呀,就像一個類從main函數執行一樣呀。對於View的繪制開始調運地方這里先給出結論,本文後面會反過來分析原因的,先往下看就行。具體結論如下:
整個View樹的繪圖流程是在ViewRootImpl類的performTraversals()方法(這個方法巨長)開始的,該函數做的執行過程主要是根據之前設置的狀態,判斷是否重新計算視圖大小(measure)、是否重新放置視圖的位置(layout)、以及是否重繪 (draw),

❾ Android開發門禁系統流程圖和源碼

這個肯定沒有

❿ 在做安卓軟體開發的時候常常會需要先做出流程圖出來,請問下大家,下圖的效果是用什麼軟體做的

你好,一把安卓軟體的開發都是比較困難的!要會編程
然後你可以在應用寶裡面下載下載這個開發的教程,比較有幫助
應用寶裡面的資源很多,除了有大量的APP應用可以免費下載
還有很多軟體開發的教程和攻略呢,都是很不錯的,免費下載呢
在手機上打開應用寶軟體搜索你所需要的教程,找到下載就可以了。
也可以通過手機連接電腦端的應用寶軟體來下載的,打開PC端的應用寶軟體——手機應用。
可以通過搜索你所需要的游戲教程進行下載呢,都是很方便的。還望採納

熱點內容
聯通的設置的初始密碼是多少 發布:2025-08-20 23:33:48 瀏覽:736
vc6編譯操作 發布:2025-08-20 23:16:14 瀏覽:869
時統伺服器搭建 發布:2025-08-20 23:15:58 瀏覽:907
c語言單字元 發布:2025-08-20 23:15:12 瀏覽:70
outlook發送伺服器地址在哪裡 發布:2025-08-20 23:06:13 瀏覽:1000
c語言培訓心得 發布:2025-08-20 23:02:20 瀏覽:46
如何打開raw伺服器鏡像 發布:2025-08-20 22:48:13 瀏覽:76
1分鍾造解壓神器 發布:2025-08-20 22:46:28 瀏覽:378
雲伺服器搭建spark 發布:2025-08-20 22:41:19 瀏覽:36
好用免費雲伺服器 發布:2025-08-20 22:16:44 瀏覽:609