Program: wykonujący działania na plikach tekstowych. (które zapisywane są (tworzone lub odczytywane) na karcie pamięci w telefonie)
Możliwe działania po wcześniejszym wybraniu nazwy pliku oraz wpisaniu zawartości to:
- nadpisanie zawartości (zamiana),
- dopisanie zawartości (dołączenie),
- wyświetlenie zawartości pierwszej linijki pliku.
Zawartość wyjściowa pliku 3:
12qwe
Zawartość wyjściowa pliku 4:
qweqwe
Kompilator: Eclipse
Film:
Kod programu:
Działania na plikach – backend:
package com.example.project_7;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button bDopisz=(Button)findViewById(R.id.buttonDopisz);
Button bNadpisz=(Button)findViewById(R.id.buttonNadpisz);
Button bWyswietl=(Button)findViewById(R.id.buttonWyswietl);
final EditText eNazwaPliku=(EditText)findViewById(R.id.editTextNazwaPliku);
final EditText eZawartosc=(EditText)findViewById(R.id.editTextZawartosc);
bWyswietl.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String nazwa_pliku=eNazwaPliku.getText().toString();
try {
FileInputStream plik1=openFileInput(nazwa_pliku);
DataInputStream dataIO=new DataInputStream(plik1);
String odczyt;
odczyt=dataIO.readLine();
Toast.makeText(getApplicationContext(), odczyt, Toast.LENGTH_LONG).show();
plik1.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});
bNadpisz.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
FileOutputStream plik;
String zawartosc=eZawartosc.getText().toString();
String nazwa_pliku=eNazwaPliku.getText().toString();
try {
plik=openFileOutput(nazwa_pliku,MODE_PRIVATE);
plik.write(zawartosc.getBytes());
plik.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});
bDopisz.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
FileOutputStream plik;
String zawartosc=eZawartosc.getText().toString();
String nazwa_pliku=eNazwaPliku.getText().toString();
try {
plik=openFileOutput(nazwa_pliku,MODE_APPEND);
plik.write(zawartosc.getBytes());
plik.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
} Layout:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<EditText
android:id="@+id/editTextNazwaPliku"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="21dp"
android:ems="10"
android:hint="@string/nazwa_pliku" >
<requestFocus />
</EditText>
<Button
android:id="@+id/buttonWyswietl"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editTextZawartosc"
android:layout_below="@+id/editTextNazwaPliku"
android:layout_marginTop="55dp"
android:text="@string/wys_1_linie" />
<Button
android:id="@+id/buttonNadpisz"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editTextZawartosc"
android:layout_below="@+id/buttonWyswietl"
android:text="@string/nadpisz" />
<Button
android:id="@+id/buttonDopisz"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editTextZawartosc"
android:layout_below="@+id/buttonNadpisz"
android:text="@string/dopisz" />
<EditText
android:id="@+id/editTextZawartosc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editTextNazwaPliku"
android:layout_below="@+id/editTextNazwaPliku"
android:ems="10"
android:hint="@string/zawartosc" />
</RelativeLayout>