Introduction 
                Android is an Operating System for mobile devices developed by Google, which is built upon Linux kernel. Android was developed by the Open Handset Alliance, led by Google, and other companies.


Needs
  • Windows / Mac OS / Linux
  • Intermediate knowledge in Java Programming
  • Java JDK (Download from here)
  • Android SDK
  • Eclipse

Development Environment
              The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language. Download SDK bundle from here. The ADT Bundle includes below things:
  • Eclipse + ADT plugin
  • Android SDK Tools
  • Android Platform tools
  • Latest Android platform
  • Latest Android image for the emulator
Android online programming classes starts from today. Beginners, Experienced and Job-seekers all will get benefit from this classes.

All Classes will contain intro,programming logic,examples and exercises. All classes in separate label named Android Lessons.
Intro:
finish() it lets system to know that the developer wants the Activity to be finish, after finish it calls ondestroy() 

ondestroy() is for final cleanup ie.
  • closing open connections,readers,writers
  • dismiss any dialog the activity was running
  • close any cursors the activity was running

finish current activity:
To finish current activity use finish() in Intent.
 Intent intent = new Intent(FirstActivity.this, SecondActivity.Class);  
 intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);  
 startActivity(intent);  
 finish();   

finish firstactivity from secondactivity:
To finish any Activity from another Activity (ie.Firstactivity.class from SecondActivty.class)
FirstActivity.class
 public static Activity firstIntent;  
in onCreate() function
 firstIntent = this;  

SecondActivity.class
 firstIntent.finish();  

Now firstactivity.class will finished from secondactivity.class.
Customize setError with common function to use it in any actvity.

 public void setError(EditText edit,String str){  
      int resId = this.getResources().getIdentifier(str, "string", this.getPackageName());  
      String msg = getResources().getString(resId);  
      edit.setFocusableInTouchMode(true);  
      edit.requestFocus();  
      edit.setError(msg);  
 }  


To clear error from EditText / TextView use this

 public void clearError(EditText edit){  
      edit.setError(null);  
      edit.clearFocus();  
 }  

Q:What is the life cycle of a started service?
Ans : oncreate -> onstartCommand() -> onDestroy()

Q:Activity life cycle: What to do in onRestart() of an activity?
Ansif any UI changes happened while it is in invisible state, updated it in this function.

Q:What is the difference between implicit intent and explicit intent, give one example?
Ans : Implicit intent - Intent with out target component name; Explicit intent - Intent with target component name.

Q:What will happen if an activity is started with implicit intent, and there is no matching intent-filter?
Ans : it will throw run time exception - activityNotFoundException, and crashes if it is not handled properly.

Q:How to kill an activity? 
Ansi. finish() ii. finishActivity(int requestcode).

Q:How to get the phone's location when battery is draining out? which feature is preferable to use to fetch my current location?
Ans : either use network provider with WiFi disabled or use lastKnownLocation.

Q:Give two examples for configuration changes in Android?
Ans : flipping the phone,keyboard on,language settings change

Q:What is the package name of JSONObject, JSONArray?
Ansorg.json

Q:What is the difference between service and a thread?
Ans : Service - is a component of android, which runs in the background with out any UI. By default service will run in Main thread only. Thread - is not android component, but still one can use thread to do some background task. Using thread in place of service is discouraged.

Q:can I start a service from worker thread?
Ans : You can start service from any where, but still oncreate, onstartcommand runs in main thread only.

Q:How to get current location in android? 
Ans : i. Use either GPS location provider or Network location provider to fetch the current location of a phone, in terms of latitude and longitude. ii. Use LocationManager class, and LocationListener class to fetch locations. Use requestLocationUpdates to register locationlistener with locationmanager object. iii. When ever location gets changed, location manager will automatically call onLocationChanged() method of locationlistner. iv. Use ACCESS_FINE_LOCATION and ACCESS_COARSE_LOCATION permissions in the manifest file.

Q:Broadcast receiver runs in which thread, by default?
AnsMain Thread

Q:Is it possible to start a service from a broadcast receiver?
Ansyes can start using startService() function

Q:If I want to use MapView, what all the steps I have to follow?
AnsUse MapActivity with MapView and use library "com.google.android.maps". App should have internet permission as well, we have to register our application with Google maps service, by providing md5 finger print of the debug certificate of the application.

Q:If internet permission is not taken to use HTTP Client, then what will happen?
AnsIt will throw run time exception, i.e IOException

Q:What will happen if super.oncreate() from oncreate() function of activity is commented?
Ans : Run time exception, super not called.

Q:What is the purpose of SQLiteOpenHelper?
Ans A helper class to manage database creation,upgrading and version management with out loosing state of the previous data.

Q:What does httpclient.execute() return?
AnsHttpResponse

Q:What is the life cycle of a Fragment?
Ans: onAttach() onCreate() onCreateView() onActivityCreated() onStart() onResume().

Q:Which sensor is used to find gravitational force on each axes (x,y, &z)?
AnsAccelerometer

Q:How to find whether GPS is disabled in the phone?
Ansif it is disabled onProviderDisabled() will be called with provider name.

Q:what is the permission required to make a call in android, by using ACTION_CALL ?
Ansandroid.permission.CALL_PHONE

Q:How to share preference file to other activities of same application?
AnsUse getSharedPreferences("name", MODE_PRIVATE);

Q:What is the purpose of the ContentProvider class?
AnsTo share data between Android applications.
checkbox.xml
   


checkbox.java
 import android.content.Context;  
 import android.graphics.Color;  
 import android.util.AttributeSet;  
 import android.widget.CheckBox;  
 public class checkbox extends CheckBox {  
      public checkbox(Context context, AttributeSet attrs) {  
           super(context, attrs);  
           // setButtonDrawable(new StateListDrawable());  
      }  
      @Override  
      public void setChecked(boolean t) {  
           if (t) {  
                this.setBackgroundResource(R.drawable.chk_blue_bg);  
                this.setTextColor(Color.WHITE);  
           } else {  
                this.setBackgroundResource(R.drawable.chk_white_bg);  
                this.setTextColor(Color.BLACK);  
           }  
           super.setChecked(t);  
      }  
 }