App Code
App Code
2018
MainActivity.java:
package com.example.user5.agro;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView;
Button btn1,btn2,btn3;
dbhandlerdatabaseHandler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn1=(Button) findViewById(R.id.button32);
btn2=(Button) findViewById(R.id.button33);
btn3=(Button) findViewById(R.id.button34);
btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i2=new Intent(MainActivity.this,dealer_login.class);
startActivity(i2);
}
});
AgroGuide
2018
btn3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i3=new Intent(MainActivity.this,login_page.class);
startActivity(i3);
}
});
}
@Override
public booleanonCreateOptionsMenu(Menu menu)
{
getMenuInflater().inflate(R.menu.menu,menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public booleanonOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case R.id.item1:
Intent i3=new Intent(MainActivity.this,login_page.class);
i3.putExtra("title","experts");
startActivity(i3);
break;
case R.id.item2:
Intent i=new Intent(MainActivity.this,user_login.class);
i.putExtra("title","users");
startActivity(i);
break;
case R.id.item3:
Intent i2 = new Intent(MainActivity.this,dealer_login.class);
i2.putExtra("title", "dealers");
startActivity(i2);
break;
case R.id.item4:
Intent i4=new Intent(MainActivity.this,admin_login.class);
i4.putExtra("title","admin");
startActivity(i4);
}
AgroGuide
2018
return super.onOptionsItemSelected(item);
}
user_create.java:
package com.example.user5.agro;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.util.Patterns;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
EditTextedtxt1;
EditTextedtxt2;
EditTextedtxt3;
EditTextedtxt4;
Spinner spin1;
Spinner spin2;
Button btn;
dbhandlerdatabaseHandler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_user_create);
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
@Override
public void afterTextChanged(Editable s) {
validate();
}
};
edtxt1.addTextChangedListener(tw);
edtxt2.addTextChangedListener(tw);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name = edtxt1.getText().toString();
String phone_n0 = edtxt2.getText().toString();
if (name.length() == 0) {
edtxt1.setError("enter your name");
} else if (phone_n0.length() == 0) {
AgroGuide
2018
edtxt2.setError("enter you mobile number");
} else {
edtxt1.setError(null);
edtxt2.setError(null);
Toast.makeText(getApplicationContext(), "Registered successfully",
Toast.LENGTH_LONG).show();
}
}
});
}
public void validate()
{
String name=edtxt1.getText().toString();
String phone_no=edtxt1.getText().toString();
if (name.length()>0 &&phone_no.length()>0){
btn.setEnabled(true);
}
else
{
btn.setEnabled(false) }}}
login_page:
package com.example.user5.agro;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
AgroGuide
2018
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login_page);
txtv=(TextView) findViewById(R.id.textView5);
tv2=(TextView) findViewById(R.id.textView82);
edt1=(EditText) findViewById(R.id.editText9);
edt2=(EditText) findViewById(R.id.editText10);
btn1=(Button) findViewById(R.id.button4);
btn1.setEnabled(false);
// btn2=(Button) findViewById(R.id.button5);
TextWatchertw=new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
@Override
public void afterTextChanged(Editable s) {
validate();
}
};
AgroGuide
2018
edt1.addTextChangedListener(tw);
edt2.addTextChangedListener(tw);
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String email_id = edt1.getText().toString();
String pass = edt2.getText().toString();
if (email_id.length() == 0) {
edt1.setError("enter your email address");
} else if (pass.length() == 0) {
edt2.setError("enter your password");
} else {
edt1.setError(null);
edt2.setError(null);
// Toast.makeText(getApplicationContext(), "Logged in successfully",
Toast.LENGTH_LONG).show();
}
Boolean
validuser=databaseHandler.checklogin_e(edt1.getText().toString(),edt2.getText().toString());
if (validuser==true) {
SharedPreferencesspf=getSharedPreferences("ckp",Context.MODE_PRIVATE);
SharedPreferences.Editor ed=spf.edit();
ed.putBoolean("login",true);
ed.commit();
}
});
//btn2.setOnClickListener(new View.OnClickListener() {
// @Override
//public void onClick(View v) {
// Intent i=new Intent(login_page.this,expert_create.class);
// i.putExtra("login","experts");
// startActivity(i);
//}
//});
tv2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i2=new Intent(login_page.this,forgot_password_expert.class);
startActivity(i2);
}
});
}
dbhandler:
package com.example.user5.agro;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import java.util.ArrayList;
import java.util.List;
@Override
public void onCreate(SQLiteDatabasedb) {
db.execSQL(CREATE_MASTER_TABLE);
db.execSQL(CREATE_DEALER_TABLE);
db.execSQL(CREATE_EXPERT_TABLE);
db.execSQL(CREATE_ADMIN_TABLE);
db.execSQL(CREATE_CROPS_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabasedb, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_MASTER);
db.execSQL("DROP TABLE IF EXISTS " + TABLE_DEALER);
db.execSQL("DROP TABLE IF EXISTS " + TABLE_EXPERT);
db.execSQL("DROP TABLE IF EXISTS " + TABLE_ADMIN);
db.execSQL("DROP TABLE IF EXISTS " + TABLE_CROPS);
onCreate(db);
}
// User master
public void addmaster(user_columns master) {
SQLiteDatabasedb = this.getWritableDatabase();
}
AgroGuide
2018
user_columnsgetMaster(String email) {
user_columns master = null;
try {
SQLiteDatabasedb = this.getReadableDatabase();
//Cursor cursor = db.query(TABLE_MASTER, new String[]{KEY_ID, KEY_NAME,
KEY_PH_NO, KEY_EMAIL,
// KEY_PASSWORD, KEY_STATE, KEY_DISTRICT}, KEY_EMAIL ,
// new String[]{String.valueOf(id)}, null, null, null, null);
if (cursor != null)
cursor.moveToFirst();
master = new user_columns(Integer.parseInt(cursor.getString(0)),
cursor.getString(1), cursor.getString(2), cursor.getString(3),
cursor.getString(4), cursor.getString(5), cursor.getString(6));
return master;
}catch (Exception e){
e.printStackTrace();
}
return master;
}
public List<user_columns>getAllContacts() {
List<user_columns>contactList = new ArrayList<>();
String selectQuery = "SELECT*FROM " + TABLE_MASTER;
SQLiteDatabasedb = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
if (cursor.moveToFirst()) {
do {
user_columns master = new user_columns();
master.set_id(Integer.parseInt(cursor.getString(0)));
master.set_name(cursor.getString(1));
master.set_phone_number(cursor.getString(2));
master.set_email(cursor.getString(3));
master.set_password(cursor.getString(4));
master.set_state(cursor.getString(5));
master.set_district(cursor.getString(6));
contactList.add(master);
AgroGuide
2018
} while (cursor.moveToNext());
}
return contactList;
}
return cursor.getCount();
}
AgroGuide
2018
public booleanchecklogin(String id, String password) {
SQLiteDatabasedb = this.getWritableDatabase();
String s;
Cursor c = db.rawQuery("SELECT * FROM " + TABLE_MASTER + " WHERE
email= '" + id + "' AND password= '" + password + "'", null);
if (c.getCount() <= 0) {
c.close();
db.close();
return false;
} else {
c.close();
db.close();
return true;
}
}
//dealer
public void adddealer(dealer_columns dealer) {
SQLiteDatabasedb = this.getWritableDatabase();
/* dealer_columnsgetdealer(int id) {
SQLiteDatabasedb = this.getReadableDatabase();
Cursor cursor = db.query(TABLE_DEALER, new String[]{KEY_ID, KEY_NAME,
KEY_PH_NO, KEY_EMAIL, KEY_PASSWORD, KEY_STATE, KEY_DISTRICT}, KEY_ID +
"=?",
new String[]{String.valueOf(id)}, null, null, null, null);
if (cursor != null)
cursor.moveToFirst();
dealer_columns dealer = new dealer_columns(Integer.parseInt(cursor.getString(0)),
cursor.getString(1), cursor.getString(2), cursor.getString(3), cursor.getString(4),
cursor.getString(5), cursor.getString(6));
AgroGuide
2018
return dealer;
}*/
dealer_columnsgetDealer(String email) {
dealer_columns dealer = null;
try {
SQLiteDatabasedb = this.getReadableDatabase();
//Cursor cursor = db.query(TABLE_MASTER, new String[]{KEY_ID, KEY_NAME,
KEY_PH_NO, KEY_EMAIL,
// KEY_PASSWORD, KEY_STATE, KEY_DISTRICT}, KEY_EMAIL ,
// new String[]{String.valueOf(id)}, null, null, null, null);
if (cursor != null)
cursor.moveToFirst();
dealer = new dealer_columns(Integer.parseInt(cursor.getString(0)),
cursor.getString(1), cursor.getString(2), cursor.getString(3),
cursor.getString(4), cursor.getString(5), cursor.getString(6));
return dealer;
}catch (Exception e){
e.printStackTrace();
}
return dealer;
}
contactList.add(dealer);
} while (cursor.moveToNext());
}
return contactList;
}
return cursor.getCount();
}
String s;
Cursor c = db.rawQuery("SELECT * FROM " + TABLE_DEALER + " WHERE
email= '" + id + "' AND password= '" + password + "'", null);
if (c.getCount() <= 0) {
c.close();
db.close();
return false;
} else {
c.close();
db.close();
return true;
}
//experts
/*expert_columnsgetexpert(int id) {
SQLiteDatabasedb = this.getReadableDatabase();
Cursor cursor = db.query(TABLE_EXPERT, new String[]{KEY_ID, KEY_NAME,
KEY_PH_NO, KEY_EMAIL, KEY_PASSWORD, KEY_STATE, KEY_DISTRICT}, KEY_ID +
"=?",
new String[]{String.valueOf(id)}, null, null, null, null);
if (cursor != null)
cursor.moveToFirst();
expert_columns expert = new expert_columns(Integer.parseInt(cursor.getString(0)),
cursor.getString(1), cursor.getString(2), cursor.getString(3), cursor.getString(4),
cursor.getString(5), cursor.getString(6));
return expert;
}*/
contactList.add(expert);
} while (cursor.moveToNext());
AgroGuide
2018
}
return contactList;
}
expert_columnsgetExpert(String email) {
expert_columns expert = null;
try {
SQLiteDatabasedb = this.getReadableDatabase();
//Cursor cursor = db.query(TABLE_MASTER, new String[]{KEY_ID, KEY_NAME,
KEY_PH_NO, KEY_EMAIL,
// KEY_PASSWORD, KEY_STATE, KEY_DISTRICT}, KEY_EMAIL ,
// new String[]{String.valueOf(id)}, null, null, null, null);
if (cursor != null)
cursor.moveToFirst();
expert = new expert_columns(Integer.parseInt(cursor.getString(0)),
cursor.getString(1), cursor.getString(2), cursor.getString(3),
cursor.getString(4), cursor.getString(5), cursor.getString(6));
return expert;
}catch (Exception e){
e.printStackTrace();
}
return expert;
}
return cursor.getCount();
}
String s;
Cursor c = db.rawQuery("SELECT * FROM " + TABLE_EXPERT + " WHERE email=
'" + id + "' AND password= '" + password + "'", null);
AgroGuide
2018
if (c.getCount() <= 0) {
c.close();
db.close();
return false;
} else {
c.close();
db.close();
return true;
}
}
//admin
admin_columnsgetadmin(int id) {
SQLiteDatabasedb = this.getReadableDatabase();
Cursor cursor = db.query(TABLE_ADMIN, new String[]{KEY_ID, KEY_EMAIL,
KEY_PASSWORD}, KEY_ID + "=?",
new String[]{String.valueOf(id)}, null, null, null, null);
if (cursor != null)
cursor.moveToFirst();
admin_columns admin = new admin_columns(Integer.parseInt(cursor.getString(0)),
cursor.getString(1), cursor.getString(2));
return admin;
//CROPS TABLE
crops_columnsgetcrops(int id) {
SQLiteDatabasedb = this.getReadableDatabase();
Cursor cursor = db.query(TABLE_CROPS, new String[]{KEY_ID, KEY_CROP_NAME,
KEY_CROP_PRICE, KEY_DEALER_ID}, KEY_ID + "=?",
new String[]{String.valueOf(id)}, null, null, null, null);
if (cursor != null)
cursor.moveToFirst();
crops_columns crop = new crops_columns(Integer.parseInt(cursor.getString(0)),
cursor.getString(1), cursor.getString(2), cursor.getString(3));
return crop;
public List<crops_columns>getAllcrops() {
List<crops_columns>cropList = new ArrayList<>();
String selectQuery = "SELECT*FROM " + TABLE_CROPS;
SQLiteDatabasedb = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
if (cursor.moveToFirst()) {
do {
crops_columns crop = new crops_columns();
crop.set_id(Integer.parseInt(cursor.getString(0)));
crop.set_crop_name(cursor.getString(1));
crop.set_price(cursor.getString(2));
crop.set_dealer_id(cursor.getString(3));
cropList.add(crop);
} while (cursor.moveToNext());
}
return cropList;
}
return cursor.getCount();
CustomAdapter:
package com.example.user5.agro;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.List;
@Override
public int getCount() {
return contactList.size();
}
@Override
public Object getItem(int position) {
AgroGuide
2018
return contactList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
user_columnsuserColumns = contactList.get(position);
if (convertView == null) {
LayoutInflaterinflater = (LayoutInflater)
userListview.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.user_list_row,null);
}
TextView name=(TextView) convertView.findViewById(R.id.textView13);
name.setText(userColumns.get_name());
return convertView;
}
SendMailTask:
package com.example.user5.agro;
import android.app.Activity;
import android.app.ProgressDialog;
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
AgroGuide
2018
import android.util.Log;
String fromEmail;
String fromPassword;
//List toEmailList;
String toEmail;
String emailSubject;
String emailBody;
public SendMailTask(String
fromEmail,StringfromPassword,StringtoEmail,StringemailSubject,
String emailBody, Activity sendMailActivity) {
this.fromEmail=fromEmail;
this.fromPassword=fromPassword;
this.toEmail=toEmail;
this.emailSubject=emailSubject;
this.emailBody=emailBody;
this.sendMailActivity=sendMailActivity;
}
protected void onPreExecute() {
statusDialog= new ProgressDialog(sendMailActivity);
statusDialog.setMessage("Getting ready...");
statusDialog.setIndeterminate(false);
statusDialog.setCancelable(false);
statusDialog.show();
}
@Override
protected Object doInBackground(Object[] objects) {
try {
Log.i("SendMailTask", "About to instantiate GMail...");
publishProgress("Processing input....");
GMailandroidEmail = new GMail(fromEmail, fromPassword, toEmail, emailSubject,
emailBody);
publishProgress("Preparing mail message....");
androidEmail.createEmailMessage();
publishProgress("Sending email....");
androidEmail.sendEmail();
publishProgress("Email Sent.");
Log.i("SendMailTask", "Mail Sent.");
} catch (Exception e) {
publishProgress(e.getMessage());
AgroGuide
2018
Log.e("SendMailTask", e.getMessage(), e);
}
return null;
}
@Override
public void onPostExecute(Object result) {
statusDialog.dismiss();
}
}
Gmail:
package com.example.user5.agro;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import java.io.UnsupportedEncodingException;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
String fromEmail;
String fromPassword;
//List toEmailList;
String toEmail;
String emailSubject;
String emailBody;
Properties emailProperties;
Session mailSession;
AgroGuide
2018
MimeMessageemailMessage;
public GMail() {
emailProperties=System.getProperties();
emailProperties.put("mail.smtp.port", emailPort);
emailProperties.put("mail.smtp.auth", smtpAuth);
emailProperties.put("mail.smtp.starttls.enable", starttls);
Log.i("GMail", "Mail server properties set.");
}
emailMessage.setSubject(emailSubject);
emailMessage.setContent(emailBody, "text/html");
Log.i("GMail", "Email Message created.");
return emailMessage;
}
forgot_password:
package com.example.user5.agro;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public forgot_password() {
}
forgot_password(MainActivitysendMailTask) {
}
dbhandlerdatabaseHandler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_forgot_password);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {