當前位置:首頁 » 安卓系統 » 安卓的活動是在哪個文件中注冊的

安卓的活動是在哪個文件中注冊的

發布時間: 2025-05-23 10:10:48

安卓軟體幾個部分組成

(抱歉,這是我在其它地方粘貼的。頂一下吧)一般來說Android 程序主要由下列四個部分組成,分別是:活動(Activity) - 用於表現功能服務(Service) - 相當於後台運行的Activity廣播接收器(BroadcastReceiver) - 用於接收廣播意圖(Intent)- 用於連接以上各個組件,並在其間傳遞消息
1 Activity 介紹
Android 中,Activity 是所有程序的根本,所有程序的流程都運行在Activity 之中,Activity可以算是開發者遇到的最頻繁,也是Android 當中最基本的模塊之一。在Android的程序當中,Activity 一般代表手機屏幕的一屏。如果把手機比作一個瀏覽器,那麼Acitivity就相當於一個網頁。在Activity 當中可以添加一些Button、Check box 等控制項。可以看到Activity 的概念和網頁的概念相當類似。 一般一個Android 應用是由多個Activity 組成的。這多個Activity 之間可以進行相互跳轉,例如,按下一個Button 按鈕後,可能會跳轉到其他的Activity。和網頁跳轉稍微有些不一樣的是,Activity 之間的跳轉有可能返回值,例如,從Activity A 跳轉到Activity B,那麼當Activity B 運行結束的時候,有可能會給Activity A 一個返回值。這樣做在很多時候是相當方便的。 當打開一個新的屏幕時,之前一個屏幕會被置為暫停狀態,並且壓入歷史堆棧中。用戶可以通過回退操作返回到以前打開過的屏幕。我們可以選擇性的移除一些沒有必要保留的屏幕,因為Android 會把每個應用的開始到當前的每一個屏幕保存在堆棧中。Activity 是由Android 系統進行維護的,它也有自己的生命周期,即它的一個產生、運行、銷毀的一個周期,對於Activity,關鍵是其生命周期的把握,其次就是狀態的保存和恢復(onSaveInstanceState onRestoreInstanceState),以及Activity 之間的跳轉和數據傳輸(intent)。
2 Service 介紹
Service 是android 系統中的一種組件,它跟Activity 的級別差不多,但是他不能自己運行,只能後台運行,並且可以和其他組件進行交互。Service 是沒有界面的長生命周期的代碼。Service 是一種程序,它可以運行很長的時間,但是它卻沒有用戶界面。這么說有點枯燥,我們來看個例子。打開一個音樂播放器的程序,這個時候若想上網了,那麼,我們打開Android 的瀏覽器,這個時候雖然我們已經進入了瀏覽器這個程序,但是,歌曲的播放並沒有停止,而是在後台繼續一首接著一首的播放。其實這個播放就是由播放音樂的Service進行控制。當然這個播放音樂的Service也可以停止,例如,當播放列表裡邊的歌曲都結束,或者用戶按下了停止音樂播放的快捷鍵等。service 可以在和多場合的應用中使用,比如播放多媒體的時候用戶啟動了其他Activity這個時候程序要在後台繼續播放,比如檢測SD 卡上文件的變化,再或者在後台記錄你地理信息位置的改變等等,總之服務嘛,總是藏在後頭的。
3 BroadcastReceiver 介紹
在Android 中,Broadcast 是一種廣泛運用的在應用程序之間傳輸信息的機制。而BroadcastReceiver 是對發送出來的Broadcast進行過濾接受並響應的一類組件。可以使用BroadcastReceiver 讓應用對一個外部的事件做出響應。這是非常有意思的,例如,當電話呼入這個外部事件到來的時候,可以利用BroadcastReceiver 進行處理。例如,當下載一個程序成功完成的時候,仍然可以利用BroadcastReceiver 進行處理。BroadcastReceiver不能生成UI,也就是說對於用戶來說不是透明的,用戶是看不到的。BroadcastReceiver通過NotificationManager 來通知用戶這些事情發生了。BroadcastReceiver 既可以在AndroidManifest.xml 中注冊,也可以在運行時的代碼中使用Context.registerReceiver()進行注冊。只要是注冊了,當事件來臨的時候,即使程序沒有啟動,系統也在需要的時候啟動程序。各種應用還可以通過使用Context.sendBroadcast () 將它們自己的intent broadcasts廣播給其他應用程序。注冊BroadcastReceiver有兩種方式:
4 Intent 介紹
Intent 是一個將要執行的動作的抽象的描述,一般來說是作為參數來使用,由Intent來協助完成android 各個組件之間的通訊。Intent 負責對應用中一次操作的動作、動作涉及數據、附加數據進行描述,Android 則根據此Intent 的描述,負責找到對應的組件,將Intent 傳遞給調用的組件,並完成組件的調用。因此,Intent 在這里起著一個媒體中介的作用,專門提供組件互相調用的相關信息,實現調用者與被調用者之間的解耦。例如,在一個聯系人維護的應用中,當我們在一個聯系人列表屏幕(假設對應的Activity 為listActivity)上,點擊某個聯系人後,希望能夠跳出此聯系人的詳細信息屏幕(假設對應的Activity為detailActivity)。為了實現這個目的,listActivity需要構造一個Intent,這個Intent 用於告訴系統,我們要做"查看"動作,此動作對應的查看對象是"某聯系人",然後調用startActivity(Intent intent),將構造的Intent 傳入,系統會根據此Intent 中的描述,到ManiFest中找到滿足此Intent 要求的Activity,系統會調用找到的Activity,即為detailActivity,最終傳入Intent,detailActivity 則會根據此Intent中的描述,執行相應的操作。Intent 主要是用來啟動其他的activity 或者service,所以可以將intent 理解成activity 之間的粘合劑。Intent具體有一下3 種形式: 通過startActivity 方法來啟動一個新的Activity; 通過broadcast Intent 機制可以將一個Intent 發送給任何對這個Intent 感興趣的BroadcastReceiver; 通過startService (Intent) 或bindService(Intent,ServiceConnection,int) 來和後台的Service 進行交互。

㈡ 安卓開發 用戶注冊如何實現

1、在Eclipse中創建Android項目實現用戶注冊界面。並在單擊"提交"按鈕時,啟動另一個Activity顯示成寫的注冊信息。

2、修改新建項目的resayou.目錄下的布局文件.xml.在默認添加的垂直線性布局管理器中,添加用於用戶注冊信息的文本框和編輯框以及一個"提交"按鈕。

3、打開默認創建的主活動MainActivity.在onCreate()方法中,獲取「提交」按鈕,並為其添加單擊事件監聽器。

4、重寫的onClick()方法。首先獲取翰入的用戶名、密碼、確認密碼和E-mail地址,並保存到相應的變數中;然後判斷翰入信息是否為空,如果為空給出提示框,否則判斷兩次愉入的密碼是否一致,如果不一致,將給出提示信息,並清空「密碼,和」確認密碼「編輯框。讓」密碼「編輯框獲得焦點。否則,將錄入的信息保存到Bundle中。並啟動一個新的Activity顯示愉入的用戶注冊信息。

java">Buttonsubmit=(Button)findViewById(R.id.submit);//獲取「提交」按鈕
submit.setOnClickListener(newView.OnClickListener(){
@Override
publicvoidonClick(Viewv){
Stringuser=((EditText)findViewById(R.id.user)).getText().toString();//獲取輸入的用戶名
Stringpass=((EditText)findViewById(R.id.pass)).getText().toString();//獲取輸入的密碼
Stringrepass=((EditText)findViewById(R.id.repass)).getText().toString();//獲取輸入的確認密碼
Stringemail=((EditText)findViewById(R.id.email)).getText().toString();//獲取輸入的郵箱

if(!"".equals(user)&&!"".equals(pass)&&!"".equals(email)){
//判斷兩次輸入的密碼是否一致
if(!pass.equals(repass)){
Toast.makeText(MainActivity.this,"兩次輸入的密碼不一致,請重新輸入!",Toast.LENGTH_LONG).show();
((EditText)findViewById(R.id.pass)).setText("");//清空「密碼」編輯框
((EditText)findViewById(R.id.repass)).setText("");//清空「確認密碼」編輯框
((EditText)findViewById(R.id.pass)).requestFocus();//讓「密碼」編輯框獲得焦點
}else{
//將收入與的信息保存到Bundle中,並啟動一個新的Activitiy顯示輸入的用戶注冊信息
Intentintent=newIntent(MainActivity.this,RegisterActivity.class);
Bundlebundle=newBundle();//創建並實例化一個Bundle對象
bundle.putCharSequence("user",user);//保存用戶名
bundle.putCharSequence("pass",pass);//保存密碼
bundle.putCharSequence("email",email);//保存郵箱名
intent.putExtras(bundle);//將Bundle對象添加到Intent對象中
startActivity(intent);//啟動新的Activity
}
}else{
Toast.makeText(MainActivity.this,"請將注冊信息輸入完整!",Toast.LENGTH_LONG).show();
}
}
});

㈢ 怎樣查看一個文件夾是由哪個軟體創建的

需要通過注冊表窗口進行尋找,方法如下:

操作設備:戴爾電腦

操作系統:win10

1、打開需要查找文件的目錄,如下圖所示:

安卓系統 SYSTEM是什麼意思

SYSTEM有體系,系統的意思。安卓系統 SYSTEM是手機里系統文件夾。

system下屬文件夾中,還會有一系列文件夾。

  1. system/app 裡面主要存放的是常規下載的應用程序,是以apk格式結尾的文件。這個文件夾下的文件是系統默認的組件,自己手機安裝的軟體在data文件夾中。

  2. system/bin 裡面都是系統的本地程序,裡面主要是Linux系統自帶的組件(命令)。

  3. system/etc 這個文件夾是系統的配置文件,APN接入點設置等核心配置。

  4. system/fonts 這個是字體文件夾,除了標准字體和粗體、斜體外,體積最大的是中文字型檔,還有一些unicode字型檔。

  5. system/framework framework主要是一些核心的文件,主要是系統平台框架。

  6. system/lib 這個目錄中存放的主要是系統底層庫,比如平台運行時庫。

  7. system/media/audio 鈴聲音樂文件夾,存放一些常規的鈴聲外還有系統提示事件音。

  8. system/usr 這個是用戶文件夾,其中包含共享、鍵盤布局、時間區域文件等。

(4)安卓的活動是在哪個文件中注冊的擴展閱讀

SYSTEM為Windows系統中眾多系統內置安全主體中的一個,可作為服務用戶登錄系統,在XP及以下版本的操作系統中擁有最高許可權(從Vista開始,微軟削弱了SYSTEM用戶的部分許可權)

SYSTEM擁有的許可權

  1. 編輯,更改或刪除系統文件(在Vista及以上版本的系統已將該許可權交給了TrustedInstaller用戶)。

  2. 可以訪問和更改某些管理員無法訪問的注冊表項。

  3. 可以訪問和更改某些管理員無法訪問的文件夾。

  4. 其他許可權與管理員許可權相同。

㈤ 安卓程序安裝過程中,apk包里的文件都解壓到了手機里的哪些文件夾

以下內容只針對把軟體安裝在手機內存的情況。
安裝軟體時系統會把整個apk文件復制到根目錄/data/app中,然後會在根目錄/data/data中建立該軟體用的緩存文件夾和緩存文件,如書簽、歷史記錄等文件。
用Re管理器手動安裝軟體也是可以的,把apk文件直接復制到/data/app。但要改許可權和用戶組,改為和/data/app中其它軟體一樣的就行了。但有時系統不能及時在/data/data中建立該軟體用的緩存文件夾和緩存文件,這時如果馬上打開軟體的話就會提示「×××程序在×××進程中意外停止,請重試」,這時一般重啟手機就行了(系統自動在/data/data中建立該軟體用的緩存文件夾和緩存文件)。
把apk文件復制到根目錄/system/app也是可以的,但同樣要改許可權和用戶組,這樣你安裝的程序就會被系統識別為系統自帶軟體,恢復出廠設置後也不會被刪除。
如果你備份過根目錄/data/data在某個軟體用的緩存文件,卸載這個軟體又重新安裝後,你如果想用以前的記錄,可以把那個緩存文件直接替換對應文件夾中的同名文件,但仍要改許可權和用戶組和被替換的文件的一樣,所以不要整個緩存文件的文件夾都替換,因為那就要一個一個地改了,替換某個文件就行了。如果不改許可權和用戶組,軟體就無法正常工作。
總而言之,直接用文件管理器點擊apk文件安裝(調用系統自帶的「打包安裝程序」),比較方便。

㈥ 安卓文件可以刪除嗎

可以刪除,但是會重新生成的。

這個是系統的緩存文件,刪了之後可能你存在手機上 的一些東西就不見了,裡面一個是data文件及是存放數據的一個obb文件夾。

Android是一種基於Linux的自由及開放源代碼的操作系統。

主要使用於移動設備,如智能手機和平板電腦,由Google公司和開放手機聯盟領導及開發。尚未有統一中文名稱,中國大陸地區較多人使用「安卓」。

Android操作系統最初由Andy Rubin開發,主要支持手機。

(6)安卓的活動是在哪個文件中注冊的擴展閱讀:

系統結構:

Android 是運行於Linux kernel之上,但並不是GNU/Linux。因為在一般GNU/Linux 里支持的功能,Android 大都沒有支持,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。

Android又以Bionic 取代Glibc、以Skia 取代Cairo、再以opencore取代FFmpeg等等。

Android 為了達到商業應用,必須移除被GNU GPL授權證所約束的部份,例如Android將驅動程序移到 Userspace,使得Linux driver 與 Linux kernel徹底分開。

Bionic/Libc/Kernel/ 並非標準的Kernel header files。Android 的 Kernel header 是利用工具由 Linux Kernel header 所產生的,這樣做是為了保留常數、數據結構與宏。

Android 的 Linux kernel控制包括安全(Security),存儲器管理(Memory Management),程序管理(Process Management),網路堆棧(Network Stack),驅動程序模型(Driver Model)等。

下載Android源碼之前,先要安裝其構建工具 Repo來初始化源碼。Repo 是 Android 用來輔助Git工作的一個工具。

應用組件:

1、活動

Android 中,Activity是所有程序的根本,所有程序的流程都運行在Activity 之中,Activity可以算是開發者遇到的最頻繁,也是Android 當中最基本的模塊之一。

在Android的程序當中,Activity 一般代表手機屏幕的一屏。如果把手機比作一個瀏覽器,那麼Activity就相當於一個網頁。

在Activity 當中可以添加一些Button、Check box 等控制項。可以看到Activity 概念和網頁的概念相當類似。

一般一個Android 應用是由多個Activity 組成的。這多個Activity 之間可以進行相互跳轉,例如,按下一個Button按鈕後,可能會跳轉到其他的Activity。

和網頁跳轉稍微有些不一樣的是,Activity 之間的跳轉有可能返回值,例如,從Activity A 跳轉到Activity B,那麼當Activity B 運行結束的時候,有可能會給Activity A 一個返回值。這樣做在很多時候是相當方便的。

當打開一個新的屏幕時,之前一個屏幕會被置為暫停狀態,並且壓入歷史堆棧中。用戶可以通過回退操作返回到以前打開過的屏幕。

可以選擇性的移除一些沒有必要保留的屏幕,因為Android會把每個應用的開始到當前的每個屏幕保存在堆棧中。

2、服務

Service 是android 系統中的一種組件,它跟Activity 的級別差不多,但是他不能自己運行,只能後台運行,並且可以和其他組件進行交互。

Service 是沒有界面的長生命周期的代碼。Service是一種程序,它可以運行很長時間,但是它卻沒有用戶界面。這么說有點枯燥,來看個例子。

打開一個音樂播放器的程序,這個時候若想上網了,那麼,打開Android瀏覽器,這個時候雖然已經進入了瀏覽器這個程序。

但是,歌曲播放並沒有停止,而是在後台繼續一首接著一首的播放。其實這個播放就是由播放音樂的Service進行控制。

當然這個播放音樂的Service也可以停止,例如,當播放列表裡邊的歌曲都結束,或者用戶按下了停止音樂播放的快捷鍵等。

Service 可以在和多場合的應用中使用,比如播放多媒體的時候用戶啟動了其他Activity這個時候程序要在後台繼續播放,比如檢測SD 卡上文件的變化,再或者在後台記錄地理信息位置的改變等等,總之服務嘛,總是藏在後頭的。

3、廣播接收器

在Android 中,Broadcast是一種廣泛運用的在應用程序之間傳輸信息的機制。

而BroadcastReceiver 是對發送出來的Broadcast進行過濾接受並響應的一類組件。

可以使用BroadcastReceiver 來讓應用對一個外部的事件做出響應。這是非常有意思的,例如,當電話呼入這個外部事件到來的時候,可以利用BroadcastReceiver 進行處理。

例如,當下載一個程序成功完成的時候,仍然可以利用BroadcastReceiver 進行處理。

BroadcastReceiver不能生成UI,也就是說對於用戶來說不是透明的,用戶是看不到的。

BroadcastReceiver通過NotificationManager 來通知用戶這些事情發生了。

BroadcastReceiver 既可以在AndroidManifest.xml 中注冊,也可以在運行時的代碼中使用Context.registerReceiver()進行注冊。

只要是注冊了,當事件來臨的時候,即使程序沒有啟動,系統也在需要的時候啟動程序。

各種應用還可以通過使用Context.sendBroadcast () 將它們自己的Intent Broadcasts廣播給其他應用程序。

4、內容提供

Content Provider 是Android提供的第三方應用數據的訪問方案。

在Android[16]中,對數據的保護是很嚴密的,除了放在SD卡中的數據,一個應用所持有的資料庫、文件等內容,都是不允許其他直接訪問的。

Android當然不會真的把每個應用都做成一座孤島,它為所有應用都准備了一扇窗,這就是Content Provider。

應用想對外提供的數據,可以通過派生Content Provider類, 封裝成一枚Content Provider,每個Content Provider都用一個uri作為獨立的標識。

形如:content://com.xxxxx。所有東西看著像REST的樣子,但實際上,它比REST 更為靈活。

和REST類似,uri也可以有兩種類型,一種是帶id的,另一種是列表的,但實現者不需要按照這個模式來做,給id的uri也可以返回列表類型的數據,只要調用者明白,就無妨,不用苛求所謂的REST。

㈦ manifest是什麼文件

manifest為一種軟體,屬於AndroidManifest.xml文件,在簡單的Android系統的應用中提出了重要的信息,它可以運行任何應用程序的代碼。

MANIFEST.MF:這個manifest文件定義了與擴展和包相關的數據。單詞「manifest」的意思是「顯示」。

打開Java的JAR文件經常可以看到文件中包含著一個META-INF目錄,這個目錄下會有一些文件,其中必有一個MANIFEST.MF,這個文件描述了該Jar文件的很多信息。



(7)安卓的活動是在哪個文件中注冊的擴展閱讀

每個安卓應用程序必須有一個AndroidManifest.xml文件,在app/manifests目錄中。它在簡單的Android系統的應用中提出了重要的信息,信息系統必須具備之前,它可以運行任何應用程序的代碼。

除其他事項外,清單中執行下列操作:

它給應用程序的Java包命名,包的名稱作為應用程序的唯一標識符。

它描述了應用程序的組件的活動、服務,廣播接收機,內容提供商,應用程序組成。它命名的類,實現每個組件,並出版自己的能力(例如,可以處理哪些意圖的消息)。這些聲明讓Android系統知道這些組件是什麼和在什麼條件下,他們可以推出。

它決定哪些進程將運行應用程序組件。它決定了應用程序必須有許可權才能訪問受保護的API部分,並與其他應用程序進行交互。它還決定了其他人與應用程序的組件交互所需要的許可權。它宣布了AndroidAPI的應用程序需要的最低水平。

熱點內容
舞蹈教師視頻拍攝腳本 發布:2025-05-23 16:56:14 瀏覽:351
qt4靜態編譯大小 發布:2025-05-23 16:41:23 瀏覽:490
java第一個 發布:2025-05-23 15:54:34 瀏覽:935
如何配置鹼式碳酸銅 發布:2025-05-23 15:38:08 瀏覽:794
已經修改密碼為什麼密碼錯誤 發布:2025-05-23 15:27:11 瀏覽:775
mysql資料庫怎麼連接資料庫 發布:2025-05-23 15:27:08 瀏覽:324
騰訊雲搭建我的世界基岩版伺服器 發布:2025-05-23 15:27:02 瀏覽:612
伺服器與資料庫關系 發布:2025-05-23 15:19:53 瀏覽:5
主存儲器和二級存儲器的區別 發布:2025-05-23 15:00:37 瀏覽:323
會資料庫 發布:2025-05-23 14:34:32 瀏覽:609