gpt4 book ai didi

android - 在 Android 中写入和读取 SD 卡中的文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:06:40 25 4
gpt4 key购买 nike

我正在制作一个 android 应用程序,一旦按下按钮并且收到包含相同文本的 SMS 消息,它将从 TextView 将文本文件写入 SD 卡。

如何将文本文件保存到 SD 卡并在收到短信后从该文本文件中读取?这是我到目前为止得到的代码:

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.Environment;
import android.telephony.gsm.SmsMessage;
import android.widget.Toast;
import android.media.MediaPlayer;

public class IncomingSmsCaptureApp extends BroadcastReceiver {
MediaPlayer mp1;
@Override
public void onReceive(Context context, Intent intent) {
File sdcard = Environment.getExternalStorageDirectory();

//Get the text file
File file = new File(sdcard,"Notes\file.txt");

//Read text from file
String text = new String();

try {
BufferedReader br = new BufferedReader(new FileReader(file));
String line;

while ((line = br.readLine()) != null) {
}
}
catch (IOException e) {
//You'll need to add proper error handling here
}
//---get the SMS message passed in---
Bundle bundle = intent.getExtras();
SmsMessage[] msgs = null;
String str = "";
String Message = "";
if (bundle != null)
{
//---retrieve the SMS message received---
Object[] pdus = (Object[]) bundle.get("pdus");
msgs = new SmsMessage[pdus.length];
for (int i=0; i<msgs.length; i++){
msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);
str += "SMS from " + msgs[i].getOriginatingAddress();
str += " :";
str += msgs[i].getMessageBody().toString();
str += "\n";
Message = msgs[i].getMessageBody().toString();
}
//---display the new SMS message---
Toast.makeText(context, str, Toast.LENGTH_SHORT).show();
if (Message.equals("alarm")) {
//Play alarm sound
mp1 = MediaPlayer.create(context, R.raw.alarm);
mp1.start();
}
else {
if (Message.equals(text)) {
//Perform action
}
}
}
}
}

最佳答案

以下代码将帮助您将文本写入文件并保存在根目录中

首先从你的textview中获取文本

String text = myTextView.getText().toString();

然后编写如下语句写入到一个文本文件中

File logFile = new File(Environment.getExternalStorageDirectory().toString(), "myFile.txt");
if(!logFile.exists()) {
logFile.createNewFile();
}

BufferedWriter output = new BufferedWriter(new FileWriter(logFile));
output.write(text);
output.close();

你的文件会存放在根目录

不要忘记为您的 list 添加WRITE_EXTERNAL_STORAGE权限

关于android - 在 Android 中写入和读取 SD 卡中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8702172/

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