CrimeLab单例+SingleFragmentActivity抽象类
来源:互联网 发布:小米手机3g网络慢 编辑:程序博客网 时间:2024/05/20 21:44
单例CrimeLab
public class CrimeLab { private static CrimeLab sCrimeLab; public List<Crime> mCrimes; public static CrimeLab get(Context context) { if(sCrimeLab==null) { sCrimeLab = new CrimeLab(context); } return sCrimeLab; } public List<Crime> getCrimes(){ return mCrimes; } public Crime getCrime(UUID id){ for(Crime crime:mCrimes){ if(crime.getId().equals(id)){ return crime; } } return null; } private CrimeLab(Context context){ mCrimes=new ArrayList<>(); for(int i=0;i<100;++i){ Crime crime=new Crime(); crime.setTitle("Crime#"+i); crime.setSolved(i%2==0); mCrimes.add(crime); } }}
单例是特殊java类,仅存在一个实例,应用能在内存里存多久单例就能存多久,不用管activity,fragment的生命周期,方便获取
两个要素:私有构造方法,get()方法
List java有序数组类,可获取,新增,删除元素
常见list实现是ArrayList
推荐在声明时使用List接口类型,这样使用时可方便选取别的list实现比如linkedList
SingleFragmentActivity抽象类
继承自它的Activity方法就只要重写createNewFragment部分即可
public abstract class SingleFragmentActivity extends FragmentActivity{ //不能用private因为要在子类里去实现嘛 protected abstract Fragment createNewFragment(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_crime); FragmentManager fragmentManager=getSupportFragmentManager(); Fragment fragment=fragmentManager.findFragmentById(R.id.fragment_container); if(fragment==null){ fragment=createNewFragment(); fragmentManager.beginTransaction().add(R.id.fragment_container,fragment).commit(); } }}
阅读全文
0 0
- CrimeLab单例+SingleFragmentActivity抽象类
- SingleFragmentActivity
- 抽象 静态 单例
- 抽象外观类的单例化分析与改造
- java(单例模式、抽象类、接口、内部类)
- [php学习笔记]工厂模式,单例模式、抽象类
- 抽象类、接口、内部类和单例的总结!
- java单例模式包抽象类和接口
- Android Fragment通用小知识(一)通用超类SingleFragmentActivity
- 抽象 多态 继承 封装 接口 单例
- java中单继承、接口、抽象类
- 抽象单例:一种通用的单例
- 关于java基础--final修饰符、单例模式、抽象类以及接口类
- C#学习笔记之——抽象类、静态类和单例
- (笔记六)文档注视、单例模式、继承、抽象类、接口、多态
- 【JAVA基础】④关于重载,重写,抽象类,接口,内部类和单例模式
- JAVA常用设计模式总结(单例,工厂,抽象工厂)
- 设计模式一(工厂方法、抽象工厂、单例)
- AJAX操作详解
- ubuntu16.04安装kivy(python3.5)
- 一个基于netty的websocket聊天demo
- 笔记-引用类型-String类型
- Benchmark Factory 使用 简介之Capture and Replay Oracle Workload
- CrimeLab单例+SingleFragmentActivity抽象类
- 做过destoon和discuz之后的总结。
- iOS 检测是否为合法密码
- socket.io 协议相关
- 模板的分离编译
- &和&&的区别
- Building AMDGPU Development Linux 4.15 Kernel on Ubuntu 17.04
- spring扩展容器-ApplicationContext
- MySQL数据库root用户密码忘记?