Научная статья на тему 'СОЗДАНИЕ ПРИЛОЖЕНИЯ СПРАВОЧНИКА В ANDROID STUDIO'

СОЗДАНИЕ ПРИЛОЖЕНИЯ СПРАВОЧНИКА В ANDROID STUDIO Текст научной статьи по специальности «Фундаментальная медицина»

CC BY
947
81
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ANDROID SUDIO / РАЗРАБОТКА ПРИЛОЖЕНИЙ / ANDROID / СПРАВОЧНИК. МОБИЛЬНОЕ ПРИЛОЖЕНИЕ / APPLICATION DEVELOPMENT / REFERENCE. MOBILE APP

Аннотация научной статьи по фундаментальной медицине, автор научной работы — Васильев В.И.

Статья посвящена знакомству с работой в среде разработки приложений Android Studio. А так же работе с файлами разметки. Кроме того в данной работе рассказывается про пошаговое создание приложения справочника.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

CREATING AN APPLICATION OF THE REFERENCE BOOK IN ANDROID STUDIO

The article is devoted to getting acquainted with the work in the development environment of applications Android Studio. As well as working with markup files. In addition, this paper describes the step-by-step creation of a directory application.

Текст научной работы на тему «СОЗДАНИЕ ПРИЛОЖЕНИЯ СПРАВОЧНИКА В ANDROID STUDIO»

Использованные источники:

1. Руководство пользователя Unity [Электронный ресурс]. Режим доступа: https://docs.unity3d.com/ (дата обращения 19.02.019)

УДК 004

Васильев В.И. студент, 2 курс

факультет «Информационные системы и технологии» Северный Арктический федеральный университет, Высшая школа информационных технологий и автоматизированных систем

Россия, г Архангельск СОЗДАНИЕ ПРИЛОЖЕНИЯ СПРАВОЧНИКА В ANDROID STUDIO

Аннотация: Статья посвящена знакомству с работой в среде разработки приложений Android Studio. А так же работе с файлами разметки. Кроме того в данной работе рассказывается про пошаговое создание приложения справочника.

Ключевые слова: Android Sudio, разработка приложений, Android, справочник. Мобильное приложение.

Vasilyev V.I.

Student, 2 year, faculty "Information Systems and Technology " Northern Arctic Federal University, Graduate School of Information

Technology and Automated Systems Russia, Arkhangelsk CREATING AN APPLICATION OF THE REFERENCE BOOK IN

ANDROID STUDIO

Annotation: The article is devoted to getting acquainted with the work in the development environment of applications Android Studio. As well as working with markup files. In addition, this paper describes the step-by-step creation of a directory application.

Keywords: Android Sudio, application development, Android, reference. Mobile app.

Для начала работы нужно запустить проект в Android studio, выбрать имя проекта, указать минимальную версию на которой будет запускаться приложение и выбрать пустой шаблон как показано на рисунке 1.

А

г391

V

3 91

Create New Project

Add an Activity to Mobile

a

Add IMo Activity

Basic Activity

Bottom Navigation Activity

Empty Activity

Previous Next Cancel

Рисунок 1 - Выбор шаблона проекта

После этого перейдём в файл разметки «аСхуйу_тат.хт1» как показано на рисунке 2.

t5 о ЧТ' Android ▼ О 4s 1 I*-

— о. v >8 арр

¿-Ï m > > manifests java

и О > generatedJava

i— 3. V res

го <w> > Cl drawable

V5' v Cl layout ¡oa activity_detail.xml

<> activity_main.xml

> Cl mipmap

> Cl raw

> Cl values

V > vi/ Gradle Scripts

Рисунок 2 - Расположение файла аСхуйу_тат.хт1 в проекте

â

А

После этого добавим компонент ListView и настроим его параметры в соответствием с рисунком 3.

|^?xml version="1.0" encoding="utf-8"?> : с <linearLayout 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:orientation="vertical" tools:context=".MainActivity">

<ListView

android:id="8+id/listView"

android:layout_width="wrap_content"

android:layout height="match parent" />

</LinearLayout>

Рисунок 3 - Файл разметки activitymain.xml

Затем создадим вторую активность DetailActivity нажав правой кнопкой мыши в поле проекта и выбрав New - Activity - Empty Activity, как показано на рисунке 4.

V El layout

activity_detail.xm activity_main,xml

> S m ¡рта р

> S raw

> СИ values > 0 G radle Scripts

New >\

Link С++ Project with Gradle

Cut III Copy Copy Path Copy Relative Path il Paste & Jump to Source Ctri+X Ctrl+C Ctrl+Shift+C Ctrl+Alt+Shift+C Ctrf+V F4

Find Usages Analyze Alt+F7 >

Ref actor Validate >-

Add to Favorites >

Reformat Code Optimize Imports Delete... *= Mark as Plain Text Ctrl+Alt+L Ctrl+Alt+O Delete I

Show in Explorer Open in Browser O Open in terminal 1 >

Local History £i5 Synchronize'activity_detail.xml' >

File Path <lil-AH-IP

Compare With... Compare File with Editor Ctrl+D

Load/Unload Modules...

GenerateXSD Schema from XML File.,.

@ Create Gist...

Convert Java Fite to Kotlin File CtrkA!t«-Shift«-K j

n Kotlin File/Class <y Layout resource file

Sample Data Directory i File

Scratch File Ctrl+Alt+ Shift*-Insert : Directory s C++ Class

C/C++ Source File C/C++Header File Image Asset 'fl' Vector Asset Kotlin Script j Singleton

g Gradle Kotlin DSL Build Script Q Gradle Kotlin DSL Settings

Edit File Templates.,, 'ft' AIDL >

U1 Android Auto W Folder ff' Fragment ff' Google ft' Other ■ '}< Service fl' Ul Component W Wear ft' Widget ft' XML

, | Resource Bundle

' Gallery...

Android TV Activity (Requires minSdk >= 21) Android Things Empty Activity (Requires minSdk >- 24) Android Things Peripheral Activity (Requires minSdk >= 24) Basic Activity

Blank Wear Activity (Requires minSdk >= 23) Bottom Navigation Activity

Fragment + ViewModel Fullscreen Activity Login Activity Master/Detail Flow Navigation Drawer Activity Scrolling Activity Settings Activity " Tabbed Activity

Рисунок 4 Создание DetailActivity

После этого создадим для этой активности файл разметки, кликнув правой кнопкой мыши в поле проекта, в папке layout и выбрав New - Layout resourse file, как показано на рисунке 5.

А

v El! layout

<> activity_detai

¡o activity_main

> mipmap

> В raw

> values > (•> Gradle Scripts

New

Link С++ Project with Gradle

& Cut Ctrl+X

fii Copy Ctrl+C

Copy Path Ctrl+Shift+C

Copy Relative Path Ctrl +Alt+Shift+C

fa Raste Ctrl+V

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

If Jump to Source F4

Find Usages Alt+F7

Analyze >

Refactor >

Validate

Add to Favorites >

Reformat Code Ctrl+Alt+L

Optimize Imports Ctrl+Alt+O

Delete... Delete

x= Mark as Plain Text

Show in Explorer

Open in Browser >

0 Open in terminal

Local History >

£5 Synchronize 'activity_detail.xml'

File Path Ctrl+Alt+F12

Compare With... Ctrl+D

Compare File with Editor

Load/Unload Modules-

Generate XSD Schema from XML File...

@ Create Gist...

Convert Java File to Kotlin File Ctrl +Alt+Shift+K I

t Kotlin File/Class

Layout resource file

Sample Data Directory File

Scratch File Ctrl+Alt+Shift+lnsert

Directory

C++ Class

C/C++ Source File

C/C++ Header File

Image Asset Vector Asset Kotlin Script Singleton

Gradle Kotlin DSL Build Script

Gradle Kotlin DSL Settings

Edit File Templates...

AIDL

Activity

Android Auto

Folder

Fragment

Google

Other

Service

Ul Component Wear Widget XML

Resource Bundle

Рисунок 5 - Создание файла activity detail.xml

В созданный файл добавим компонент WebView и настроим его параметры в соответствием с рисунком 6.

р?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent">

<WebView

android:id="@+id/webView" android:layout_width="match_parent"

10 android:layout_height="match_parent" />

11 </LinearLayout>

Рисунок 6 - Файл разметки activity detail.xml

Затем реализуем программную часть приложения для этого нужно перейти в файл MainActivity и напишем код который представлен на рисунке 7.

Á

package com.example.vladislav.phisics;

import android.content.Intent; import android.os.Bundle;

import android.support.v7.app.AppCompatActivity;

import android.view.View;

import android.widget.AdapterView;

import android.widget.ArrayAdapter;

import android.widget.ListView;

10

12 o: public class MainActivity extends AppCompatActivity {

14

private String titles[] = { ie "01. Введение",

17 "02. Примеры решения задач",

18 "03. Ядерная физика",

19 "04. Термодинамика", };

22 @0verride

23 «Т protected void onCreate(Bundle savedlnstanceState) {

super.onCreate(savedlnstanceState); setContentView(R.layout.activity_main);

26 27

ListView listView = findViewById(R.id. ListView) ;

29

listView.setAdapter(

new ArrayAdapterO( context: this, android.R.layout.simple_List_item_l, titles)); listView.setTextFilterEnabled(true);

33

3S «Т listView.setOnltemClickListener((a, v, position, id) — {

Intent intent = new Intent();

intent.setClass ( packageContext: MainActivity. this, DetailActivity.class) ;

39

intent.putExtra( name: "title", position); 9 I

I

startActivity(intent) ;

>);

4€ }

47 }

Рисунок 7 - Файл MainActivity

Для того что бы удобно наполнять контентом разделы справочника в DetailActivity размещён Webview который будет читать txt файлы для их хранения в приложении необходимо создать папку, для этого в папке res создадим директорию raw кликнув правой кнопкой мыши и выбрав New -Directory. .Далее реализуем чтение нужных файлов в DetailActivity как показано на рисунке 8.

А

X package com. example, vladislav.phisics;

import android.content.Context; import android.content.Intent; import android.os.Bundle;

import android.support.v7.app.AppCompatAct ivity; import android.util.Log; import android, webkit. WebView ;

9

import java.io.BufferedReader; import java.io.IOException;

12 import java.io.InputStream;

13 import java.io.InputStreamReader;

14

is ju public class DetailActivity extends AppCompatActivity (

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

16

17 (¡Override

18 oT protected void onCreate(Bundle savedlnstanceState) { is super.onCreate(savedlnstanceState);

setContentView(R.layout.activity_detail) ;

21

WebView webView = findViewByld(R.id.vel)Viev) ;

23

Intent intent = getlntentO;

25

String resName = "n" + intent.getlntExtra( name: "title", defaultValue: 0); Log.i( tag: "name", resName); Context context = getBaseContext();

29

31 String text = readRawTextFile(context, getResources().getldentifier(resName,

defType: "raw", defPackage: "com.example.vladislav.phisics")) ;

webView.loadDataHithBaseURL( basellrl: null, text, mimeType: "text/html", encoding: "en_US", historyllil null) ;

35 }

37 ]

33 @ private String readRawTextFile(Context context, int resld)

39 {

InputStream inputStream = context.getResources().openRawResource(resld);

41

InputStreamReader inputReader = new InputStreamReader(inputStream); BufferedReader buffReader = new BufferedReader(inputReader); String line;

StringBuilder builder = new StringBuilderf);

46

try {

while (( line = buffReader.readLine()) != null) { builder.append(line); builder.append("\n");

si }

} catch (IOException e) { return null;

S4 )

return builder.toStringO;

S€ }

S7 )

Рисунок 8 - Файл DetailActivity Готовый проект представлен на рисунке 9

А

23:37 Р О

Phisics

Q и

01.Введение

02. Примеры решения задач

03. Ядерная физика

04. Термодинамика

Рисунок 9 -Готовый проект

Использованные источники:

1. Общие сведения о платформе Android [Электронный ресурс]. Режим доступа: https://developer.android.com/guide/?hl=ru (дата обращения 18.02.2019)

2. Сайт Александра Климова [Электронный ресурс]. Режим доступа: http://developer.alexanderklimov.ru/android/manual.php (дата обращения 18.02.2019)

А

i Надоели баннеры? Вы всегда можете отключить рекламу.