MainActivity.class
package com.example;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.ProgressDialog;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.res.Configuration;
import android.content.res.TypedArray;
import android.database.Cursor;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.provider.ContactsContract.CommonDataKinds.Phone;
import android.support.v4.app.ActionBarDrawerToggle;
import android.support.v4.widget.DrawerLayout;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
private DrawerLayout mDrawerLayout;
private ListView mDrawerList;
private ActionBarDrawerToggle mDrawerToggle;
int backButtonCount;
// nav drawer title
private CharSequence mDrawerTitle;
// used to store app title
private CharSequence mTitle;
LinearLayout drawerll;
TextView agentname, agentmobile, agentemail;
// slide menu items
private String[] navMenuTitles;
private ArrayList<NavDrawerItem> navDrawerItems;
private NavDrawerListAdapter adapter;
static TextView tv;
static Context context;
public MainActivity() {
// TODO Auto-generated constructor stub
}
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
context = this;
mTitle = mDrawerTitle = getTitle();
// load slide menu items
navMenuTitles = getResources().getStringArray(R.array.nav_drawer_items);
// nav drawer icons from resources
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mDrawerList = (ListView) findViewById(R.id.list_slidermenu);
drawerll = (LinearLayout) findViewById(R.id.drawerll);
agentname = (TextView) findViewById(R.id.agentname);
agentmobile = (TextView) findViewById(R.id.agentmobile);
SharedPreferences settings = getSharedPreferences(
LoginActivity.PREFS_NAME, 0);
agentname.setText(settings.getString("memberid", "").toString());
agentmobile.setText(settings.getString("emailid", "").toString());
navDrawerItems = new ArrayList<NavDrawerItem>();
// adding nav drawer items to array
// Home
navDrawerItems.add(new NavDrawerItem(navMenuTitles[0]));
// Find People
navDrawerItems.add(new NavDrawerItem(navMenuTitles[1]));
// Photos
navDrawerItems.add(new NavDrawerItem(navMenuTitles[2]));
// Communities, Will add a counter here
navDrawerItems.add(new NavDrawerItem(navMenuTitles[3]));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[4]));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[5]));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[6]));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[7]));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[8]));
// Pages
// Recycle the typed array
mDrawerList.setOnItemClickListener(new SlideMenuClickListener());
// setting the nav drawer list adapter
adapter = new NavDrawerListAdapter(getApplicationContext(),
navDrawerItems);
mDrawerList.setAdapter(adapter);
// enabling action bar app icon and behaving it as toggle button
getActionBar().setDisplayHomeAsUpEnabled(true);
getActionBar().setHomeButtonEnabled(true);
getActionBar().setDisplayShowTitleEnabled(false);
getActionBar().setBackgroundDrawable(
new ColorDrawable(Color.parseColor("#ffffff")));
mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,
R.drawable.ic_drawer, // nav menu toggle icon
R.string.app_name, // nav drawer open - description for
// accessibility
R.string.app_name // nav drawer close - description for
// accessibility
) {
public void onDrawerClosed(View view) {
onBalance();
// calling onPrepareOptionsMenu() to show action bar icons
invalidateOptionsMenu();
}
public void onDrawerOpened(View drawerView) {
onBalance();
// calling onPrepareOptionsMenu() to hide action bar icons
invalidateOptionsMenu();
}
};
mDrawerLayout.setDrawerListener(mDrawerToggle);
if (savedInstanceState == null) {
// on first time display view for first nav item
displayHome(0);
}
onBalance();
}
/**
* Slide menu item click listener
* */
private class SlideMenuClickListener implements
ListView.OnItemClickListener {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
// display view for selected nav drawer item
displayView(position);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// toggle nav drawer on selecting action bar app icon/title
if (mDrawerToggle.onOptionsItemSelected(item)) {
return true;
}
}
/***
* Called when invalidateOptionsMenu() is triggered
*/
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
// if nav drawer is opened, hide the action items
final boolean drawerOpen = mDrawerLayout.isDrawerOpen(drawerll);
// menu.findItem(R.id.action_settings).setVisible(!drawerOpen);
return super.onPrepareOptionsMenu(menu);
}
private void displayHome(int position) {
// update the main content by replacing fragments
Fragment fragment = null;
switch (position) {
case 0:
fragment = new TabActivtyLayout(); // Home fragement
break;
default:
break;
}
if (fragment != null) {
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.frame_container, fragment).commit();
// update selected item and title, then close the drawer
mDrawerList.setItemChecked(position, true);
mDrawerList.setSelection(position);
mDrawerLayout.closeDrawer(drawerll);
} else {
// error in creating fragment
Log.e("MainActivity", "Error in creating fragment");
}
}
private void displayView(int position) {
// update the main content by replacing fragments
Fragment fragment = null;
switch (position) {
case 0:
fragment = new TabActivtyLayout(); // first fragement
break;
case 1:
fragment = new Transaction(); // second fragement
break;
case 2:
fragment = new TransferMoney();
break;
case 3:
fragment = new Wallet();
break;
case 4:
fragment = new WalletTranactionReaport();
break;
case 5:
fragment = new DownlineReport();
break;
case 6:
fragment = new ChangePassword();
break;
case 7:
fragment = new Help();
break;
case 8:
SharedPreferences.Editor editor = this.getSharedPreferences(
"LoginPrefs", 0).edit();
editor.remove("logged");
editor.remove("userid");
editor.commit();
Intent i = new Intent(this, LoginActivity.class);
startActivity(i);
finish();
break;
default:
break;
}
if (fragment != null) {
FragmentManager fragmentManager = getFragmentManager();
Fragment existfragment = getFragmentManager().findFragmentById(
R.id.frame_container);
if (!existfragment.getClass().toString()
.equals(fragment.getClass().toString())) {
fragmentManager.beginTransaction()
.replace(R.id.frame_container, fragment)
.addToBackStack(null).commit();
mDrawerList.setItemChecked(position, true);
mDrawerList.setSelection(position);
}
mDrawerLayout.closeDrawer(drawerll);
} else {
// error in creating fragment
Log.e("MainActivity", "Error in creating fragment");
}
}
@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
// Sync the toggle state after onRestoreInstanceState has occurred.
mDrawerToggle.syncState();
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// Pass any configuration change to the drawer toggls
mDrawerToggle.onConfigurationChanged(newConfig);
}
@Override
public void onBackPressed() {
if (getFragmentManager().getBackStackEntryCount() == 0) {
if (backButtonCount >= 1) {
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
} else {
Toast.makeText(
this,
"Press the back button once again to close the application.",
Toast.LENGTH_SHORT).show();
backButtonCount++;
}
} else {
getFragmentManager().popBackStack();
}
}
}
activity_main.xml
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<!-- Framelayout to display Fragments -->
<FrameLayout
android:id="@+id/frame_container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<!-- Listview to display slider menu -->
<LinearLayout
android:id="@+id/drawerll"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:alpha="0.9"
android:background="#f4f4f4"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/drawer"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:gravity="left|center"
android:orientation="vertical"
android:padding="5dp" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center|left"
android:orientation="horizontal" >
<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/avatar5" />
<LinearLayout
android:id="@+id/drawer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:orientation="vertical" >
<TextView
android:id="@+id/agentname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text=""
android:textColor="#605e60"
android:textSize="15sp" />
<TextView
android:id="@+id/agentmobile"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:gravity="center"
android:text=""
android:textColor="#605e60"
android:textSize="12sp" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#c8c8c8" />
<ListView
android:id="@+id/list_slidermenu"
android:layout_width="200dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="#ffffff"
android:choiceMode="singleChoice"
android:divider="#c8c8c8"
android:dividerHeight="1dp"
android:listSelector="@drawable/list_selector" />
</LinearLayout>
</android.support.v4.widget.DrawerLayout>