私はContentProviderを作成して、次の条件によって真または偽を返したいと思います。androidのcontentproviderの返り値(true/false)を決める方法
Context ctx = getContext();
dbhelper = new DBHelper(ctx);
database = dbhelper.getWritableDatabase();
if (database == null) {
return false;
} else {
return true;
}
ただし、oncreateでgetWritableDatabaseを実行すると、ANRになります。だから私は別のスレッドにこれを投稿する場合、どのように私はデータベース値がnullであるとしてoncreateの戻り値を決定します。
Thread mCreateOrOpenDatabaseThread = new Thread (new Runnable(){
@Override
public void run() {
database = dbhelper.getWritableDatabase();
}
},"CreateOrOpenDatabaseThread");
mCreateOrOpenDatabaseThread.start();
明示的にtrueを返すことはできますか?私たちが真実か偽りかを返すとどうなり、それが私のアプリケーションにどのような影響を与えますか? oncreateでtrueまたはfalseを返すと、アンドロイドランタイムの内部ではどうなりますか?
少しのアドバイス、文 'if(database == null){ return false; } else { がtrueを返します。 } 'あなたは' return database!= null;に変更できます。 – miljon
'私の作成したContentProviderでは、trueまたはfalseを返すようにしたいですか?' trueまたはfalseを返すとどうなり、アプリケーションにどのような影響がありますか? '。 ???一致していません。まず、真実か偽であるかを返すことを伝えてください。 – greenapps
onCreateメソッドの戻り値はbooleanなので、何かを返す必要があります。 – shrishti