2011-03-17 2 views
0


내 안드로이드 응용 프로그램에 대한 필자를 작성했습니다. 갤럭시 탭에서 작동하기 때문에 최소 minSdkVersion이 4 이상이어야 화면을 채울 수 있습니다. 나는 원래 SdkVersion = 2로 시작했고 그 시점에서 필자는 완벽하게 작업했습니다. SdkVersion을 4로 변경하면 문제가 발생합니다. 내 필자가 더 이상 작동하지 않습니다! 응용 프로그램이 제대로 실행되지만 파일이 만들어지지 않습니다.minSdkVersion에 따라 파일에 쓰기 - android

public class HelloAndroid extends Activity { 


/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    TextView tv = new TextView(this); 
    tv.setText("Hello, Android"); 
    setContentView(R.layout.main); 

    //definerer en knap kaldet button1 og sætter en listener på denne.   
    Button button1 = (Button)findViewById(R.id.btnClickMe); 
    button1.setOnClickListener(btnListener); 

    //definerer en knap kaldet button2 og sætter en listener på denne. 
    Button button2 = (Button)findViewById(R.id.btnClickMe2); 
    button2.setOnClickListener(btnListener2); 

} 


//en variabel af typen 'long' deklæres og kaldes tid1. 
public long time1; 


private OnClickListener btnListener = new OnClickListener() 
{ 
    public void onClick(View v) 
    { 
     //Når der klikkes på button1 gemmes et tal i variablen tid1. 
     time1 = System.currentTimeMillis(); 

    } 
}; 

//en variabel af typen 'long' deklæres og kaldes tid2. 
public long time2; 
// en variabel af typen 'string' deklæres og kaldes tid: 
public String string1 = "time:"; 

private OnClickListener btnListener2 = new OnClickListener() 
{ 
    public void onClick(View v) 
    { 
     //Når der klikkes på button2 gemmes et tal i variablen tid2. 
     time2 = System.currentTimeMillis(); 
     // Herefter oprettes en fil kaldet "file.txt". 
     try{ 

       File file = new File(Environment.getExternalStorageDirectory(), "file.txt"); 

       file.createNewFile(); 

       BufferedWriter writer = new BufferedWriter(new FileWriter(file,true)); 
       //string1 og tid2-tid1 skrives til filen. tid2-tid1 giver den tid der går fra der er trykket på den ene knap til den anden i millisekunder. 
       writer.write(string1 + "\t" + (time2-time1)); 
       writer.newLine(); 
       writer.flush(); 
       writer.close(); 

      } catch (IOException e) { 
       e.printStackTrace(); 
      } 

    } 

}; 

}

그리고 내 manifest.xml은 다음과 같습니다 :

내 된 .java 파일은 다음과 같습니다

<?xml version="1.0" encoding="utf-8"?> 

<application android:icon="@drawable/icon" android:label="@string/app_name"> 
    <activity android:name=".HelloAndroid" 
       android:label="@string/app_name"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

</application> 

필자가 minSdkVersion> 2에서 작동하지 않는 이유는 무엇입니까? 새로운 필자를 만들어야합니까? 또는 무엇을해야합니까? 아래

<uses-permission 
android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
    <uses-permission 
android:name="android.permission.READ_EXTERNAL_STORAGE"/> 

이 권한 API 레벨 4까지 추가되지 않은, 그래서 아무것도 : 지저분한 코드에 대한 죄송합니다
, 내가 프로그래밍 : 당신은이 새로운 권한을 추가 할 필요가

+0

로그에 예외가 표시됩니까? – Karan

답변

0

에 아주 새로운 해요 그것들을 무료로 얻을 수 있습니다.