Monday, 7 February 2011

CAPABILITIES OF ANDROID

In the year 2008, The Open Handset Alliance introduced the android platform and a beta program for developers was announced.
            Since the introduction of android, there has been a lot of improvement on it and a lot of functions and capabilities have been introduced to the world market. Some of android capabilities include :

ABILITY TO USE CONTACTS APPLICATION PROGRAMING INTERFACE

The enhance contact API of the platform of android allows the management and integration of contacts from several accounts and from other sources of data. To avoid mixing up of data from several sources, there is an arrangement and presentation of contacts that belong to same group as a single entity.
            In contact application programming interface, data is divided into contact, raw contacts and data. . This gives room for simplicity of storage and management of a particular contact from various contacts.

            Data is made up of table that contain all data point that has to do with a raw contacts. A particular row comprises of the same set of data. Each row is MIME type labeled. This shows the data that can be found in a particular row. E.g if the type of data a row can contain is photo.content_ITEM_TYPE , it means the column only keep a record of photo. On the other hand, each row in a raw contacts table contains information about an object and it is associated with a single contact source. E.g a row can contain a person’s twitter followers or hub pages followers.
A row in contact table contains group of one or several raw contact pointing to a particular object.

FASTER SCREEN ORIENTATION CHANGE
 Android is built to operate effectively on different array of device , that has a different configuration of hardware.
            Process of changes in configuration is automatically done by Android system. The current process will be reloaded with the new configuration.

DRAWABLE MUTATION



Sunday, 6 February 2011

WHAT IS ANDROID


Android is a software stack for mobile device that includes an operating system, middleware and key application.

THE ARCHITECTURE OF ANDROID
Several component of android are design as a stack which ranges form “Application” to “linux kernel.” Application is the upper layer of the stack while linux kernel forms the lowest layer.
 Application: All application is written using a java program. The set of application in android include home, contact, phone, browser, e.t.c.

Application Frame Work: There are no differences between the frame work application interface used by the developers and the one used by the core applications.
          The Application infrastructure has been made so simple that it allows the re-use of component. Publishing and re-using of existing application capabilities by other application is always allowed. Replacements of components by the user are allowed.
Application frame work includes:  

1.Activity manager.  2. Window Manager. 3. Content Provider. 4. View System. 5. Notification Manager.  6. Package Manager. 7. Telephony Manager. 8. Resource Manager. Location Manager. 10.XMPP Service.

Libraries

Various components of Android system make use of set of c/c++. These capabilities can be accessed by the developer by going through the android application frame work.

Android Runtime

Android comprises of:

1.     Core Libraries
2.     Dalvick Virtual Machine

Most of the functionality available in the java programming language core libraries is also available in the core library of android. Application of android runs uniquely with its own process, with its own type of Dalvik virtual machine. One of the advantage of using dalvik is that, it allows a device to run effective multiple VMs.
“VM is registered based , and runs classes compiled by a java language compiler that has been transferred into the .dex  format by the included dx tools.” [http://developer.android.com/guide/basics/what-is-android.html]

Linux Kernel

Linux kernel comprises of :
1.     Display Driver.  2. Camera Driver. 3. Blue tooth Driver. 4. M-System Driver. 5. Binder (IPC) driver. 6. USB Driver. 7. Key Pad Driver. 8. Wi Fi Driver. 9. Audio Driver. 10. Power Management.
Core system service like security , memory management , network stack and driver model in android uses linux 2.6.
“The kernel also acts as an abstraction layer between the hardware and rest of the software.” (www.linux.com).










Monday, 31 January 2011

My first meeting with my project supervisor!!!


I had my first meeting with my project supervisor today.  I was instructed on what was expected of me. He started by asking me what the name of my project was , which I got wrong by saying  application of twitter client for java enabled mobile phone
            He was kind enough to correct me that I’m not working on application of twitter client for java enabled mobile phone.  But I’m working on Twitter client for an android  enabled mobile phone.  This blog came out of the instruction he gave to me today.

I was made to understand the following:

He told me I have 2 deliverables:
  1. Investigation Report: This investigation report should be handed over to him by the end of this semester, which lasted for 12 weeks. But he strongly advised me not to use all the 12 weeks on my project investigation that I should make sure I start the implementation of my project before the end of the 12 weeks so that there won’t be so much stress on me in the summer semester. He also made me understand that the project investigation only takes 15 credit.
  2. Implementation report: This takes 45 credits of my project investigation and I was advised to start it before the end of spring semester. This is the part that I get to implement all my investigations.

More on investigation report

Things  that I must make a proper investigation on include:
  • Learning and gaining understanding of capability of android.
  • Making a critical comparison of other technologies.
  • Looking at existing twitter mobile clients and making critical comparisons.
  • Learning of basic twitter underlying technologies  which include:
      OAuth (Open Authorization) : which allow users to share their private resources like videos and photos that are stored on one site with another site  without having to share their account details or credentials such as users name , password e.t.c.
        REST (Representational State Transfer): This is a style of software architecture for distributed hypermedia systems such as the World Wide Web.
        XML(Extensible Markup Language) : This is a set of rules for encoding documents in machine-readable form. 
         JSON (JavaScript Object Notation) : This is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. It is based on a subset of the JavaScript Programming Language.
·        Learning of basic twitter functionality
·        Functional specification.


ALL OF THESE TASKS  LISTED ABOVE AND SOME PART OF MY IMPLEMNTATION ARE MEANT TO BE  PROPERLY EXECUTED AT THE END OF  12WEEKS OF THE SPRING SEMESTER.