【发布时间】:2016-01-22 10:10:33
【问题描述】:
Android 编程新手 - 对不正确的行话表示歉意。
我的应用可以保存输入到EditText 字段的数据。
然后它可以加载此数据并将此数据的值设置为字符串变量。
然后它使用这些字符串执行 POST HTTP 请求。
我正在使用openFileInput 和openFileOutput 加载/保存字符串文件
我已经创建了方法:
public String LoadMethod()
public String SaveMethod()
当方法与调用它的 Activity 属于同一类时,这些方法可以正常工作。
我的问题是 2 个活动需要能够运行 public String LoadMethod()
所以我所做的是创建 2 个用于加载和保存数据的 java 类文件。 在我尝试调试时,文件中有一些注释。
LoadUserDetails.java
public class LoadUserDetails extends AppCompatActivity {
public static String sSavedName;
public static String sSavedCompany;
public static String sSavedPhone;
public static String sSavedCarRegistration;
String sNameFile = "name_file";
//private Context context;
public String LoadMethod(){
/* OPEN DETAILS FROM INTERNAL STORAGE*/
//context = getActivity();
/*NAME*/
try {
String sOpenName;
FileInputStream fileInputStream = openFileInput("name_file");
InputStreamReader inputStreamReaderName = new InputStreamReader(fileInputStream);
BufferedReader bufferedReaderName = new BufferedReader(inputStreamReaderName);
StringBuffer stringBufferName = new StringBuffer();
while ((sOpenName = bufferedReaderName.readLine()) != null) {
stringBufferName.append(sOpenName + "\n");
}
sSavedName = (stringBufferName.toString());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
代码重复打开其他 3 个字符串文件。
我使用此代码从我的UserDetails.java Activity 和MainActivity.java Activity 启动此方法:
//Load User Details
LoadUserDetails load = new LoadUserDetails();
load.LoadMethod();
这是我在 logcat 中遇到的错误:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.visitorrego.oem.smartsigninvisitor/com.visitorrego.oem.smartsigninvisitor.UserDetails}: java.lang.NullPointerException
.......
Caused by: java.lang.NullPointerException
at android.content.ContextWrapper.openFileInput(ContextWrapper.java:191)
at com.visitorrego.oem.smartsigninvisitor.LoadUserDetails.LoadMethod(LoadUserDetails.java:31)
at com.visitorrego.oem.smartsigninvisitor.UserDetails.onCreate(UserDetails.java:37)
我尝试过使用Context 并且ContextWrapper 错误消失了,但我仍然得到其他错误:(
我知道这与使用来自不同类的 OpenFileInput 调用方法有关。 我在 webrequest 类中调用 postrequest 方法没有问题...
有什么想法吗?
如果需要,可以发布更多代码。
【问题讨论】:
标签: android class methods nullpointerexception