面试题答案
一键面试- 创建新Android工程:
- 打开Android Studio,点击“Start a new Android Studio project”,选择合适的模板(如Empty Activity),填写应用名称、包名等信息,然后点击“Finish”创建工程。
- 创建数据库帮助类:
- 创建一个继承自
SQLiteOpenHelper
的类,例如MyDatabaseHelper
。 - 在类中定义构造函数,接受
Context
、数据库名、CursorFactory
(一般为null
)和数据库版本号作为参数。示例代码如下:
public class MyDatabaseHelper extends SQLiteOpenHelper { private static final String DATABASE_NAME = "my_database.db"; private static final int DATABASE_VERSION = 1; public MyDatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } }
- 创建一个继承自
- 版本管理:
- 在
SQLiteOpenHelper
的子类中,通过构造函数的版本号参数进行版本管理。例如上述代码中的DATABASE_VERSION
。 - 当需要更新数据库版本时,在
onUpgrade
方法中编写更新逻辑。例如,增加新表或修改现有表结构。示例代码如下:
@Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { if (oldVersion < 2) { // 例如添加新表 String createNewTable = "CREATE TABLE new_table (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT)"; db.execSQL(createNewTable); } }
- 在
- 首次创建数据库时表结构的初始化操作:
- 在
SQLiteOpenHelper
子类的onCreate
方法中编写创建表的SQL语句。例如创建一个用户表:
@Override public void onCreate(SQLiteDatabase db) { String createUserTable = "CREATE TABLE user (id INTEGER PRIMARY KEY AUTOINCREMENT, username TEXT, password TEXT)"; db.execSQL(createUserTable); }
- 在
- 使用数据库帮助类:
- 在需要使用数据库的地方,创建
MyDatabaseHelper
实例。例如在Activity中:
public class MainActivity extends AppCompatActivity { private MyDatabaseHelper myDatabaseHelper; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); myDatabaseHelper = new MyDatabaseHelper(this); // 获取可写数据库,这一步会触发onCreate或onUpgrade方法 SQLiteDatabase db = myDatabaseHelper.getWritableDatabase(); } }
- 在需要使用数据库的地方,创建