You are viewing our Forum Archives. To view or take place in current topics click here.
Getting error Android Studio java ?
Posted:
Getting error Android Studio java ?Posted:
Status: Offline
Joined: Nov 02, 201310Year Member
Posts: 4,340
Reputation Power: 1865
Status: Offline
Joined: Nov 02, 201310Year Member
Posts: 4,340
Reputation Power: 1865
#2. Posted:
Status: Offline
Joined: Nov 02, 201310Year Member
Posts: 4,340
Reputation Power: 1865
I am trying to retrieve data from my sql lite database depending on what the user has entered into the edittext field...
- 0useful
- 0not useful
#3. Posted:
Status: Offline
Joined: Dec 25, 200914Year Member
Posts: 2,314
Reputation Power: 1686
Status: Offline
Joined: Dec 25, 200914Year Member
Posts: 2,314
Reputation Power: 1686
Can you include the error message?
- 2useful
- 0not useful
#4. Posted:
Status: Offline
Joined: Nov 05, 201310Year Member
Posts: 2,743
Reputation Power: 449
Status: Offline
Joined: Nov 05, 201310Year Member
Posts: 2,743
Reputation Power: 449
Is it because you are missing a space after (EditText) ?
I don't know anything about java, so if that's not it then I give up
I don't know anything about java, so if that's not it then I give up
- 0useful
- 0not useful
#5. Posted:
Status: Offline
Joined: Nov 02, 201310Year Member
Posts: 4,340
Reputation Power: 1865
Status: Offline
Joined: Nov 02, 201310Year Member
Posts: 4,340
Reputation Power: 1865
import android.app.ActionBar;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import static moneypal.everett.gavin.moneypal.Login.a;
public class HomePage extends AppCompatActivity {
public SQLiteDatabase db;
public Cursor c;
public static TextView balance;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home_page);
openDatabase();
TextView tv = (TextView) findViewById(R.id.usernameget);
tv.setText(getIntent().getExtras().getString("username"));
retrieveBal();
}
protected void openDatabase() {
db = openOrCreateDatabase("Users_table", Context.MODE_PRIVATE, null);
}
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_main, menu); //your file name
return super.onCreateOptionsMenu(menu);
}
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.bAdd_Item:
Intent i = new Intent(this,AddItem.class);
this.startActivity(i);
return true;
case R.id.bHistory_Item:
Intent b = new Intent(this,History.class);
this.startActivity(b);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
public void retrieveBal()
{
TextView balance = (TextView) findViewById(R.id.balance);
EditText log = (EditText) findViewById(R.id.userloginvalid);
String username = log.getText().toString().trim();
String query = "Select * from Users_table WHERE Name = '" + username + "';";
db.execSQL(query);
c = db.rawQuery(query, null);
String bal = c.getString(2);
balance.setText(bal);
}
}
Error ::
Caused by: java.lang.NullPointerException
at moneypal.everett.gavin.moneypal.HomePage.retrieveBal(HomePage.java:94)
at moneypal.everett.gavin.moneypal.HomePage.onCreate(HomePage.java:47)
Line : 94 is this line :: String username = log.getText().toString().trim();
And Line 47 is when im calling the method in the onCreate
retrievebal()
- 0useful
- 0not useful
#6. Posted:
Status: Offline
Joined: Nov 02, 201310Year Member
Posts: 4,340
Reputation Power: 1865
Status: Offline
Joined: Nov 02, 201310Year Member
Posts: 4,340
Reputation Power: 1865
Ok i fixed the error but now its saying "no such table Users_table" which is my database and has been created and has records here is my code for my DatabaseHelper class and here is is code for my homepage class,
What I am trying to do and not sure if you can is to create an instance of my database is datbasehelper class and use it in the homepage class so i can execute the retrievebal() but the program stops at the SQL query saying "no such table Users_table" exists.
Home Page :
DataBase Helper/
I was trying to create the retrievebal() in database helper but it does not support the
View inflatedView = getLayoutInflater().inflate(R.layout.login, null);
getLayoutInflator()
Here is my code :
What I am trying to do and not sure if you can is to create an instance of my database is datbasehelper class and use it in the homepage class so i can execute the retrievebal() but the program stops at the SQL query saying "no such table Users_table" exists.
Home Page :
package moneypal.everett.gavin.moneypal;
import android.app.ActionBar;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import static moneypal.everett.gavin.moneypal.Login.a;
public class HomePage extends AppCompatActivity {
SQLiteDatabase db;
public Cursor c;
DatabaseHelper helper = new DatabaseHelper(this);
public static TextView balance;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home_page);
openDataBase();
retrieveBal();
TextView tv = (TextView) findViewById(R.id.usernameget);
tv.setText(getIntent().getExtras().getString("username"));
}
protected void openDataBase() {
db = openOrCreateDatabase("Users_table", Context.MODE_PRIVATE, null);
}
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_main, menu); //your file name
return super.onCreateOptionsMenu(menu);
}
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.bAdd_Item:
Intent i = new Intent(this,AddItem.class);
this.startActivity(i);
return true;
case R.id.bHistory_Item:
Intent b = new Intent(this,History.class);
this.startActivity(b);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
public void retrieveBal()
{
View inflatedView = getLayoutInflater().inflate(R.layout.login, null);
TextView balance = (TextView) findViewById(R.id.balance);
EditText log = (EditText) inflatedView.findViewById(R.id.userloginvalid);
String username = log.getText().toString();
Cursor retrieve = db.rawQuery("Select * from Users_table WHERE TRIM(Name) = '" + username.trim()+"'", null);
retrieve.moveToFirst();
String bal = retrieve.getString(2);
balance.setText(bal);
}
DataBase Helper/
I was trying to create the retrievebal() in database helper but it does not support the
View inflatedView = getLayoutInflater().inflate(R.layout.login, null);
getLayoutInflator()
Here is my code :
package moneypal.everett.gavin.moneypal;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import static moneypal.everett.gavin.moneypal.Login.a;
/**
* Created by t00189398 on 03/04/2017.
*/
public class DatabaseHelper extends SQLiteOpenHelper {
public static final int DATABASE_VERSION = 1;
public static final String DATABASE_NAME = "Users_table.db";
public static final String TABLE_NAME = "Users_table";
public static final String COL1 = "ID";
public static final String COL2 = "Name";
public static final String COL3 = "Password";
public static final String COL4 = "Balance";
public static SQLiteDatabase db;
private static final String TABLE_CREATE = "create table Users_table(ID integer primary key not null , " +
"Name text not null , Balance text not null , Password text not null);";
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(TABLE_CREATE);
this.db = db;
}
@Override
public void onUpgrade(SQLiteDatabase db, int i, int i1) {
String query = "DROP TABLE IF EXISTS " + TABLE_NAME;
db.execSQL(query);
this.onCreate(db);
}
public String searchName(String name) {
db = this.getReadableDatabase();
String query = "select name from " + TABLE_NAME;
db.execSQL(query);
Cursor cursor = db.rawQuery(query, null);
String a, b = "";
if (cursor.moveToNext()) {
do {
a = cursor.getString(0);
if (a.equals(name)) {
b = cursor.getString(1);
break;
}
}
while (cursor.moveToNext()) ;
}
return b;
}
public void insertUser(User user) {
db = this.getWritableDatabase();
ContentValues values = new ContentValues();
String query = "select * from Users_table";
Cursor cursor = db.rawQuery(query , null);
int count = cursor.getCount();
values.put(COL1 , count);
values.put(COL2, user.getName());
values.put(COL3, user.getPassword());
values.put(COL4, user.getBalance());
db.insert(TABLE_NAME, null, values);
db.close();
}
public String searchPass(String user)
{
db = this.getReadableDatabase();
String query = "select Name , Password from " + TABLE_NAME;
Cursor cursor = db.rawQuery(query , null);
String a , b;
b = "Not found";
if(cursor.moveToFirst())
{
do{
a = cursor.getString(0);
if(a.equals(user))
{
b = cursor.getString(1);
break;
}
}
while(cursor.moveToNext());
}
return b;
}
public void retrieveBal()
{
View inflatedView = getLayoutInflater().inflate(R.layout.login, null);
TextView balance = (TextView) findViewById(R.id.balance);
EditText log = (EditText) inflatedView.findViewById(R.id.userloginvalid);
String username = log.getText().toString();
Cursor retrieve = db.rawQuery("Select * from Users_table WHERE TRIM(Name) = '" + username.trim()+"'", null);
retrieve.moveToFirst();
String bal = retrieve.getString(2);
balance.setText(bal);
}
}
- 0useful
- 0not useful
You are viewing our Forum Archives. To view or take place in current topics click here.