使用编辑文本将数据插入内部存储


//DB CODE
    textBox1=(EditText) findViewById(R.id.text1);
    textBox2=(EditText) findViewById(R.id.text2);
    textBox3=(EditText) findViewById(R.id.text3);
    Button savebtn = (Button) findViewById(R.id.btn1);
    Button cancel = (Button) findViewById(R.id.btn2);
    savebtn.setOnClickListener(new View.OnClickListener(){
        public void onClick(View v){
            String str1=textBox1.getText().toString();
            String str2=textBox2.getText().toString();
            String str3=textBox3.getText().toString();
            try
            {
                FileOutputStream fOut=
                        openFileOutput("textfile.txt",MODE_WORLD_READABLE);
                OutputStreamWriter osw= new OutputStreamWriter(fOut);
                osw.write(str1);
                osw.write(str2);
                osw.write(str3);
                osw.flush();
                osw.close();
                Toast.makeText(getBaseContext(),
                        "File saved successfully!",Toast.LENGTH_SHORT).show();
                textBox1.setText("");
                textBox2.setText("");
                textBox3.setText("");
            }
            catch (IOException ioe)
            {
                ioe.printStackTrace();
            }

        }
    });

    savebtn.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            try
            {
            FileInputStream fIn =
            openFileInput("textfile.txt");
            InputStreamReader isr = new
            InputStreamReader(fIn);
            char[] inputBuffer = new char[READ_BLOCK_SIZE];
            String str ="";
            int charRead;
            while ((charRead = isr.read(inputBuffer))>0)
            {
            //---convert the chars to a String---
            String readString =
            String.copyValueOf(inputBuffer, 0,
            charRead);
            str += readString;
            inputBuffer = new char[READ_BLOCK_SIZE];
            }
            //---set the EditText to the text that has been
            // read---
            textBox1.setText(str);
            Toast.makeText(getBaseContext(),"success!",
            Toast.LENGTH_SHORT).show();
            }
            catch (IOException ioe) {
            ioe.printStackTrace();
            }
        }
    });
    }

这是我的日志猫

02-07 21:36:17.283: E/AndroidRuntime(516):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
02-07 21:36:17.283: E/AndroidRuntime(516):  at android.os.Handler.dispatchMessage(Handler.java:99)
02-07 21:36:17.283: E/AndroidRuntime(516):  at android.os.Looper.loop(Looper.java:123)
02-07 21:36:17.283: E/AndroidRuntime(516):  at android.app.ActivityThread.main(ActivityThread.java:3683)
02-07 21:36:17.283: E/AndroidRuntime(516):  at java.lang.reflect.Method.invokeNative(Native Method)
02-07 21:36:17.283: E/AndroidRuntime(516):  at java.lang.reflect.Method.invoke(Method.java:507)
02-07 21:36:17.283: E/AndroidRuntime(516):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
02-07 21:36:17.283: E/AndroidRuntime(516):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
02-07 21:36:17.283: E/AndroidRuntime(516):  at dalvik.system.NativeStart.main(Native Method)
02-07 21:36:17.283: E/AndroidRuntime(516): Caused by: java.lang.NullPointerException
02-07 21:36:17.283: E/AndroidRuntime(516):  at com.example.finale.MainActivity.onCreate(MainActivity.java:46)
02-07 21:36:17.283: E/AndroidRuntime(516):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
02-07 21:36:17.283: E/AndroidRuntime(516):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
02-07 21:36:17.283: E/AndroidRuntime(516):  ... 11 more
02-07 21:38:18.482: D/dalvikvm(516): Debugger has detached; object registry had 1 entries
02-07 21:41:17.398: I/Process(516): Sending signal. PID: 516 SIG: 9

如果代码在您给出的示例行之一上崩溃,听起来您有错误的视图 ID。我会仔细检查我的EditTextButton s。

最新更新