SlideShare a Scribd company logo
1 of 75
AddFaculty.java
package com.gpslocation.attendanceandmarkssystem;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.List;
public class Addfaculty extends Activity {
EditText fname, fmobile, femail,fdepart, fusername, fpassword;
Button fadd;
String nameString, mobileString, mailString, departString,
usernameString, passwordString;
ProgressDialog progressDialog;
JSONParser parser = new JSONParser();
public String addUrl =
"http://www.wikihands.com/attendanceandmarks/facultyregister.php";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_addfaculty);
fname = (EditText) findViewById(R.id.facultyname);
fmobile = (EditText) findViewById(R.id.facultymobile);
femail = (EditText) findViewById(R.id.facultymail);
fdepart= (EditText) findViewById(R.id.facultydepart);
fusername = (EditText) findViewById(R.id.ftusername);
fpassword = (EditText) findViewById(R.id.ftpassword);
fadd = (Button) findViewById(R.id.addfaculty);
fadd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
nameString=fname.getText().toString();
mobileString=fmobile.getText().toString();
mailString=femail.getText().toString();
departString=fdepart.getText().toString();
usernameString=fusername.getText().toString();
passwordString=fpassword.getText().toString();
new facultyadding().execute();
}
});
}
public class facultyadding extends AsyncTask<String, String,
String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
progressDialog = new ProgressDialog(Addfaculty.this);
progressDialog.setMessage("Please wait......");
progressDialog.setCanceledOnTouchOutside(false);
progressDialog.show();
}
@Override
protected String doInBackground(String... params) {
try {
List<NameValuePair> args = new ArrayList<>();
args.add(new BasicNameValuePair("name",nameString));
args.add(new
BasicNameValuePair("phone",mobileString));
args.add(new BasicNameValuePair("mail",mailString));
args.add(new
BasicNameValuePair("department",departString));
args.add(new
BasicNameValuePair("username",usernameString));
args.add(new
BasicNameValuePair("password",passwordString));
JSONObject jsonObject = parser.makeHttpRequest(addUrl,
"POST", args);
} catch (Exception e) {
}
return null;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
progressDialog.dismiss();
Intent in = new Intent(Addfaculty.this,
FacultyList.class);
startActivity(in);
}
}
}
AddStudents.java
package com.gpslocation.attendanceandmarkssystem;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.List;
public class Addstudent extends Activity {
EditText srollnumber,sname,smobile,semail,spassword;
Button sadd;
String
rollString,nameString,mobileString,mailString,passwordString;
ProgressDialog progressDialog;
JSONParser parser = new JSONParser();
public String addUrl =
"http://www.wikihands.com/attendanceandmarks/studentregister.php";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_addstudent);
srollnumber= (EditText) findViewById(R.id.studentrollno);
sname= (EditText) findViewById(R.id.studentname);
smobile= (EditText) findViewById(R.id.studentmobile);
semail= (EditText) findViewById(R.id.studentmail);
spassword= (EditText) findViewById(R.id.stpassword);
sadd= (Button) findViewById(R.id.submit);
sadd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
rollString=srollnumber.getText().toString();
nameString=sname.getText().toString();
mobileString=smobile.getText().toString();
mailString=semail.getText().toString();
passwordString=spassword.getText().toString();
new studentadding().execute();
}
});
}
public class studentadding extends AsyncTask<String,String,String>
{
@Override
protected void onPreExecute() {
super.onPreExecute();
progressDialog = new ProgressDialog(Addstudent.this);
progressDialog.setMessage("Please wait......");
progressDialog.setCanceledOnTouchOutside(false);
progressDialog.show();
}
@Override
protected String doInBackground(String... params) {
try {
List<NameValuePair> args = new ArrayList<>();
args.add(new BasicNameValuePair("rollno",rollString));
args.add(new BasicNameValuePair("name",nameString));
args.add(new
BasicNameValuePair("phone",mobileString));
args.add(new BasicNameValuePair("mail",mailString));
args.add(new
BasicNameValuePair("password",passwordString));
JSONObject jsonObject = parser.makeHttpRequest(addUrl,
"POST", args);
} catch (Exception e) {
}
return null;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
progressDialog.dismiss();
Intent in=new Intent(Addstudent.this,StudentList.class);
startActivity(in);
}
}
}
AdminHomeActivity.java
package com.gpslocation.attendanceandmarkssystem;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
public class AdminHomeActivity extends Activity implements
View.OnClickListener{
Button facultyButton,studentButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_admin_home);
facultyButton= (Button) findViewById(R.id.faulty);
studentButton= (Button) findViewById(R.id.student);
facultyButton.setOnClickListener(this);
studentButton.setOnClickListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it
is present.
getMenuInflater().inflate(R.menu.menu_admin_home, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
public void onClick(View v) {
int id=v.getId();
if(id==R.id.faulty)
{
Intent fa=new
Intent(AdminHomeActivity.this,FacultyList.class);
startActivity(fa);
}
else if(id==R.id.student)
{
Intent st=new
Intent(AdminHomeActivity.this,StudentList.class);
startActivity(st);
}
}
}
AdminLoin.java
package com.gpslocation.attendanceandmarkssystem;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class Adminlogin extends Activity {
EditText usernameEdit,passwordEdit;
Button adminloginButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_adminlogin);
usernameEdit= (EditText) findViewById(R.id.adminusername);
passwordEdit= (EditText) findViewById(R.id.adminpassword);
adminloginButton= (Button) findViewById(R.id.adminlogin);
adminloginButton.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v) {
if(usernameEdit.getText().toString().equals("admin")&&passwordEdit.get
Text().toString().equals("admin")) {
Intent in = new Intent(Adminlogin.this,
AdminHomeActivity.class);
startActivity(in);
}
else
{
Toast.makeText(Adminlogin.this,"Invalid username
or password",Toast.LENGTH_LONG).show();
}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it
is present.
getMenuInflater().inflate(R.menu.menu_adminlogin, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
Attendanceviewing.java
package com.gpslocation.attendanceandmarkssystem;
importandroid.app.Activity;
importandroid.app.ProgressDialog;
importandroid.os.AsyncTask;
importandroid.os.Bundle;
importandroid.view.Menu;
importandroid.view.MenuItem;
importandroid.view.View;
importandroid.view.ViewGroup;
importandroid.widget.BaseAdapter;
importandroid.widget.ListView;
importandroid.widget.TextView;
importorg.apache.http.NameValuePair;
importorg.apache.http.message.BasicNameValuePair;
importorg.json.JSONArray;
importorg.json.JSONObject;
importjava.util.ArrayList;
importjava.util.List;
publicclassAttendanceviewingextendsActivity{
ListViewvaList;
ProgressDialogprogressDialog;
JSONParserparser=newJSONParser();
JSONArrayresponse;
publicStringstudentlistUrl="http://www.wikihands.com/attendanceandmarks/getattendance.php";
StringgetRoll;
ArrayList<String>statusArray=newArrayList<>();
ArrayList<String>dateArray=newArrayList<>();
@Override
protectedvoidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_attendanceviewing);
vaList=(ListView) findViewById(R.id.viewattendance);
}
@Override
protectedvoidonResume() {
super.onResume();
getRoll=getIntent().getStringExtra("ROLLNO");
statusArray.clear();
dateArray.clear();
newattendancelist().execute();
}
publicclassattendancelistextendsAsyncTask<String,String,String>
{
@Override
protectedvoidonPreExecute() {
super.onPreExecute();
progressDialog=newProgressDialog(Attendanceviewing.this);
progressDialog.setMessage("Pleasewait...");
progressDialog.setCanceledOnTouchOutside(false);
progressDialog.show();
}
@Override
protectedStringdoInBackground(String...params) {
try {
List<NameValuePair>args= new ArrayList<>();
args.add(newBasicNameValuePair("rollno",getRoll));
JSONObjectobject=parser.makeHttpRequest(studentlistUrl,"POST",args);
response =object.getJSONArray("attendancedetails");
for(inti=0;i<response.length();i++)
{
JSONObjectc=response.getJSONObject(i);
Stringstatus=c.getString("status");
Stringdate=c.getString("date");
statusArray.add(status);
dateArray.add(date);
}
}catch (Exceptione)
{
}
return null;
}
@Override
protectedvoidonPostExecute(Strings) {
super.onPostExecute(s);
vaList.setAdapter(new attendanceadapter());
progressDialog.dismiss();
}
}
publicclassattendanceadapterextendsBaseAdapter
{
@Override
publicintgetCount(){
returnstatusArray.size();
}
@Override
publicObjectgetItem(intposition) {
returnnull;
}
@Override
publiclonggetItemId(intposition) {
return0;
}
@Override
publicView getView(intposition,View convertView,ViewGroupparent) {
convertView=getLayoutInflater().inflate(R.layout.attendancelist,null);
TextViewstatus=(TextView)convertView.findViewById(R.id.status);
TextViewdatetime=(TextView) convertView.findViewById(R.id.date);
status.setText(statusArray.get(position).toString());
datetime.setText(dateArray.get(position).toString());
returnconvertView;
}
}
}
EditStudentActivity.java
package com.gpslocation.attendanceandmarkssystem;
importandroid.app.Activity;
importandroid.app.ProgressDialog;
importandroid.os.AsyncTask;
importandroid.os.Bundle;
importandroid.view.View;
importandroid.widget.Button;
importandroid.widget.EditText;
importandroid.widget.Toast;
importorg.apache.http.NameValuePair;
importorg.apache.http.message.BasicNameValuePair;
importorg.json.JSONArray;
importorg.json.JSONObject;
importjava.util.ArrayList;
importjava.util.List;
publicclassEditStudentActivityextendsActivity{
EditTextnameEdit,mobileEdit,emailEdit;
Button updateButton;
ProgressDialogprogressDialog;
publicstaticString
update_Url="http://www.wikihands.com/attendanceandmarks/updatestudent.php";
JSONParserparser=newJSONParser();
JSONArrayresponse;
StringnameString,mobileString,emailString;
@Override
protectedvoidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_edit_student);
progressDialog=newProgressDialog(EditStudentActivity.this);
nameEdit=(EditText) findViewById(R.id.sname);
mobileEdit=(EditText) findViewById(R.id.smobile);
emailEdit=(EditText) findViewById(R.id.semail);
updateButton=(Button) findViewById(R.id.update);
nameEdit.setText(getIntent().getStringExtra("name"));
mobileEdit.setText(getIntent().getStringExtra("mobile"));
emailEdit.setText(getIntent().getStringExtra("email"));
updateButton.setOnClickListener(new View.OnClickListener() {
@Override
publicvoidonClick(Viewv) {
nameString= nameEdit.getText().toString();
mobileString=mobileEdit.getText().toString();
emailString=emailEdit.getText().toString();
if (nameString.length() >0 && mobileString.length() >0 && emailString.length() >0) {
newUpdatestudent().execute();
} else {
Toast.makeText(EditStudentActivity.this,"Make sure fillall the details",
Toast.LENGTH_LONG).show();
}
}
});
}
publicclassUpdatestudentextendsAsyncTask<String,String,String>
{
@Override
protectedvoidonPreExecute() {
super.onPreExecute();
progressDialog.setMessage("Please wait....");
progressDialog.setCanceledOnTouchOutside(false);
progressDialog.show();
}
@Override
protectedStringdoInBackground(String...params) {
try {
List<NameValuePair>args= new ArrayList<>();
args.add(newBasicNameValuePair("rollno",getIntent().getStringExtra("rollno")));
args.add(newBasicNameValuePair("name",nameString));
args.add(newBasicNameValuePair("mobile",mobileString));
args.add(newBasicNameValuePair("email",emailString));
JSONObjectobject=parser.makeHttpRequest(update_Url,"POST",args);
//response = object.getJSONArray("");
}catch (Exceptione)
{
}
returnnull;
}
@Override
protectedvoidonPostExecute(Strings) {
super.onPostExecute(s);
progressDialog.dismiss();
Toast.makeText(EditStudentActivity.this,"Updatedsuccessfully",Toast.LENGTH_LONG).show();
}
}
}
FacultyHome.java
package com.gpslocation.attendanceandmarkssystem;
importandroid.app.Activity;
importandroid.content.Intent;
importandroid.os.Bundle;
importandroid.view.Menu;
importandroid.view.MenuItem;
importandroid.view.View;
importandroid.widget.Button;
publicclassFacultyHome extendsActivityimplementsView.OnClickListener{
Button takeButton,viewButton,marksButton;
@Override
protectedvoidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_faculty_home);
takeButton=(Button) findViewById(R.id.takeattendance);
viewButton=(Button) findViewById(R.id.viewattendance);
marksButton=(Button) findViewById(R.id.viewmarks);
takeButton.setOnClickListener(this);
viewButton.setOnClickListener(this);
marksButton.setOnClickListener(this);
}
@Override
publicbooleanonCreateOptionsMenu(Menumenu) {
//Inflate the menu;thisaddsitemstothe actionbar if itis present.
getMenuInflater().inflate(R.menu.menu_faculty_home,menu);
returntrue;
}
@Override
publicbooleanonOptionsItemSelected(MenuItemitem) {
//Handle actionbar itemclickshere.The actionbar will
//automaticallyhandle clicksonthe Home/Upbutton,solong
//as you specifyaparentactivityinAndroidManifest.xml.
intid= item.getItemId();
//noinspectionSimplifiableIfStatement
if (id== R.id.action_settings) {
returntrue;
}
returnsuper.onOptionsItemSelected(item);
}
@Override
publicvoidonClick(View v) {
intid=v.getId();
if(id==R.id.takeattendance)
{
Intentin=newIntent(FacultyHome.this,Takeattendance.class);
startActivity(in);
}
else if(id==R.id.viewattendance)
{
Intentin=newIntent(FacultyHome.this,Viewattendance.class);
startActivity(in);
}
else if (id==R.id.viewmarks)
{
Intentin=newIntent(FacultyHome.this,ViewMarks.class);
startActivity(in);
}
}
}
FacultyList.java
package com.gpslocation.attendanceandmarkssystem;
importandroid.app.Activity;
importandroid.app.ProgressDialog;
importandroid.content.Intent;
importandroid.os.AsyncTask;
importandroid.os.Bundle;
importandroid.view.Menu;
importandroid.view.MenuItem;
importandroid.view.View;
importandroid.widget.AdapterView;
importandroid.widget.ArrayAdapter;
importandroid.widget.Button;
importandroid.widget.ListView;
importorg.apache.http.NameValuePair;
importorg.json.JSONArray;
importorg.json.JSONObject;
importjava.util.ArrayList;
importjava.util.List;
publicclassFacultyListextendsActivity{
Button addfacultyButton;
ListViewfacultylistView;
ProgressDialogprogressDialog;
JSONParserparser= newJSONParser();
JSONArrayresponse;
publicStringfacultylistUrl ="http://www.wikihands.com/attendanceandmarks/facultylist.php";
ArrayList<String>facultynameArray=new ArrayList<>();
ArrayList<String>facultymobileArray=new ArrayList<>();
ArrayList<String>facultymailArray=new ArrayList<>();
ArrayList<String>facultydepartArray=new ArrayList<>();
@Override
protectedvoidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_faculty_list);
addfacultyButton=(Button) findViewById(R.id.addfaculty);
facultylistView=(ListView) findViewById(R.id.faultylist);
addfacultyButton.setOnClickListener(new View.OnClickListener() {
@Override
publicvoidonClick(Viewv) {
Intentin= newIntent(FacultyList.this,Addfaculty.class);
startActivity(in);
}
});
facultylistView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
publicvoidonItemClick(AdapterView<?>parent,View view,intposition,longid) {
Intentin= newIntent(FacultyList.this,Viewdetails.class);
in.putExtra("fname",facultynameArray.get(position).toString());
in.putExtra("fmobile",facultymobileArray.get(position).toString());
in.putExtra("fmail",facultymailArray.get(position).toString());
in.putExtra("fdepart",facultydepartArray.get(position).toString());
startActivity(in);
}
});
}
@Override
protectedvoidonResume() {
super.onResume();
facultynameArray.clear();
facultymobileArray.clear();
facultymailArray.clear();
facultydepartArray.clear();
newviewfacultylist().execute();
}
publicclassviewfacultylistextendsAsyncTask<String,String,String>{
@Override
protectedvoidonPreExecute() {
super.onPreExecute();
progressDialog=newProgressDialog(FacultyList.this);
progressDialog.setMessage("Please wait...");
progressDialog.setCanceledOnTouchOutside(false);
progressDialog.show();
}
@Override
protectedStringdoInBackground(String...params) {
try {
List<NameValuePair>args= new ArrayList<>();
JSONObjectobject=parser.makeHttpRequest(facultylistUrl,"GET",args);
response =object.getJSONArray("facultylist");
for (inti = 0; i < response.length();i++) {
JSONObjectc= response.getJSONObject(i);
Stringfname = c.getString("name");
Stringfmobile =c.getString("phone");
Stringfmail = c.getString("mail");
Stringfdepart=c.getString("department");
facultynameArray.add(fname);
facultymobileArray.add(fmobile);
facultymailArray.add(fmail);
facultydepartArray.add(fdepart);
}
} catch (Exceptione) {
}
returnnull;
}
@Override
protectedvoidonPostExecute(Strings) {
super.onPostExecute(s);
ArrayAdapter<String>fadapter=new ArrayAdapter<String>(FacultyList.this,
android.R.layout.simple_list_item_1,facultynameArray);
facultylistView.setAdapter(fadapter);
progressDialog.dismiss();
}
}
}
FacultyLogin.java
package com.gpslocation.attendanceandmarkssystem;
importandroid.app.Activity;
importandroid.app.ProgressDialog;
importandroid.content.Intent;
importandroid.os.AsyncTask;
importandroid.os.Bundle;
importandroid.view.Menu;
importandroid.view.MenuItem;
importandroid.view.View;
importandroid.widget.Button;
importandroid.widget.EditText;
importandroid.widget.Toast;
importorg.apache.http.NameValuePair;
importorg.apache.http.message.BasicNameValuePair;
importorg.json.JSONArray;
importorg.json.JSONObject;
importjava.util.ArrayList;
importjava.util.List;
publicclassFacultyLoginextendsActivity{
EditTextftusername,ftpassword;
Button ftlogin;
StringuserString,passString;
ProgressDialogprogressDialog;
JSONParserparser=newJSONParser();
JSONArrayresponse;
publicStringfloginUrl="http://www.wikihands.com/attendanceandmarks/facultylogin.php";
StringresUser,resPass;
@Override
protectedvoidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_faculty_login);
ftusername=(EditText)findViewById(R.id.facultyusername);
ftpassword=(EditText) findViewById(R.id.facultypassword);
ftlogin=(Button) findViewById(R.id.facultylogin);
ftlogin.setOnClickListener(newView.OnClickListener(){
@Override
publicvoidonClick(Viewv) {
userString=ftusername.getText().toString();
passString=ftpassword.getText().toString();
newfacultylogin().execute();
}
});
}
publicclassfacultyloginextendsAsyncTask<String,String,String>
{
@Override
protectedvoidonPreExecute() {
super.onPreExecute();
progressDialog=newProgressDialog(FacultyLogin.this);
progressDialog.setMessage("Pleasewait...");
progressDialog.setCanceledOnTouchOutside(false);
progressDialog.show();
}
@Override
protectedStringdoInBackground(String...params) {
try {
List<NameValuePair>args= new ArrayList<>();
args.add(newBasicNameValuePair("username",userString));
JSONObjectobject=parser.makeHttpRequest(floginUrl,"POST",args);
response=object.getJSONArray("facultylogin");
for(inti=0;i<response.length();i++)
{
JSONObjectc=response.getJSONObject(i);
resUser=c.getString("username");
resPass=c.getString("password");
}
}catch (Exceptione)
{
}
return null;
}
@Override
protectedvoidonPostExecute(Strings) {
super.onPostExecute(s);
if(userString.equals(resUser)&&passString.equals(resPass))
{
Intentin=newIntent(FacultyLogin.this,FacultyHome.class);
startActivity(in);
}
else
{
Toast.makeText(FacultyLogin.this,"InvalidUsername or
Password",Toast.LENGTH_LONG).show();
}
progressDialog.dismiss();
}
}
}
HomeActivity.java
package com.gpslocation.attendanceandmarkssystem;
importandroid.app.Activity;
importandroid.content.Intent;
importandroid.os.Bundle;
importandroid.view.Menu;
importandroid.view.MenuItem;
importandroid.view.View;
importandroid.widget.Button;
publicclassHomeActivityextendsActivityimplements View.OnClickListener{
Button adminButton,facultyButton,parentButton;
@Override
protectedvoidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
adminButton=(Button) findViewById(R.id.admin);
facultyButton=(Button) findViewById(R.id.faulty);
parentButton=(Button) findViewById(R.id.parent);
adminButton.setOnClickListener(this);
facultyButton.setOnClickListener(this);
parentButton.setOnClickListener(this);
}
@Override
publicbooleanonCreateOptionsMenu(Menumenu) {
//Inflate the menu;thisaddsitemstothe actionbar if itis present.
getMenuInflater().inflate(R.menu.menu_home, menu);
returntrue;
}
@Override
publicbooleanonOptionsItemSelected(MenuItemitem) {
//Handle actionbar itemclickshere.The actionbar will
//automaticallyhandle clicksonthe Home/Upbutton,solong
//as you specifyaparentactivityinAndroidManifest.xml.
intid= item.getItemId();
//noinspectionSimplifiableIfStatement
if (id== R.id.action_settings) {
returntrue;
}
returnsuper.onOptionsItemSelected(item);
}
@Override
publicvoidonClick(View v) {
intid=v.getId();
if(id==R.id.admin)
{
Intentadm=newIntent(HomeActivity.this,Adminlogin.class);
startActivity(adm);
}
else if(id==R.id.faulty)
{
Intentft=newIntent(HomeActivity.this,FacultyLogin.class);
startActivity(ft);
}
else if(id==R.id.parent)
{
Intentpt=newIntent(HomeActivity.this,ParentLogin.class);
startActivity(pt);
}
}
}
JSONParser.java
package com.gpslocation.attendanceandmarkssystem;
importandroid.util.Log;
importorg.apache.http.HttpEntity;
importorg.apache.http.HttpResponse;
importorg.apache.http.NameValuePair;
importorg.apache.http.client.ClientProtocolException;
importorg.apache.http.client.entity.UrlEncodedFormEntity;
importorg.apache.http.client.methods.HttpGet;
importorg.apache.http.client.methods.HttpPost;
importorg.apache.http.client.methods.HttpPut;
importorg.apache.http.client.utils.URLEncodedUtils;
importorg.apache.http.impl.client.DefaultHttpClient;
importorg.json.JSONException;
importorg.json.JSONObject;
importjava.io.BufferedReader;
importjava.io.IOException;
importjava.io.InputStream;
importjava.io.InputStreamReader;
importjava.io.UnsupportedEncodingException;
importjava.util.List;
publicclassJSONParser{
staticInputStreamis= null;
staticJSONObjectjObj =null;
staticString json= "";
// constructor
publicJSONParser() {
}
// functiongetjsonfromurl
// bymakingHTTP POST or GET mehtod
publicJSONObjectmakeHttpRequest(Stringurl,Stringmethod,
List<NameValuePair>params)
{
// MakingHTTP request
try {
// checkfor requestmethod
if(method=="POST"){
// requestmethodisPOST
// defaultHttpClient
DefaultHttpClienthttpClient=new DefaultHttpClient();
HttpPosthttpPost= new HttpPost(url);
httpPost.setEntity(new UrlEncodedFormEntity(params));
HttpResponse httpResponse =httpClient.execute(httpPost);
HttpEntityhttpEntity= httpResponse.getEntity();
is= httpEntity.getContent();
}else if(method=="GET"){
// requestmethodisGET
DefaultHttpClienthttpClient=new DefaultHttpClient();
StringparamString= URLEncodedUtils.format(params,"utf-8");
url += "?" + paramString;
HttpGethttpGet = new HttpGet(url);
HttpResponse httpResponse =httpClient.execute(httpGet);
HttpEntityhttpEntity= httpResponse.getEntity();
is= httpEntity.getContent();
}
else if(method=="PUT")
{
DefaultHttpClienthttpClient=new DefaultHttpClient();
StringparamString= URLEncodedUtils.format(params,"utf-8");
url += "?" + paramString;
HttpPuthttpGet= new HttpPut(url);
HttpResponse httpResponse =httpClient.execute(httpGet);
HttpEntityhttpEntity= httpResponse.getEntity();
is= httpEntity.getContent();
}
} catch (UnsupportedEncodingExceptione) {
e.printStackTrace();
} catch (ClientProtocolExceptione) {
e.printStackTrace();
} catch (IOExceptione) {
e.printStackTrace();
}
try {
BufferedReaderreader=new BufferedReader(new InputStreamReader(
is,"iso-8859-1"),8);
StringBuildersb= new StringBuilder();
Stringline = null;
while ((line =reader.readLine()) !=null) {
sb.append(line +"n");
}
is.close();
json= sb.toString();
} catch (Exceptione) {
Log.e("BufferError","Error convertingresult"+ e.toString());
}
// try parse the stringto a JSON object
try {
jObj = newJSONObject(json);
} catch (JSONExceptione) {
Log.e("JSON Parser","Errorparsingdata" + e.toString());
}
// returnJSON String
returnjObj;
}
}
ParentHomeScreen.java
package com.gpslocation.attendanceandmarkssystem;
importandroid.app.Activity;
importandroid.content.Intent;
importandroid.os.Bundle;
importandroid.view.Menu;
importandroid.view.MenuItem;
importandroid.view.View;
importandroid.widget.Button;
publicclassParentHomeScreenextendsActivityimplementsView.OnClickListener{
Button pviewattendanceButton,pmarksButton;
StringgetRoll;
@Override
protectedvoidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_parent_home_screen);
pviewattendanceButton=(Button) findViewById(R.id.pviewattendance);
pmarksButton=(Button) findViewById(R.id.pviewmarks);
pviewattendanceButton.setOnClickListener(this);
pmarksButton.setOnClickListener(this);
}
@Override
protectedvoidonResume() {
super.onResume();
getRoll =getIntent().getStringExtra("rollno");
}
@Override
publicbooleanonCreateOptionsMenu(Menumenu) {
//Inflate the menu;thisaddsitemstothe actionbar if itis present.
getMenuInflater().inflate(R.menu.menu_parent_home_screen,menu);
returntrue;
}
@Override
publicbooleanonOptionsItemSelected(MenuItemitem) {
//Handle actionbar itemclickshere.The actionbar will
//automaticallyhandle clicksonthe Home/Upbutton,solong
//as you specifyaparentactivityinAndroidManifest.xml.
intid= item.getItemId();
//noinspectionSimplifiableIfStatement
if (id== R.id.action_settings) {
returntrue;
}
returnsuper.onOptionsItemSelected(item);
}
@Override
publicvoidonClick(View v) {
intid= v.getId();
if (id== R.id.pviewattendance) {
Intentin= newIntent(ParentHomeScreen.this,Attendanceviewing.class);
in.putExtra("ROLLNO",getRoll);
startActivity(in);
} else if (id== R.id.pviewmarks){
Intentin= newIntent(ParentHomeScreen.this,ViewMarks.class);
startActivity(in);
}
}
}
ParentLogin.java
package com.gpslocation.attendanceandmarkssystem;
importandroid.app.Activity;
importandroid.content.Intent;
importandroid.os.Bundle;
importandroid.view.Menu;
importandroid.view.MenuItem;
importandroid.view.View;
importandroid.widget.Button;
importandroid.widget.EditText;
publicclassParentLoginextends Activity{
EditTextprollEdit;
Button psubmitButton;
@Override
protectedvoidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_parent_login);
prollEdit=(EditText) findViewById(R.id.prollno);
psubmitButton=(Button) findViewById(R.id.psubmit);
psubmitButton.setOnClickListener(new View.OnClickListener() {
@Override
publicvoidonClick(Viewv) {
StringrollString=prollEdit.getText().toString();
Intentin=newIntent(ParentLogin.this,ParentHomeScreen.class);
in.putExtra("rollno",rollString);
startActivity(in);
}
});
}
@Override
publicbooleanonCreateOptionsMenu(Menumenu) {
//Inflate the menu;thisaddsitemstothe actionbar if itis present.
getMenuInflater().inflate(R.menu.menu_parent_login,menu);
returntrue;
}
@Override
publicbooleanonOptionsItemSelected(MenuItemitem) {
//Handle actionbar itemclickshere.The actionbar will
//automaticallyhandle clicksonthe Home/Upbutton,solong
//as you specifyaparentactivityinAndroidManifest.xml.
intid= item.getItemId();
//noinspectionSimplifiableIfStatement
if (id== R.id.action_settings) {
returntrue;
}
returnsuper.onOptionsItemSelected(item);
}
}
SplashScreen.java
package com.gpslocation.attendanceandmarkssystem;
importandroid.content.Intent;
importandroid.os.Bundle;
importandroid.app.Activity;
publicclassSplashScreenextendsActivity{
@Override
protectedvoidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash_screen);
Threadbackground= newThread() {
publicvoidrun()
{
try
{
sleep(5*1000);
Intentin=newIntent(SplashScreen.this,HomeActivity.class);
startActivity(in);
finish();
}catch (Exceptione)
{
}
}
};
background.start();
}
}
Studentdetails.java
package com.gpslocation.attendanceandmarkssystem;
importandroid.app.Activity;
importandroid.app.ProgressDialog;
importandroid.content.Intent;
importandroid.os.AsyncTask;
importandroid.os.Bundle;
importandroid.view.Menu;
importandroid.view.MenuItem;
importandroid.view.View;
importandroid.widget.Button;
importandroid.widget.TextView;
importorg.apache.http.NameValuePair;
importorg.apache.http.message.BasicNameValuePair;
importorg.json.JSONArray;
importorg.json.JSONObject;
importorg.w3c.dom.Text;
importjava.util.ArrayList;
importjava.util.List;
publicclassStudentdetailsextendsActivityimplementsView.OnClickListener{
TextView sdetails;
Button editButton, deleteButton;
ProgressDialogprogressDialog;
publicstaticStringdelete_Url =
"http://www.wikihands.com/attendanceandmarks/deletestudent.php";
JSONParserparser= newJSONParser();
JSONArrayresponse;
@Override
protectedvoidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_studentdetails);
progressDialog=newProgressDialog(Studentdetails.this);
sdetails=(TextView) findViewById(R.id.studentdetails);
editButton=(Button) findViewById(R.id.edit);
deleteButton=(Button) findViewById(R.id.delete);
Stringgetroll =getIntent().getStringExtra("rollno");
Stringgetname =getIntent().getStringExtra("name");
Stringgetmobile=getIntent().getStringExtra("mobile");
Stringgetmail =getIntent().getStringExtra("mail");
editButton.setOnClickListener(this);
deleteButton.setOnClickListener(this);
sdetails.setText("Roll no:"+ getroll +"nName:" + getname + "nMobile:"+ getmobile +"nE-mail:
" + getmail);
}
@Override
publicbooleanonCreateOptionsMenu(Menumenu) {
//Inflate the menu;thisaddsitemstothe actionbar if itis present.
getMenuInflater().inflate(R.menu.menu_studentdetails,menu);
returntrue;
}
@Override
publicbooleanonOptionsItemSelected(MenuItemitem) {
//Handle actionbar itemclickshere.The actionbar will
//automaticallyhandle clicksonthe Home/Upbutton,solong
//as you specifyaparentactivityinAndroidManifest.xml.
intid= item.getItemId();
//noinspectionSimplifiableIfStatement
if (id== R.id.action_settings) {
returntrue;
}
returnsuper.onOptionsItemSelected(item);
}
@Override
publicvoidonClick(View v) {
intid= v.getId();
if (id== R.id.edit) {
Intentintent=newIntent(Studentdetails.this,EditStudentActivity.class);
intent.putExtra("rollno",getIntent().getStringExtra("rollno"));
intent.putExtra("name",getIntent().getStringExtra("name"));
intent.putExtra("mobile",getIntent().getStringExtra("mobile"));
intent.putExtra("email",getIntent().getStringExtra("mail"));
startActivity(intent);
} else if (id== R.id.delete) {
newDeletestudent().execute();
}
}
publicclassDeletestudentextendsAsyncTask<String,String,String>{
@Override
protectedvoidonPreExecute() {
super.onPreExecute();
progressDialog.setMessage("Please wait....");
progressDialog.setCanceledOnTouchOutside(false);
progressDialog.show();
}
@Override
protectedStringdoInBackground(String...params) {
try {
List<NameValuePair>args= new ArrayList<>();
args.add(newBasicNameValuePair("rollno",getIntent().getStringExtra("rollno")));
JSONObjectobject=parser.makeHttpRequest(delete_Url,"POST",args);
// response =object.getJSONArray("");
} catch (Exceptione) {
}
returnnull;
}
@Override
protectedvoidonPostExecute(Strings) {
super.onPostExecute(s);
progressDialog.dismiss();
Intentin= newIntent(Studentdetails.this,StudentList.class);
startActivity(in);
}
}
}
StudentList.java
package com.gpslocation.attendanceandmarkssystem;
importandroid.app.Activity;
importandroid.app.ProgressDialog;
importandroid.content.Intent;
importandroid.os.AsyncTask;
importandroid.os.Bundle;
importandroid.view.Menu;
importandroid.view.MenuItem;
importandroid.view.View;
importandroid.widget.AdapterView;
importandroid.widget.ArrayAdapter;
importandroid.widget.Button;
importandroid.widget.ListView;
importorg.apache.http.NameValuePair;
importorg.json.JSONArray;
importorg.json.JSONObject;
importjava.util.ArrayList;
importjava.util.List;
publicclassStudentListextendsActivity{
Button addstudentButton;
ListViewstudentlistView;
ProgressDialogprogressDialog;
JSONParserparser=newJSONParser();
JSONArrayresponse;
publicStringstudentlistUrl="http://www.wikihands.com/attendanceandmarks/studentlist.php";
ArrayList<String>studentrollArray=new ArrayList<>();
ArrayList<String>studentnameArray=new ArrayList<>();
ArrayList<String>studentmobileArray=new ArrayList<>();
ArrayList<String>studentmailArray=new ArrayList<>();
@Override
protectedvoidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_student_list);
addstudentButton=(Button) findViewById(R.id.addstudent);
studentlistView=(ListView) findViewById(R.id.studentlist);
addstudentButton.setOnClickListener(newView.OnClickListener() {
@Override
publicvoidonClick(Viewv) {
Intentin=newIntent(StudentList.this,Addstudent.class);
startActivity(in);
}
});
studentlistView.setOnItemClickListener(newAdapterView.OnItemClickListener() {
@Override
publicvoidonItemClick(AdapterView<?>parent,View view,intposition,longid) {
Intentin=newIntent(StudentList.this,Studentdetails.class);
in.putExtra("rollno",studentrollArray.get(position).toString());
in.putExtra("name",studentnameArray.get(position).toString());
in.putExtra("mobile",studentmobileArray.get(position).toString());
in.putExtra("mail",studentmailArray.get(position).toString());
startActivity(in);
}
});
}
@Override
protectedvoidonResume() {
super.onResume();
studentnameArray.clear();
newviewstudentlist().execute();
}
publicclassviewstudentlistextendsAsyncTask<String,String,String>
{
@Override
protectedvoidonPreExecute() {
super.onPreExecute();
progressDialog=new ProgressDialog(StudentList.this);
progressDialog.setMessage("Please wait...");
progressDialog.setCanceledOnTouchOutside(false);
progressDialog.show();
}
@Override
protectedStringdoInBackground(String...params) {
try {
List<NameValuePair>args= new ArrayList<>();
JSONObjectobject=parser.makeHttpRequest(studentlistUrl,"GET",args);
response =object.getJSONArray("studentlist");
for(inti=0;i<response.length();i++)
{
JSONObjectc=response.getJSONObject(i);
Stringsroll=c.getString("rollno");
Stringsname=c.getString("name");
Stringsmobile=c.getString("phone");
Stringsmail=c.getString("mail");
studentrollArray.add(sroll);
studentnameArray.add(sname);
studentmobileArray.add(smobile);
studentmailArray.add(smail);
}
}catch (Exceptione)
{
}
returnnull;
}
@Override
protectedvoidonPostExecute(Strings) {
super.onPostExecute(s);
ArrayAdapter<String>sadapter=new
ArrayAdapter<String>(StudentList.this,android.R.layout.simple_list_item_1,studentnameArray);
studentlistView.setAdapter(sadapter);
progressDialog.dismiss();
}
}
}
Takeattendance.java
package com.gpslocation.attendanceandmarkssystem;
importandroid.app.Activity;
importandroid.app.Dialog;
importandroid.app.ProgressDialog;
importandroid.os.AsyncTask;
importandroid.os.Bundle;
importandroid.telephony.SmsManager;
importandroid.util.Log;
importandroid.view.Menu;
importandroid.view.MenuItem;
importandroid.view.View;
importandroid.view.ViewGroup;
importandroid.widget.AdapterView;
importandroid.widget.ArrayAdapter;
importandroid.widget.BaseAdapter;
importandroid.widget.Button;
importandroid.widget.CheckBox;
importandroid.widget.CompoundButton;
importandroid.widget.EditText;
importandroid.widget.ListView;
importandroid.widget.Spinner;
importorg.apache.http.NameValuePair;
importorg.apache.http.message.BasicNameValuePair;
importorg.json.JSONArray;
importorg.json.JSONObject;
importjava.util.ArrayList;
importjava.util.List;
publicclassTakeattendance extendsActivity{
ListViewtakeList;
Button submitButton;
ProgressDialogprogressDialog;
JSONParserparser= newJSONParser();
JSONArrayresponse;
publicStringstudentattendanceUrl =
"http://www.wikihands.com/attendanceandmarks/attendance.php";
publicStringstudentlistUrl ="http://www.wikihands.com/attendanceandmarks/studentlist.php";
ArrayList<String>checkedList=newArrayList<>();
ArrayList<String>uncheckedList=new ArrayList<>();
ArrayList<String>checkmobileList=new ArrayList<>();
ArrayList<String>uncheckmobileList=new ArrayList<>();
ArrayList<String>studentlistArray=new ArrayList<>();
ArrayList<String>studentmobileArray=new ArrayList<>();
Stringmessage;
String[] timeArray={"SelectTime","07:10AM","07:15AM","08:15AM","08:45AM","09:15AM",
"9:30AM", "10:00AM", "11:00AM","11:30AM",
"12:00PM","12:30PM", "02:00PM", "02:30PM","03:30PM","04:00PM"};
StringtimeString;
@Override
protectedvoidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_takeattendance);
submitButton=(Button) findViewById(R.id.submitattendance);
takeList= (ListView)findViewById(R.id.stlist);
submitButton.setOnClickListener(new View.OnClickListener() {
@Override
publicvoidonClick(Viewv) {
final Dialogd= newDialog(Takeattendance.this);
d.setContentView(R.layout.take);
d.setTitle(" Give your details");
final EditTextsub= (EditText) d.findViewById(R.id.subject);
Spinnertime =(Spinner) d.findViewById(R.id.time);
ArrayAdapter<String>adapter=new ArrayAdapter<String>(Takeattendance.this,
android.R.layout.simple_list_item_1,timeArray);
time.setAdapter(adapter);
time.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
publicvoidonItemSelected(AdapterView<?>parent,View view,intposition,longid) {
timeString=parent.getItemAtPosition(position).toString();
}
@Override
publicvoidonNothingSelected(AdapterView<?>parent) {
}
});
Buttonsend= (Button) d.findViewById(R.id.send);
send.setOnClickListener(newView.OnClickListener() {
@Override
publicvoidonClick(View v) {
message =sub.getText().toString();
newuploadattendance().execute();
d.dismiss();
}
});
d.show();
}
});
}
@Override
protectedvoidonResume() {
super.onResume();
studentlistArray.clear();
newgetstudents().execute();
}
publicclassgetstudentsextendsAsyncTask<String,String,String>{
@Override
protectedvoidonPreExecute() {
super.onPreExecute();
progressDialog=newProgressDialog(Takeattendance.this);
progressDialog.setMessage("Please wait...");
progressDialog.setCanceledOnTouchOutside(false);
progressDialog.show();
}
@Override
protectedStringdoInBackground(String...params) {
try {
List<NameValuePair>args= new ArrayList<>();
JSONObjectobject=parser.makeHttpRequest(studentlistUrl,"GET",args);
response =object.getJSONArray("studentlist");
for (inti = 0; i < response.length();i++) {
JSONObjectc= response.getJSONObject(i);
// Stringsroll = c.getString("rollno");
Stringsname=c.getString("name");
Stringsmobile =c.getString("phone");
studentlistArray.add(sname);
studentmobileArray.add(smobile);
uncheckedList.add(sname);
uncheckmobileList.add(smobile);
}
} catch (Exceptione) {
}
returnnull;
}
@Override
protectedvoidonPostExecute(Strings) {
super.onPostExecute(s);
takeList.setAdapter(newstudentAdapter());
progressDialog.dismiss();
}
}
publicclassstudentAdapterextendsBaseAdapter{
@Override
publicintgetCount(){
returnstudentlistArray.size();
}
@Override
publicObjectgetItem(int position) {
returnnull;
}
@Override
publiclonggetItemId(intposition) {
return0;
}
@Override
publicView getView(final intposition,ViewconvertView,ViewGroupparent){
convertView=getLayoutInflater().inflate(R.layout.rollnumberlist,null);
CheckBox checkBox =(CheckBox) convertView.findViewById(R.id.rollCheck);
checkBox.setText(studentlistArray.get(position));
checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
publicvoidonCheckedChanged(CompoundButtonbuttonView,booleanisChecked) {
if (isChecked==true) {
// Toast.makeText(StudentList.this,"true"+position,Toast.LENGTH_SHORT).show();
checkedList.add(studentlistArray.get(position).toString());
uncheckedList.remove(studentlistArray.get(position).toString());
checkmobileList.add(studentmobileArray.get(position).toString());
uncheckmobileList.remove(studentmobileArray.get(position).toString());
}
if (isChecked==false) {
// Toast.makeText(StudentList.this,"false"+position,Toast.LENGTH_SHORT).show();
checkedList.remove(studentlistArray.get(position).toString());
uncheckedList.add(studentlistArray.get(position).toString());
checkmobileList.remove(studentmobileArray.get(position).toString());
uncheckmobileList.add(studentmobileArray.get(position).toString());
}
}
});
returnconvertView;
}
}
publicclassuploadattendanceextendsAsyncTask<String,String,String>{
@Override
protectedvoidonPreExecute() {
super.onPreExecute();
progressDialog=newProgressDialog(Takeattendance.this);
progressDialog.setMessage("Please wait...");
progressDialog.setCanceledOnTouchOutside(false);
progressDialog.show();
}
@Override
protectedStringdoInBackground(String...params) {
List<NameValuePair>args= newArrayList<>();
for(intp = 0; p < checkedList.size();p++) {
args.add(newBasicNameValuePair("rollno",checkedList.get(p).toString()));
args.add(newBasicNameValuePair("status","A"));
JSONObjectobject=parser.makeHttpRequest(studentattendanceUrl,"POST",args);
}
for(intp = 0; p < uncheckedList.size();p++) {
args.add(newBasicNameValuePair("rollno",uncheckedList.get(p).toString()));
args.add(newBasicNameValuePair("status","P"));
JSONObjectobject=parser.makeHttpRequest(studentattendanceUrl,"POST",args);
}
for(intp = 0; p < checkmobileList.size();p++) {
SmsManagermanager= SmsManager.getDefault();
manager.sendTextMessage(checkmobileList.get(p).toString(),null,"Yourwardisabsentfor
class'"+message+"'at '"+timeString+"'.PleasecontactN.Lavanya8297225625 ",null,null);
Log.v("dddddddd",""+ checkmobileList.toString());
}
returnnull;
}
@Override
protectedvoidonPostExecute(Strings) {
super.onPostExecute(s);
progressDialog.dismiss();
}
}
}
Viewattendance.java
package com.gpslocation.attendanceandmarkssystem;
importandroid.app.Activity;
importandroid.app.Dialog;
importandroid.app.ProgressDialog;
importandroid.os.AsyncTask;
importandroid.os.Bundle;
importandroid.telephony.SmsManager;
importandroid.util.Log;
importandroid.view.Menu;
importandroid.view.MenuItem;
importandroid.view.View;
importandroid.view.ViewGroup;
importandroid.widget.AdapterView;
importandroid.widget.ArrayAdapter;
importandroid.widget.BaseAdapter;
importandroid.widget.Button;
importandroid.widget.CheckBox;
importandroid.widget.CompoundButton;
importandroid.widget.EditText;
importandroid.widget.ListView;
importandroid.widget.Spinner;
importorg.apache.http.NameValuePair;
importorg.apache.http.message.BasicNameValuePair;
importorg.json.JSONArray;
importorg.json.JSONObject;
importjava.util.ArrayList;
importjava.util.List;
publicclassTakeattendance extendsActivity{
ListViewtakeList;
Button submitButton;
ProgressDialogprogressDialog;
JSONParserparser= newJSONParser();
JSONArrayresponse;
publicStringstudentattendanceUrl =
"http://www.wikihands.com/attendanceandmarks/attendance.php";
publicStringstudentlistUrl ="http://www.wikihands.com/attendanceandmarks/studentlist.php";
ArrayList<String>checkedList=newArrayList<>();
ArrayList<String>uncheckedList=new ArrayList<>();
ArrayList<String>checkmobileList=new ArrayList<>();
ArrayList<String>uncheckmobileList=new ArrayList<>();
ArrayList<String>studentlistArray=new ArrayList<>();
ArrayList<String>studentmobileArray=new ArrayList<>();
Stringmessage;
String[] timeArray={"SelectTime","07:10AM","07:15AM","08:15AM","08:45AM","09:15AM",
"9:30AM", "10:00AM", "11:00AM","11:30AM",
"12:00PM","12:30PM", "02:00PM", "02:30PM","03:30PM","04:00PM"};
StringtimeString;
@Override
protectedvoidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_takeattendance);
submitButton=(Button) findViewById(R.id.submitattendance);
takeList= (ListView)findViewById(R.id.stlist);
submitButton.setOnClickListener(new View.OnClickListener() {
@Override
publicvoidonClick(Viewv) {
final Dialogd= newDialog(Takeattendance.this);
d.setContentView(R.layout.take);
d.setTitle(" Give your details");
final EditTextsub= (EditText) d.findViewById(R.id.subject);
Spinnertime =(Spinner) d.findViewById(R.id.time);
ArrayAdapter<String>adapter=new ArrayAdapter<String>(Takeattendance.this,
android.R.layout.simple_list_item_1,timeArray);
time.setAdapter(adapter);
time.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
publicvoidonItemSelected(AdapterView<?>parent,View view,intposition,longid) {
timeString=parent.getItemAtPosition(position).toString();
}
@Override
publicvoidonNothingSelected(AdapterView<?>parent) {
}
});
Buttonsend= (Button) d.findViewById(R.id.send);
send.setOnClickListener(newView.OnClickListener() {
@Override
publicvoidonClick(View v) {
message =sub.getText().toString();
newuploadattendance().execute();
d.dismiss();
}
});
d.show();
}
});
}
@Override
protectedvoidonResume() {
super.onResume();
studentlistArray.clear();
newgetstudents().execute();
}
publicclassgetstudentsextendsAsyncTask<String,String,String>{
@Override
protectedvoidonPreExecute() {
super.onPreExecute();
progressDialog=newProgressDialog(Takeattendance.this);
progressDialog.setMessage("Please wait...");
progressDialog.setCanceledOnTouchOutside(false);
progressDialog.show();
}
@Override
protectedStringdoInBackground(String...params) {
try {
List<NameValuePair>args= new ArrayList<>();
JSONObjectobject=parser.makeHttpRequest(studentlistUrl,"GET",args);
response =object.getJSONArray("studentlist");
for (inti = 0; i < response.length();i++) {
JSONObjectc= response.getJSONObject(i);
// Stringsroll = c.getString("rollno");
Stringsname=c.getString("name");
Stringsmobile =c.getString("phone");
studentlistArray.add(sname);
studentmobileArray.add(smobile);
uncheckedList.add(sname);
uncheckmobileList.add(smobile);
}
} catch (Exceptione) {
}
returnnull;
}
@Override
protectedvoidonPostExecute(Strings) {
super.onPostExecute(s);
takeList.setAdapter(newstudentAdapter());
progressDialog.dismiss();
}
}
publicclassstudentAdapterextendsBaseAdapter{
@Override
publicintgetCount(){
returnstudentlistArray.size();
}
@Override
publicObjectgetItem(intposition) {
returnnull;
}
@Override
publiclonggetItemId(intposition) {
return0;
}
@Override
publicView getView(final intposition,ViewconvertView,ViewGroupparent){
convertView=getLayoutInflater().inflate(R.layout.rollnumberlist,null);
CheckBox checkBox =(CheckBox) convertView.findViewById(R.id.rollCheck);
checkBox.setText(studentlistArray.get(position));
checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
publicvoidonCheckedChanged(CompoundButtonbuttonView, booleanisChecked) {
if (isChecked==true) {
// Toast.makeText(StudentList.this,"true"+position,Toast.LENGTH_SHORT).show();
checkedList.add(studentlistArray.get(position).toString());
uncheckedList.remove(studentlistArray.get(position).toString());
checkmobileList.add(studentmobileArray.get(position).toString());
uncheckmobileList.remove(studentmobileArray.get(position).toString());
}
if (isChecked==false) {
// Toast.makeText(StudentList.this,"false"+position,Toast.LENGTH_SHORT).show();
checkedList.remove(studentlistArray.get(position).toString());
uncheckedList.add(studentlistArray.get(position).toString());
checkmobileList.remove(studentmobileArray.get(position).toString());
uncheckmobileList.add(studentmobileArray.get(position).toString());
}
}
});
returnconvertView;
}
}
publicclassuploadattendanceextendsAsyncTask<String,String,String>{
@Override
protectedvoidonPreExecute() {
super.onPreExecute();
progressDialog=newProgressDialog(Takeattendance.this);
progressDialog.setMessage("Please wait...");
progressDialog.setCanceledOnTouchOutside(false);
progressDialog.show();
}
@Override
protectedStringdoInBackground(String...params) {
List<NameValuePair>args= newArrayList<>();
for(intp = 0; p < checkedList.size();p++) {
args.add(newBasicNameValuePair("rollno",checkedList.get(p).toString()));
args.add(newBasicNameValuePair("status","A"));
JSONObjectobject=parser.makeHttpRequest(studentattendanceUrl,"POST",args);
}
for(intp = 0; p < uncheckedList.size();p++) {
args.add(newBasicNameValuePair("rollno",uncheckedList.get(p).toString()));
args.add(newBasicNameValuePair("status","P"));
JSONObjectobject=parser.makeHttpRequest(studentattendanceUrl,"POST",args);
}
for(intp = 0; p < checkmobileList.size();p++) {
SmsManagermanager= SmsManager.getDefault();
manager.sendTextMessage(checkmobileList.get(p).toString(),null,"Yourwardisabsentfor
class'"+message+"'at '"+timeString+"'.PleasecontactN.Lavanya8297225625 ",null,null);
Log.v("dddddddd",""+ checkmobileList.toString());
}
returnnull;
}
@Override
protectedvoidonPostExecute(Strings) {
super.onPostExecute(s);
progressDialog.dismiss();
}
}
}
Viewattendance.java
package com.gpslocation.attendanceandmarkssystem;
importandroid.app.Activity;
importandroid.app.ProgressDialog;
importandroid.content.Intent;
importandroid.os.AsyncTask;
importandroid.os.Bundle;
importandroid.view.Menu;
importandroid.view.MenuItem;
importandroid.view.View;
importandroid.widget.AdapterView;
importandroid.widget.ArrayAdapter;
importandroid.widget.ListView;
importorg.apache.http.NameValuePair;
importorg.json.JSONArray;
importorg.json.JSONObject;
importjava.util.ArrayList;
importjava.util.List;
publicclassViewattendanceextendsActivity {
ListViewvlistview;
ProgressDialogprogressDialog;
JSONParserparser=newJSONParser();
JSONArrayresponse;
publicStringstudentlistUrl="http://www.wikihands.com/attendanceandmarks/studentlist.php";
ArrayList<String>rollnolistArray=newArrayList<>();
@Override
protectedvoidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_viewattendance);
vlistview=(ListView) findViewById(R.id.vlist);
vlistview.setOnItemClickListener(newAdapterView.OnItemClickListener() {
@Override
publicvoidonItemClick(AdapterView<?>parent,View view,intposition,longid) {
Intentin=newIntent(Viewattendance.this,Attendanceviewing.class);
in.putExtra("ROLLNO",rollnolistArray.get(position).toString());
startActivity(in);
}
});
}
@Override
protectedvoidonResume() {
super.onResume();
rollnolistArray.clear();
newgetstudents().execute();
}
publicclassgetstudentsextendsAsyncTask<String,String,String>
{
@Override
protectedvoidonPreExecute() {
super.onPreExecute();
progressDialog=new ProgressDialog(Viewattendance.this);
progressDialog.setMessage("Please wait...");
progressDialog.setCanceledOnTouchOutside(false);
progressDialog.show();
}
@Override
protected StringdoInBackground(String...params) {
try {
List<NameValuePair>args= new ArrayList<>();
JSONObjectobject=parser.makeHttpRequest(studentlistUrl,"GET",args);
response =object.getJSONArray("studentlist");
for(inti=0;i<response.length();i++)
{
JSONObjectc=response.getJSONObject(i);
Stringsroll=c.getString("rollno");
Stringsname=c.getString("name");
rollnolistArray.add(sname);
}
}catch (Exceptione)
{
}
returnnull;
}
@Override
protectedvoidonPostExecute(Strings) {
super.onPostExecute(s);
ArrayAdapter<String>vadapter=new
ArrayAdapter<String>(Viewattendance.this,android.R.layout.simple_list_item_1,rollnolistArray);
vlistview.setAdapter(vadapter);
progressDialog.dismiss();
}
}
}
Viewdetail.java
package com.gpslocation.attendanceandmarkssystem;
importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.view.Menu;
importandroid.view.MenuItem;
importandroid.widget.TextView;
publicclassViewdetailsextendsActivity{
TextView detailsTextview;
@Override
protectedvoidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_viewdetails);
detailsTextview=(TextView) findViewById(R.id.details);
Stringgetname=getIntent().getStringExtra("fname");
Stringgetmobile=getIntent().getStringExtra("fmobile");
Stringgetmail=getIntent().getStringExtra("fmail");
Stringgetdepart=getIntent().getStringExtra("fdepart");
detailsTextview.setText("Name:"+getname+"nMobile:"+getmobile+"nE-mail:
"+getmail+"nDepartment:"+getdepart);
}
@Override
publicbooleanonCreateOptionsMenu(Menumenu) {
//Inflate the menu;thisaddsitemstothe actionbar if itis present.
getMenuInflater().inflate(R.menu.menu_viewdetails,menu);
returntrue;
}
@Override
publicbooleanonOptionsItemSelected(MenuItemitem) {
//Handle actionbar itemclickshere.The actionbar will
//automaticallyhandle clicksonthe Home/Upbutton,solong
//as you specifyaparentactivityinAndroidManifest.xml.
intid= item.getItemId();
//noinspectionSimplifiableIfStatement
if (id== R.id.action_settings) {
returntrue;
}
returnsuper.onOptionsItemSelected(item);
}
}
ViewMasks.java
package com.gpslocation.attendanceandmarkssystem;
importandroid.annotation.TargetApi;
importandroid.app.Activity;
importandroid.content.res.AssetManager;
importandroid.os.Build;
importandroid.os.Bundle;
importandroid.view.Menu;
importandroid.view.MenuItem;
importandroid.webkit.WebSettings;
importandroid.webkit.WebView;
importjava.io.BufferedReader;
importjava.io.IOException;
importjava.io.InputStream;
importjava.io.InputStreamReader;
importjava.io.Reader;
importjava.io.StringWriter;
importjava.io.Writer;
publicclassViewMarksextendsActivity{
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
@Override
protectedvoidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_view_marks);
WebViewhtmlWebView=(WebView)findViewById(R.id.web);
WebSettingswebSetting=htmlWebView.getSettings();
webSetting.setJavaScriptEnabled(true);
webSetting.setDisplayZoomControls(true);
StringhtmlFilename="marksheet.html";
AssetManagermgr= getBaseContext().getAssets();
try {
InputStreamin= mgr.open(htmlFilename,AssetManager.ACCESS_BUFFER);
StringhtmlContentInStringFormat=StreamToString(in);
in.close();
htmlWebView.loadDataWithBaseURL(null,htmlContentInStringFormat,"text/html","utf-8",null);
} catch (IOExceptione) {
e.printStackTrace();
}
}
publicstaticStringStreamToString(InputStreamin) throwsIOException{
if(in==null) {
return"";
}
Writerwriter= newStringWriter();
char[] buffer= newchar[1024];
try {
Readerreader= newBufferedReader(new InputStreamReader(in,"UTF-8"));
intn;
while ((n=reader.read(buffer)) !=-1) {
writer.write(buffer,0,n);
}
} finally{
}
returnwriter.toString();
}
@Override
publicbooleanonCreateOptionsMenu(Menumenu) {
//Inflate the menu;thisaddsitemstothe actionbar if itis present.
getMenuInflater().inflate(R.menu.menu_view_marks,menu);
returntrue;
}
@Override
publicbooleanonOptionsItemSelected(MenuItemitem) {
//Handle actionbar itemclickshere.The actionbar will
//automaticallyhandle clicksonthe Home/Upbutton,solong
//as you specifyaparentactivityinAndroidManifest.xml.
intid= item.getItemId();
//noinspectionSimplifiableIfStatement
if (id== R.id.action_settings) {
returntrue;
}
returnsuper.onOptionsItemSelected(item);
}
}
Parent communication register android application Coding

More Related Content

Viewers also liked

Information Security Management
Information Security ManagementInformation Security Management
Information Security ManagementBhadra Gowdra
 
The uniform trade secrets act
The uniform trade secrets actThe uniform trade secrets act
The uniform trade secrets actBhadra Gowdra
 
COLLEGE PHONE BOOK Final documentation
COLLEGE PHONE BOOK Final documentationCOLLEGE PHONE BOOK Final documentation
COLLEGE PHONE BOOK Final documentationBhadra Gowdra
 
Your birth-date-surprisingly-reveals-a-lot-about-your-personality,-know-them!
Your birth-date-surprisingly-reveals-a-lot-about-your-personality,-know-them!Your birth-date-surprisingly-reveals-a-lot-about-your-personality,-know-them!
Your birth-date-surprisingly-reveals-a-lot-about-your-personality,-know-them!Bhadra Gowdra
 
Parent communication register android application
Parent communication register android applicationParent communication register android application
Parent communication register android applicationBhadra Gowdra
 
Pill camera by bhadra
Pill camera by bhadraPill camera by bhadra
Pill camera by bhadraBhadra Gowdra
 
Pill camera documentation
Pill camera documentationPill camera documentation
Pill camera documentationBhadra Gowdra
 
GPS DOCUMENT
GPS DOCUMENTGPS DOCUMENT
GPS DOCUMENTTuhin_Das
 

Viewers also liked (12)

Information Security Management
Information Security ManagementInformation Security Management
Information Security Management
 
The uniform trade secrets act
The uniform trade secrets actThe uniform trade secrets act
The uniform trade secrets act
 
COLLEGE PHONE BOOK Final documentation
COLLEGE PHONE BOOK Final documentationCOLLEGE PHONE BOOK Final documentation
COLLEGE PHONE BOOK Final documentation
 
Fun Food
Fun FoodFun Food
Fun Food
 
Your birth-date-surprisingly-reveals-a-lot-about-your-personality,-know-them!
Your birth-date-surprisingly-reveals-a-lot-about-your-personality,-know-them!Your birth-date-surprisingly-reveals-a-lot-about-your-personality,-know-them!
Your birth-date-surprisingly-reveals-a-lot-about-your-personality,-know-them!
 
Parent communication register android application
Parent communication register android applicationParent communication register android application
Parent communication register android application
 
Pill camera by bhadra
Pill camera by bhadraPill camera by bhadra
Pill camera by bhadra
 
Pill camera documentation
Pill camera documentationPill camera documentation
Pill camera documentation
 
GPS DOCUMENT
GPS DOCUMENTGPS DOCUMENT
GPS DOCUMENT
 
Pill camera presentation
Pill camera presentationPill camera presentation
Pill camera presentation
 
Gps
GpsGps
Gps
 
GPS ppt.
GPS ppt. GPS ppt.
GPS ppt.
 

More from Bhadra Gowdra

Analysis of historical movie data by BHADRA
Analysis of historical movie data by BHADRAAnalysis of historical movie data by BHADRA
Analysis of historical movie data by BHADRABhadra Gowdra
 
I locate security for lost or misplaced devices PPT
I locate security for lost or misplaced devices PPTI locate security for lost or misplaced devices PPT
I locate security for lost or misplaced devices PPTBhadra Gowdra
 
Worldranking universities final documentation
Worldranking universities final documentationWorldranking universities final documentation
Worldranking universities final documentationBhadra Gowdra
 
plant disease recognition method is proposed based on plant images abstract
plant disease recognition method is proposed based on plant images abstractplant disease recognition method is proposed based on plant images abstract
plant disease recognition method is proposed based on plant images abstractBhadra Gowdra
 
Braincomputerinterface ppt
Braincomputerinterface pptBraincomputerinterface ppt
Braincomputerinterface pptBhadra Gowdra
 
BRAIN COMPUTER INTERFACE Documentation
BRAIN COMPUTER INTERFACE DocumentationBRAIN COMPUTER INTERFACE Documentation
BRAIN COMPUTER INTERFACE DocumentationBhadra Gowdra
 
Smatcard documentation
Smatcard documentationSmatcard documentation
Smatcard documentationBhadra Gowdra
 
5G wireless technology and internet of things
5G wireless technology and internet of things5G wireless technology and internet of things
5G wireless technology and internet of thingsBhadra Gowdra
 
5G NETWORK AND INTERNET OF THINGS doc
5G NETWORK AND INTERNET OF THINGS doc5G NETWORK AND INTERNET OF THINGS doc
5G NETWORK AND INTERNET OF THINGS docBhadra Gowdra
 

More from Bhadra Gowdra (13)

Analysis of historical movie data by BHADRA
Analysis of historical movie data by BHADRAAnalysis of historical movie data by BHADRA
Analysis of historical movie data by BHADRA
 
I locate security for lost or misplaced devices PPT
I locate security for lost or misplaced devices PPTI locate security for lost or misplaced devices PPT
I locate security for lost or misplaced devices PPT
 
FUN AND FOOD PPT
FUN AND FOOD PPTFUN AND FOOD PPT
FUN AND FOOD PPT
 
Worldranking universities final documentation
Worldranking universities final documentationWorldranking universities final documentation
Worldranking universities final documentation
 
plant disease recognition method is proposed based on plant images abstract
plant disease recognition method is proposed based on plant images abstractplant disease recognition method is proposed based on plant images abstract
plant disease recognition method is proposed based on plant images abstract
 
Braincomputerinterface ppt
Braincomputerinterface pptBraincomputerinterface ppt
Braincomputerinterface ppt
 
BRAIN COMPUTER INTERFACE Documentation
BRAIN COMPUTER INTERFACE DocumentationBRAIN COMPUTER INTERFACE Documentation
BRAIN COMPUTER INTERFACE Documentation
 
mobile-jammer
mobile-jammermobile-jammer
mobile-jammer
 
BTech Resume
BTech Resume BTech Resume
BTech Resume
 
Smart card
Smart cardSmart card
Smart card
 
Smatcard documentation
Smatcard documentationSmatcard documentation
Smatcard documentation
 
5G wireless technology and internet of things
5G wireless technology and internet of things5G wireless technology and internet of things
5G wireless technology and internet of things
 
5G NETWORK AND INTERNET OF THINGS doc
5G NETWORK AND INTERNET OF THINGS doc5G NETWORK AND INTERNET OF THINGS doc
5G NETWORK AND INTERNET OF THINGS doc
 

Parent communication register android application Coding