package com.cookandroid.project8_1;
import java.io.FileInputStream; 임포트 몆개 생략
public class Project8_1Activity extends Activity {
DatePicker dp;
EditText edtDiary;
Button btnWrite;
String fileName;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setTitle("간단 일기장");
dp = (DatePicker) findViewById(R.id.datePicker1);
edtDiary = (EditText) findViewById(R.id.edtDiary);
btnWrite = (Button) findViewById(R.id.btnWrite);
Calendar cal = Calendar.getInstance();
int cYear = cal.get(Calendar.YEAR);
int cMonth = cal.get(Calendar.MONTH);
int cDay = cal.get(Calendar.DAY_OF_MONTH);
dp.init(cYear, cMonth, cDay, new DatePicker.OnDateChangedListener() {
public void onDateChanged(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
fileName = Integer.toString(year) + "_"
+ Integer.toString(monthOfYear + 1) + "_"
+ Integer.toString(dayOfMonth) + ".txt";
String str = readDiary(fileName);
edtDiary.setText(str);
btnWrite.setEnabled(true);
}
});
btnWrite.setOn C,, ,,l,, i, c,, k, Listener(new View.On C, l, ,i, c, kListener() {
public void on C,, l,, i,, c,, k(View v) {
try {
FileOutputStream outFs = openFileOutput(fileName,
Context.MODE_WORLD_WRITEABLE);
String str = edtDiary.getText().toString();
outFs.write(str.getBytes());
outFs.close();
Toast.makeText(getApplicationContext(),
fileName + " 이 저장됨", 0).show();
} catch (IOException e) {
}
}
});
}
String readDiary(String fName) { <----------- 이거 질문
String diaryStr = null;
FileInputStream inFs;
try {
inFs = openFileInput(fName);
byte[] txt = new byte[500];
inFs.read(txt);
inFs.close();
diaryStr = (new String(txt)).trim();
btnWrite.setText("수정 하기");
} catch (IOException e) {
edtDiary.setHint("일기 없음");
btnWrite.setText("새로 저장");
}
return diaryStr;
}
}
도데체 readDiary 는 누가 호출을 하는 거냐.
캘린더 날짜를 회전하면 자동으로 readDiary 를 호출하는 것 같은데, xml 에도 없고 *.java에도 호출하는 코드가 없다.
그냥 예약어 인가?
저기밑에 호출문있는데? 저기서호출하는거아니냐?
아... 올리고 나니 발견했다 ...^^
댓글 달라고 하는데 댓글 달려 있어서 한대 때리고 싶었는데 한대 못때리네요
L 귀여워 ㅋㅋㅋ