com.giantturtle.badenumbersquiz.PrepareYourSelfActivity.java Source code

Java tutorial

Introduction

Here is the source code for com.giantturtle.badenumbersquiz.PrepareYourSelfActivity.java

Source

/*
 * Copyright 2012 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.giantturtle.badenumbersquiz;

import android.app.Fragment;
/*import android.support.v4.app.Fragment;*/
import android.app.FragmentManager;
/*import android.support.v4.app.FragmentManager;*/
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v13.app.FragmentStatePagerAdapter;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;

import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;

/**
 * Demonstrates a "screen-slide" animation using a {@link android.support.v4.view.ViewPager}. Because {@link android.support.v4.view.ViewPager}
 * automatically plays such an animation when calling {@link android.support.v4.view.ViewPager#setCurrentItem(int)}, there
 * isn't any animation-specific code in this sample.
 *
 * <p>This sample shows a "next" button that advances the user to the next step in a wizard,
 * animating the current screen out (to the left) and the next screen in (from the right). The
 * reverse animation is played when the user presses the "previous" button.</p>
 *
 * @see ScreenSlidePageFragment
 *
 *  */

//ova akivnost moe da bude naslovljena kao aktivnost za u?enje i njoj moe korisnik da pristupi
// iz glavne aktivnosti, a u glavnoj aktivnosti korisnik moe da bira i da startuje kviz.
// ova sekcija bi trabala da bude referirana u glavnom meniju pod "U?enje" ili "Priprema"

//TODO dodati aktivnost za slanje pitanja u kojoj bi korisnik jednim klikom na dugme
//poslao mail sa ispunjenom adresom i subjektom na odreenu mail adresu, verovatno
// na giant2turtle@gmail.com

public class PrepareYourSelfActivity extends FragmentActivity {

    AdView mAdView;
    AdRequest adRequest;

int poslednjaNedoumicaPoloaj;

    /**
     * The number of pages (wizard steps) to show in this demo.
     */
    private static final int NUM_PAGES = 45;//ovde podeavam broj stranica u viewPageru i mora da bude jednak broju stranica u nedoumicaArray

    /**
     * The pager widget, which handles animation and allows swiping horizontally to access previous
     * and next wizard steps.
     */
    private ViewPager mPager;

    /**
     * The pager adapter, which provides the pages to the view pager widget.
     */
    private PagerAdapter mPagerAdapter;

    SharedPreferences nekePreferences;
    SharedPreferences.Editor mojEditor;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_prepare_study);

    mAdView = (AdView) this.findViewById (R.id.adView);
    adRequest = new AdRequest. Builder(). build();
    mAdView. loadAd(adRequest);

    nekePreferences = getSharedPreferences ( "TestFajl", MODE_PRIVATE );
    mojEditor = nekePreferences. edit();


    // Instantiate a ViewPager and a PagerAdapter.
    mPager = (ViewPager) findViewById(R.id.pager);
    mPagerAdapter = new ScreenSlidePagerAdapter(getFragmentManager());
    mPager.setAdapter(mPagerAdapter);

    int po?etniPoloaj = nekePreferences.getInt("poslednjaNedoumicaPoloaj", 2);
    mPager.setCurrentItem(po?etniPoloaj);
    mPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
        @Override
        public void onPageSelected(int position) {
            // When changing pages, reset the action bar actions since they are dependent
            // on which page is currently active. An alternative approach is to have each
            // fragment expose actions itself (rather than the activity exposing actions),
            // but for simplicity, the activity provides the actions in this sample.
            invalidateOptionsMenu();
        }
    });
}

    @Override
    protected void onResume() {
        super.onResume();
    }

@Override
protected void onPause() {
    super.onPause();
    poslednjaNedoumicaPoloaj =mPager.getCurrentItem();
    mojEditor.putInt("poslednjaNedoumicaPoloaj", poslednjaNedoumicaPoloaj);
    mojEditor.commit();

}

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        super.onCreateOptionsMenu(menu);
        getMenuInflater().inflate(R.menu.activity_screen_slide, menu);

        menu.findItem(R.id.action_previous).setEnabled(mPager.getCurrentItem() > 0);

        // Add either a "next" or "finish" button to the action bar, depending on which page
        // is currently selected.
        MenuItem item = menu.add(Menu.NONE, R.id.action_next, Menu.NONE,
                (mPager.getCurrentItem() == mPagerAdapter.getCount() - 1)//ako je predposlednja stranica onda  da prikae finish, a ako nije predposlednja
                        ? R.string.action_finish
                        : R.string.action_next);
        item.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {

        case R.id.action_previous:
            // Go to the previous step in the wizard. If there is no previous step,
            // setCurrentItem will do nothing.
            mPager.setCurrentItem(mPager.getCurrentItem() - 1);
            return true;

        case R.id.action_next:
            // Advance to the next step in the wizard. If there is no next step, setCurrentItem
            // will do nothing.
            mPager.setCurrentItem(mPager.getCurrentItem() + 1);
            return true;
        case R.id.action_about:
            Intent intent = new Intent(this, AboutMeActivity.class);
            startActivity(intent);
        }

        return super.onOptionsItemSelected(item);
    }

    /**
     * A simple pager adapter that represents 5 {@link ScreenSlidePageFragment} objects, in
     * sequence.
     */
    private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter {
        public ScreenSlidePagerAdapter(FragmentManager fm) {
            super(fm);
        }

        @Override
        public Fragment getItem(int position) {
            return ScreenSlidePageFragment.create(position);
        }

        @Override
        public int getCount() {
            return NUM_PAGES;
        }
    }
}