Skip to main content

Basic understanding of Android Fragments and its State



What is Fragment and why did it come into existence?


Fragment is one of the highly used class/component in the current mobile and Tab application development. Its has increased the development and usability up to a right scale.  Android introduced fragments in Android 3.0 (API level 11), primarily to support more dynamic and flexible UI designs on large screens, such as tablets. Because a tablet's screen is much larger than that of a handset, there's more room to combine and interchange UI components. Fragments allow such designs without the need for you to manage complex changes to the view hierarchy. By dividing the layout of an activity into fragments, you become able to modify the activity's appearance at runtime and preserve those changes in a back stack that's managed by the activity.

For example, a news application can use one fragment to show a list of articles on the left and another fragment to display an article on the right—both fragments appear in one activity, side by side, and each fragment has its own set of lifecycle callback methods and handle their own user input events. Thus, instead of using one activity to select an article and another activity to read the article, the user can select an article and read it all within the same activity, as illustrated in the tablet layout in figure 1.






Fragment States :

Fragment class has almost similar class as Activity class. Overall an activity contains the 7 7 life cycle state and a Fragment contains 11 lifecycle state.

Activity States : 


  1. onCreate()
  2. onStart()
  3. onResume()
  4. onPause()
  5. onStop()
  6. onRestart()
  7. onDestroy()
To Understand the full flow use the following link.

http://developer.android.com/reference/android/app/Activity.html

Fragment States:
  1. onAttach()
  2. onCreate()
  3. onCreateView()
  4. onActivityCreated()
  5. onStart()
  6. onResume()
  7. onPause()
  8. onStop()
  9. onDestroyView()
  10. onDestroy()
  11. onDetach()

onAttach()


Called when the fragment has been associated with the activity (the Activity is passed in here).

onCreateView()


Called to create the view hierarchy associated with the fragment.

onActivityCreated()


Called when the activity's  onCreate() method has returned.
onDestroyView()
Called when the view hierarchy associated with the fragment is being removed.

onDetach()
          Called when the fragment is detached from Activity.






Comments

Popular posts from this blog

Design Android Tool bar with constraint layout

 Toolbar in Android plays a very important role in quick page movement.  Steps to implement toolbar in Android 1. Create a layout file toolbar.xml in r es/layout directory 2. add below code into your toolbar.xml file. 3. Customize this as per your requirement <? xml version ="1.0"  encoding ="utf-8" ?> <layout xmlns: android ="http://schemas.android.com/apk/res/android" xmlns: app ="http://schemas.android.com/apk/res-auto" xmlns: tools ="http://schemas.android.com/tools" > <androidx.appcompat.widget.Toolbar android :id ="@+id/toolbar" android :layout_width ="match_parent" android :layout_height ="?attr/actionBarSize" android :background ="@color/colorPrimaryDark" app :elevation ="0dp" app :layout_collapseMode ="pin" > <androidx.constraintlayout.widget.ConstraintLayout android

Native Vs Phone gap, What to use and when and why?

Well,  Currently there are millions  of application available in app stores. In that  I would say ~10% of application are based on phone gap, remaining are native. Looking at the application requirement  and the time slice available for you have to bring it in market, you should decide what to choose. So, When you must choose only native development? If your application requires access to SYSTEM APIs, in that case its compulsory to use native. If you want to access of Bluetooth, file operations, storage,  running some background operations, accessing of AT commands, communications with hardware components such as LED, navigation buttons etc. If you are building  heavy games, running algorithms to do signal processing , image processing any such heavy operations These are some of the glimpse of task, where you must use native. Phone gap will never ever will be able to give you support of proper libraries for any of these. Now, It comes to Phone gap application developme

Building Phone Gap App for Windows Phone 8

Before you start  developing an phone gap based App you need to keep following things in your mind. General Practice: Set any controls height and width always in term of percentage. Same should be applied with Div. Don't use margin at all. Use margin only to give spacing with controls- 5 px - 20 px Design a parent page.Only this page should contain head and body tag. Other layout should only contain div. After that only Remove and Append Div based on the required layout. Use boot strap to provide a web-responsive feature to your application Above practice will help you building a nice android and IOS application. but in-case of windows application same application won't work as it is. Things to take care in Phone Gap based Application. All append function will start throwing security Exceptions Use the following tag around your append code. MSApp.execUnsafeLocalFunction( function () { var body = document.getElementsByTagName( 'body' )[0]; body