gpt4 book ai didi

java - Android程序设计错误

转载 作者:行者123 更新时间:2023-11-29 21:38:54 26 4
gpt4 key购买 nike

我目前正在为 android 开发一种数据库应用程序。但是,由于条目数量很少,我觉得我不需要使用 Sqlite 数据库。现在,我目前在 onCreate() 方法中从保存文件中“读取”。但是,当我将手机从水平显示模式转换为垂直显示模式时,这也会加载新文件,虽然它不会对性能产生很大影响,因为我没有那么多条目,但仍然困扰着我,因为我想以正确的方式去做。

执行此操作的“正确”方法是什么?

private TableLayout tblLayout;

private ArrayList<Entry> listOfEntries;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
tblLayout = new TableLayout(this);

// this basically populates my ArrayList
listOfEntries = readFromFile(saveFile);

setContentView(tblLayout);
}

最佳答案

将以下内容添加到您的 Activity 的 list 节点:(您在 AndroidManifest 文件中声明该 Activity 的位置):

android:configChanges="keyboardHidden|orientation|screenSize"

它将防止在设备旋转时再次调用 onCreate()。这样你就可以防止在方向改变时再次阅读它。

然后。在你的 Activity 中,如果你重写 onConfigurationChanged() 方法,如果你想进行任何特定的更改,这应该发生在改变方向上:

@Override
public void onConfigurationChanged(Configuration config) {
super.onConfigurationChanged(config);
}

有许多线程可以建议您如何处理方向变化,例如:

Android orientation change calls onCreate

Activity restart on rotation Android

Avoid restarting threads on orientation change

希望这对您有所帮助。

关于java - Android程序设计错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17637516/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com