3D遊戲開發祥解-實體文字檔 讀取/載入
3D遊戲開發祥解-實體文字檔 讀取/載入
Sample3_4-Layout(Xml)
-GUI 由1個LinearLayout+1個Button+1個EditText組成
<?xml version="1.0" encoding="UTF-8"?>
-<LinearLayout android:layout_height="fill_parent" android:layout_width="fill_parent" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android">
<Button android:layout_height="wrap_content" android:layout_width="fill_parent" android:id="@+id/Button01" android:text="開啟"> </Button>
<!-- 添加一个Button -->
-<ScrollView android:layout_height="wrap_content" android:layout_width="fill_parent" android:id="@+id/ScrollView01">
<EditText android:layout_height="wrap_content" android:layout_width="fill_parent" android:id="@+id/EditText01" android:editable="false"> </EditText>
<!-- 添加一个EditText -->
</ScrollView>
<!-- 添加一个ScrollView -->
</LinearLayout>
|
Sample3_4-Code
package wyf.zcl;
import java.io.File; //引入相關套件
import java.io.FileInputStream; //引入相關套件
import android.app.Activity; //引入相關套件
import android.os.Bundle; //引入相關套件
import android.view.View; //引入相關套件
import android.widget.Button; //引入相關套件
import android.widget.EditText; //引入相關套件
import android.widget.Toast; //引入相關套件
public class MyActivity extends Activity {
/** Called when the activity is first created. */
Button but; //開啟按鈕
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
but=(Button)findViewById(R.id.Button01);
//開啟按鈕產生實體
but.setOnClickListener(new View.OnClickListener() {
//開啟按鈕事件
@Override
public void onClick(View v) {
String contentResult=loadContentFromSDCard("AndroidSummary.txt");
//呼叫讀取檔案方法獲得內容
EditText etContent=(EditText)findViewById(R.id.EditText01);
//產生實體EditText
etContent.setText(contentResult);
//設置EditText的內容
}
});
}
public String loadContentFromSDCard(String fileName){
//從SD卡讀取內容
String content=null; //SD卡的內容字串
try{
File f=new File("/sdcard/"+fileName);//欲讀取的文件
int length=(int)f.length();
byte[] buff=new byte[length];
FileInputStream fis=new FileInputStream(f);
fis.read(buff); // 從此輸入串流中將 byte.length 個位元組的資料讀入一個 byte 陣列中
fis.close(); //關閉此輸入串流並釋放與此串流關聯的所有系統資源
content=new String(buff,"UTF-8");
}catch(Exception e){
Toast.makeText(this, "對不起,沒有找到檔案",
Toast.LENGTH_SHORT).show();
}
return content;
}
}
|