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:

Gavin-
  • TTG Fanatic
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
Keep getting error on this line when running ?
If you need more code post below



[ Register or Signin to view external links. ]


Last edited by Gavin- ; edited 1 time in total
#2. Posted:
Gavin-
  • TTG Fanatic
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
I am trying to retrieve data from my sql lite database depending on what the user has entered into the edittext field...
#3. Posted:
tortuga
  • Wizard
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?
#4. Posted:
CriticaI
  • Summer 2023
Status: Offline
Joined: Nov 05, 201310Year Member
Posts: 2,737
Reputation Power: 448
Status: Offline
Joined: Nov 05, 201310Year Member
Posts: 2,737
Reputation Power: 448
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
#5. Posted:
Gavin-
  • Fairy Master
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()
#6. Posted:
Gavin-
  • Ninja
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 :

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);


    }









}
Jump to:
You are viewing our Forum Archives. To view or take place in current topics click here.