編輯:關於Android編程
單例(singleton)是特殊的Java類,在創建實例時,一個類僅允許創建一個實例。
應用能夠在內存裡存多久,單例就能存在多久,因此將對象列表保存在單例裡可保持crime數據的一直存在,
不管activity、fragment及它們的生命周期發生什麼變化。
要創建單例,需創建一個帶有私有構造方法及get()方法類,其中get()方法返回實例。
如實例已存在,get()方法則直接返回它,如果實例不存在,get()方法會調用構造方法來創建它。
如代碼,通過單例模式保存一個唯一數組,使用getCrimes、getCrime方法調用數組。
代碼:
package com.chunyu.android.criminalintent;
import android.content.Context;
import java.util.ArrayList;
import java.util.UUID;
/**
* Created by wangchenlong on 14-10-16.
*/
public class CrimeLab {
private ArrayList mCrimes;
private static CrimeLab sCrimeLab;
private Context mAppContent;
private CrimeLab(Context appContent) {
mAppContent = appContent;
mCrimes = new ArrayList();
//臨時
for(int i=0; i<100; ++i) {
Crime c = new Crime();
c.setTitle(Crime # + i);
c.setSolved( i%2 == 0 );
mCrimes.add(c);
}
}
public static CrimeLab get(Context c) {
if (sCrimeLab == null)
sCrimeLab = new CrimeLab(c.getApplicationContext());
return sCrimeLab;
}
public ArrayList getCrimes() {
return mCrimes;
}
public Crime getCrime(UUID id) {
for (Crime c : mCrimes) {
if (c.getId().equals(id))
return c;
}
return null;
}
}
mCrime = CrimeLab.get(getActivity()).getCrime(crimeId);
Android界面設計(APP設計趨勢 左側隱藏菜單右邊顯示content)
相關文章android popwindow實現左側彈出菜單層http://www.jb51.net/article/33533.htm移動App設計的13大精髓http:
android RadioButton和CheckBox組件的使用方法
RadioButton是單選按鈕,多個RadioButton放在一個RadioGroup控件中,也就是說每次只能有1個RadioButton被選中。而CheckBox是多
Android Gradle Build Error:Some file crunching failed, see logs for details解決辦法
Android Gradle Build Error:Some file crunching failed, see logs for details解決辦法錯誤日志:E
Android實現可使用自定義透明Dialog樣式的Activity完整實例
本文實例講述了Android實現可使用自定義透明Dialog樣式的Activity。分享給大家供大家參考,具體如下:有時你需要一個對話框,但同時對話框中的內容有更多控制和