Если я пытаюсь определить конструктор по умолчанию для класса, который расширяет действие, я набираю силу при выполнении приложения. Почему это так?
public class App extends Activity {
App() {
// FORCE CLOSE
}
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}}
Вы создаете конструктор доступа к пакету, который не разрешен платформой Android,
Вы можете создать публичный конструктор, т.е. public App(){}
, но это действительно неприемлемый способ инициализировать класс активности в Android, по меньшей мере.
Инициализировать все требования в onCreate()
, которые рекомендуются разумным подходом.
также убедитесь, что вы определяете каждое действие в вашем файле AndroidManifest.xml.
с тегом <activity>
и атрибутом android:name
.
<activity android:name=".SampleAppication"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Вы можете найти более подробную информацию о жизненном цикле Acitvity здесь