2012-02-18 8 views
3

안녕하세요. 첫 번째 단추를 클릭하면 SQL Server에서 파일을 저장하고 두 번째 단추를 누르면이 코드가 표시됩니다. 첫 번째 단추가 작동하는 것 같다하지만 두 번째 버튼이 여기에 충돌이 발생하는 것은 내가 코드를 내부에 저장하는 쓰기의 경우 말해 줄 사람이 필요 내 코드문자열을 내부 메모리에 저장 한 후

public class MainActivity extends Activity { 
/** Called when the activity is first created. */ 

String result = ""; 
InputStream is = null; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 


    Button saveFile = (Button) findViewById(R.id.downloadBtn); 
    saveFile.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 

      returnJson(); 

     } 
    }); 


    Button showFile = (Button) findViewById(R.id.showBtn); 
    showFile.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 

      TextView showText = (TextView) findViewById(R.id.showView); 


     String FILENAME = "Story_One"; 
     String showStoryNames = ""; 

     FileInputStream fis = null; 
     try { 
      fis = openFileInput(FILENAME); 
     } catch (FileNotFoundException e1) { 
      // TODO Auto-generated catch block 
      e1.printStackTrace(); 
     } 
     try { 
      fis.read(showStoryNames.getBytes()); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     try { 
      fis.close(); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 




     } 
    }); 

    //end of onCreate 
} 

public void returnJson(){ 


    try{ 
      HttpClient httpClient = new DefaultHttpClient(); 
      HttpPost httpPost = new HttpPost("http://10.0.2.2/textures_story_list.php"); 

      HttpResponse response = httpClient.execute(httpPost); 
      HttpEntity entity = response.getEntity(); 
      is = entity.getContent(); 

    }catch(Exception e) { 
     //one.setText("error3"); 
    } 

    try{ 


     BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"), 8);      
     StringBuilder sb = new StringBuilder(); 
      String line = null; 
      while ((line = reader.readLine()) != null) { 
       sb.append(line + "\n"); 
      } 
      is.close(); 
      result = sb.toString(); 

    }catch(Exception e) { 
     //one.setText("error2");    
     } 

    try{ 
     JSONArray jArray = new JSONArray(result); 
     String storyNames = ""; 
     for(int i = 0;i<jArray.length();i++){ 
       storyNames += jArray.getJSONObject(i).getString("story_name") + "\n"; 

     String FILENAME = "Story_One"; 
     String string = storyNames; 

     FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE); 
     fos.write(string.getBytes()); 
     fos.close(); 
     } 
     } 
    catch(JSONException e) { 
     //one.setText("error1"); 
    } catch (FileNotFoundException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
     return; 

//end of returnJson() 
} 



//end of method body 
} 

것은 권리이며, 또한 왜 버튼이 충돌합니다.

확인은 그래서 이것은 그래서 누군가가 내가 필요 없어요 그리고 내가 필요합니까 어디서하는 것이 story_one에서 결과를 저장할 수 있기를 넣어 어떤 코드 말해 줄 수

public void returnJson(){ 

    TextView one = (TextView) findViewById(R.id.textView1); 

    try{ 
      HttpClient httpClient = new DefaultHttpClient(); 
      HttpPost httpPost = new HttpPost("http://10.0.2.2/story_one.php"); 

      HttpResponse response = httpClient.execute(httpPost); 
      HttpEntity entity = response.getEntity(); 
      is = entity.getContent(); 

    }catch(Exception e) { 
     one.setText("error3"); 
    } 

    try{ 


     BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"), 8);      
     StringBuilder sb = new StringBuilder(); 
      String line = null; 
      while ((line = reader.readLine()) != null) { 
       sb.append(line + "\n"); 
      } 
      is.close(); 
      result = sb.toString(); 

    }catch(Exception e) { 
     one.setText("error2");   
     } 

    try{ 
     JSONArray jArray = new JSONArray(result); 
     String storyNames = ""; 
     for(int i = 0;i<jArray.length();i++){ 
       storyNames += jArray.getJSONObject(i).getString("story_name") + "\n"; 
     } 
     one.setText(storyNames); 
    } 
    catch(JSONException e) { 
     one.setText("error1"); 
    } 
     return; 


//end of returnJson() 
} 

을 작업 코드 메신저입니다. PHP, 그리고 json으로 json으로 남겨 두거나 나중에 story_one 파일을 사용할 때 변환하는지 여부

+0

오류가 발생하면 오류가 게시됩니다. – Sameer

+0

오류/stacktrace는 무엇입니까 ?? – dor506

+0

오류 로그를 게시하려면 어떻게합니까? – daniel

답변

3

다음 코드를 사용하여 파일에 문자열을 쓰십시오.

try{ 

String text = "String that goes in the file" 
FileOutputStream fOut = openFileOutput("filename.txt",MODE_WORLD_READABLE); 
OutputStreamWriter osw = new OutputStreamWriter(fOut); 
osw.write(text); 
int len = text.length(); 
osw.flush(); 
osw.close(); 
}catch(IOException ioe){ 
} 
+0

json에서 출력하는 스토리 목록을 보유하고있는 SQL DB가 있습니다. 다운로드를 누르면 해당 스토리가 휴대폰에 저장되기를 원합니다. 우리의 Java 클래스 – daniel

+0

을 통해 볼 수 있습니다. 코드가 저장되면 어떻게 저 저장된 파일을 표시 할 수 있습니까? – daniel

+1

문자열에서 일부 spliter를 사용하여 파일에 저장하려면 나중에 문자열을 분할하여 목록을 채울 수 있습니다. 이 도움이되기를 바랍니다 – Rakshi

5

이전에 저장 한 파일을 읽으려면이 코드를 사용해보십시오.

try{ 
    FileInputStream fIn = openFileInput("filename.txt"); 
    InputStreamReader isr = new InputStreamReader(fIn); 
    char[] inputBuffer = new char[len]; 
    //len is the length of that saved string in the file 

    isr.read(inputBuffer); 

    String readString = new String(inputBuffer); 
}catch(IOException e){ 

    } 
+0

감사합니다 rakshi이 또한 json 데이터와 함께 작동하지 않습니다 그것을 변환하지 않고 story_one.php에서 당겨? – daniel

+0

json에서 변환하려면 readString을 사용하면 변환 할 문자열이 무엇입니까? – daniel

+0

iv 새 Q를 물었습니다. 지난 번 정말로 나를 도와 주셨으면합니다. http://stackoverflow.com/questions/9370701/how-to-save-a-file-type-as-json- on-android-to-internal-memory – daniel

관련 문제