这是我的数据库助手类的一部分
import com.google.api.services.drive.Drive;
import com.google.api.services.drive.model.Permission;
import java.io.IOException;
// ...
public class MyClass {
// ...
/**
* Insert a new permission.
*
* @param service Drive API service instance.
* @param fileId ID of the file to insert permission for.
* @param value User or group e-mail address, domain name or {@code null}
"default" type.
* @param type The value "user", "group", "domain" or "default".
* @param role The value "owner", "writer" or "reader".
* @return The inserted permission if successful, {@code null} otherwise.
*/
private static Permission insertPermission(Drive service, String fileId,
String value, String type, String role) {
Permission newPermission = new Permission();
newPermission.setValue(value);
newPermission.setType(type);
newPermission.setRole(role);
try {
return service.permissions().insert(fileId, newPermission).execute();
} catch (IOException e) {
System.out.println("An error occurred: " + e);
}
return null;
}
// ...
}
当我更改数据库版本时,只调用OnUpgrade(),在其中调用Oncreate()不起作用。 我尝试过使用getReadableDatabase()和getWritabledatabase(),但它也不起作用 我尝试卸载应用程序,清除数据但没有任何工作。 请帮忙
答案 0 :(得分:1)
在创建数据库帮助程序类的实例时,第一次在sqlite onCreate中调用一次。和新版本更旧版本时的onUpgrade方法调用然后是旧版本(newVersion> oldVersion);
答案 1 :(得分:1)
如果数据库已经创建,则调用onCreate()将不起作用。请查看此答案以获取更多详细信息:stackoverflow link
答案 2 :(得分:0)
当您第一次在模拟器或Android手机中启动Android应用程序时,您的数据库将被创建并且您的onCreate()方法将被调用。
当您更改DB_VERSION以使其大于旧版本时,将调用您的onUpgrade()方法。
如果你正在测试你的Android应用程序,并且你想在安装时调用onCreate()方法,你必须从模拟器或android手机上卸载它。卸载后,Android app的安装将调用onCreate()方法。
但请记住,如果你卸载了应用程序,那么如果你的DB_VERSION比旧版本更大并不重要,它只会调用onCreate()。