Android Development: User Interface And Interaction

COIT20270 App Development for Mobile Platforms

Progress Bars

Topic: Concept of activity life cycle, progress and dialog box, fragments and intents in Android

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper

  In android each application is defined as process, commonly known as activity. Every activity can have four statuses (Developers 2014 ):

  • Activemeans the process is running. Only one active process at a time
  • Paused means the process is in the background. Any interaction is not possible
  • Stoppedmeans the process has ceased running. Can be invoked  with multitasking button
  • Deadmeans manually finished process.

Used for progress bar creation which shows progress related status of a task. When an user is uploading or downloading something it is possible to see the status using the progress bar (Dimarzio 2016).

  1. Progress dialog class methods:  

The class provides several methods like

  • getMax()
  • incrementProgressBy(int diff)
  • setIndeterminate(boolean indeterminate)
  • setProgress(int value)

These methods are used to increment, maximize, and update the status bar collectively (Dimarzio 2016).

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper

Fragmentation defines a portion of the User Interface in an activity.  Android 3.0 first introduced the concept of fragment to support dynamism and flexibility in the Android UI design . Fragmentation uses the concept of modularity for the design principle to make it reusable across various design layouts (Campos et al. 2015).

Intents, a passive data structure primarily used to hold abstract description associated with any task to be executed (Jo and Shin 2014).  

1.User interface layout:

To design user interface layout android provides View and ViewGroup subclasses which is used to offer users the facility  to control common input and   it also offers various layout models for the development purposes (Haung et al.2017 ).

2.Event listener:

It is basically an interface that belongs to the View class which offers only a single callback method. The methods are called according to the view for which the user is registered .the method is triggered by the interaction of the user with the android framework (Yoo and Lee 2017).

 3.Event handler:

Some custom components that is developed using the View class can be used to access all the call back methods using the default event handlers (Gordon et al. 2015). Some of the common callback methods are :

4.Touch mode:

  Devices  which support touch interface enters the touch mode as soon as the user touches the device and after that user will only be able to focus on the activities for which the method isFocusableInTouchMode() is true. Any time the directional key is activated or the user scroll with the help of a trackball , the device will come out of the  touch  mode and will be ready to focus on some other task (Surale , Matulic and Vogel 2017).

5.Focus handler:

The framework takes care of movement that needs routine focus to manage response to user input. the focus is changed when  Views are removed or it is  hidden, or any  new Views become available (You et al 2015). Views indicate that the system is ready to take focus through the isFocusable() method.

Fragments

1.Time picker:

Time picker dialogue is displayed using DialogFragment.  A  fragment class needs to be defined  to extend and return a TimePickerDialog with the help of  onCreateDialog() method . It helps the user to access the  time as dialogues that is readily available (Janzen , Hughes and Lenz 2016).

2.Date picker:

  DatePickerDialog can be created in the similar manner that is used to create the  is just like  TimePickerDialog (Janzen , Hughes and Lenz 2016).. The only difference that is there is the dialog that is created for the fragment.

DatePickerDialog  can be displayed using DialogFragment(). A fragment class needs  to be defined that extends DialogFragment and return a DatePickerDialog from the fragment’s onCreateDialog() method.

  1. Autofill Pickers:

With the release of android 8.0 the Autofill Framework was introduced. These  feature is very much helpful as it gives the flexibility to use the data later on in various apps provided the data is saved beforehand. As an  example, in a credit card form, the automatic picker feature can be used   if the user need  to enter or change the expiration date as per the credit card (Janzen , Hughes and Lenz 2016).

4.Display of scrollable items:

 scrollable items can be viewed with thde help of  the list view in Android platform. using ListView. It is very helpful  to displaying the data in the list form that is scrollsable. Any list item can then be selected  any  by clicking on it. ListView comes under default scrollable so it is  not needed  to use scroll View or anything other view method with ListView (James 2017).

5.List view adapter:

In android commonly used adapters are Array Adapter  and Base Adapter (Xing and Pei 2015)

Array Adapter:

It is used for single item.

Base Adapter:

Base Adapter belongs to common base class which is a  general implementation of an Adapter commonly used in ListView. 

The main feature of an application is displaying of images, time and safeguarding the data (Mocanu and Coleman, Google Inc 2017). The process of doing the same is explained below:

1.Displaying images:

The images can be inserted in the application by adding the .img file and maintaining a separate database for the images section.

2.Displaying images by drag and drop:

The images can also be displayed not by uploading but by dragging of the image files. This is also another easier way of doing the task.

3.Displaying the time in the application:

The time of the application can be implemented by inheriting the time and the date class. The data has to be maintained in a proper manner. There should be an option for modifying the data and time field in accord to the user. The date and time of the various transactions are stored in the date and time database.

Intents

4.Keeping data persistent:

The data has to be kept in a database and maintained by a trained personnel. All the data of the transactions has to be stored, which can be viewed later for future use.

Application involves the process of data sharing, content creation and content providing (Shahriar and Haddad 2014). The processes are involve:

1.Data sharing among users:

The application can act as a platform for sharing data and information among the organizations. Various important files and information can be exchanged among the users. The users may belong to the various organizations or different communities.

2.Data sharing between users and application:

The data can also be used to share data between the users and the application. The application can suggest useful ideas to the users. The various data, which are not collectively available over the web can be seen by the help of the application.

3.Content creation:

The process of content creation may involve writing and editing the text. The creation of content not only involve dealing with text but also dealing with various pictures. Music and movies editing may also come under the section of content creation.

4.Content Requirement:

The content creator may not be able to satisfy all the requirements. In this case the content creator can seek the help of the others for the insights and other ideas.

5.Content Provider:

A content provider is responsible for providing the content. The content is provided when a content creator runs out of ideas. The content provider is responsible for distribution of data and the content that is required.

Week seven: Interaction with android services and map API

There are number of ways of interaction  with the android services (Carter et al. 2016). The interaction is possible in the following ways:

1.Long- Term Evolution (LTE):

The Long- term evolution technology is used for the transmission of the messages at a faster rate. LTE is used because it increases not only the speed but also the capacity if transmission. This is possible by using a different user interface.

2.General Pocket Radio Service (GPRS):

The General Pocket Radio Service is based on the transfer of data and messages by circuit switching and by IP packets. The reason of using the GPRS service is that it uses the Time division multiple access(TDMA).

3.Global System for mobile communication (GSM):

The Global System for mobile communication is the transfer in the second generation. The GSM was developed as an improvement over the first system but it is recently being  taken over by the third and the fourth generation systems.

User Interface Layout

4.Enhanced Data Rates for GSM Evolution (EDGE):

The Enhanced Data Rates for GSM evolution is the improved data transmission over the GSM. The EDGE technology is used for a faster rate of data transfer. With the introduction of the various codes and the improved technology, the capacity and the efficiency has increased three folds.  

5.Use of map API:

The API enable the Google maps to read the various road signs and the navigation directions and store it in the database of Google. The feature of Google maps enable any of the people to share the personal location.

There are number of ways of interacting with the web (Flanagin, Hocevar and Samahito 2014). The services are mentioned below:

1.Hypertext Transfer Protocol (HTTP):

Hypertext Transfer Protocol follows a structured text that uses the hyperlink between the nodes.

2.The extensible markup language (XML):

The extensible markup language is a language to connect to the web which are both readable by the human and the machine.

3.JavaScript Object Notation (JSON):

JavaScript Object Notation uses a language that is readable by the human. It connects to the web service by the means of asynchronous browser- server communication.

4.Socket Server:

In the socket server, it is  two way connection which includes the client, which is the host that initiates the connection and the server, which includes the host responds to the connection. The sockets connect the client and server.

Week 9: Android Services

There are a number of android services (Cao et al. 2015). There may be background tools or thread creations. They are stated below:

1.Alarms:

Alarm is a type of background task in the android service. The Alarm manager takes care of the alarm in the case of an emergency or when the application needs to wake or be used. If a specific function needs to be performed at a particular interval then an alarm can be set.

2.Broadcast:

The broadcast is another background task in the application, which works on the principle that the application launches only when the broadcast is turned on. There may be  a minor problem if several applications respond to the same broadcast.

3.Threads:

The threads provide an alternate path to a particular task. The threads may be used to perform another task while another task is in progress. There are two ways to create a thread. The first is to override the run method and call the start function. The second process is to implement the Runnable interface.

Event Listeners

4.Examining activity:

The application calls an oncreate() function, which examines and notifies whenever any doubtful activity takes place. This examining tool is used for the security purpose of the application.

5.Testing tools:

The various testing tools involves recording and playing, parameterize the different values, script editing, running the test script and in  the end reporting on the running session. By the following tools the various applications can be tested.

The end processes take place after the creation of the application (Melnik et al. 2017). The processes involve:

1.Deployment:

After the creation of the application a deployment process should be sought in order to run the  application. The deployment of the application is providing a platform for the application to run. The deployment can be done online or offline. The deployment is a general process which has to be customized according to the requirements. The deployment process can occur both on the consumer side or on the producer side.

2.Export of APK file:

The APK file in android can be exported in two ways. The export can either be done in by unsigned application process or can take place by signed application process. The Exporting of unsigned application process can be done by upgrading the built file and selecting the option of release unsigned. The signed application process can be done by the use of eclipse and by using android tools.

3.Sign and distribution of the application:

The application needs to be signed digitally before the installation of the application for use is allowed. The signing of the application can be done by the help of android studio. Signing would also involve the creation and storing of the certificate. The distribution would involve the process that follows the signing process. The distribution involves the spreading of the application to the various users by the means of Google Play or some other means.

4.Basics of marketing of the application:

The basic marketing strategy of the application should be to discuss with respect to the other applications in that field. The problems of the other applications in the same field should be highlighted and stated that this application will help in overcoming those drawbacks. It should also be described while advertising or in the hoardings how the application will be helping the society in general.

5.Basics of selling the product:

The product can be sold by releasing on a good and recognized platform. The product can be sold more by choosing the target market efficiently. According to the target audience either the people are approached or the marketing strategy is designed in accordance to that.

Touch Mode

In the world driven by technology, Mobile applications can be considered as a segment, which is rapidly growing. It is making life easier and advanced by introducing new features in every sector of human life (Android 2016). From work place to the leaving room, it is everywhere. The platform that is dominating the mobile world is the Android operating system by Google and it is rapidly growing in the global mobile market. Android is an open-source project, which makes it possible to make a huge developer community dedicated towards the unified and rich mobile ecosystem. Android is a Linux-based platform which offers lot of customization in terms of user activities and user experience. It consists of the operating system, middleware, and user interface and application software. There is also security issues with the platform as it is open sourced that needs to be addressed properly in order to make the platform flawless and more user friendly.

References:

Android, S.D.K., 2016. Android open source project. Retrieved January, 7.

Campos, E., Kulesza, U., Coelho, R., Bonifácio, R. and Mariano, L., 2015, April. Unveiling the Architecture and Design of Android Applications. In Proceedings of the 17th International Conference on Enterprise Information Systems-Volume 2 (pp. 201-211). SCITEPRESS-Science and Technology Publications, Lda.

Cao, C., Gao, N., Liu, P. and Xiang, J., 2015. Towards analyzing the input validation vulnerabilities associated with android system services. In Proceedings of the 31st Annual Computer Security Applications Conference(pp. 361-370). ACM.

Carter, P., Mulliner, C., Lindorfer, M., Robertson, W. and Kirda, E., 2016, February. CuriousDroid: automated user interface interaction for android application analysis sandboxes. In International Conference on Financial Cryptography and Data Security (pp. 231-249). Springer, Berlin, Heidelberg.

Developers, A., 2014. Managing the activity lifecycle.

DiMarzio, J., 2016. Beginning Android Programming with Android Studio. John Wiley & Sons.

Flanagin, A.J., Hocevar, K.P. and Samahito, S.N., 2014. Connecting with the user-generated Web: how group identification impacts online information sharing and evaluation. Information, Communication & Society, 17(6), pp.683-694.

Gordon, M.I., Kim, D., Perkins, J.H., Gilham, L., Nguyen, N. and Rinard, M.C., 2015. Information Flow Analysis of Android Applications in DroidSafe. In NDSS.

Huang, J., Aafer, Y., Perry, D., Zhang, X. and Tian, C., 2017, October. UI driven Android application reduction. In Proceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering (pp. 286-296). IEEE Press.

James, M., 2017. Android Programming: Starting with an App. I/O Press.

Janzen, D.S., Hughes, A. and Lenz, A., 2016. Scaling Android User Interfaces.

Jo, M.J. and Shin, J.S., 2014. Study on Security Vulnerabilities of Implicit Intents in Android. Journal of the Korea Institute of Information Security and Cryptology, 24(6), pp.1175-1184.

Melnik, G., Noble, D.S., Neeman, I.A. and Campbell, C., Splunk Inc, 2017. Application deployment for data intake and query system. U.S. Patent Application 15/143,438.

Mocanu, S.A. and Coleman, P.M., Google Inc, 2017. Prerendering time zone aware layouts for rich web apps. U.S. Patent 9,602,574.

Shahriar, H. and Haddad, H.M., 2014.Content provider leakage vulnerability detection in Android applications. In Proceedings of the 7th International Conference on Security of Information and Networks (p. 359). ACM.

Surale, H.B., Matulic, F. and Vogel, D., 2017, May. Experimental Analysis of Mode Switching Techniques in Touch-based User Interfaces. In Proceedings of the 2017 CHI Conference on Human Factors in Computing Systems (pp. 3267-3280). ACM.

Xing, Y. and Pei, Y., 2015. The Design and Implementation of Android Database Service Framework based on Adapter Pattern.

Yoo, H. and Lee, Y., 2017, May. An Automatic Mobile App Testing Method with User Event Scenario. In Mobile Data Management (MDM), 2017 18th IEEE International Conference on (pp. 394-396). IEEE.

You, W., Liang, B., Li, J., Shi, W. and Zhang, X., 2015, April. Android implicit information flow demystified. In Proceedings of the 10th ACM Symposium on Information, Computer and Communications Security (pp. 585-590). ACM.