Android開發步驟及注意事項
1,在Activity中實現Activity的宣告週期方法。
onCreate()
onDestroy()
2,繼承Application實現自定義生命週期管理
修改AndroidMenifest.xml應用配置檔案。import java.util.Stack; import android.app.Activity; import android.app.Application; public class MyApplication extends Application{ private static Stack<Activity> activityStack; private static MyApplication singleton; @Override public void onCreate() { super.onCreate(); singleton=this; } // Returns the application instance public static MyApplication getInstance() { return singleton; } /** * add Activity 新增Activity到棧 */ public void addActivity(Activity activity){ if(activityStack ==null){ activityStack =new Stack<Activity>(); } activityStack.add(activity); } /** * get current Activity 獲取當前Activity(棧中最後一個壓入的) */ public Activity currentActivity() { Activity activity = activityStack.lastElement(); return activity; } /** * 結束當前Activity(棧中最後一個壓入的) */ public void finishActivity() { Activity activity = activityStack.lastElement(); finishActivity(activity); } /** * 結束指定的Activity */ public void finishActivity(Activity activity) { if (activity != null) { activityStack.remove(activity); activity.finish(); activity = null; } } /** * 結束指定類名的Activity */ public void finishActivity(Class<?> cls) { for (Activity activity : activityStack) { if (activity.getClass().equals(cls)) { finishActivity(activity); } } } /** * 結束所有Activity */ public void finishAllActivity() { for (int i = 0, size = activityStack.size(); i < size; i++) { if (null != activityStack.get(i)) { activityStack.get(i).finish(); } } activityStack.clear(); } /** * 退出應用程式 */ public void AppExit() { try { finishAllActivity(); } catch (Exception e) { } } }
3,程式碼中進行生命週期控制<application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" <span style="color:#FF0000;"><strong> android:name="com.example.zxingdemo.MyApplication"</strong></span> android:theme="@android:style/Theme.NoTitleBar" >
4,Activity中所有宣告的控制元件必須例項化。</pre><pre name="code" class="java">public class MainActivity2 extends Activity { TextView textView6, textView7, textView8, textView9; Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); <span style="color:#FF6666;"><strong>MyApplication.getInstance().addActivity(this);</strong></span> setContentView(R.layout.permanent); textView6 = (TextView) findViewById(R.id.textView6); textView7 = (TextView) findViewById(R.id.textView7); textView8 = (TextView) findViewById(R.id.textView8); textView9 = (TextView) findViewById(R.id.textView9); Bundle bundle = this.getIntent().getExtras(); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(MainActivity2.this, MainActivity.class); startActivity(intent); } }); } @Override protected void onDestroy() { super.onDestroy(); <span style="color:#FF0000;"><strong>MyApplication.getInstance().finishActivity(this);</strong></span> } }
相關推薦
Android開發步驟及注意事項
1,在Activity中實現Activity的宣告週期方法。 onCreate() onDestroy() 2,繼承Application實現自定義生命週期管理 import java.util.Stack; import android.app.Activity; im
android APP整合系統詳細步驟及注意事項(amlogic平臺)
此說明用於amlogic平臺整合不簽名的apk。(如何判斷整合的apk需不需要簽名。簡單來說使用U盤安裝後,能正常開啟使用的就可以不簽名方式整合。) 各平臺的檔案系統有差異,但整體大同小異。其他平臺
ASP.net 網站釋出步驟及注意事項
1、用VS2013開啟解決方案。 2、選中解決方案,點選滑鼠“右鍵”—>從彈出對話方塊中,選擇“清理解決方案”。 3、待第2步“清理解決方案”結束後,選中“解決方案”—>點選滑鼠“右鍵”—>在彈出對話方塊中,選擇“重新生
Spring boot 整合mybatis通用mapper配置步驟及注意事項
一、新增依賴 二、繼承通用mapper,可以重寫和選擇需要的mapper方法,可以去掉一些不需要的方法(一般直接繼承即可) Mapper3提供的全部的方法,可以檢視Mapper3通用介面大全 三、application.properties配置 四、設定dao路徑 在
node.js 整合 ueditor 步驟及注意事項
這裡是我費了一天的心思總算成功的搞好了 node.js 與 ueditor 整合的過程。做一個小白真難啊,非摸著石頭過河。今天心好累,要多說一點廢話。完成這個內容之前,首先你得保證你引用ueditor的介面在 nodejs 專案中。以我的介面為例,就在 myapp/publi
maven執行ssh三大框架+oracle資料庫的一般步驟及注意事項
maven執行ssh框架一般步驟: (一)建立父工程(maven project)ssh_parent(pom) 1、配置pom.xml。 2、maven的倉庫有三種:本地倉庫、私服、中央倉庫,程式執
ansible安裝k8s步驟及注意事項(線上安裝)
以下步驟都經本人實測,可以完美執行。官方參考網址:https://github.com/gjmzj/kubeasz/Ansible瞭解ansible是個什麼東西呢?官方的title是“Ansibleis
React Native在windows上android環境搭配及注意事項
React Native是新型跨平臺開發的技術,簡稱RN。開發和維護團隊是Facebook,現在開源了,應該會火起來吧。 直奔主題....... 環境搭配: 本人的電腦win10,win7和win8都差不多的。 需要安裝的有nodejs,python2.x,JDK,And
新手建網站的步驟及注意事項
建網站是指因特網上一塊固定的面向全世界釋出訊息的地方,建網站由(也就是網站地址)、程式和網站空間構成,通常包括主頁和其他具有超連結檔案的頁面。網站是一種通訊工具,就像布告欄一樣,人們可以通過網站來發布自己想要公開的資訊,或者利用網站來提供相關的網路服務。人們
採用opencv_cascadetrain進行訓練的步驟及注意事項
OpenCV中有兩個程式可以訓練級聯分類器: opencv_haartraining 和opencv_traincascade。opencv_traincascade 是一個新程式,使用OpenCV 2.x API 以C++ 編寫。這二者主要的區別是 opencv_trai
關於CDH5安裝的步驟及注意事項
注:此為hadoop CDH5.11離線安裝 一、準備 安裝所需檔案 1 官網下載Cloudera Manager和CDH 5.11 Cloudera Manager下載地址:http://archive.cloudera.com/cm5/cm/5/ cloudera-
VS2015 cordova手動刪除外掛步驟及注意事項
使用VS2015開發cordova專案時,VS可以對config.xml進行視覺化操作,非常方便,並且新增外掛也非常方便,不需要去用npm等工具下載,直接在視覺化介面就可新增,但是有時候會出現安裝外掛出錯的情況,我想把安裝的外掛刪掉,重新安裝,但是刪除外掛時同樣出錯,debu
Android開發規範以及注意事項
一、Android資原始檔命名與使用 1.【推薦】資原始檔需要帶模組字首。 2.【推薦】layout檔案的命名方式。 Activity的layout以module_activity開頭 Fragment的laytout以module_fragment開頭 ListView
一步步安裝k8s步驟及注意事項
具體的安裝步驟就不提了,這兒主要提一下安裝過程中遇到的坑和注意事項。參考:1.etcd叢集安裝時,注意關閉防火牆2..kube/config需要授權3,kubectl得在apiserver裝完之後才能使用,被誤導了4.注意修改kubelet中的映象5.exec執行時:Erro
ansible安裝k8s步驟及注意事項(離線安裝)
依賴包網址:1.在所有部署節點上搭建私有yum源①新建mkdir/media/Packages複製ansible_offline_Packages下的所有rpm到yum源目錄下/mdeia/Packages。②上傳createrepo包,使用rpm命令手動安裝createre
AIDL實現步驟及注意事項
一、AIDL實現步驟 1、建立AIDL介面檔案,如果介面檔案中用到AIDL非預設支援的資料型別,那麼還要該資料型別還要先通過AIDL檔案定義。所以AIDL檔案可以分為兩類:一類為一類是用來定義parc
Android TV開發中所有的遙控器按鍵監聽及注意事項,新增home鍵監聽
簡單記錄下android 盒子開發遙控器的監聽 ,希望能幫到新入門的朋友們 不多說,直接貼程式碼 public class MainActivity extends Activity { private String TAG="key";
《連載 | 物聯網框架ServerSuperIO教程》- 7.自控通訊模式開發及注意事項
目 錄 7. 自控通訊模式開發及注意事項... 2 7.1 概述... 2 7.2 通訊機制說明... 2 7.3 裝置驅動開發注意事項... 3 7.3.1 實時傳送資料... 3 7.
《連載 | 物聯網框架ServerSuperIO教程》- 8.單例通訊模式開發及注意事項
目 錄 8.單例通訊模式開發及注意事項... 2 8.1 概述... 2 8.2 通訊機制說明... 2 8.3 裝置驅動開發注意事項... 2 8.4 宿主程式服
《連載 | 物聯網框架ServerSuperIO教程》- 5.輪詢通訊模式開發及注意事項。附:網友製作的類庫說明(CHM)
目 錄 5. 輪詢通訊模型開發及注意事項... 2 4.1 概述... 2 4.2 通訊機制說明... 2 4.3 裝置驅動開發注意事項... 3 4.3.1 實時傳送資料... 3 4.3.2