【问题标题】:How to display data from a database in a table?如何在表格中显示数据库中的数据?
【发布时间】:2017-12-01 01:21:57
【问题描述】:

我是 Android Studio 新手,似乎找不到我要的内容。
我想要一个存储少数人数据的数据库,例如

Steve Hardy,16 Somewhere Land,科罗拉多州,美国

我希望它有标题(姓名、地址、城市、国家/地区)。
我只是在为如何格式化这样的表格以及如何将数据库链接到这个而苦苦挣扎。

【问题讨论】:

标签: android database


【解决方案1】:

在android中,主要使用sqlite数据库。我可以为您提供 3 个简单的函数,用于创建数据库和表、向表中插入数据以及读取数据库值。如果有任何不清楚的事情或您想要任何澄清,请询问。我可以帮你。

public class MainActivity extends AppCompatActivity {

//Assign below 3 variables as global variables where class start. 

     SQLiteDatabase db; //Assign as a global variable
     String DBName = "MyDB"; //Assign as a global variable
     String TableName = "PeopleData"; //Assign as a global variable

//Call 3 function inside oncreate method.

protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);

       createDB_Table(); //calling 3 functions.
       InsertDataToDB();
       ReadDBData();        
            }

public void createDB_Table(){ //This function use to create database, table & columns.
             db = this.openOrCreateDatabase(DBName, MODE_PRIVATE, null);
             db.execSQL("CREATE TABLE IF NOT EXISTS " + TableName + " (ID INTEGER PRIMARY KEY AUTOINCREMENT, Name TEXT, Address TEXT, City TEXT, Country TEXT);");        
             db.close();
                            }

public void InsertDataToDB(){ //This function use to inset values to database.
           db = this.openOrCreateDatabase(DBName, MODE_PRIVATE, null);
           ContentValues cv = new  ContentValues();       
           cv.put("Name","Steve Hardy");
           cv.put("Address","16 Somewhere Land");
           cv.put("City","Colorado");
           cv.put("Country","USA");
           db.insert(TableName, null, cv);
           db.close();
                            }

public void ReadDBData() { //This function use to read data from database.
             db = this.openOrCreateDatabase(DBName, MODE_PRIVATE, null);
             Cursor cursor = db.rawQuery("SELECT * FROM " + TableName, null);

      if (cursor.getCount() > 0) { //check cursor is not empty.
        cursor.moveToFirst();        
        String DName = cursor.getString(cursor.getColumnIndex("Name"));
        String DAddress = cursor.getString(cursor.getColumnIndex("Address"));
        String DCity = cursor.getString(cursor.getColumnIndex("City"));
        String DCountry = cursor.getString(cursor.getColumnIndex("Country"));  
    //Got the values from database. Then you can set those values to text view or something you use.                            
                                  }
        cursor.close();
        db.close();
                            }
        }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-23
    • 1970-01-01
    • 1970-01-01
    • 2014-06-23
    • 2019-04-08
    相关资源
    最近更新 更多