标签: data-persistence

当应用程序恢复时,Android EditText 有时会丢失输入

我制作了一个基本的数据记录应用程序,它应该让用户将值输入到动态且通常大量的 EditText 视图中。用户输入完所有数据后,可以按下一个按钮,拍摄数据条目的图片(请耐心等待将输入存储为图片,这样做是有特定原因的),并将图片保存到存储中。

问题: 除了一个特定问题外,它运行得很好。有时,当用户将手机置于空闲状态时(这种情况在实际保存输入之前经常发生),EditText 视图中的所有输入都会被清除(让我成为一个非常生气/悲伤的人)。更重要的是,只有当我在现场并且无法查看 Eclipse 中的日志文件以找出哪些方法可能被调用与正常情况不同时,才会发生这种情况。

问题:为什么当手机进入空闲状态和从空闲状态返回时,我的 EditText 中的值大部分时间都保持不变,但在看似随机(且通常不方便)的情况下它们会清除?

我有一种感觉,这是由于在某些情况下调用 onStop() 而不是 onPause() (或者反之亦然)引起的,但我对这些方法的了解还不够及时。另外,我知道这个问题可以通过共享首选项文件(或一些类似的想法)来解决,但我想知道发生了什么,以便更好地理解。

细节:

-我不确定这些代码中的任何一个是否可能以有意义的方式与该问题相关,但如果有帮助的话,我将包含我的 onCreate() 方法的片段。让我知道是否需要添加其他内容:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_input_param);

    Intent intent = getIntent();
//Rest of the code just builds the layout from data taken from the intent
Run Code Online (Sandbox Code Playgroud)

- 除了 onCreate() 之外,我没有重写任何生命周期方法(即 onStop()、onResume() 等)。据我所知,我的活动中的其他方法都不应该与该问题有任何关系

java xml eclipse android data-persistence

5
推荐指数
1
解决办法
3520
查看次数

Google Colab:从本地上传 Pytorch 模型后“无法连接到运行时”

我正在使用一种简单(不一定有效)的方法来保存 Pytorch 模型。

import torch
from google.colab import files

torch.save(model, filename) # save a trained model on the VM
files.download(filename) # download the model to local

best_model = files.upload() # select the model just downloaded
best_model[filename] # access the model
Run Code Online (Sandbox Code Playgroud)

Colab 在执行最后一行期间断开连接,并且点击RECONNECTTab 总是显示ALLOCATING-> CONNECTING(失败,左下角显示“无法连接到运行时”消息)-> RECONNECT。同时,执行任何一个单元格都会给出错误消息“无法执行单元格,无法向运行时发送执行消息:[对象关闭事件]”

我知道它与最后一行有关,因为我可以成功连接到其他不执行该操作的 google 帐户。

为什么会发生?似乎已执行最后一行的 google 帐户无法再连接到运行时。

编辑:

一晚后,我可以在会话到期后重新连接 google 帐户。我只是尝试了评论中的方法,发现只有files.upload()Pytorch 模型会导致问题。上传完成后,Colab 会断开连接。

data-persistence pytorch google-colaboratory

5
推荐指数
2
解决办法
1万
查看次数

Android Room递归关系

room 可能有递归关系吗?我有一个可以嵌套在父/子结构中的实体,如下所示

Category1
 |_________Category2
 |_________Category3
 |  |_________Category4
 |_________Category5`
Run Code Online (Sandbox Code Playgroud)

我从 WebService 获取的 json 复制此结构。

这是我当前的实体:

@Entity(tableName = "categories")
public class Category
{
   @PrimaryKey
   @NonNull
   private String code;
   private String name;
   private String parentCode;
   @Relation(parentColumn = "code", entityColumn = "parentCode", entity = Category.class)
   private List<Category> childrens;
}
Run Code Online (Sandbox Code Playgroud)

但在编译过程中出现 StackOverflow 错误:

原因: android.arch.persistence.room.processor.PojoProcessor.doProcess(PojoProcessor.kt:113) 处的 java.lang.StackOverflowError 位于 android.arch.persistence.room.processor.PojoProcessor.access$doProcess(PojoProcessor.kt:74) )在 android.arch.persistence.room.processor.PojoProcessor$process$1.invoke(PojoProcessor.kt:105) 在 android.arch.persistence.room.processor.PojoProcessor$process$1.invoke(PojoProcessor.kt:74) android.arch.persistence.room.processor.cache.Cache$Bucket.get(Cache.kt:46)

我知道我可以从实体中删除子级并迭代 json 以保存没有子级的每个类别,然后在单独的查询中通过父级代码获取子级,但我只想知道是否可以有递归关系就像代码中的关系

orm android data-persistence android-room

5
推荐指数
1
解决办法
2121
查看次数

在iPhone应用程序中保存对象数组的最佳方法.

我有一个带有桌面视图的iPhone程序.表视图从NSMutable Array获取其数据.我希望人们能够向该表添加数据,即向该数组添加对象.使用addObjectreloadData,我能够向数组添加对象,并重新加载表视图,以便还显示新添加的数据.但是,一旦我重新启动应用程序,就会丢失新添加的数据.我的问题是将数组存储在iPhone中的最佳方法是什么,以便在重新启动时我可以使用用户添加的数据填充表格?

谢谢

arrays iphone saving-data data-persistence ios

4
推荐指数
1
解决办法
5660
查看次数

Kubernetes 持久卷:主机路径与本地和数据持久性

Kubernetes 中的主机路径和本地持久卷之间的主要区别是什么?假设我有一个 kubernetes 集群在我的机器上运行,一个 pod 运行一个使用本地持久卷来保存数据的数据库,如果整个集群失败(例如关闭机器),在机器(和集群)的下一次启动时) Pod 之前在持久卷中保存的数据将不再有痕迹,对吗?

database data-persistence kubernetes persistent-volumes

4
推荐指数
1
解决办法
2157
查看次数

将数据保存为python模块是否合理?

这就是我为一个项目所做的.我有一些基本上是字典的数据结构,其中一些方法对数据进行操作.当我将它们保存到磁盘时,我将它们写为.py文件作为代码,当作为模块导入时,会将相同的数据加载到这样的数据结构中.

这合理吗?有什么大的缺点吗?我看到的优点是,当我想使用保存的数据进行操作时,我可以快速导入我需要的模块.此外,模块可以与应用程序的其余部分分开使用,因为您不需要单独的解析器或加载器功能.

python data-persistence dynamic-import

3
推荐指数
1
解决办法
227
查看次数

排序数组与哈希表:在日历应用程序中搜索一系列日期时,哪种数据结构会更有效?

我有大约一年的Java编码经验。为了磨练我的技能,我试图用Java编写一个Calendar / journal entry桌面应用程序。我已经意识到我仍然没有数据持久性方面的经验,并且仍然不真正了解该程序的数据持久性选项是什么-所以也许我正在追赶潮流,并希望做一些设计选择一旦陷入困境,实施甚至都不适用。

我主要想编写一个日历应用程序,该程序可让您记录每日日记条目以及相关的活动日志,以记录在日常任务上花费的时间。在添加,编辑和查看日记帐分录方面,使用以表项的日期为键并将表项本身作为值的哈希表似乎是最有效的Big-Oh(对于使用哈希表的每个表,平均效率为O(1) )。

但是,我也希望实现一种功能,该功能可以在给定特定日期范围的情况下,对每天在某些任务上花费的平均时间进行简单分析。如果这是我感兴趣的主要功能之一,那么我想错了吗?也许排序数组会更高效?特别是考虑到数据条目通常应该逐日添加。

也许还有我不知道的另一种选择?

我问的原因是由于以下问题提供的答案:为什么不对所有内容使用哈希/哈希表?

我不确定是否要问正确的问题的原因是因为以下问题的答案:日历/日程安排者的最佳数据结构是什么?

如果是这样的话,我将不胜感激地将其他资源用于Java中的数据持久性。

感谢您的帮助!

java sorting algorithm hashtable data-persistence

3
推荐指数
1
解决办法
76
查看次数

Delphi:将数据存储在某种结构中

对于我在Delphi 2010中工作的模拟程序.模拟不是问题,但我需要使用大量数据来解决问题.数据在Excel工作表中可用,因此无需在Delphi中编辑此数据,但从Excel工作表中收集此数据大约需要10分钟.只要您不需要在每次程序运行时收集数据,这都不是问题.所以我制作了一个程序,收集所有数据使其可见,而不是问题,然后存储它.但是我无法将其存储为"Delphi格式",而不会丢失结构,因此可以在几秒钟内加载.

我不是那么熟悉Delphi,我搜索了很长时间才得到解决方案,但却无法理解什么是最好的.我认为我构建数据的方式是错误的,但它很简单而且有效.但是,如果有更好的存储数据的方法请说明,但请记住,我需要更多的解释,而不仅仅是使用'xml文件','generict或'Ttreeview'.(已阅读但无法使用它).

数据适用于:我制作了这个产品,我制作的下一个产品就是这个,所以我需要清洁吗?对或错.

数据存储为带有Productnumber(整数)的类(TObject)和包含下一步可以生成的所有产品的List.此列表包含另一个带有Productnumber(整数)的类(TObject),我需要清理(布尔).我想将此结构保存在文件中,而不会丢失数据并将其读回相同的结构.

我希望有人可以提供帮助.先感谢您.

更新:提供更多信息的代码(修改为英文)

Clean_from = class(TObject)
public
  myfromNumber      : Integer;
  mylist            : TList;
published
  constructor Create;
End

Clean_To = class(TObject)
public
  myToNumber        : Integer;
  Clean             : Boolean;
End;

constructor Clean_from.Create;
begin
  inherited Create;
  myList := Tlist.Create;
end;

For i = 0 to 100 do
begin
  From:= Clean_from.create;
  for j := 0 to 10 do 
  begin 
    To := Clean_To.create;
    To.clean := true or false;
    From.myList.add(To);
  end;
  GlobalList.add(from);
end;
Run Code Online (Sandbox Code Playgroud)

现在我想用所有内容保存全局列表,以便我可以使用相同的结构加载它.

delphi structure save delphi-2010 data-persistence

2
推荐指数
1
解决办法
2202
查看次数

Python npy文件如何访问变量

npy我使用以下 tensorlayer 命令创建了一个数据集。

tl.files.save_any_to_npy(
save_dict={
    'images': aggregated_images, 
    'actions': aggregated_actions,
    'rewards': aggregated_rewards}, 
    name='./data/episode0.npy')
Run Code Online (Sandbox Code Playgroud)

我可以使用以下命令加载文件(奖励/操作是标量数组;图像是矩阵数组)

import numpy as np
data = np.load('./data/episode0.npy')
Run Code Online (Sandbox Code Playgroud)

我认为这类似于字典(print(data)作品)。因此,我尝试了

actions = data['actions'] 
Run Code Online (Sandbox Code Playgroud)

但这给了我以下错误

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices
>>> actions = data['rewards']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) …
Run Code Online (Sandbox Code Playgroud)

python numpy data-persistence

2
推荐指数
1
解决办法
2754
查看次数

如何在NSUserDefaults中保存NSMutableDictionary

我需要在NSUserDefaults中保存NSMutableDictionary.我在网上搜索了很多例子,但没有收到任何足够相关的例子.有人可以发布一小段代码,它会在关机时在NSUserDefaults中保存NSMutableDictionary,并在应用程序启动时检索它吗?还能告诉我在哪里放置代码.

我自己有一些代码,但它不起作用.

appDelegate.h - 检索数据

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

    // Override point for customization after application launch.

      NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
      NSData *dat = [defaults objectForKey:@"theKey"];
      tmpArray  = [[NSMutableArray alloc] init];
      tmpArray = [NSKeyedUnarchiver unarchiveObjectWithData:dat];

      [self.window makeKeyAndVisible];
      [window addSubview:tabBarController.view];
      return YES;
}
Run Code Online (Sandbox Code Playgroud)

appDelegate.h - 存储数据

- (void)applicationWillTerminate:(UIApplication *)application {

      [self saveContext];
      NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
      NSData *dat = [NSKeyedArchiver archivedDataWithRootObject:tmpArray];
      [defaults setObject:dat forKey:@"theKey"];
}
Run Code Online (Sandbox Code Playgroud)

是的,它是一个数组,但我需要一个NSMutableDictionary.

iphone application-shutdown nsuserdefaults nsmutabledictionary data-persistence

1
推荐指数
1
解决办法
464
查看次数

python pickle:这是什么?我什么时候用它?

我认为pickle是一个对象持久性库,它允许我将数据结构写出来并重新加载它.

为什么/何时我会使用文本文件的"传统"方法?

编辑:实际上,这不是一个有用的方式来表达问题.我的意思是什么是泡菜更容易/更方便的情况,什么时候会让我遇到麻烦?什么样的数据或设计模式有助于腌制?

python pickle data-persistence

0
推荐指数
1
解决办法
186
查看次数