java Android应用程序范围的传感器侦听器设计模式?
我正在设计与传感器相关的库,并将允许其他应用程序集成此库,并在自己的应用程序上监听特定手势,如抖动/倾斜,因此,库中会出现新的活动
但图书馆的整合应该尽可能容易
第一种方法允许开发人员使用以下方法创建自定义Application
类和init my library
MyLibrary lib = new MyLibrary(appContext);
lib.startListening();
但这里的问题是,我有和活动上下文相关的操作,比如启动活动或获取根视图。如果我在Application
类中给出上下文(无法从应用上下文理解活动),这是不太可能的
另一种方法是使用onCreate()
方法在应用程序内的每个活动中实现或注入这个库
lib.startListening(activityContext);
以及注销onDestroy()
和相关方法
lib.stopListening();
问题是我不喜欢第二条路,喜欢第一条路的简单。在第一步中,我有没有遗漏什么
[Edit]:第三种方法是扩展自定义活动类,但这对我来说几乎是不可行的解决方案,我不认为用户会为了这么小的功能集成我的库,并将常规的Activity
扩展操作更改为我模糊的自定义Activity
类
[编辑]:我认为Service
是正确的选择。但仍然对其他模式感兴趣
共 (0) 个答案