Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用Gmail帐户、服务器或提取文件为Android应用程序中的笔记创建备份?_Java_Android_Sqlite - Fatal编程技术网

Java 如何使用Gmail帐户、服务器或提取文件为Android应用程序中的笔记创建备份?

Java 如何使用Gmail帐户、服务器或提取文件为Android应用程序中的笔记创建备份?,java,android,sqlite,Java,Android,Sqlite,我有一个Android应用程序,用于在SQLite数据库中编写和保存注释。我需要使用Gmail帐户备份笔记(如果用户在应用程序中使用电子邮件登录,应用程序会自动同步并获取笔记)。或者通过在服务器上保存笔记(如果用户按下同步按钮,应用程序会自动获取笔记(但在这里,应用程序或服务器如何知道用户是否正确,并获取正确的笔记?!))。或者通过将文件提取到任何目录中,并且该文件包含注释,如果用户在应用程序中按下还原按钮,应用程序将开始在所有目录中查找该文件并获取注释 我搜索了一下,但我不知道如何开始 谁能解

我有一个Android应用程序,用于在SQLite数据库中编写和保存注释。我需要使用Gmail帐户备份笔记(如果用户在应用程序中使用电子邮件登录,应用程序会自动同步并获取笔记)。或者通过在服务器上保存笔记(如果用户按下同步按钮,应用程序会自动获取笔记(但在这里,应用程序或服务器如何知道用户是否正确,并获取正确的笔记?!))。或者通过将文件提取到任何目录中,并且该文件包含注释,如果用户在应用程序中按下还原按钮,应用程序将开始在所有目录中查找该文件并获取注释

我搜索了一下,但我不知道如何开始

谁能解释一下这个想法?!(如果有人能为此带来源代码或教程,这将是一个很好的解释!:D)

  • 注意:我是初学者,所以请尽量让你的答案更简单。非常感谢

  • 以下是我在Google Play Store上的应用程序:


您可以使用android的备份代理程序

以下是示例: 在您的清单中添加:

    <application
            android:allowBackup="true"...>
<meta-data android:name="com.google.android.backup.api_key" android:value="key_from_google_api" />
....
</application>
你准备好出发了

您可以使用将您的移动应用程序连接到谷歌云

看看这个:

你的应用程序已经在进行Gmail登录了吗?并获取笔记?这个类只保存和恢复设置吗?!或整个数据,如:注释、设置等。。。?!它将备份和还原您的sql数据库。如果您想为共享首选项执行此操作,您可以使用类似的方法。请注意,应用程序有许多用户,应用程序如何知道正确用户的正确注释?!备份将放在哪里?!此外,如果用户更换了手机,他如何恢复笔记?!有任意数量的用户,但您的数据库文件为1,当数据库恢复时,您可以在没有备份状态的情况下过滤数据。
public class MyBackupAgent extends BackupAgentHelper {

    private String KEY = "key";

    @Override
    public void onCreate() {
        addHelper(KEY, new FileBackupHelper(this, DATABASE_NAME));
    }

    @Override
    public File getFilesDir(){
        File path = getDatabasePath(DATABASE_NAME);
        return path.getParentFile();
    }

    @Override
    public void onBackup(ParcelFileDescriptor oldState, BackupDataOutput data, ParcelFileDescriptor newState) throws IOException {
        super.onBackup(oldState, data, newState);
    }

    @Override
    public void onRestore(BackupDataInput data, int appVersionCode, ParcelFileDescriptor newState) throws IOException {
        super.onRestore(data, appVersionCode, newState);
    }
}