2013-01-03 1 views
0

EDIT : SOLVED IM TO TOYAL FOOL 그리고 내 2 가지 활동간에 파일 이름이 잘못되었음을 알 수 없습니다. 도움이 된 모든 이들에게 감사드립니다. 아직도 배우기 만하면, 아주 오래된 수업을 다시 배울 수 있기를 바랍니다!텍스트 파일에서 문자열 값을로드하고 int를 만들고 androidplot으로 전달

메신저로 안드로이드와 자바를 처음 접했고 간단하게 보이려고 노력하고 있지만 고민 중이며 확실하지 않습니다.

텍스트 파일에서 문자열을로드하고 문자열에서 숫자를 추출하여 내 응용 프로그램의 다른 곳에서 사용하려고합니다. 그래프를 그리기 위해 androidplot과 함께 사용할 int 배열을 사용하고 싶습니다. 그래프를 수동 배열 (즉, 임의의 숫자를 직접 입력하십시오)에서 간단하게하기 위해 여기에서 대부분의 코드를 생략했습니다.

이것은 txt 파일의로드에 대한 코드이며 ""에서 분할 한 다음 int를 구문 분석하지만 작동하지 않습니다.

 //actually load the progress file 
public void loadDatacomm() { 

     //load the asset file 
      StringBuilder text = new StringBuilder(); 
     try { 
      BufferedReader br = new BufferedReader(new FileReader("/sdcard/.progress/1gppi.txt")); 
      String line; 

     while ((line = br.readLine()) != null) { 
      String line2[] = line.split(" "); //split the string to get the progress 
      commprogress1 = Integer.parseInt(line2[0]); 
       } 

     } 
     catch (IOException ex) { 
      return; 
     } 

관심있는 유일한 비트는 내가 생각하기에 이것과 같은 건물 인 안드로이드 플롯의 배열입니다. 난 수동 commprogress1, 2, 3의 값을 선언하는 경우 그 그래프는 임의의 값을 표시 그다지 활성을로드 할 때

Number[] commprogress = {commprogress1, commprogress2, commprogress3, commprogress4, commprogress5, commprogress6, commprogress7, commprogress8, commprogress9, commprogress1}; 

후 그래프 잘 그린다.

누군가 나를 도와 줄 수 있습니까?

EDIT 내가로드하려고 파일이 들어있는 다음과 같은 : 그것은이 응용 프로그램의 다른 활동에 의해 작성된 것입니다

완전한

30 %.

코드가 작동하지 않는 이유는 모르겠지만 응용 프로그램에서 비슷한 코드를 사용하여 분할 문자열에서 int (이 경우 30)를 추출하지만 여기서는 작동하지 않습니다.

+1

당신은 아마도 다음과 같은 몇 가지를 명확히하기 위해 질문을 편집 할 수 더 적합 할 수 있다고 생각 : 당신을합니까 코드가 어디에 실패했는지 알 수 있습니까? 선을 제대로 읽을 수 있습니까? Integer.parseInt (line2 [0])에서 파싱 된 값은 무엇입니까? 데이터를 제공하는 파일의 압축을 풀 수 있습니까? – Thomas

+0

그러나 작동하지 않는 것을 설명 할 수 있습니까? 파일을 읽을 때 예외가 있습니까? 잘못된 데이터를 얻었습니까? 충돌하는 경우 (그렇다면 로그가 무엇입니까?) – Thomas

+0

당신이 제공 한 어떤 정보에서, 당신이 잘못하고 있다고 생각합니다. 활동 A가 활동 B에 일부 정보를 보내려고한다면, 더 나은 접근 방법이 있습니다. – Enigma

답변

0

파일에 액세스하려고 할 때 예외가 발생하는 경우 다른 응용 프로그램에서 쓰는 동시성 때문일 수 있습니다 (단, 파일을 읽는 중이므로 Id는 해당 파일이 아닌 것으로 기대 함). 문제). 방금 활동 사이의 비율을 공유 할 경우 어떤 경우

는, 나는 shared preferences의 사용이

+0

을 보는 것이 좋습니다. 죄송합니다. 내가 물어 본 내용을 이해하지 못했습니다. 나는 파일에서 읽는 예외를 얻지 않으며 다른 활동은 동시에 파일에 액세스하지 않습니다. 관계없이 응용 프로그램/배터리 등 txt 파일에 쓰는 생각 쉬운 관계없이 저장 %를 갖고 싶습니다. – andy

+0

공유 환경 설정 (http://developer.android.com/guide/topics/data/data-storage.html#pref)을 살펴보면 활동간에 간단한 데이터를 공유하는 것이 매우 간단합니다. 나는 그것이 당신의 필요를 더 잘 다룰 수 있다고 생각합니다. 그러나 파일에서 데이터를 검색 할 때 문제가 발생하면 commprogress1의 값과 같은 컨텍스트 정보가 더 필요하거나 파일에 줄 이상의 수가있는 경우 덮어 쓰지 않는지 확인해야합니다. – Thomas