編輯:關於android開發
一、什麼是Activity
Activity是Android四大組件之一,並且Activity是組件中的重中之重。
Activity是為用戶提供一個用於信息交互的窗口。
二、如何去創建Activity
1.新建一個繼承Activity的子類
1 public class MainActivity extends Activity { 2 3 @Override 4 protected void onCreate(Bundle savedInstanceState) { 5 super.onCreate(savedInstanceState); 6 setContentView(R.layout.activity_main);//加載布局 7 } 8 }
2.需要在功能清單AndroidManifest.xml文件中配置新建的Activity類
1 <?xml version="1.0" encoding="utf-8"?> 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 3 package="com.example.newactivity" 4 android:versionCode="1" 5 android:versionName="1.0" > 6 7 <uses-sdk 8 android:minSdkVersion="8" 9 android:targetSdkVersion="17" /> 10 11 <application 12 android:allowBackup="true" 13 android:icon="@drawable/ic_launcher" 14 android:label="@string/app_name" 15 android:theme="@style/AppTheme" > 16 <activity 17 android:name="com.example.newactivity.MainActivity" 18 android:label="@string/app_name" > 19 <intent-filter> 20 <action android:name="android.intent.action.MAIN" /> 21 22 <category android:name="android.intent.category.LAUNCHER" /> 23 </intent-filter> 24 </activity> 25 </application> 26 27 </manifest>
三、任務棧
任務棧的由來:
Android應用程序有一個或多個Activity組件或其它組件組成,為了記錄用戶都開啟哪些Activity,以及開啟這些Activity的先後順序。
任務棧的特點:
1、當一個Android應用程序開啟後Android操作系統就會為它分配一個任務棧,當所有的activity都退出的時候,任務棧就被清空了;
2、任務棧的id是一個自增長的int數據類型,可以通過getTaskId()方法獲取任務棧的id;
3、Android操作系統裡存在多個任務棧,一個Android應用程序可以有一個或多個任務棧;
4、默認情況下,關閉掉一個應用程序就清空了Android操作系統為該應用程序分配的任務棧,但應用程序的進程還會保留;
四、Activity的啟動模式
Activity的啟動模式總共有四種模式,分別是standard(默認)、singleTop、singleTask、singleInstance
1.standard模式
在這種啟動的模式下,每次激活Activity時(startActivity)都創建一個新的Activity實例並放入任務棧的棧頂
2.singleTop
在這種啟動的模式下,如果singleTop在任務棧的棧頂時,不需要在創建新的Activity,調用onNewIntent()方法(第一次啟用singleTop不會調用onNewIntent()方法),
否則要重新創建Activity實例,但不會調用onNewIntent();
3.singleTask(常用)
在這種啟動模式下,如果singleTask在任務棧的棧頂時,不需要創建新的Activity,調用onNewIntent()方法;
如果singleTask不在任務棧的棧頂,並且在任務棧中有singleTask時,也不需要重新創建新的Activity,而是調用onNewIntent()方法,並且在singleTask之上其它的Activity實例都將刪除
4.singleInstance
在這種啟動模式下,如果該Activity所在的Android程序激活過或被激活過它,會存在於單獨的任務棧中
如果其它的Android程序啟動的時候,會重新激活該Activity,並且會調用該Activity中的onNewIntent()方法;
另外一個app打開該Activity程序演示
1 public class App02Activity extends Activity { 2 3 @Override 4 protected void onCreate(Bundle savedInstanceState) { 5 super.onCreate(savedInstanceState); 6 setContentView(R.layout.activity_app02); 7 ((Button) findViewById(R.id.access_bt)).setOnClickListener(new OnClickListener() { 8 @Override 9 public void onClick(View v) { 10 Intent intent = new Intent("com.shxt.activity.singleinstance"); 11 startActivity(intent); 12 } 13 }); 14 } 15 }
1 <!-- 該Activity中的AndroidManifest.xml --> 2 <activity 3 android:name=".SingleInstanceActivity" 4 android:launchMode="singleInstance" > 5 <intent-filter> 6 <action android:name="com.shxt.activity.singleinstance" /> 7 8 <category android:name="android.intent.category.DEFAULT" /> 9 </intent-filter> 10 </activity>
五、Activity生命周期
一個Activity的完整生命周期:
void onCreate()
void onStart()
void onResume()
void onPause()
void onStop()
void onDestroy()
1.一個完整的生命周期,是由第一次調用onCreate()開始,直至調用onDestory()方法結束。
Activity在onCreate()完成初始化,在onDestroy()中釋放所有的系統資源。
2.可視生命周期:該生命周期是由onStart()調用開始直到調用onStop()方法結束。在這之間,方法可以隨著應用程序是否為用戶可見而被多次調用
3.前台生命周期:是由onReusme()調用到onPause()方法為止。在此之間Activity處於激活狀態,可以和用戶進行交互。
Yarn上運行spark-1.6.0Yarn上運行spark-1.6.0.pdf目錄目錄1 1.約定1 2.安裝Scala 1 2.1.下載2 2.2.安裝2 2.3.設
獲取data下目錄文件和查看android數據庫文件,dataandroid首先要是在真機上查看android數據庫文件必須要取得root權限,這裡怎麼獲取就不在多說。可
百度地圖可視化定位效果,可以輸入目的地定位。,可視化目的地登錄百度開發者帳號後下載sdk導入自己的工程中。 代碼如下: 1 package com.lixu.bai
今天有時間就學習了下在ListView、GridView列表項中清加ProgressBar,本文用最簡單的代碼實現可以通用的功能,人人都能看懂,哈哈