i am making a contact save app Backend so help
i do not know about this error, and i don not know how to solve this erorr. com.andro.background.cruddb E/SQLiteLog: (1) table contacts_table has no column named phone_number
error code:
2020-02-02 02:14:10.614 19583-19583/com.andro.background.cruddb E/SQLiteLog: (1) table contacts_table has no column named phone_number
2020-02-02 02:14:10.621 19583-19583/com.andro.background.cruddb E/SQLiteDatabase: Error inserting name=meraNumber phone_number=9383989389
    android.database.sqlite.SQLiteException: table contacts_table has no column named phone_number (code 1): , while compiling: INSERT INTO contacts_table(name,phone_number) VALUES (?,?)
        at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
        at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:890)
        at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:501)
        at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
        at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
        at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31)
        at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1546)
        at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1417)
        at com.andro.background.cruddb.data.MyDbHandler.addContact(MyDbHandler.java:60)
        at com.andro.background.cruddb.MainActivity.onCreate(MainActivity.java:36)
        at android.app.Activity.performCreate(Activity.java:7009)
        at android.app.Activity.performCreate(Activity.java:7000)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2731)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856)
        at android.app.ActivityThread.-wrap11(Unknown Source:0)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6494)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
MainActivity.java Code
package com.andro.background.cruddb;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import com.andro.background.cruddb.data.MyDbHandler;
import com.andro.background.cruddb.model.Contact;
import java.util.List;
public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        MyDbHandler db=new MyDbHandler(MainActivity.this);
        // creating contact obj for db
        Contact harry= new Contact();
        harry.setPhoneNumber("9090909090");
        harry.setName("sunnykanumber");
        // adding contact to the db
        db.addContact(harry);
        Contact tehri=new Contact();
        tehri.setName("meraNumber");
        tehri.setPhoneNumber("9383989389");
        db.addContact(tehri);
        List<Contact> allContacts=db.getAllContacts();
        for(Contact contact: allContacts){
                    //We can loop this way as well, all the elements of allContacts will be iterated one by one.
            Log.d("pkmb","/n"
                                +"id :"+contact.getId()+"/n"
                                +"Name:"+contact.getName()+"/n"
                                +"Number:"+contact.getPhoneNumber());
        }
    }
}
MyDbHandler.java // db code
package com.andro.background.cruddb.data;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
import com.andro.background.cruddb.model.Contact;
import com.andro.background.cruddb.params.Params;
import java.util.ArrayList;
import java.util.List;
public class MyDbHandler extends SQLiteOpenHelper {
    public  MyDbHandler(Context context){ //yh constructer banane k liye( alt+insert)
        // isme super class invoke krenge   //null, uska default behaviour lene k liye
        super(context, Params.DB_NAME, null, Params.DB_VERSION);
    }
    @Override
    public void onCreate(SQLiteDatabase db) { // here we need to write sql code, capital letters are supposed to be good practice.
        String create="CREATE TABLE "+ Params.TABLE_NAME + "("
                +Params.KEY_ID + " INTEGER PRIMARY KEY,"+ Params.KEY_NAME
                + " TEXT," + Params.KEY_PHONE + "TEXT"+")";
        Log.d("pkmb", "onCreate: is working"+ create);
        db.execSQL(create);
    }
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    }
    public void addContact(Contact contact){
        SQLiteDatabase db=this.getWritableDatabase();
        ContentValues values=new ContentValues();
        values.put(Params.KEY_NAME,contact.getName());
        values.put(Params.KEY_PHONE,contact.getPhoneNumber());
        db.insert(Params.TABLE_NAME,null,values); 
        Log.d("pkmb","succec fully inserted");
        db.close();
    }
    public List<Contact> getAllContacts(){  // kyonki hume List return krwani h
        List<Contact> contactList=new ArrayList<>();
        SQLiteDatabase db=this.getReadableDatabase();
        // Generate the query to read form the database
        String select= "SELECT * FROM "+ Params.TABLE_NAME;
        Cursor cursor=db.rawQuery(select,null);
        //Loop through now
        if(cursor.moveToFirst()){
                Contact contact=new Contact();
                contact.setId(Integer.parseInt(cursor.getString(1)));//int value k liye
                contact.setName(cursor.getString(2));
                contact.setPhoneNumber(cursor.getString(3));
                // contact collect kiye aur list me daal diya
                contactList.add(contact);
            } while (cursor.moveToNext()); 
        }
        return contactList;
    }
java>com...> Model>Contacts.java
package com.andro.background.cruddb.model;
public class Contact { 
    private int id;
    private String name;
    private  String phoneNumber;
    public Contact( String name, String phoneNumber) {
        this.name = name;
        this.phoneNumber = phoneNumber;
    }
    public Contact(int id, String name, String phoneNumber) {
        this.id = id;
        this.name = name;
        this.phoneNumber = phoneNumber;
    }
    public Contact() {
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getPhoneNumber() {
        return phoneNumber;
    }
    public void setPhoneNumber(String phoneNumber) {
        this.phoneNumber = phoneNumber;
    }
}
Params.java // parameters
package com.andro.background.cruddb.params;
public class Params {
    public static final int DB_VERSION=1;  // yh capitals
    public static final String DB_NAME="contacts_db";
    public static final String TABLE_NAME="contacts_table";
    /// keys of your db
    public static final String KEY_ID="id";
    public static final String KEY_NAME="name";
    public static final String KEY_PHONE="phone_number";
}
 
    