我扩展了“Application”类并创建了自定义方法“doSomething”。我使用manifest来设置这个类作为整个应用程序的基类。现在,我如何从MainActivity访问这个“doSomething”方法?如何从基础应用程序访问方法?
public class App extends Application {
public void something()
{
//do nothing
}
}
清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.test"
xmlns:android="http://schemas.android.com/apk/res/android">
<application
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:name=".App"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>
编辑:首先,感谢你所有的答案,但我要对不起我的输入。我忘了提及,我想以与覆盖相同的方式访问它。为什么?因为我要在“App”中初始化一些东西(它需要几ms),并且只能在之后,我可以继续在MainActivity中使用这些值。
现在我使用“BaseActivity”,其中init用户访问数据库。但是每个活动都开启了似乎浪费时间的“新”连接。我只需要登录到数据库一次,并为所有活动使用此参考。这就是为什么我在“BaseActivity”中创建方法“dataReady”,使用“BaseActivity”扩展“MainActivity”并将方法“dataReady”覆盖到init适配器和其他东西。
public class BaseActivity extends Activity {
void dataReady()
{
}
}
public class MainActivity extends BaseActivity {
@Override
void dataReady()
{
}
}
是什么'synchronized'块前后检查两次'如果(applicationInstance == NULL){'一个的目的是什么? –