  The past few years have seen a tremendous growth in the popularity of
smartphones. As newer features continue to be added to smartphones to increase
their utility, their significance will only increase in future. Combining
machine learning with mobile computing can enable smartphones to become
'intelligent' devices, a feature which is hitherto unseen in them. Also, the
combination of machine learning and context aware computing can enable
smartphones to gauge user's requirements proactively, depending upon their
environment and context. Accordingly, necessary services can be provided to
users.
  In this paper, we have explored the methods and applications of integrating
machine learning and context aware computing on the Android platform, to
provide higher utility to the users. To achieve this, we define a Machine
Learning (ML) module which is incorporated in the basic Android architecture.
Firstly, we have outlined two major functionalities that the ML module should
provide. Then, we have presented three architectures, each of which
incorporates the ML module at a different level in the Android architecture.
The advantages and shortcomings of each of these architectures have been
evaluated. Lastly, we have explained a few applications in which our proposed
system can be incorporated such that their functionality is improved.
