用Android Studio写一个自动获取数据库名字和电话号并展示到Exetview上的代码
时间: 2023-08-31 18:42:26 浏览: 111
Android Studio如何获取SQLite数据并显示到ListView上
### 回答1:
你可以使用Android Studio中的SQLiteDatabase类来获取数据库的名称和电话号,然后将它们展示在Exetview上,代码如下://获取数据库名称和电话号
SQLiteDatabase db = getReadableDatabase();
Cursor cursor = db.rawQuery("SELECT * FROM table_name", null);//展示到Exetview上
String[] columns = new String[] { "name", "phone" };
int[] to = new int[] { R.id.nameTextView, R.id.phoneTextView };
SimpleCursorAdapter cursorAdapter = new SimpleCursorAdapter(this, R.layout.list_item, cursor, columns, to);
ListView list = (ListView)findViewById(R.id.listView);
list.setAdapter(cursorAdapter);
### 回答2:
下面是使用Android Studio编写的自动获取数据库名字和电话号并显示到Exetview上的代码:
```java
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private TextView dbNameTextView;
private TextView phoneNumberTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
dbNameTextView = findViewById(R.id.dbNameTextView);
phoneNumberTextView = findViewById(R.id.phoneNumberTextView);
// 获取数据库名字并显示在TextView上
String dbName = getDatabaseName();
dbNameTextView.setText(dbName);
// 获取电话号并显示在TextView上
String phoneNumber = getPhoneNumber();
phoneNumberTextView.setText(phoneNumber);
}
// 获取数据库名字的方法
private String getDatabaseName() {
SQLiteDatabase db = getApplicationContext().openOrCreateDatabase("myDatabase", MODE_PRIVATE, null);
String dbName = db.getPath();
db.close();
return dbName;
}
// 获取电话号的方法
private String getPhoneNumber() {
String phoneNumber = "";
// 使用ContentProvider查询电话号
Cursor cursor = getContentResolver().query(android.provider.ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null,
null,
null,
null);
if (cursor != null && cursor.moveToFirst()) {
phoneNumber = cursor.getString(cursor.getColumnIndex(android.provider.ContactsContract.CommonDataKinds.Phone.NUMBER));
cursor.close();
}
return phoneNumber;
}
}
```
上述代码的`getDatabaseName()`方法利用`openOrCreateDatabase()`方法创建或打开一个数据库,并通过`getPath()`方法获取数据库文件的路径,然后将路径显示在名为`dbNameTextView`的TextView上。
而`getPhoneNumber()`方法中使用`getContentResolver().query()`方法实现通过ContentProvider查询电话号,获取到第一个联系人的电话号,然后将其显示在名为`phoneNumberTextView`的TextView上。
当应用运行时,自动获取数据库名字和电话号并在界面上展示。需要注意的是,必须在`AndroidManifest.xml`文件中添加对`READ_CONTACTS`权限的声明,以便查询电话号。
阅读全文