Unable to start activity ComponentInfo java.lang.NullPointerException
<p>Actually i have two java clases of which one is activity class now from that activity class i want to call a functions of second class which is not an activity class..so all works fine but when i use SharedPreferences inside that function its show me an error that "Unable to start activity ComponentInfo java.lang.NullPointerException"..the code for two java file is..please anyone help..</p>

<p>code for first java file:</p>

<pre><code>public class SplashScreen extends Activity 
{
    public void onCreate(Bundle savedInstanceState) 
    {
          super.onCreate(savedInstanceState);

          setContentView(R.layout.splash_screen);


          CycleManager.getSingletonObject().test();//call functions of another class

    }
}
</code></pre>

<p>code for second java file:</p>

<pre><code>public class CycleManager 
{       

    private static CycleManager cycleMangrObject;       

    private CycleManager() {            
            onInitialization(); 

            //Compute averages using data loaded from register
            ComputeAverages();
    }

    public static synchronized CycleManager getSingletonObject() {          
            if (cycleMangrObject == null) {
            cycleMangrObject = new CycleManager();
            }

            return cycleMangrObject;
    }

    public Object clone() throws CloneNotSupportedException {           
            throw new CloneNotSupportedException();

    }

    public void test()
    {
        SharedPreferences preferences1 =getSharedPreferences("myPreferences", 0);
    }


public void setAlertOnDevice(){                 
                //Delete data
                Uri EVENTS_URI = Uri.parse(getCalendarUriBase(this) + "events");
                int id = 1; // calendar entry ID
                ContentResolver cr = getContentResolver();
                EVENTS_URI= ContentUris.withAppendedId(EVENTS_URI, id);
                cr.delete(EVENTS_URI, "calendar_id=1", null);
                Resources res=getResources();

                //set Alerts in device calendar
                Date dtStartDate = CycleManager.getSingletonObject().getStartDate();

                boolean bDeleteAndReturn = false;

                Calendar cal = Calendar.getInstance();


                if (dtStartDate.getTime() ==  CycleManager.getSingletonObject().getDefaultDate().getTime())
                {
                        bDeleteAndReturn = true;
                        dtStartDate = cal.getTime();
                }  

                getOffsetsForCycleStages(CycleManager.getSingletonObject().iAvgCycleTime);

                if(bDeleteAndReturn==false)
                {
                    if (CycleManager.getSingletonObject().bNextCycleAlert &amp;&amp; iStart&gt;0)
                    {
                        cal.setTime(dtStartDate);
                        cal.add(Calendar.DATE, iStart);                   
                       // ContentResolver cr = getContentResolver();
                        String str=res.getString(R.string.alert_start);
                        String strDescription=res.getString(R.string.alert_start_msg);
                        ContentValues values = new ContentValues();
                        values.put("calendar_id", 1);
                        values.put("title", str);
                        values.put("description", strDescription);
                        values.put("dtstart", cal.getTimeInMillis()); 
                        values.put("dtend", cal.getTimeInMillis()); 
                        cr.insert(EVENTS_URI, values);
                    }
                    if (CycleManager.getSingletonObject().bSafeAlert)
                    {
                         if (iSafe1&gt;0)
                         {
                            cal.setTime(dtStartDate);
                            cal.add(Calendar.DATE, iSafe1);                       
                          //  ContentResolver cr = getContentResolver();
                            String str=res.getString(R.string.alert_safe);
                            String strDescription=res.getString(R.string.alert_safe_msg) + " " + new Integer(iUnsafe1-iSafe1-1);
                            ContentValues values = new ContentValues();
                            values.put("calendar_id", 1);
                            values.put("title", str);
                            values.put("description", strDescription);
                            values.put("dtstart", cal.getTimeInMillis()); 
                            values.put("dtend", cal.getTimeInMillis()); 
                            cr.insert(EVENTS_URI, values);
                         }
                         if (iSafe2&gt;0)
                         {
                             cal.setTime(dtStartDate);
                             cal.add(Calendar.DATE, iSafe2);                           
                           //  ContentResolver cr = getContentResolver();
                             String str=res.getString(R.string.alert_safe);
                             String strDescription=res.getString(R.string.alert_safe_msg) + " " + new Integer(CycleManager.getSingletonObject().iAvgCycleTime-iSafe2-1);
                             ContentValues values = new ContentValues();
                             values.put("calendar_id", 1);
                             values.put("title", str);
                             values.put("description", strDescription);
                             values.put("dtstart", cal.getTimeInMillis()); 
                             values.put("dtend", cal.getTimeInMillis()); 
                             cr.insert(EVENTS_URI, values);     
                         }
                    }
                    if (CycleManager.getSingletonObject().bUnsafeAlert)
                    {
                         if (iUnsafe1&gt;0)
                         {
                             cal.setTime(dtStartDate);
                             cal.add(Calendar.DATE, iUnsafe1);                         
                            // ContentResolver cr = getContentResolver();
                             String str=res.getString(R.string.alert_unsafe);
                             String strDescription=res.getString(R.string.alert_unsafe_msg) + " " + new Integer(iFertile-iUnsafe1-1);
                             ContentValues values = new ContentValues();
                             values.put("calendar_id", 1);
                             values.put("title", str);
                             values.put("description", strDescription);
                             values.put("dtstart", cal.getTimeInMillis()); 
                             values.put("dtend", cal.getTimeInMillis()); 
                             cr.insert(EVENTS_URI, values);
                         }
                         if (iUnsafe2&gt;0)
                         {
                             cal.setTime(dtStartDate);
                             cal.add(Calendar.DATE, iUnsafe2);
                            // ContentResolver cr = getContentResolver();
                             String str=res.getString(R.string.alert_unsafe);
                             String strDescription=res.getString(R.string.alert_unsafe_msg) + " " + new Integer(iSafe2-iUnsafe2-1);
                             ContentValues values = new ContentValues();
                             values.put("calendar_id", 1);
                             values.put("title", str);
                             values.put("description", strDescription);
                             values.put("dtstart", cal.getTimeInMillis()); 
                             values.put("dtend", cal.getTimeInMillis()); 
                             cr.insert(EVENTS_URI, values);
                         }
                    }
                    if (CycleManager.getSingletonObject().bFertileAlert &amp;&amp; iFertile&gt;0)
                    {
                        cal.setTime(dtStartDate);
                        cal.add(Calendar.DATE, iFertile);
                       // ContentResolver cr = getContentResolver();
                        String str=res.getString(R.string.alert_fertile);
                        String strDescription=res.getString(R.string.alert_fertile_msg) + " " + new Integer(iUnsafe2-iFertile-1);
                        ContentValues values = new ContentValues();
                        values.put("calendar_id", 1);
                        values.put("title", str);
                        values.put("description", strDescription);
                        values.put("dtstart", cal.getTimeInMillis()); 
                        values.put("dtend", cal.getTimeInMillis()); 
                        cr.insert(EVENTS_URI, values);
                    }
                    if (CycleManager.getSingletonObject().bPMSAlert)
                    {
                        cal.setTime(dtStartDate);
                        cal.add(Calendar.DATE, iStart-7);                     
                      //  ContentResolver cr = getContentResolver();
                        String str=res.getString(R.string.alert_pms);
                        String strDescription=res.getString(R.string.alert_pms_msg);
                        ContentValues values = new ContentValues();
                        values.put("calendar_id", 1);
                        values.put("title", str);
                        values.put("description", strDescription);
                        values.put("dtstart", cal.getTimeInMillis()); 
                        values.put("dtend", cal.getTimeInMillis()); 
                        cr.insert(EVENTS_URI, values);
                    }
                }
    }

    private String getCalendarUriBase(Activity act){            
                String calendarUriBase = null;
                Uri calendars = Uri.parse("content://calendar/calendars");
                Cursor managedCursor = null;

                try 
                {
                    managedCursor = act.managedQuery(calendars, null, null, null, null);
                } 
                catch (Exception e) {}

                if (managedCursor != null) 
                {
                    calendarUriBase = "content://calendar/";
                }              
                else 
                {
                    calendars = Uri.parse("content://com.android.calendar/calendars");
                    try 
                    {
                        managedCursor = act.managedQuery(calendars, null, null, null, null);
                    } 
                    catch (Exception e){}

                    if (managedCursor != null) 
                    {
                        calendarUriBase = "content://com.android.calendar/";
                    }
                }
                return calendarUriBase;
    }
</code></pre>
