-
Notifications
You must be signed in to change notification settings - Fork 2
FrameworkDesign
The droid4me framework has emerged from actual use cases. It has been incepted in early 2008, and ever since, it has been extended, refactored, made more robust. The framework as been turned as open-source in 2010 attached with a LGPL license. Today, the framework is being used in many Android applications, and even in the mobile manufacturers industry, which is a testimony of its reliability.
Hence, the framework has been built from real use cases, from the various needs when developing several Android applications. When explaining it and documenting it, the various packages and components have been more clearly identified.
The framework is compatible with Android v1.6+ and also works with Android v3+ with introduces the concept of Fragment
. In order to use it, you just need to work on an Android project, which declares Android v1.6 (API level 4) as a minimum SDK version. The framework also support the "Android Support Package". Then, you need to add its .jar library into the project classpath. No other external dependency is required.
Modularity was a major concern when developing this framework. We pay great attention not to couple too much various components, for two main reasons:
- having clearly distinct components is a good way to split responsibilities and hence to provide a tool for each clearly identified usage. Moreover, you need to have separate units to write unitary tests ;
- we want developers to be able to use a component, without using the rest of the framework. The typical cases are the "BitmapDownloader", the "ExceptionHandler", the "Persistence". You do not need to necessarily use the
Smartable
interface to use other components.
Our bet and our challenge is to provide valuable components out-of-the-box, which will tease developers to investigate about the framework itself. Some of the framework components have been unitary-tested, so as to adopt the industry best practices. The rest has been proofed against many professional Android applications, and it is really reliable and stable in terms of API.
We think that the provided API is not just a library but a framework, because of the "Smartable" interface: the way developers write and architecture their Android Activity/Fragment with it, forces to adopt a certain way of thinking such entities. For us, this is the core of the framework, and we believe that using it spares a lot of time to the developer, and makes him focus on the functional part and the ergonomics of the application.
We suppose that the developer using the framework has already a steady understanding of Android, and some development experience. If you are a brand new Android developer, we think that it would be a good idea not to start your first application using the "Smartable" interface, but first write it directly based on the Android API...