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

안드로이드 파싱 후 txt파일로 저장하려합니다.

0 추천
public class MainActivity extends Activity {
    com.example.parser.Parser parser;
    parserAdapter adapter;
    ListView list;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button button = (Button)findViewById(R.id.button) ;
        final TextView tv =(TextView)findViewById(R.id.textView2);

        list =(ListView)findViewById(R.id.listView);
        parser = new com.example.parser.Parser();
        new paserAsync().execute(null,null,null);
    }
    public class paserAsync extends AsyncTask<String, String, ArrayList<custom>>{
        @Override
        protected ArrayList<custom> doInBackground(String... params) {
            return parser.parseCustom();
        }
        @Override
        protected void onPostExecute(ArrayList<custom> result) {
            adapter = new parserAdapter(MainActivity.this, 0,result);
            list.setAdapter(adapter);
        }
    }
}

현재 naver제공 open api를 사용하여 파싱후 리스트뷰로 찍어주는 과정까지 파일을 코딩하였습니다.

여기서 파싱한 결과를 txt파일로 만들고자하는데, 어떻게 해야할지 모르겠어서 질문을합니다. 

제 생각으론 Arraylist<custom> result 에 파싱한 내용이 다 저장되어있다 생각하고, adapter를 만드는 곳에서 리스트뷰를 만드는 과정 대신, 파일을 만드는 소스를 만들면 될거같은데 어떻게 해야될지 몰라 이렇게 질문합니다. 고수님들의 도움 부탁드립니다 ㅠㅠ

익명사용자 님이 2016년 9월 27일 질문
try{
                FileOutputStream fos = openFileOutput("myfile.txt", Context.MODE_APPEND);
                PrintWriter out = new PrintWriter(fos);
                out.println(result);
                Toast toast= Toast.makeText(getApplicationContext(),"저장완료",Toast.LENGTH_SHORT);
                toast.show();
                out.close();
            }
            catch (Exception e){
                e.printStackTrace();
            }
이런식으로 파일을 저장하는식으로 해봤는데 저장이 이루어지지 않습니다..ㅠㅠ

1개의 답변

0 추천
FileOutputStream fos = new FileOutputStream("경로", true);

byte[] data = "데이터".getByte();

fos.write(data, 0, data.lengtjh);

fos.flush();

fos.close();

 

파일 write 코드입니다. 참조하세요.

그리고 파일 저장 권한 관련해서도 유의하세요.
Development Guy (70,570 포인트) 님이 2016년 9월 27일 답변
...