DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

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

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

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
КН
Кафедра:
Кафедра електронних обчислювальних машин

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

Рік:
2014
Тип роботи:
Лабораторна робота
Предмет:
Мережеві операційні системи
Група:
КН-31
Коротко про документ

Про що ця робота

У цій лабораторній роботі досліджено організацію роботи з файлами даних та зовнішньою пам'яттю в ОС Android. Розглянуто збереження файлів у внутрішній пам'яті, ресурсах, assets та на зовнішніх накопичувачах.

У роботі розглядаються

  • ОС Android
  • Файлова система Android
  • Внутрішня пам'ять
  • Зовнішня пам'ять та SD-карти
  • AssetManager
  • Програмування мобільних додатків
  • Java для Android

Зміст і розділи

  1. Мета роботи
  2. Теоретичні відомості
  3. Лістинг тестової програми
  4. Результати виконання програми
  5. Висновок
Для кого:Студенти вищих навчальних закладів технічних спеціальностей, які вивчають операційні системи та розробку мобільних додатків.
Викладачі:Пищак І. І.

Ключові поняття

Androidфайлова системаassetресурсивнутрішня пам'ятьнешній накопичувачInputStreamMainActivityAssetManagerJava

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

Міністерство освіти і науки України Національний університет «Львівська політехніка» Кафедра ЕОМ / Лабораторна робота №4 з предмету: «Мережні операційні системи» на тему: «Організація роботи з файлами даних та зовнішньою пам’яттю в ОС Android» Мета роботи: Оволодіти навичками програмування доступу та управління файлами даних в ОС Android. Теоретичні відомості: Робота з файлами даних Android Файли можна зберігати всередині APK додатки або як ресурси або asset. Ці файли доступні лише для читання. Libgdx використовує тільки asset механізм, так як він надає прямий доступ до байтовим потокам і більше нагадує традиційну файлову систему. Ресурси відмінно надаються для звичайних Android додатків, але викликають проблеми при використанні в іграх. Android здійснює маніпуляції під час їх завантаження, наприклад він автоматично змінює розмір. Asset зберігаються в assets директорії Android проекту і потім автоматично упаковуються в ваш APK при розгортанні програми. Жодне інше додаток не може отримати доступ до цих файлів. Файли також можуть зберігатися у внутрішній пам'яті, де вони доступні для читання і запису. Кожне встановлене додаток має спеціальну виділену внутрішню директорію для зберігання. Ця директорії теж доступна тільки для цього додатка. Ви можете думати про таке сховище як про приватний робочому просторі програми. Нарешті, файли можна зберігати на зовнішньому накопичувачі даних, такому як SD карта. Зовнішні накопичувачі не завжди можуть бути доступні, наприклад користувач може витягнути SD карту. Файли в цьому місці зберігання слід вважати не завжди доступними. Щоб мати можливість запису на зовнішні накопичувачі, вам потрібно буде додати дозволу в AndroidManifest.xml файл, дивіться дозволу нижче. Лістинг тестової програми: MainActivity.java package ua.mos.lab4; import android.os.Bundle; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; import android.view.Menu; import android.view.View; import android.widget.EditText; import android.widget.RadioGroup; import android.widget.Toast; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } public void StartTest(View view) { String TEST=""; RadioGroup types=(RadioGroup)findViewById(R.id.radioGroup1); switch (types.getCheckedRadioButtonId()) { case R.id.radio0: TEST = "ua.mos.lab4.AssetsTest"; break; } try{ Class clazz = Class.forName(TEST); Intent intent = new Intent(this,clazz); startActivity(intent); } catch(ClassNotFoundException e){ e.printStackTrace(); } } } AssestTest.java package ua.mos.lab4; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import android.app.Activity; import android.content.res.AssetManager; import android.os.Bundle; import android.widget.TextView; public class AssetsTest extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView textView = new TextView(this); setContentView(textView); AssetManager assetManager = getAssets(); InputStream inputStream = null; try { inputStream = assetManager.open("text/vp.txt"); String text = loadTextFile(inputStream); textView.setText(text); } catch (IOException e) { textView.setText("Couldn't load file"); } finally { if (inputStream != null) try { inputStream.close(); } catch (IOException e) { textView.setText("Couldn't close file"); } } } public String loadTextFile(InputStream inputStream) throws IOException { ByteArrayOutputStream byteStream = new ByteArrayOutputStream(); byte[] bytes = new byte[4096]; int len = 0; while ((len = inputStream.read(bytes)) > 0) byteStream.write(bytes, 0, len); return new String(byteStream.toByteArray(), "UTF8"); } } main.xml <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" > <RadioGroup android:id="@+id/radioGroup1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="26dp" > <RadioButton android:id="@+id/radio0" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true" android:text="Файл" /> </RadioGroup> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignTop="@+id/radioGroup1" android:layout_centerHorizontal="true" android:layout_marginLeft="24dp" android:layout_marginRight="23dp" android:onClick="StartTest" android:text="Запустити" /> </RelativeLayout> Результати виконання програми: / / Висновок: На цій лабораторні роботі я отримав навички програмування доступу та управління файлами даних в ОС Android.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

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

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

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

Admin

26.02.2023 12:38

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