精华内容
下载资源
问答
  • 数据持久保存到shared-local-instance.db ,以便在重新启动和删除容器之后可以再次读取数据。 使用sharedDb,以便应用程序可以访问数据,而不受区域限制 使用DynamoDb的默认端口8000 如果您希望DynamoDb Local...
  • 在平时的 Excel 应用中,有时会遇到表格里有重复的内容,并且表格数据比较宠大,重复的内容又多,想要快速把表格里重复的内容删除保留一条,如何操作又快速又简单呢?下面我举个例子介绍一下。 以上表格,我们可以...

    在平时的 Excel 应用中,有时会遇到表格里有重复的内容,并且表格数据比较宠大,重复的内容又多,想要快速把表格里重复的内容删除并保留一条,如何操作又快速又简单呢?下面我举个例子介绍一下。

    9d3eb487cbd3c0af98838cda57b56c37.png

    以上表格,我们可以看到画红色框部分,都是重复的内容,现在要删除这些重复值,我们可以用批量来快速删除。

    方法一、利用 Excel 的 [ 删除重复项 ] 功能。

    步骤 1 、选中表格,选择菜单 [ 数据 ]-[ 删除重复项 ] ,

    ecfe75c72ba8013a882503ed844870aa.png

    步骤 2 、在跳出的删除重复项窗口,选择 [ 全选 ] ,

    f9f5a0e33528520845d0750916934ef1.png

    步骤 3 、点击确定后,就会提示,

    38c49a223e71f4a39a11efea958de2cb.png

    步骤 4 、在点击确定,重复项就全删除了。

    44ca689b19cdf806d9862709da3f7607.png

    方法二、利用 Excel 的 [ 高级筛选 ] 功能。

    步骤 1 、选中表格,选择菜单 [ 数据 ]-[ 高级 ] ,

    7389e2b6f192dee0c79ca748d5c62163.png

    步骤 2 、在跳出的高级筛选框中,选择 [ 将将筛选结果复制到其他位置 ] ,然后鼠标点击 [ 复制到 ] 的方框,定义删除重复项后,表格要放在单元格的位置。此时我们可以定义放 J2 单元格的位置,即鼠标点击一下 J2 单元格,就可以看到复制到哪的方框就显示我们定义的位置,在把 [ 选择不重复的记录 ] 打勾;具体如下图:

    5e2b948041ddf9a4ab4c60e02a18f977.png

    步骤 3 、点击确定后,就可以看到在表格的 J1 单元格开始产生一份新的表格,这份表格是已经删除重复项的表格。

    5047cca76b56136432629a05bba85346.png
    展开全文
  • 在创建Excel报表时,我们经常会用到很多公式来计算数据,创建后出于保密性或其他一些原因,有些时候我们可能想删除这些公式,只保留数据。这篇文章将介绍如何使用Free Spire.XLS组件和C#批量删除Excel文档中的所有...

    在创建Excel报表时,我们经常会用到很多公式来计算数据,创建后出于保密性或其他一些原因,有些时候我们可能想删除这些公式,只保留数据。这篇文章将介绍如何使用Free Spire.XLS组件和C#批量删除Excel文档中的所有公式并保留数据。

    下面Excel文档工作表中D列的单元格都包含有公式,我选中了其中一个单元格来截图:


    在使用代码前,需要创建一个C#应用程序,下载Free Spire.XLS组件并从安装文件夹下引用Spire.Xls.dll到程序中。

    具体步骤如下:

    步骤1:创建Workbook实例,加载Excel文档。

    Workbook workbook = new Workbook();
    workbook.LoadFromFile("Input.xlsx");

    步骤2:遍历文档中所有工作表,找到其中所有包含公式的单元格,获取单元格中公式的数据,然后清除单元格中的内容,最后将数据再次赋值给单元格。

    foreach (Worksheet sheet in workbook.Worksheets)
    {
       foreach (CellRange cell in sheet.Range)
        {
           if(cell.HasFormula)
            {
                Object value = cell.FormulaValue;                       
                cell.Clear(ExcelClearOptions.ClearContent);
                cell.Value2 = value;
            }
        }
    }
    步骤3:保存文档。

    workbook.SaveToFile("DeleteFormula.xlsx",ExcelVersion.Version2013);

    删除公式后的效果:


    完整代码:

    //创建Workbook实例
    Workbook workbook = new Workbook();
    //加载Excel文档
    workbook.LoadFromFile("Input.xlsx");
     
    //遍历文档中所有工作表,找到其中所有包含公式的单元格,获取单元格中公式的数据,然后清除单元格中的内容,最后将数据再次赋值给单元格
    foreach (Worksheet sheet in workbook.Worksheets)
    {
       foreach (CellRange cell in sheet.Range)
        {
           if(cell.HasFormula)
            {
                Object value = cell.FormulaValue;                       
                cell.Clear(ExcelClearOptions.ClearContent);
                cell.Value2 = value;
            }
        }
    }          
     
    //保存文档
    workbook.SaveToFile("DeleteFormula.xlsx",ExcelVersion.Version2013);


     

    展开全文
  • 在开发过程中我们有时候在用户删除时候保存一些信息在...剪切版剪切版主要分为以下两种 UIPasteboardNameGeneral和UIPasteboardNameFind 两种都是系统级的可以在应用删除后仍然保留数据 开发中我们常常使用UIPas...

    在开发过程中我们有时候在用户删除时候保存一些信息在用户下次安装应用时候使用,这个时候我们可以使用剪切版UIPasteboard的FindUIPasteboard和钥匙串keychain的使用

    剪切版
    剪切版主要分为以下两种
    UIPasteboardNameGeneral和UIPasteboardNameFind
    两种都是系统级的可以在应用删除后仍然保留数据

    开发中我们常常使用UIPasteboard的Find UIPasteboard来保存一些用户删除应用后需要保留的数据如UUID,用户名,密码等
    下面是一个保存uuid到UIPasteboard的代码
    创建UDID

    + (NSString*) _uuidCreateNewUDID {
    NSString* _openUDID = nil;

    CFUUIDRef uuid = CFUUIDCreate(kCFAllocatorDefault);
    CFStringRef cfstring = CFUUIDCreateString(kCFAllocatorDefault, uuid);
    const char *cStr = CFStringGetCStringPtr(cfstring, CFStringGetFastestEncoding(cfstring));
    unsigned char result[16];
    CC_MD5(cStr, (unsigned int)strlen(cStr), result);
    CFRelease(uuid);

    _openUDID = [NSString stringWithFormat:
    @"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%08x",
    result[0], result[1], result[2], result[3],
    result[4], result[5], result[6], result[7],
    result[8], result[9], result[10], result[11],
    result[12], result[13], result[14], result[15],
    (unsigned int)(arc4random() % NSUIntegerMax)];

    CFRelease(cfstring);

    return _openUDID;
    }

    保存UDID到剪切板

    NSString *openudid = [self _uuidCreateNewUDID];
    NSString *checkOpenUDID = [openudid stringByAppendingFormat:kOpenUDIDAdd, nil];

    //先把UDID存入字典
    NSMutableDictionary *localDict = [NSMutableDictionary dictionaryWithCapacity:2];
    [localDict setObject:openudid forKey:kOpenUDIDKey];
    [localDict setObject:[checkOpenUDID md5] forKey:kCheckOpenUDIDKey];

    // 同步数据到剪切板
    UIPasteboard *slotPB = [UIPasteboard pasteboardWithName:kOpenUDIDPB create:YES];
    // 设置为永久保存
    [slotPB setPersistent:YES];
    //把字典存入剪切版
    [slotPB setData:[NSKeyedArchiver archivedDataWithRootObject:localDict] forPasteboardType:kOpenUDIDDict];

    注意:在用户使用产品过程中我们发现,当用户在隐私里面关闭限制广告跟踪,然后用户删除应用的同时,剪切版的数据会被清空(也有可能因为硬盘容量紧张也回清除)

    钥匙串keychain
    iOS的keychain服务提供了一种安全的保存私密信息(密码,序列号,证书等)的方式。每个ios程序都有一个独立的keychain存储。从ios 3.0开始,跨程序分享keychain变得可行。
    下面就使用keychain来实现存取用户名和密码。
    苹果已经有现成的类封装好了keychain,KeychainItemWrapper.h和KeychainItemWrapper.m文件,可以在GenericKeychain实例里找到。
    但是这里我只需要存取用户名和密码,就不用苹果提供的类了,自己写个简单的类来实现就好。

    KeychainManager.h

    #import <Foundation/Foundation.h>

    @interface KeychainManager : NSObject
    +(KeychainManager*)default;
    //根据字典存储对象到钥匙串
    - (void)save:(NSString *)service data:(id)data;
    //根据字典读取钥匙串里的对象
    - (id)load:(NSString *)service;
    //删除钥匙串里的数据
    - (void)delete:(NSString *)service;
    @end

    KeychainManager.m

    #import "KeychainManager.h"

    @implementation KeychainManager
    +(KeychainManager*)default
    {
    static KeychainManager *keychainManager = nil;
    if(keychainManager == nil)
    {
    keychainManager = [[KeychainManager alloc] init];
    }
    return keychainManager;
    }
    - (NSMutableDictionary *)getKeychainQuery:(NSString *)service {
    return [NSMutableDictionary dictionaryWithObjectsAndKeys:
    (id)kSecClassGenericPassword,(id)kSecClass,
    service, (id)kSecAttrService,
    service, (id)kSecAttrAccount,
    (id)kSecAttrAccessibleAfterFirstUnlock,(id)kSecAttrAccessible,
    nil];
    }

    - (void)save:(NSString *)service data:(id)data {
    //Get search dictionary
    NSMutableDictionary *keychainQuery = [self getKeychainQuery:service];
    //Delete old item before add new item
    SecItemDelete((CFDictionaryRef)keychainQuery);
    //Add new object to search dictionary(Attention:the data format)
    [keychainQuery setObject:[NSKeyedArchiver archivedDataWithRootObject:data] forKey:(id)kSecValueData];
    //Add item to keychain with the search dictionary
    SecItemAdd((CFDictionaryRef)keychainQuery, NULL);
    }

    - (id)load:(NSString *)service {
    id ret = nil;
    NSMutableDictionary *keychainQuery = [self getKeychainQuery:service];
    //Configure the search setting
    //Since in our simple case we are expecting only a single attribute to be returned (the password) we can set the attribute kSecReturnData to kCFBooleanTrue
    [keychainQuery setObject:(id)kCFBooleanTrue forKey:(id)kSecReturnData];
    [keychainQuery setObject:(id)kSecMatchLimitOne forKey:(id)kSecMatchLimit];
    CFDataRef keyData = NULL;
    if (SecItemCopyMatching((CFDictionaryRef)keychainQuery, (CFTypeRef *)&keyData) == noErr) {
    @try {
    ret = [NSKeyedUnarchiver unarchiveObjectWithData:(__bridge NSData *)keyData];
    } @catch (NSException *e) {
    NSLog(@"Unarchive of %@ failed: %@", service, e);
    } @finally {
    }
    }
    if (keyData)
    CFRelease(keyData);
    return ret;
    }

    - (void)delete:(NSString *)service {
    NSMutableDictionary *keychainQuery = [self getKeychainQuery:service];
    SecItemDelete((CFDictionaryRef)keychainQuery);
    }
    @end

    在app delegate的使用

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    KeychainManager *manager = [KeychainManager default];

    NSString *data = [manager load:@"myName"];
    if (data == nil) {
    NSLog(@"Save");
    NSString *dataString = @"我是谁";
    [manager save:@"myName" data:dataString];
    }
    NSLog(@"data = %@",data);

    return YES;
    }

    运行app你会发现Save只有在你第一次运行app时候打印,如果你把app删除后在运行,也不会清除数据
    ---------------------
    版权声明:本文为CSDN博主「chris-gardner」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/u014410695/article/details/50623591

    OS App 升级时文件的保留情况

     

    有这样一个问题,用户用iOS设备下载了大量的数据,保存在设备本地,如果用户升级了应用本身,这些文件是否仍然存在。

    找了一些官方解释和Stackflow上的说明

    Where You Should Put Your App’s Files

    To prevent the syncing and backup processes on iOS devices from taking a long time, be selective about where you place files inside your app’s home directory. Apps that store large files can slow down the process of backing up to iTunes or iCloud. These apps can also consume a large amount of a user's available storage, which may encourage the user to delete the app or disable backup of that app's data to iCloud. With this in mind, you should store app data according to the following guidelines:

    • Put user data in the <Application_Home>/Documents/. User data is any data that cannot be recreated by your app, such as user documents and other user-generated content.

    • Handle support files—files your application downloads or generates and can recreate as needed—in one of two ways:

      • In iOS 5.0 and earlier, put support files in the <Application_Home>/Library/Caches directory to prevent them from being backed up

      • In iOS 5.0.1 and later, put support files in the <Application_Home>/Library/Application Support directory and apply thecom.apple.MobileBackup extended attribute to them. This attribute prevents the files from being backed up to iTunes or iCloud. If you have a large number of support files, you may store them in a custom subdirectory and apply the extended attribute to just the directory.

    • Put data cache files in the <Application_Home>/Library/Caches directory. Examples of files you should put in this directory include (but are not limited to) database cache files and downloadable content, such as that used by magazine, newspaper, and map apps. Your app should be able to gracefully handle situations where cached data is deleted by the system to free up disk space.

    • Put temporary data in the <Application_Home>/tmp directory. Temporary data comprises any data that you do not need to persist for an extended period of time. Remember to delete those files when you are done with them so that they do not continue to consume space on the user’s device.

    也就是说,一般从网上下载的那些内容,包括杂志、报纸、视频什么的,都要放在 <Application_Home> /Library/Caches  目录下面

    <Application_Home>/Library/

    This directory is the top-level directory for files that are not user data files. You typically put files in one of several standard subdirectories but you can also create custom subdirectories for files you want backed up but not exposed to the user. You should not use this directory for user data files.

    The contents of this directory (with the exception of the Caches subdirectory) are backed up by iTunes.

    For additional information about the Library directory, see “The Library Directory Stores App-Specific Files.”

    Library目录下面的内容,也会被被iTunes备份,但是Caches目录除外,也就是说这些网络下载内容文件放在这里是不会被备份的,

     

    Caches

    Use this directory to write any app-specific support files that your app can re-create easily. Your app is generally responsible for managing the contents of this directory and for adding and deleting files as needed.

    In iOS 2.2 and later, the contents of this directory are not backed up by iTunes. In addition, iTunes removes files in this directory during a full restoration of the device.

    On iOS 5.0 and later, the system may delete the Caches directory on rare occasions when the system is very low on disk space. This will never occur while an app is running. However, you should be aware that iTunes restore is not necessarily the only condition under which the Caches directory can be erased.

    上面写的的比较清楚,Library/Caches目录下,一般情况下是不会被删除的,我理解,也包括stackoverflow网友的证明,应用升级的时候也不会被删除,实际上,应用升级的具体系统操作是这样的:

     

    Files Saved During Application Updates When a user downloads an application update, iTunes installs the update in a new application directory. It then moves the user’s data files from the old installation over to the new application directory before deleting the old installation. Files in the following directories are guaranteed to be preserved during the update process:

    • Application_Home/Documents
    • Application_Home/Library

    Although files in other user directories may also be moved over, you should not rely on them being present after an update.

    系统先新建一个应用目录,然后安装一个新版本应用,然后再把旧版本的应用数据拷贝过来,然后再删除旧版本的应用安装目录。

    最后注意一下,Library/Caches目录下的数据虽然在一般情况下不会被删除,但是在系统恢复和其他一些罕见的情况下(比如非常底的磁盘空间条件下有可能)会被清除,所以你的程序每次都要检查一些,这些文件都还在不在了,不在的话只能重新下了。

    Application_Home/Library/Caches Use this directory to write any application-specific support files that you want to persist between launches of the application or during application updates. Your application is generally responsible for adding and removing these files. It should also be able to re-create these files as needed because iTunes removes them during a full restoration of the device. In iOS 2.2 and later, the contents of this directory are not backed up by iTunes.

     

    参考连接:http://stackoverflow.com/questions/7155964/will-application-home-library-caches-be-clear-on-app-update/7277797#7277797

    File System Programming Guide

    https://developer.apple.com/library/ios/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/FileSystemOverview/FileSystemOverview.html#//apple_ref/doc/uid/TP40010672-CH2-SW1

     

    转:https://blog.csdn.net/messyhari/article/details/50481356

     

    转载于:https://www.cnblogs.com/xiaoshen666/p/11355888.html

    展开全文
  • 以前,在 Android 上卸载应用程序同时会删除与其相关的所有数据。例如,当你卸载一个游戏应用,所有保存的数据、字符配置文件等都会一并删除,除非它是与 Google Play Games 同步的。而现在谷歌正在逐渐改变这种方式...

    谷歌为 Android 10 中引入了一个新功能:允许系统在卸载应用程序时将数据保存在本地。

    以前,在 Android 上卸载应用程序同时会删除与其相关的所有数据。例如,当你卸载一个游戏应用,所有保存的数据、字符配置文件等都会一并删除,除非它是与 Google Play Games 同步的。而现在谷歌正在逐渐改变这种方式,在 Android 10 中允许开发人员选择将数据保存在本地存储中。当你从主屏幕或者设置菜单启动卸载时,会弹出对话框显示是否保存数据,之后你重新安装该应用时,将可以恢复以前保存下来的数据。

    并不是所有的 Android 10 应用程序都支持这项功能

    目前,支持这项功能的只有少数几个应用程序,例如 WhatsApp 和 ASR Voice Recorder。由于这是一个新特性,某些方面还不成熟,开发人员还需要一段时间才能使用。而对于手游玩家来说,这绝对是件好事,因为很多游戏是完全依赖本地存储的应用程序数据来存储玩家信息。

    f3a7f276a0695761f2951dd97f73fcef.png
    8eeaf4948c21aa8d8edbc86b6cf3b1c7.png

    另外,例如上面的弹出信息只有在 App Drawer 或者 Settings 菜单中的应用程序列表操作卸载才会显示,如果直接从 Play Store 卸载应用程序则不会触发提示。虽然目前该特性支持的应用较少,但未来我们将能够看到更多应用受到支持。

    文章转载自 OSCHINA 社区

    本文标题:Android 10 允许卸载应用程序后保留其数据

    本文地址:https://www.oschina.net/news/111207/android-10-uninstall-app-retain-data

    展开全文
  • 删除字段重复内容且保留唯一一条数据遇到了一个挺有意思的sql问题,在实际应用中应该也会碰到这样的问题初级方法一:生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何...
  • MSSQL sql server 2005/2008 row_number()函数应用之–删除表中重复记录,只保留一条不重复数据 原文:MSSQL sql server 2005/2008 row_number()函数应用之–删除表中重复记录,只保留一条不重复数据转自...
  • Android应用升级的时候,不免对数据库做了很多的改动,比如增加或者删除字段,还有数据库版本的增大等,那么之前的数据是如何保存的呢? 我有两个想法: 第一: 建立2个数据库,账号数据库单独建立一个库,账号库...
  • 数据表具有多个字段,其中某个字段的值重复了,比如针对一个商品数据,商品对应的网址链接可能重复,但是其他字段不一样,此时我们只需要保留一个url即可,也即保留一整条数据删除其他的。 注意事项: 中间的...
  • Oracle数据库的使用1. 数据库相关概念(1) 请解释什么是DB, DBMS, DBAS, DBA, DBS?...DBAS(DataBase Application System)是数据库应用系统。DBA(Database Administrator)是数据库管理员。DBS(Da...
  • 可能存在着一些值相同的“多余”数据元素(类型为整型),编写一个程序将“多余”的数据元素从顺序表中删除,使该表由一个“非纯表”(值相同的元素在表中可能有多个)变成一个“纯表”(值相同的元素在表中只保留第...
  • 修改表定义 SQLite数库对ALTER TABLE命令支持非常有限,只能在表末尾添加列,不能修改列定义,...将临时表的数据导入新表(注意处理修改的列); 删除临时表。 以例子中的v2升级到v3为例: public voi...
  • 在FIM同步中,除了上次提到的... 操作思路: 1、数据删除用户->删除对应Metaverse对象(此时应用系统对应的CS object与对应的Metaverse对象disconnected) 2、自定义Extension用于修改状态。 在进行具体设置之...
  • 删除重复的数据

    2015-10-24 11:39:35
    我们经常需要对一些重复数据进行处理,删除重复的数据,只保留一份即可。重复数据的原因很多: 1.应用上事先没有建立有效的唯一约束或主键 2.建立了唯一约束或主键,但是失效了    这里记录一个高效的处理方式...
  • 可能存在着一些值相同的“多余”数据元素(类型为整型),编写一个程序将“多余”的数据元素从顺序表中删除,使该表由一个“非纯表”(值相同的元素在表中可能有多个)变成一个“纯表”(值相同的元素在表中只保留第...
  • 单表内数据量过千万,删除之前的数据保留最后20万数据 1、基于老表建立新表 create table board_new like board; 2、插入数据(几千万的数据量一定要分批插入,一次50万为最佳,毕竟mysql的数据处理能力有限),...
  • 你不仅可以将磁盘中的数据保留更长时间,还可以将磁盘备份策略扩展到环境中的其它层应用程序。这两种做法都能大大减少备份时间(通过磁带备份),更好地共享环境中的数据。重复数据删除技术可以减少数据所占容量,...
  • 应用3:试设计一个算法,删除顺序表L中的冗余元素,即使得操作之后的顺序表中只保留操作之前表中所有值都不相同的元素(提纯)。 参考函数原型: template<class ElemTyp void Purge_Sq( vector<ElemType> ...
  • 可能存在着一些值相同的“多余”数据元素(类型为整型),编写一个程序将“多余”的数据元素从顺序表中删除,使该表由一个“非纯表”(值相同的元素在表中可能有多个)变成一个“纯表”(值相同的元素在表中只保留第...
  • 出现的背景: 公司做了一个redis相关的项目,其中mysql存储了很多统计数据。比如客户端上报的数据,redis实例的...因此需要删除过期的数据,暂时保留近三个月的统计数据。 解决方案: 基本每个表都有个字段叫create...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 988
精华内容 395
关键字:

删除应用保留数据