DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

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

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

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

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

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

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

Міністерство освіти і науки України Національний університет «Львівська політехніка» Кафедра ЕОМ / Лабораторна робота №4 з предмету: «Мережні операційні системи» на тему: «Організація роботи з файлами даних та зовнішньою пам’яттю в ОС Android» Львів – 2017 Мета роботи: Оволодіти навичками програмування доступу та управління файлами даних в ОС Android. Завдання: завдань Програма доступу до текстового файлу даних , програма запису, зчитування та знищення текстового файлу даних з SD-картки. Перерахування основних ресурсів Android Тип ресурсу Розміщення опис  кольори res / values ​​/ имя_файла Ідентифікатор кольору, який вказує на колірний код. ID таких ресурсів виражаються в R.java якR.color. * . XML-вузол: / resources / color  рядки res / values ​​/ имя_файла Строкові ресурси. У їх число також входять рядки в форматі java і html. ID таких ресурсів виражаються в R.java як R.string. * . XML-вузол: resources / string. Можна використовувати додаткове форматування за допомогою стандартних html-тегів <b>, <i> і <u>. Методи, які будуть обробляти рядкові ресурси з HTML-форматуванням, повинні вміти обробляти ці теги.      Меню / Res / menu / имя_файла Меню в додатку можна задати як XML-ресурси.  параметри / Res / values ​​/ имя_файла Являє собою параметри або розміри різних елементів. Підтримує пікселі, дюйми, міліметри, які не залежать від щільності екрану пікселі (dip) і пікселі, які не залежать від масштабу. ID таких ресурсів виражаються в R.java як R.dimen. * . XML-вузол: resources / dimen  зображення / Res / drawable / ваші_файли Ресурси-зображення. Підтримує формати JPG, GIF, PNG (самий кращий) і ін. Кожне зображення є окремим файлом і отримує власний ідентифікатор, який формується на ім'я файлу без розширення.Такі ID ресурсів представлені в файлі R.java як R.drawable. *. Система також підтримує так звані розтягуються зображення (stretchable image), в яких можна змінювати масштаб окремих елементів, а інші елементи залишати без змін.  отрісовиваємих кольору / Res / values ​​/ ваш_файл або / res / drawable / ваші_файли Являє кольорові прямокутники, які використовуються в якості фону основних відмальовуємих об'єктів, наприклад точкових малюнків. Підтримка такої функції забезпечується тегом значення drawable, що знаходяться в підкаталозі значень. Такі id ресурсів виражаються в файлі R.java як R.drawable. *. ХМL-вузол для такого файлу: / resources / drawable. В Android за допомогою спеціальних ХМL-файлів, розташованих в / res / drawable, також підтримується округлені і градієнтні прямокутники. Кореневим ХМL-тегом для drawable є <shape>. Ідентифікатори таких ресурсів виражаються в файлі R.java як R.drawable. *. В такому випадку, кожне ім'я файлу перетвориться в унікальний id відмальовуємого об'єкта  анімація / Res / anim / ваш_файл Android може виконати просту анімацію на графіку або на серії графічних зображень. Анімація включає обертання, поступова зміна, переміщення і протяг.  Довільні XML-файли /res/xml/*.xml В Android в якості ресурсів можуть використовуватися довільні XML-файли. Вони компілюються в aapt.Ідентифікатори таких ресурсів також виражаються в файлі R.java як R.xml. *  Довільні необроблені ресурси /res/raw/*.* Будь-які нескомпільовані виконавчі або текстові файли, наприклад, відео. Кожен файл отримує унікальний id ресурсу. Ідентифікатори таких ресурсів виражаються в файлі R.java як R.raw. *  Довільні необроблені активи /assets/*.*/*.* Можна використовувати довільні файли в довільно названих каталогах, які знаходяться в підкаталозі / assets. Це не ресурси, а просто необроблені файли. У цьому каталозі, на відміну від / res, підкаталоги можуть розташовуватися на будь-якій глибині. Для таких файлів не створюються ідентифікатори ресурсів. При роботі з ними потрібно використовувати відносне ім'я шляху, починаючи з / assets, але не показуючи цього каталогу в імені шляху  Лістинг програми MainActivity.java package com.example.bogdan.mos_guk_ki44_lab4; import android.os.Environment; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; public class MainActivity extends AppCompatActivity { public EditText editText; public TextView textView; public Button save, load; public String path = Environment.getExternalStorageDirectory().getAbsolutePath() + "/aaMosLab4"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); editText = (EditText) findViewById(R.id.editText); textView = (TextView) findViewById(R.id.textView); save = (Button) findViewById(R.id.save); load = (Button) findViewById(R.id.load); File dir = new File(path); dir.mkdirs(); } public void buttonSave (View view) { File file = new File (path + "/savedFile.txt"); String [] saveText = String.valueOf(editText.getText()).split(System.getProperty("line.separator")); editText.setText(""); Toast.makeText(getApplicationContext(), "Saved", Toast.LENGTH_LONG).show(); Save (file, saveText); } public void buttonDelete (View view) { editText.setText(""); Toast.makeText(getApplicationContext(), "Deleted", Toast.LENGTH_LONG).show(); delete (path + "/savedFile.txt"); } public static void delete(String path) { File file = new File(path); if (file.exists()) { String deleteCmd = "rm -r " + path; Runtime runtime = Runtime.getRuntime(); try { runtime.exec(deleteCmd); } catch (IOException e) { } } } public void buttonLoad (View view) { File file = new File (path + "/savedFile.txt"); if (file.exists()) { String[] loadText = Load(file); String finalString = ""; for (int i = 0; i < loadText.length; i++) { finalString += loadText[i] + System.getProperty("line.separator"); } textView.setText(finalString); }else Toast.makeText(getApplicationContext(), "File not found", Toast.LENGTH_LONG).show(); } public static String[] Load(File file) { FileInputStream fis = null; try { fis = new FileInputStream(file); } catch (FileNotFoundException e) {e.printStackTrace();} InputStreamReader isr = new InputStreamReader(fis); BufferedReader br = new BufferedReader(isr); String test; int anzahl=0; try { while ((test=br.readLine()) != null) { anzahl++; } } catch (IOException e) {e.printStackTrace();} try { fis.getChannel().position(0); } catch (IOException e) {e.printStackTrace();} String[] array = new String[anzahl]; String line; int i = 0; try { while((line=br.readLine())!=null) { array[i] = line; i++; } } catch (IOException e) {e.printStackTrace();} return array; } public static void Save(File file, String[] data) { FileOutputStream fos = null; try { fos = new FileOutputStream(file); } catch (FileNotFoundException e) {e.printStackTrace();} try { try { for (int i = 0; i<data.length; i++) { fos.write(data[i].getBytes()); if (i < data.length-1) { fos.write("\n".getBytes()); } } } catch (IOException e) {e.printStackTrace();} } finally { try { fos.close(); } catch (IOException e) {e.printStackTrace();} } } } 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: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.example.bogdan.mos_guk_ki44_lab4.MainActivity"> <Button android:text="Прочитати" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:id="@+id/load" android:onClick="buttonLoad" /> <Button android:text="Видалити" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/delete" android:layout_alignParentTop="true" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" android:onClick="buttonDelete" /> <Button android:text="Записати" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/save" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:onClick="buttonSave" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType="textPersonName" android:ems="10" android:layout_below="@+id/load" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_marginTop="24dp" android:id="@+id/editText" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/editText" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_marginTop="16dp" android:id="@+id/textView" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" /> </RelativeLayout> AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.bogdan.mos_guk_ki44_lab4"> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> Результати роботи програми:  Рис.1  Рис.2 Висновок: На цій лабораторні роботі я отримав навички програмування доступу та управління файлами даних в ОС Android.
Антиботан аватар за замовчуванням

20.12.2017 21:00

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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