gpt4 book ai didi

android - 如何在互联网可用时存储和发送队列文件

转载 作者:太空狗 更新时间:2023-10-29 15:26:52 26 4
gpt4 key购买 nike

我们从 Android 开始。我们希望在互联网可用时以编程方式发送文件(通过电子邮件)。我们猜测最好的编程方式是在没有互联网的情况下将文件发送到队列中。当检测到互联网时,文件将开始一个接一个地上传。我们猜测代码应该是这样的:

后台服务不断检查是否有互联网:

public class EducarCabezoService extends Service{
@Override
public void onCreate() {
super.onCreate();
IntentFilter filter = new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);
ciReceiver = new checkInternetReceiver();
registerReceiver(ciReceiver, filter);

后台服务为此目的使用 BroadcastReceiver:

public class checkInternetReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent uqofIntent = new Intent(context, UploadQueueOfFilesService.class);
context.startService(uqofIntent);

我们没有找到如何将文件放入队列(也许这不是正常程序)。我们可以使用 here 中的方法 isOnline() :

public class MainActivity extends Activity {
public uploadFile (){
if (!isOnline()){
// TODO Send files to queue?

我们都不知道如何从那个队列上传那些文件:

public class UploadQueueOfFilesService extends Service{
@Override
public void onCreate() {
// TODO Start uploading files

最佳答案

这将保存一个文件(到“内部存储”,您也可以使用外部存储(如果他们的设备有)):

String FILENAME = "out/file1";
String string = "hello world!";

FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
fos.write(string.getBytes());
fos.close();

上网的时候只要在out目录下找文件就可以了。将它们一一上传和删除。

编辑:或者,如果文件已经在存储中,并且您不想复制或删除它们,请使用 SQLite 表为您的服务应上传的每个文件存储一行,然后从表中删除该行。

关于android - 如何在互联网可用时存储和发送队列文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21268130/

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