使用外部应用程序修改笔记
Modify notes with external app
您好,我想为 Android 创建一个应用程序,它必须使用外部应用程序打开创建和修改笔记文件(仅文本)。我知道我不知道如何调用外部应用程序的路径。谢谢。
下面是从 sdcard
root 读取文本文件的代码:
package com.dEvElOpIt.writepad;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import android.annotation.SuppressLint;
import android.util.Log;
public class FileOperations {
public FileOperations() {
}
@SuppressLint("SdCardPath")
public Boolean write(String fname, String fcontent) {
try {
String fpath = "/sdcard/" + fname + ".txt";
File file = new File(fpath);
// If file does not exists, then create it
if (!file.exists()) {
file.createNewFile();
}
FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
bw.write(fcontent);
bw.close();
Log.d("Suceess", "Sucess");
return true;
} catch (IOException e) {
e.printStackTrace();
return false;
}
}
public String read(String fname) {
BufferedReader br = null;
String response = null;
try {
StringBuffer output = new StringBuffer();
String fpath = "/sdcard/" + fname + ".txt";
br = new BufferedReader(new FileReader(fpath));
String line = "";
while ((line = br.readLine()) != null) {
output.append(line + "\n");
}
response = output.toString();
} catch (IOException e) {
e.printStackTrace();
return null;
}
return response;
}
}
现在你可以按照下面的方法获取text
文件的数据:
String fileName = input.getText().toString();
FileOperations fop = new FileOperations();
String text = fop.read(fileName);
其中 fileName
是要从 sdcard
的根目录加载的文件的名称。
如果你想在sdcard
根目录中将数据保存为文本文件,请按照下面的说明进行操作:
FileOperations fop = new FileOperations();
fop.write(mTitleText.getText().toString(), mBodyText.getText()
.toString());
if (fop.write(fileName, fileContent) {
Toast.makeText(
getApplicationContext(),
mTitleText.getText().toString()
fileName+ ".txt Successfully saved",
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getApplicationContext(), "I/O error",
Toast.LENGTH_SHORT).show();
}
其中 fileName
是要从 sdcard
的根目录加载的文件名,
和 fileContent
是要保存的文本文件的内容.
不要忘记将下面的权限添加到您的 AndroidManifest.xml
文件中:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
希望对您有所帮助!
您好,我想为 Android 创建一个应用程序,它必须使用外部应用程序打开创建和修改笔记文件(仅文本)。我知道我不知道如何调用外部应用程序的路径。谢谢。
下面是从 sdcard
root 读取文本文件的代码:
package com.dEvElOpIt.writepad;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import android.annotation.SuppressLint;
import android.util.Log;
public class FileOperations {
public FileOperations() {
}
@SuppressLint("SdCardPath")
public Boolean write(String fname, String fcontent) {
try {
String fpath = "/sdcard/" + fname + ".txt";
File file = new File(fpath);
// If file does not exists, then create it
if (!file.exists()) {
file.createNewFile();
}
FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
bw.write(fcontent);
bw.close();
Log.d("Suceess", "Sucess");
return true;
} catch (IOException e) {
e.printStackTrace();
return false;
}
}
public String read(String fname) {
BufferedReader br = null;
String response = null;
try {
StringBuffer output = new StringBuffer();
String fpath = "/sdcard/" + fname + ".txt";
br = new BufferedReader(new FileReader(fpath));
String line = "";
while ((line = br.readLine()) != null) {
output.append(line + "\n");
}
response = output.toString();
} catch (IOException e) {
e.printStackTrace();
return null;
}
return response;
}
}
现在你可以按照下面的方法获取text
文件的数据:
String fileName = input.getText().toString();
FileOperations fop = new FileOperations();
String text = fop.read(fileName);
其中 fileName
是要从 sdcard
的根目录加载的文件的名称。
如果你想在sdcard
根目录中将数据保存为文本文件,请按照下面的说明进行操作:
FileOperations fop = new FileOperations();
fop.write(mTitleText.getText().toString(), mBodyText.getText()
.toString());
if (fop.write(fileName, fileContent) {
Toast.makeText(
getApplicationContext(),
mTitleText.getText().toString()
fileName+ ".txt Successfully saved",
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getApplicationContext(), "I/O error",
Toast.LENGTH_SHORT).show();
}
其中 fileName
是要从 sdcard
的根目录加载的文件名,
和 fileContent
是要保存的文本文件的内容.
不要忘记将下面的权限添加到您的 AndroidManifest.xml
文件中:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
希望对您有所帮助!