Java tutorial
/* Vertretungsplan - Android-App fr Vertretungsplne von Schulen Copyright (C) 2014 Johan v. Forstner This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see [http://www.gnu.org/licenses/]. */ package com.johan.vertretungsplan; import org.holoeverywhere.preference.PreferenceActivity; import org.holoeverywhere.preference.PreferenceManager; import android.annotation.SuppressLint; import android.appwidget.AppWidgetManager; import android.content.ComponentName; import android.content.SharedPreferences; import android.os.Bundle; import android.support.v4.app.NavUtils; import android.view.Menu; import android.view.MenuItem; import com.google.android.gms.analytics.GoogleAnalytics; import com.johan.vertretungsplan.widget.VertretungsplanWidgetProvider; public class SettingsActivity extends PreferenceActivity { @SuppressLint("NewApi") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Display the fragment as the main content. getSupportFragmentManager().beginTransaction().replace(android.R.id.content, new SettingsFragment()) .commit(); getSupportActionBar().setDisplayHomeAsUpEnabled(true); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.activity_settings, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: // This ID represents the Home or Up button. In the case of this // activity, the Up button is shown. Use NavUtils to allow users // to navigate up one level in the application structure. For // more details, see the Navigation pattern on Android Design: // // http://developer.android.com/design/patterns/navigation.html#up-vs-back // NavUtils.navigateUpFromSameTask(this); return true; } return super.onOptionsItemSelected(item); } @Override public void onResume() { super.onResume(); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); SharedPreferences.Editor prefEditor = prefs.edit(); prefEditor.putBoolean("isInForeground", true); prefEditor.commit(); } @Override public void onPause() { super.onPause(); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); SharedPreferences.Editor prefEditor = prefs.edit(); prefEditor.putBoolean("isInForeground", false); prefEditor.commit(); AppWidgetManager mgr = AppWidgetManager.getInstance(this); int[] ids = mgr.getAppWidgetIds(new ComponentName(this, VertretungsplanWidgetProvider.class)); new VertretungsplanWidgetProvider().onUpdate(this, mgr, ids); } @Override public void onStart() { super.onStart(); analyticsStart(); } @Override public void onStop() { super.onStop(); analyticsStop(); } private void analyticsStart() { GoogleAnalytics.getInstance(this).reportActivityStart(this); } private void analyticsStop() { GoogleAnalytics.getInstance(this).reportActivityStop(this); } }