導航:首頁 > 操作系統 > android界面提示

android界面提示

發布時間:2022-10-01 08:56:23

android 進入一個頁面的時候系統會自動彈出一個提示框,怎樣判斷當前頁面是否有這個提示框

這個框你一般是不需要去搭理的,如果是類似系統許可權的東東,可以使用回調函數,如果系統給與許可權,即yes,程序進行相應操作;如果系統不給於許可權,即no,程序進行其他操作。具體看你具體的需求了。

Ⅱ Android 從點擊應用圖標到界面顯示的過程

[轉] 一篇文章看明白 Android 從點擊應用圖標到界面顯示的過程 (遵循CC 4.0 BY-SA版權協議)

從點擊桌面應用圖標到應用顯示的過程我們再熟悉不過了,下面我們來分析下這個過程都做了什麼。

本文主要對以下問題分析:

如不了解 Android 是如何從開機到 Launcher 啟動的過程,請先閱讀 Android - 系統啟動過程

我們知道 Android 系統啟動後已經啟動了 Zygote,ServiceManager,SystemServer 等系統進程;ServiceManager 進程中完成了 Binder 初始化;SystemServer 進程中 ActivityManagerService,WindowManagerService,PackageManagerService 等系統服務在 ServiceManager 中已經注冊;最後啟動了 Launcher 桌面應用。

其實 Launcher 本身就是一個應用程序,運行在自己的進程中,我們看到的桌面就是 Launcher 中的一個 Activity。

應用安裝的時候,通過 PackageManagerService 解析 apk 的 AndroidManifest.xml 文件,提取出這個 apk 的信息寫入到 packages.xml 文件中,這些信息包括:許可權、應用包名、icon、apk 的安裝位置、版本、userID 等等。packages.xml 文件位於系統目錄下/data/system/packages.xml。

同時桌面 Launcher 會為安裝過的應用生成不同的應用入口,對應桌面上的應用圖標,下面分析點擊應用圖標的到應用啟動的過程。

點擊 Launcher 中應用圖標將會執行以下方法

在 system_server 進程中的服務端 ActivityManagerService 收到 START_ACTIVITY_TRANSACTION 命令後進行處理,調用 startActivity() 方法。

從 Launcher 點擊圖標,如果應用沒有啟動過,則會 fork 一個新進程。創建新進程的時候,ActivityManagerService 會保存一個 ProcessRecord 信息,Activity 應用程序中的AndroidManifest.xml 配置文件中,我們沒有指定 Application 標簽的 process 屬性,系統就會默認使用 package 的名稱。每一個應用程序都有自己的 uid,因此,這里 uid + process 的組合就可以為每一個應用程序創建一個 ProcessRecord。每次在新建新進程前的時候會先判斷這個 ProcessRecord 是否已存在,如果已經存在就不會新建進程了,這就屬於應用內打開 Activity 的過程了。

進程創建成功切換至 App 進程,進入 app 進程後將 ActivityThread 類載入到新進程,並調用 ActivityThread.main() 方法

此時只創建了應用程序的 ActivityThread 和 ApplicationThread,和開啟了 Handler 消息循環機制,其他的都還未創建, ActivityThread.attach(false) 又會最終到 ActivityMangerService 的 attachApplication,這個工程其實是將本地的 ApplicationThread 傳遞到 ActivityMangerService。然後 ActivityMangerService 就可以通過 ApplicationThread 的代理 ApplicationThreadProxy 來調用應用程序 ApplicationThread.bindApplication,通知應用程序的 ApplicationThread 已和 ActivityMangerService 綁定,可以不藉助其他進程幫助直接通信了。此時 Launcher 的任務也算是完成了。

在 system_server 進程中的服務端 ActivityManagerService 收到 ATTACH_APPLICATION_TRANSACTION 命令後進行處理,調用 attachApplication()。

發送送完 SCHEDULE_LAUNCH_ACTIVITY_TRANSACTION 命令,還會發送 BIND_APPLICATION_TRANSACTION 命令來創建 Application。

在 app 進程中,收到 BIND_APPLICATION_TRANSACTION 命令後調用 ActivityThread.bindApplication()。

ApplicationThreadProxy.bindApplication(…) 會傳來這個應用的一些信息,如ApplicationInfo,Configuration 等,在 ApplicationThread.bindApplication 里會待信息封裝成AppBindData,通過

將信息放到應用里的消息隊列里,通過 Handler 消息機制,在 ActivityThread.handleMeaasge 里處理 H.BIND_APPLICATION 的信息,調用 AplicationThread.handleBindApplication。

Instrumentation:

這時 Application 就創建好了,這點很重要,很多資料里說 Application 是在performLaunchActivity() 里創建的,因為 performLaunchActivity() 也有mInstrumentation.newApplication 這個調用,newApplication() 函數中可看出會先判斷是否以及創建了 Application,如果之前已經創建,就返回已創建的 Application 對象。

上面 fork 進程時會發送 SCHEDULE_LAUNCH_ACTIVITY_TRANSACTION 命令,在 app 進程中,收到 SCHEDULE_LAUNCH_ACTIVITY_TRANSACTION 命令後調用 ApplicationThread.scheleLaunchActivity()。

與 Window 進行關聯,具體過程詳見: Activity,Window,View 之間的關系

Activity 的整體啟動流程如圖所示:

Ⅲ Android客戶端下載溫馨提示:如果自動彈出頁面無法下載客戶端,請手動打開手機

出現該提示是因為手機日期時間不正確或者就是瀏覽器的設置問題。
解決方法:
1、在手機聯網的情況下,依次這樣操作【設置--日期和時間】,開啟自動設定日期和時間、自動設定時區,確定手機時間正確。
2、找到【隱私與安全】,把【顯示安全警告】這一項給關閉掉。
Android客戶端,是為手機為Android系統的用戶准備的客戶端,集閱讀、發布、評論、轉發、私信、關注等主要功能為一體。

Ⅳ android可以在鎖屏界面上顯示消息通知么

安卓手機鎖屏後收不到通知提示/內容的處理方法:
情況1:在鎖屏狀態下終端會自動斷開移動數據/WLAN的網路連接。WLAN設置:進入【設置】-【WLAN】-【高級設置】-【在休眠狀態下保WLAN連接】開關開啟即可。移動數據:進入【設置】-【移動網路】-【始終連接數據】開關開啟即可。
情況2:在鎖屏狀態下能聽到通知聲音,但是鎖屏狀態看不到通知內容,解鎖後可見。可通過設置菜單或自帶管家類的【通知管理】功能,設置具體應用的鎖屏通知許可權。

Ⅳ 關於Android界面組件的基本用法

1.文本框(TextView)和編輯框(EditText)
文本框(TextView)不允許用戶編輯文本內容,而編輯框(EditText)允許用戶編輯文本內容

2.按鈕(Button)和圖片按鈕(ImageButton)
Button顯示文字,ImageButton顯示圖片。
為ImageButton指定android:text屬性沒用,不會顯示文字
可以指定android:background為按鈕增加背景圖片,但這圖片是固定的
可以指定android:src為圖片按鈕增加圖片屬性
其實,src才是設置圖標,而background只是設置背景。
如果控制項的大小是100 100 圖片資源是80 80的話,那麼用src,圖片就會居中顯示,如果使用background那麼圖片就會被拉伸充滿控制項。
重要的是,background是底層的圖片資源,src是覆蓋在background上面的資源,他們可以疊加使用,實現選中的效果。

3.單選按鈕(RadioButton)和復選框(CheckBox)
多了一個android:checked屬性,用於指定初始時是否被選中

4.計時器組件Chronometer用法
紅色字體表示常用的方法

5.圖像視圖(ImageView)
它支持屬性android:scaleType setScaleType(ImageView.ScaleType)

matrix(ImageView.ScaleType.MATRIX):使用matrix方式進行
fixXY(ImageView.ScaleType.FIX_XY):對圖片橫向縱向獨立縮放,會改變縱橫比
fitStart(ImageView.ScaleType.FIT_START):保持縱橫比,圖片較長的邊長與ImageView相應的邊長相等,縮放後放在左上角
fitCenter(ImageView.ScaleType.FIT_CENTER):保持縱橫比,圖片較長的邊長與ImageView相應的邊長相等,縮放後放在中央
fitEnd(ImageView.ScaleType.FIT_END):保持縱橫比,圖片較長的邊長與ImageView相應的邊長相等,縮放後放在右下角
center(ImageView.ScaleType.CENTER):放中間,不縮放
centerCrop(ImageView.ScaleType.CENTER_CROP):保持縱橫比,使圖片能完全覆蓋ImageView
centerInside(ImageView.ScaleType.CENTER_INSIDE):保持縱橫比,使ImageView能完全顯示圖片
6.spinner的功能和用法
如果可以確定spinner裡面的列表項,那麼直接在/res/layout/main.xml裡面指定

然後在/res/value/string.xml裡面指定

如果不確定裡面的列表項,那麼必須要提供一個Adapter,這個Adapter負責決定Spinner列表每項的內容

7.日期、時間選擇器(DatePicker和TimePicker)

8.自動完成文本框(AutoCompleteTextView)
比普通文本框多了一個功能:當用戶輸入一定字元後,自動完成文本框會顯示一個下拉菜單,供用戶從中選擇,當用戶選擇某個菜單後,組件會按用戶選擇自動填寫該文本框
使用該組件很簡單,只要為它設置一個Adapter,該Adapter封裝了AutoCompleteTextView預設的提示文本

9.進度條(ProgressBar)
通過style屬性可以為ProgressBar指定風格。該屬性可以有如下的屬性值:

1.@android:style/Widget.ProgressBar.Horizontal 水平進度條
2.@android:style/Widget.ProgressBar.Inverse 不斷跳躍、旋轉畫面的進度條
3.@android:style/Widget.ProgressBar.Large 大進度條
4.@android:style/Widget.ProgressBar.Large.Inverse不斷跳躍、旋轉畫面的大進度條
5.@android:style/Widget.ProgressBar.Small 小進度條
6.@android:style/Widget.ProgressBar.Small.Inverse不斷跳躍、旋轉畫面的小進度條
ProgressBar提供如下方法來操作進度

1.setProgress(int) 設置進度的完成百分比
2.incrementProgressBy(int) 設置進度條的增加或減少。參數為正增加,參數為負減少

10.選項卡(TabHost)
TabHost僅僅只是一個簡單的容器,它提供如下方法

1.newTabSpec(String tag) 創建選項卡
2.addTab(TabHost.TabSpec tabSpec) 添加選項卡
使用TabHost的一般步驟為:

• A. 在界面中定義TabHost組件,並為該組件定義該選項卡的內容
• B. Activity應該繼承TabActivity
• C. 調用TabActivity的getTabHost()來獲取TabHost對象
• D. 通過TabHost對象的方法來創建選項卡、添加選項卡
選項卡主要由TabHost、TabWidget、FrameLayout3個組件組成,三者缺一不可,想像一下選項卡的特點,多個卡重疊在一起,所以用FrameLayout即幀布局是必要的。另外需要注意的是TabHost、TabWidget、FrameLayout三個組件的android:id必須使用系統默認的名稱,而不能自己隨意定義,否則會出錯。

11.圖像切換器(ImageSwitcher)

12.網格視圖(GridView)
使用GridView一般指定numColumn大於1,否則取默認值為1.那麼GridView就變成了ListView
屬性android:stretchMode支持如下屬性

1.none 不拉伸
2.spacingWidth 僅拉伸元素之間的間距
3.spacingWidthUniform 表格、元素之間的間距一起拉伸
4.columnWidth 僅拉伸表格
13.畫廊視圖(Gallery)(現在已經被棄用了,不過還是列出來吧)
Gallery用法很簡單——為它提供一個內容Adapter,該Adapter的getView方法所返回的View可作為Gallery的列表項。可以通過OnItemSelectedListener監聽選擇項的改變

14.列表試圖(ListView和ListActivity)
1.創建ListView由兩種方式:

2.直接使用ListView進行創建
讓Activity繼承ListActivity(繼承了ListActivity的類無需調用setContentView()來顯示頁面,可以直接設置適配器)
一旦獲得ListView後,就要創建顯示的列表項了。需要藉助內容Adapter,內容Adapter負責提供需要顯示的列表項

創建ArrayAdapter時必須指定一個textViewResourceId,該參數決定每個列表項的外觀

1.simple_list_item_1 每個列表項是普通的TextView
2.simple_list_item_2 每個列表項是普通的TextView(字體略大)
3.simple_list_item_checked 每個列表項是已勾選的列表項
4.simple_list_item_multiple_choice 每個列表項是帶多選框的文本
5.simple_list_item_single_choice 每個列表項是帶多單選按鈕的文本
15.使用AlertDialog
1.創建AlertDialog.Builder對象,該對象是AlertDialog的創建器
2.調用AlertDialog.Builder方法為對話框設置圖標、標題等
3.調用AlertDialog.Builder的create()方法創建AlertDialog對話框
4.調用AlertDialog的show()方法顯示對話框

16.使用Toast顯示提示框
步驟如下:

• 調用Toast構造器或makeText方法創建Toast對象
• 調用Toast方法來設置該消息的對齊方式等
• 調用Toast的show()方法顯示出來
• Toast toast = Toast.makeText(ToastTest.this, "信息", Toast.LENGTH_LONG).show();

17.Notification(一般顯示網路狀態、電池狀態、時間等)
使用Notification發送Notification步驟:

• 調用getSystemService(NOTIFICATION_SERVICE)方法獲取系統的Notification Manager服務
• 通過構造器創建一個Notification對象
• 為Notification設置屬性
• 通過Notification Manager發送Notification

Ⅵ 華為手機恢復出廠設置後開機一直停留在android這個界面,怎麼辦

解決方案:
請先等待20分鍾以上看是否可以進入系統,升完級後開機,系統會進行初始化,並且如果升級前安裝的應用過多,可能導致開機需要的時間比較久。
如果等待結束仍無法進入系統,請嘗試如下方法:
1、長按電源鍵,手機強制重啟後重試。
(以下2和3操作均會清除手機的所有數據,請您謹慎操作)
2、長按音量上鍵+電源鍵檢查是否能進入Recovery模式,如果可以,選擇恢復出廠設置格式化用戶空間進行修復。
3、通過華為手機助手修復或通過 eRecovery 恢復手機系統版本。
如果以上方法均無法解決,請到附近的華為客戶服務中心檢修,具體價格要以華為客戶服務中心的最終檢測的結果為准。
華為客戶服務中心地址信息查詢方法如下:
1、 通過手機自帶會員服務APP裡面的「服務--服務網點」頁面,可以幫查詢到最近的服務中心;
2、也可以在華為商城官網頁面最下方有售後網點查詢地址入口;
3、微信中關注「華為終端客戶服務」公眾號,在「服務支持」中點擊「服務中心查詢」也可以查詢。
註:如果您之前沒有備份數據,維修過程中手機數據可能會丟失。

Ⅶ Android 頁面關閉時,彈出提示框。我怎麼獲取他點的是確定還是取消

AlertDialog alert = new AlertDialog.Builder(XXX.this).setTitle("提示")
.setMessage("確定要退出么?")
.setPositiveButton("確定",new DialogInterface.OnClickListener() {//設置確定按鈕
@Override//處理確定按鈕點擊事件
public void onClick(DialogInterface dialog, int which) {
finish();
}
})
.setNegativeButton("取消",newDialogInterface.OnClickListener() {//設置取消按鈕
@Override//取消按鈕點擊事件
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();//對話框關閉。
}
}).create();
alert.show();

Ⅷ android中如何在界面右下角彈出類似QQ的提示消息

我覺得應該是fragment實現的~~fragment就相當於在該Activity中再嵌套一個小型Activity,可以做到Activity可以做到的所有事~~可以去網路fragment怎麼用的。
不過提醒下,fragment是3.0以後才自帶的,3.0之前要用的話得引入support包~~

Ⅸ 我用eclipse開發android程序時,寫界面文件時發現自動提示不全,很多都沒有。比如 android:="@+id/"

很有可能是你的xml打開的視圖不對。

右鍵你的xml文件,選擇從上到下第三個openwith,選擇AndroidlayoutEditor,然後你再試試。

Ⅹ android 引導頁提示框界面怎麼做

用彈出窗口PopupWindow,裡面放你的控制項,還有設置自定義的背景,把不用的部分做成透明的

閱讀全文

與android界面提示相關的資料

熱點內容
vfl90壓縮機是哪個廠家 瀏覽:676
安卓系統游戲怎麼開發 瀏覽:410
抖助力app綁定的銀行卡怎麼辦 瀏覽:466
我的電腦文件夾打開方式 瀏覽:931
東莞加密u盤公司 瀏覽:137
graphvizlinux 瀏覽:438
智能手錶藍牙怎麼下載app 瀏覽:293
女程序員下班菜譜 瀏覽:260
加密貨幣買什麼比較靠譜 瀏覽:277
用圖片的地圖再編譯的地方 瀏覽:462
python監控系統進程 瀏覽:236
群暉怎麼取消照片共享文件夾 瀏覽:156
程序員那麼可愛第幾集陸璃懷孕 瀏覽:615
西門子st編程手冊 瀏覽:59
mt4編程書籍 瀏覽:21
單片機模擬實驗設置電壓 瀏覽:948
如何用電腦打開安卓手機內存 瀏覽:860
java數據訪問層 瀏覽:181
代碼優化是編譯程序的必要階段 瀏覽:623
程序員那麼可愛孩子還在嗎 瀏覽:513