Tuesday 5 May 2015

Butter kinfe

Main activity
package com.butterknife;

import java.util.Observable;
import java.util.Observer;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.Button;
import android.widget.TextView;
import butterknife.ButterKnife;
import butterknife.InjectView;
import butterknife.OnClick;

public class MainActivity extends Activity implements Observer {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.inject(this);
int counttemp = controler_abc.obj.getCounter();

txt.setText(counttemp + "");

}

@InjectView(R.id.textView1)
TextView txt;

@OnClick(R.id.button1)
public void doLogin(Button btn) {
int count = controler_abc.obj.getCounter();
count = count + 1;
controler_abc.obj.setCounter(count);



}

@OnClick(R.id.button2)
public void jump() {
startActivity(new Intent(MainActivity.this, MainActivity2.class));
}

@Override
public void update(Observable observable, Object data) {
int counttemp = controler_abc.obj.getCounter();

txt.setText(counttemp + "");


}
}

Main activity 2
package com.butterknife;

import java.util.Observable;
import java.util.Observer;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.TextView;
import butterknife.ButterKnife;
import butterknife.InjectView;
import butterknife.OnClick;

public class MainActivity2 extends Activity implements Observer{

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_activity2);
ButterKnife.inject(this);
controler_abc.obj.addObserver(this);
//controler_abc.obj.addObserver(this);
int counttemp = controler_abc.obj.getCounter();

txt.setText(counttemp + "");
}
@InjectView(R.id.textView1)
TextView txt;


@OnClick(R.id.button1)
public void doLogin(Button btn) {

int count = controler_abc.obj.getCounter();
count = count + 1;
controler_abc.obj.setCounter(count);

}



@Override
public void update(Observable observable, Object data) {
int counttemp = controler_abc.obj.getCounter();

txt.setText(counttemp + "");
}
}

Controller
package com.butterknife;

public class controler_abc {
public static CounterModel obj=new CounterModel();

}

Counter Model
package com.butterknife;

import java.util.Observable;


public class CounterModel extends Observable{
int counter=0;
public void setCounter(int counter) {
this.counter = counter;

}
public int getCounter() {
return counter;
}


}

Monday 27 April 2015

login activity of speed lock

package com.cssoft.speedlocker;

import com.cssoft.fonts.MyFonts;
import com.cssoft.validation.Validations;
import com.cssoft.webservices.Login_User;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.text.style.TtsSpan.TextBuilder;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class LoginActivity extends Activity {

private TextView txt_username, txt_password, txt_forgot;
private EditText edit_username, edit_password;
private Button btn_login;
private Validations valid;

@Override
protected void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);

valid = new Validations(LoginActivity.this);

getUI();
setFonts();
clickEvents();

}

private void getUI() {
txt_username = (TextView) findViewById(R.id.txt_login_username);
txt_password = (TextView) findViewById(R.id.txt_login_password);
txt_forgot = (TextView) findViewById(R.id.txt_login_forgot);
edit_username = (EditText) findViewById(R.id.edit_login_username);
edit_password = (EditText) findViewById(R.id.edit_login_password);
btn_login = (Button) findViewById(R.id.btn_login);
}

private void setFonts() {
txt_username.setTypeface(MyFonts.RobotoMedium(LoginActivity.this));
txt_password.setTypeface(MyFonts.RobotoMedium(LoginActivity.this));
txt_forgot.setTypeface(MyFonts.RobotoMedium(LoginActivity.this));
edit_username.setTypeface(MyFonts.RobotoMedium(LoginActivity.this));
edit_password.setTypeface(MyFonts.RobotoMedium(LoginActivity.this));
btn_login.setTypeface(MyFonts.RobotoMedium(LoginActivity.this));
}

private void clickEvents() {

txt_forgot.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
startActivity(new Intent(LoginActivity.this,
ForgotActivity.class));
overridePendingTransition(R.anim.zoomin, R.anim.fadeout);

}
});

btn_login.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
String username = edit_username.getText().toString().trim();
String password = edit_password.getText().toString().trim();
if (!valid.isEmpty(username)) {
Toast.makeText(getApplicationContext(), "Enter Username",
Toast.LENGTH_SHORT).show();
} else if (!valid.isEmpty(password)) {
Toast.makeText(getApplicationContext(), "Enter Password",
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getApplicationContext(), "OK",
Toast.LENGTH_SHORT).show();

new Login_User(LoginActivity.this).execute(username,
password);

}

}
});

}
}

Tuesday 14 April 2015

Android spinner

Spinners provide a quick way to select one value from a set. In the default state, a spinner shows its currently selected value. Touching the spinner displays a dropdown menu with all other available values, from which the user can select a new one.
package com.spinner;

import java.util.ArrayList;
import java.util.List;

import android.R.array;
import android.R.string;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ArrayList<String> cnt=new ArrayList<String>();
cnt.add("India");
cnt.add("Pakistan");
cnt.add("Canada");
cnt.add("England");
Spinner spn=(Spinner)findViewById(R.id.spinner1);
ArrayAdapter<String> adp=new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_spinner_item,cnt);
spn.setAdapter(adp);
final List<String> in=new ArrayList<String>();
in.add("HP ");
in.add("Punjab");
in.add("Haryana");

final List<String> pak=new ArrayList<String>();
pak.add("Lahore");
pak.add("pak1");
pak.add("Pak2");


spn.setOnItemSelectedListener(new OnItemSelectedListener() {

@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
if(position==0)
{
Spinner spn=(Spinner)findViewById(R.id.spinner2);
ArrayAdapter<String> adp1=new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_spinner_item,in);
spn.setAdapter(adp1);
}
else if(position==1)
{
Spinner spn=(Spinner)findViewById(R.id.spinner2);
ArrayAdapter<String> adp1=new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_spinner_item,pak);
spn.setAdapter(adp1);

}

}

@Override
public void onNothingSelected(AdapterView<?> parent) {

Toast.makeText(getApplicationContext(), "login", 3000);
}

});

}
public class state {

int cntcode;
string statename;
}


}

Thursday 2 April 2015

Navigation in android

package com.navigation;

import android.R.string;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity1 extends Activity {
private EditText t;
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_activity1);
t=(EditText)findViewById(R.id.editText1);
btn=(Button)findViewById(R.id.button1);
abc();



}
public void abc() {
btn.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
String name=t.getText().toString();
Intent obj=new Intent(MainActivity1.this,MainActivity2.class);
obj.putExtra("i", name);
startActivity(obj);

}
});



}

}

Thursday 12 March 2015

Contacts we have

package com.cssoft.speedlocker;

import com.cssoft.fonts.MyFonts;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class ContactsTab extends Activity {

private EditText edit_search;
private Button btn_all, btn_supervisor, btn_monitored;

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

getUI();
setFonts();
}

private void getUI() {
edit_search = (EditText) findViewById(R.id.edit_contact_search);
btn_all = (Button) findViewById(R.id.btn_contact_all);
btn_supervisor = (Button) findViewById(R.id.btn_contact_supervisor);
btn_monitored = (Button) findViewById(R.id.btn_contact_monitored);

}

private void setFonts() {
edit_search.setTypeface(MyFonts.RobotoMedium(this));
btn_all.setTypeface(MyFonts.RobotoMedium(this));
btn_supervisor.setTypeface(MyFonts.RobotoMedium(this));
btn_monitored.setTypeface(MyFonts.RobotoMedium(this));
}
}

Monday 9 March 2015

GCM Intent Service

package com.cssoft.speedlocker;

import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
import static com.cssoft.speedlocker.CommonUtilities.SENDER_ID;

import com.cssoft.speedlocker.R;
import com.google.android.gcm.GCMBaseIntentService;

public class GCMIntentService extends GCMBaseIntentService {

    private static final String TAG = "GCMIntentService";

    public GCMIntentService() {
        super(SENDER_ID);
    }

    /**
     * Method called on d evice registered
     **/
    @Override
    protected void onRegistered(Context context, String registrationId) {
        Log.i(TAG, "Device registered: regId = " + registrationId);
     
    }

    /**
     * Method called on device un registred
     * */
    @Override
    protected void onUnregistered(Context context, String registrationId) {
        Log.i(TAG, "Device unregistered");
     
    }

    /**
     * Method called on Receiving a new message
     * */
    @Override
    protected void onMessage(Context context, Intent intent) {
        Log.i(TAG, "Received message");
     
     
    }

    /**
     * Method called on receiving a deleted message
     * */
    @Override
    protected void onDeletedMessages(Context context, int total) {
        Log.i(TAG, "Received deleted messages notification");
     
   
    }

    /**
     * Method called on Error
     * */
    @Override
    public void onError(Context context, String errorId) {
        Log.i(TAG, "Received error: " + errorId);
     
    }

    @Override
    protected boolean onRecoverableError(Context context, String errorId) {
        // log message
        Log.i(TAG, "Received recoverable error: " + errorId);
     
        return super.onRecoverableError(context, errorId);
    }

    /**
     * Issues a notification to inform the user that server has sent a message.
     */
    private static void generateNotification(Context context, String message) {
        int icon = R.drawable.ic_launcher;
        long when = System.currentTimeMillis();
        NotificationManager notificationManager = (NotificationManager)
                context.getSystemService(Context.NOTIFICATION_SERVICE);
        Notification notification = new Notification(icon, message, when);
       
        String title = context.getString(R.string.app_name);
       
        Intent notificationIntent = new Intent(context, SplashActivity.class);
        // set intent so it does not start a new activity
        notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP |
                Intent.FLAG_ACTIVITY_SINGLE_TOP);
        PendingIntent intent =
                PendingIntent.getActivity(context, 0, notificationIntent, 0);
        notification.setLatestEventInfo(context, title, message, intent);
        notification.flags |= Notification.FLAG_AUTO_CANCEL;
       
        // Play default notification sound
        notification.defaults |= Notification.DEFAULT_SOUND;
       
        // Vibrate if vibrate is enabled
        notification.defaults |= Notification.DEFAULT_VIBRATE;
        notificationManager.notify(0, notification);    

    }

}

Thursday 5 March 2015

forget password activity

package com.cssoft.speedlocker;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import com.cssoft.fonts.MyFonts;
import com.cssoft.validation.Validations;
import com.cssoft.webservices.ForgotPassword;

public class ForgotActivity extends Activity {

private TextView txt_text;
private EditText edit_email;
private Button btn_send;
private Validations valid;

@Override
protected void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_forgot);

valid = new Validations(ForgotActivity.this);

getUI();
setFonts();
clickEvents();
}

private void getUI() {
txt_text = (TextView) findViewById(R.id.txt_forgot_text);
edit_email = (EditText) findViewById(R.id.edit_forgot_email);
btn_send = (Button) findViewById(R.id.btn_forgot_send);
}

private void setFonts() {
txt_text.setTypeface(MyFonts.RobotoMedium(this));
edit_email.setTypeface(MyFonts.RobotoMedium(this));
btn_send.setTypeface(MyFonts.RobotoMedium(this));
}

private void clickEvents() {
btn_send.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
String email = edit_email.getText().toString().trim();

if (!valid.isEmpty(email)) {
Toast.makeText(getApplicationContext(), "Enter Email ID",
Toast.LENGTH_SHORT).show();
} else if (!valid.isValidEmail(email)) {
Toast.makeText(getApplicationContext(),
"Enter Valid Email ID", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getApplicationContext(), "OK",
Toast.LENGTH_SHORT).show();

new ForgotPassword(ForgotActivity.this).execute(email);
}

}
});
}
}

Tuesday 3 March 2015

splash activity

package com.cssoft.speedlocker;

import static com.cssoft.speedlocker.CommonUtilities.DISPLAY_MESSAGE_ACTION;
import static com.cssoft.speedlocker.CommonUtilities.EXTRA_MESSAGE;
import static com.cssoft.speedlocker.CommonUtilities.SENDER_ID;

import java.util.Timer;
import java.util.TimerTask;

import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.view.View;
import android.view.Window;
import android.widget.TextView;
import android.widget.Toast;

import com.cssoft.fonts.MyFonts;
import com.cssoft.sharedpref.GetSharedPref;
import com.cssoft.sharedpref.SetSharedPref;
import com.cssoft.speedlocker.R;
import com.google.android.gcm.GCMRegistrar;

public class SplashActivity extends Activity {

AsyncTask<Void, Void, Void> mRegisterTask;
private TextView txt_loading;

@Override
protected void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);

registerDevice();

/*
* new Handler().postDelayed(new Runnable() {
*
* @Override public void run() { registerDevice();
*
* } }, 5000);
*/

getUI();
startIntent();
}

private void getUI() {
txt_loading = (TextView) findViewById(R.id.loading);
txt_loading.setTypeface(MyFonts.AirStrike(this));
}

int count = 1;

private void startIntent() {

new Timer().scheduleAtFixedRate(new TimerTask() {

@Override
public void run() {

runOnUiThread(new Runnable() {
public void run() {
if (count == 1) {
txt_loading.setText("Loading.");
count = 2;
} else if (count == 2) {
txt_loading.setText("Loading..");
count = 3;
} else if (count == 3) {
txt_loading.setText("Loading...");
cancel();
}
}
});

}
}, 0, 1000);

new Handler().postDelayed(new Runnable() {

@Override
public void run() {
int id = GetSharedPref.getUserID(SplashActivity.this);
if (id > 0) {
startActivity(new Intent(SplashActivity.this,
SliderActivity.class));
overridePendingTransition(R.anim.zoomin, R.anim.fadeout);
finish();
} else {
startActivity(new Intent(SplashActivity.this,
ChooseActivity.class));
overridePendingTransition(R.anim.zoomin, R.anim.fadeout);
finish();
}

}
}, 3000);

}

public void registerDevice() {

// Make sure the device has the proper dependencies.
GCMRegistrar.checkDevice(this);

// Make sure the manifest was properly set - comment out this line
// while developing the app, then uncomment it when it's ready.
GCMRegistrar.checkManifest(this);

registerReceiver(mHandleMessageReceiver, new IntentFilter(
DISPLAY_MESSAGE_ACTION));

// Get GCM registration id
final String regId = GCMRegistrar.getRegistrationId(this);

if (!regId.isEmpty()) {
SetSharedPref.setGCMID(SplashActivity.this, regId);
Toast.makeText(getApplicationContext(), regId, Toast.LENGTH_SHORT)
.show();
}

System.out.println("id: " + regId);

// Check if regid already presents
if (regId.equals("")) {
// Registration is not present, register now with GCM
GCMRegistrar.register(this, SENDER_ID);
} else {
// Device is already registered on GCM
if (GCMRegistrar.isRegisteredOnServer(this)) {
// Skips registration.
Toast.makeText(getApplicationContext(),
"Already registered with GCM", Toast.LENGTH_LONG)
.show();
} else {
// Try to register again, but not in the UI thread.
// It's also necessary to cancel the thread onDestroy(),
// hence the use of AsyncTask instead of a raw thread.
final Context context = this;
mRegisterTask = new AsyncTask<Void, Void, Void>() {

@Override
protected Void doInBackground(Void... params) {
// Register on our server
// On server creates a new user

return null;
}

@Override
protected void onPostExecute(Void result) {
mRegisterTask = null;
}

};
mRegisterTask.execute(null, null, null);
}
}

}

private final BroadcastReceiver mHandleMessageReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String newMessage = intent.getExtras().getString(EXTRA_MESSAGE);
// Waking up mobile if it is sleeping
WakeLocker.acquire(getApplicationContext());

/**
* Take appropriate action on this message depending upon your app
* requirement For now i am just displaying it on the screen
* */

// Showing received message

Toast.makeText(getApplicationContext(),
"New Message: " + newMessage, Toast.LENGTH_LONG).show();

// Releasing wake lock
WakeLocker.release();
}
};

@Override
protected void onDestroy() {
if (mRegisterTask != null) {
mRegisterTask.cancel(true);
}
try {
unregisterReceiver(mHandleMessageReceiver);
GCMRegistrar.onDestroy(this);
} catch (Exception e) {
Log.e("UnRegister Receiver Error", "> " + e.getMessage());
}
super.onDestroy();
}
}

Thursday 26 February 2015

Validation

Android Layout XML file

Let us create an layout xml file with two EditText field one for entering email-id and other for password.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#F0F0F0"
    android:orientation="vertical" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="10dp"
        android:text="@string/lbl_register"
        android:textAllCaps="true"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="#176CEC"
        android:textStyle="bold" />

    <EditText
        android:id="@+id/editText_email"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#fff"
        android:ems="10"
        android:hint="@string/lbl_email_hint"
        android:inputType="textEmailAddress"
        android:padding="12dp" />

    <EditText
        android:id="@+id/editText_password"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="1dp"
        android:background="#fff"
        android:ems="10"
        android:hint="@string/lbl_password_hint"
        android:inputType="textPassword"
        android:padding="12dp" />

    <Button
        android:id="@+id/btn_signup"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="20dp"
        android:background="#176CEC"
        android:text="@string/lbl_btn_signup"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="#fff"
        android:textStyle="bold" />

</LinearLayout>

Android Layout XML file

package com.javatechig;

import java.util.regex.Matcher;
import java.util.regex.Pattern;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;

public class MainActivity extends Activity {
 private EditText emailEditText;
 private EditText passEditText;

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

  emailEditText = (EditText) findViewById(R.id.editText_email);
  passEditText = (EditText) findViewById(R.id.editText_password);

  findViewById(R.id.btn_signup).setOnClickListener(new OnClickListener() {

   @Override
   public void onClick(View arg0) {

    final String email = emailEditText.getText().toString();
    if (!isValidEmail(email)) {
     emailEditText.setError("Invalid Email");
    }

    final String pass = passEditText.getText().toString();
    if (!isValidPassword(pass)) {
     passEditText.setError("Invalid Password");
    }

   }
  });
 }

 // validating email id
 private boolean isValidEmail(String email) {
  String EMAIL_PATTERN = "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@"
    + "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";

  Pattern pattern = Pattern.compile(EMAIL_PATTERN);
  Matcher matcher = pattern.matcher(email);
  return matcher.matches();
 }

 // validating password with retype password
 private boolean isValidPassword(String pass) {
  if (pass != null && pass.length() > 6) {
   return true;
  }
  return false;
 }
}