마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

이클립스 안드로이드 파일 입출력 도와주세요

0 추천
bSave.setOnClickListener(new View.OnClickListener() {
            @Override    // 입력한 데이터를 파일에 추가로 저장하기
            public void onClick(View v) {
                String data = et.getText().toString();
 
                try {
                    FileOutputStream fos = openFileOutput
                            ("myfile.txt", // 파일명 지정
                                    Context.MODE_PRIVATE);// 저장모드
                    PrintWriter out = new PrintWriter(fos);
                    out.println(data);
                    out.close();
                    Toast.makeText(getApplicationContext(), "메모가 저장 되었습니다.",0).show();
                    //et.setText("파일 저장 완료");
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
 
        bList.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // 파일의 내용을 읽어서 TextView 에 보여주기
                try {
                    // 파일에서 읽은 데이터를 저장하기 위해서 만든 변수
                    StringBuffer data = new StringBuffer();
                    FileInputStream fis = openFileInput("myfile.txt");//파일명
                    BufferedReader buffer = new BufferedReader
                            (new InputStreamReader(fis));
                    String str = buffer.readLine(); // 파일에서 한줄을 읽어옴
                    while (str != null) {
                        data.append(str + "\n");
                        str = buffer.readLine();
                    }
                    et.setText(data);
                    buffer.close();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });

이게 mainActivity.java 코딩인데요

여기서는 한 레이아웃에 EditText에 글을 쓰서 저장을 하고 읽기를 누르면 저장한 글을 EditText에 보여주는

코드입니다.

근데 제가 하고싶은건 second.xml을 만들어서 여기에 TextView를 만들어 놓고

EditText에 글을써서 저장하고 읽을때 위에 만든 TextView에 저장된 글을 보여주고 싶은데요

어떻게 해야 할까요? second.java 도 추가해야될까요? 코딩을 어디에 어떻게 해야 할지 모르겠네요

답변 부탁드릴게요
익명사용자 님이 2016년 9월 24일 질문

2개의 답변

0 추천
간단하게는 레이아웃을 크게 두개 놓으시고 (LinearLayout을 사용한다고 가정하고 - 속성을 생략합니다.)

<LinearLayout>
     <LinearLayout android:id="@+id/layout1">

     </LinearLayout>

     <LinearLayout  android:id="@+id/layout2">

    </LinearLayout>
</LinearLayout>

버튼 누를 때마다 layout1과 layout2를 번갈아 가면서 보여주시던가

아니면 Fragment를 두개 쓰셔서 하나는 입력폼, 다른 하나는 디스플레이용으로 사용하시면 될 것 같은데요.
익명사용자 님이 2016년 9월 24일 답변
제가 원하는게 다른 화면으로 넘어가서 뜨게하는거라
그렇게하면 한화면에 뜨는거 아닌가요?
질문 내용이 한 화면에서 다 보여주길 원하시는 것 같아 보였는데, 그게 아니군요. 별도의 화면이라면 아랫분 답변처럼 하시면 되겠네요. 두번째 액티비티를 띄울 때 저장하신 파일에서 데이터를 읽어오게 해서 보여주면 간단하게 해결될 것 같네요.
0 추천
스트링이 짧다면 이벤트리스너에서 intent 주시고 풋엑스트라 하시면 됩니다

넘겨받은 엑티비티에서 겟엑스트라로 얻으실수있습니다

아니면 프리퍼런스나,sqlite,서버디비를 이용하는방법이있습니다.
익명사용자 님이 2016년 9월 26일 답변
...