Hallo zusammen,
die .txt Dateien als Datum zu benennen gestaltet sich (nach meinem Wissensstand) schwierig. Als "20.02.2014 .txt" und als "20022014 .txt" werden die Dateien nicht erkannt. Zum Test habe ich nun eine txt als "babajaga .txt" benannt.
MainActivity:
1package com.geschichten.app;
2import java.io.ByteArrayOutputStream;
3import java.io.IOException;
4import java.io.InputStream;
5import java.util.Calendar;
6import android.app.Activity;
7import android.app.DatePickerDialog;
8import android.app.Dialog;
9import android.os.Bundle;
10import android.view.View;
11import android.widget.Button;
12import android.widget.DatePicker;
13import android.widget.TextView;
14import android.widget.Toast;
15
16public class MainActivity extends Activity {
17
18 /** Private members of the class */
19 private TextView pDisplayDate;
20 private Button pPickDate;
21 private int pYear;
22 private int pMonth;
23 private int pDay;
24 /** This integer will uniquely define the dialog to be used for displaying date picker.*/
25 static final int DATE_DIALOG_ID = 0;
26
27 /** Callback received when the user "picks" a date in the dialog */
28 private DatePickerDialog.OnDateSetListener pDateSetListener =
29 new DatePickerDialog.OnDateSetListener() {
30
31 public void onDateSet(DatePicker view, int year,
32 int monthOfYear, int dayOfMonth) {
33 pYear = year;
34 pMonth = monthOfYear;
35 pDay = dayOfMonth;
36 updateDisplay();
37 displayToast();
38 }
39 };
40
41 /** Updates Datum im TextView */
42 private void updateDisplay() {
43 pDisplayDate.setText(
44 new StringBuilder()
45 // Month is 0 based so add 1
46 .append(pDay + 1).append(".")
47 .append(pMonth).append(".")
48 .append(pYear).append(" "));
49 }
50
51 /** Anzeige, dass Datum geändert ist */
52 private void displayToast() {
53 Toast.makeText(this, new StringBuilder().append("Date choosen is ").append(pDisplayDate.getText()), Toast.LENGTH_SHORT).show();
54
55 }
56
57 /** Called when the activity is first created. */
58 @Override
59 public void onCreate(Bundle savedInstanceState) {
60 super.onCreate(savedInstanceState);
61 setContentView(R.layout.fragment_main);
62
63
64 /** Geschichtenelement anzeigen */
65 TextView babajaga = (TextView) findViewById(R.id.displayText);
66 babajaga.setText(readText());
67 /** Datumselement anzeigen */
68 pDisplayDate = (TextView) findViewById(R.id.displayDate);
69 pPickDate = (Button) findViewById(R.id.pickDate);
70
71 /** Listener for click event of the button */
72 pPickDate.setOnClickListener(new View.OnClickListener() {
73 public void onClick(View v) {
74 showDialog(DATE_DIALOG_ID);
75 }
76 });
77
78 /** Get the current date */
79 final Calendar cal = Calendar.getInstance();
80 pYear = cal.get(Calendar.YEAR);
81 pMonth = cal.get(Calendar.MONTH);
82 pDay = cal.get(Calendar.DAY_OF_MONTH);
83
84 /** Display the current date in the TextView */
85 updateDisplay();
86 }
87
88 /** Create a new dialog for date picker */
89 @Override
90 protected Dialog onCreateDialog(int id) {
91 switch (id) {
92 case DATE_DIALOG_ID:
93 return new DatePickerDialog(this,
94 pDateSetListener,
95 pYear, pMonth, pDay);
96 }
97 return null;
98 }
99
100 private String readText() {
101
102 InputStream inputStream = getResources().openRawResource(
103 R.raw.babajaga);
104
105 ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
106
107 int i;
108 try {
109 i = inputStream.read();
110 while (i != -1) {
111 byteArrayOutputStream.write(i);
112 i = inputStream.read();
113 }
114 inputStream.close();
115 } catch (IOException e) {
116 e.printStackTrace();
117 }
118
119 return byteArrayOutputStream.toString();
120 }
121
122}
Könnt ihr mir sagen, wie ich die Verbindung zwischen Datumsstring und Textdatei bekomme, wenn ich die Dateien nicht nach entsprechendem Datum benennen kann?
LG Anna
p.s.: Ich wollte meinen fragment_main.xml Code zur Ansicht einfügen, aber es kam nur die Meldung, dass neue Mitglieder keinen Link zu externen Webseiten einfügen dürfen.
Edit:
Fehler bei "20.02.2014.txt":
1Meldung:
2error: <identifier> expected
3error: illegal start of type
4
5Anzeige (R.java):
6public static final class raw {
7 public static final int 20=0x7f050000;
8 public static final int babajaga=0x7f050001;
9 }
— geändert am 20.02.2014, 15:44:58