Робота з файлами даних та зовнішньою пам’яттю в ОС Android

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
О
Факультет:
КН
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2018
Тип роботи:
Лабораторна робота
Предмет:
Мережеві операційні системи

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний університет «Львівська політехніка» Кафедра ЕОМ Лабораторна робота №4 з дисципліни: «Мережні операційні системи» на тему: «Робота з файлами даних та зовнішньою пам’яттю в ОС Android» Львів – 2017 Мета: Оволодіти навичками програмування доступу та управління файлами даних в ОС Android. Завдання: Програма доступу до текстового файлу даних. Створимо просту програму, яка дозволить відкривати тектові файли в EditText вікні, в майбутньому з можливістю додання функції редагування документу як в текстових редакторах. Слід зазначити, що програма дає можливість доступу лише до файлів текстового типу, тобто *.txt і не підтримує формати типу *.doc. Результат роботи програми на Рис. 1 та Рис. 2.  Рис. 1. Вікно програми після обрання файлу  Рис. 2. Вікно програми після переходу до перегляду файлу Програма коректно відобразила вміст файлу. Також програма підтримує кириличні файли. Лістинг програми: MainActivity.java package com.knowleen.lab4and; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; public class MainActivity extends AppCompatActivity { private static final int PICKFILE_RESULT_CODE = 1; private static String FilePath; private TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void choice(View view) { Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("file/*"); startActivityForResult(intent, PICKFILE_RESULT_CODE); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub textView = (TextView) findViewById(R.id.path); switch (requestCode) { case PICKFILE_RESULT_CODE: if (resultCode == RESULT_OK) { FilePath = data.getData().getPath(); textView.setText(FilePath); } break; } } // Відкриття файл // Зберігання файлу private void saveFile(String fileName) { try { OutputStream outputStream = openFileOutput(fileName, 0); OutputStreamWriter osw = new OutputStreamWriter(outputStream); //osw.write(mEditText.getText().toString()); osw.close(); } catch (Throwable t) { Toast.makeText(getApplicationContext(), "Exception: " + t.toString(), Toast.LENGTH_LONG).show(); } } public void open(View view) { Intent intent = new Intent(this, ReadEditActivity.class); intent.putExtra("path",textView.getText()); startActivity(intent); } } activity_main.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context="com.knowleen.lab4and.MainActivity"> <TextView android:text="Вітаємо в програмі для роботи з текстовими файлами\nОберіть дію:" android:layout_width="wrap_content" android:textSize="18dp" android:textColor="#000" android:layout_height="wrap_content" android:gravity="center" android:layout_centerHorizontal="true" android:id="@+id/textView" /> <TextView android:text="" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/textView" android:layout_centerHorizontal="true" android:layout_marginTop="51dp" android:id="@+id/path" /> <Button android:text="Відкрити файл" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="43dp" android:id="@+id/openFile" android:onClick="open" android:layout_below="@+id/makeChoice" android:layout_centerHorizontal="true" /> <Button android:text="Вихід" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/button5" android:layout_below="@+id/openFile" android:layout_centerHorizontal="true" android:layout_marginTop="47dp" /> <Button android:text="Обрати файл" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/makeChoice" android:onClick="choice" android:layout_marginTop="72dp" android:layout_below="@+id/path" android:layout_centerHorizontal="true" /> </RelativeLayout> ReadEditActivity.java package com.knowleen.lab4and; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.EditText; import android.widget.Toast; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; public class ReadEditActivity extends AppCompatActivity { private String getPath; private String file = ""; EditText mEditText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_read_edit); Intent intent = getIntent(); getPath = intent.getStringExtra("path"); mEditText = (EditText) findViewById(R.id.editText); try { openFile(getPath); } catch (IOException e) { e.printStackTrace(); } } private void openFile(String fileName) throws IOException { try { FileInputStream inputStream = new FileInputStream(fileName); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); StringBuilder out = new StringBuilder(); String line; while ((line = reader.readLine()) != null) { out.append(line); } reader.close(); inputStream.close(); mEditText.setText(out.toString()); } catch (FileNotFoundException e) { e.printStackTrace(); } } } activity_read_edit.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_read_edit" 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="com.knowleen.lab4and.ReadEditActivity"> <EditText android:gravity="left" android:layout_width="match_parent" android:layout_height="match_parent" android:inputType="textPersonName" android:text="Name" android:ems="10" android:layout_alignParentTop="true" android:id="@+id/editText" /> </RelativeLayout> Висновок. В даній лабораторній роботі закріпив свої навички в роботі з файлами в ОС Android. Створив програму, яка надає доступ до текстового файлу і дозволяє його відкрити відповідно.
Антиботан аватар за замовчуванням

22.03.2018 19:13

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!