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

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

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

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

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

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

Міністерство освіти і науки України Національний університет «Львівська політехніка» Кафедра ЕОМ Лабораторна робота №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:03-

Коментарі

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

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

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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