Android приложение для показа новостей из RSS

Android приложение для показа новостей из RSS

Android приложение для показа новостей из RSS

Доброго времени суток! В данной и следующих статьях я покажу Вам как можно создать простое Android
приложение для отображения новостей из RSS канала
.

RSS является популярным форматом представления новостных данных, который, по сути, представляет
из себя XML-файл определенной структуры. Поэтому для нас не составит большого труда разобрать
этот файл и представить его в виде, удобном для отображения в интерфейсе пользователя.

Итак, для начала Вам необходима установленная и настроенная бесплатная среда разработки Android Studio.
Она доступна для свободного скачивания на официальном сайте. Если же среда у Вас уже установлена, то
создайте в ней пустой проект, выбрав в качестве языка проекта — Kotlin, который, если
у Вас уже есть опыт работы с Java/PHP/JavaScript/C#, не покажется Вам незнакомым. Язык Kotlin — официально
принятый компанией Google, наряду с Java и С++, язык платформы Android. Также впишите основной пакет
приложения в окне создания проекта — ru.myrusakov.rssapp.

Далее буду показывать примеры кода с комментариями. Весь основной код с которым мы будем работать
расположен в папках app и app/src/main. В качестве системы сборки, аналог webpack для фронтеда, используется
Gradle, в частности файл app/build.gradle, в котором описываются опции сборки и зависимости проекта.

Итак, начнем с файла сборки app/build.gradle. В проекте мы будем использовать две библиотеки:

  1. Glide — для загрузки изображений в интерфейс пользователя
  2. Retrofit2 — библиотека для работы с сетью и разбора XML-разметки.



plugins {

    id 'com.android.application'

    id 'org.jetbrains.kotlin.android'

}



android {

    compileSdk 32



    defaultConfig {

        applicationId "ru.myrusakov.rssapp"

        minSdk 23

        targetSdk 32

        versionCode 1

        versionName "1.0"



        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

    }



    buildTypes {

        release {

            minifyEnabled false

            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'

        }

    }

    compileOptions {

        sourceCompatibility JavaVersion.VERSION_1_8

        targetCompatibility JavaVersion.VERSION_1_8

    }

    kotlinOptions {

        jvmTarget = '1.8'

    }

}



dependencies {



    implementation 'androidx.core:core-ktx:1.7.0'

    implementation 'androidx.appcompat:appcompat:1.4.1'

    implementation 'com.google.android.material:material:1.5.0'

    implementation 'androidx.constraintlayout:constraintlayout:2.1.3'

    testImplementation 'junit:junit:4.13.2'

    androidTestImplementation 'androidx.test.ext:junit:1.1.3'

    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'



    // glide

    implementation 'com.github.bumptech.glide:glide:4.13.0'

    annotationProcessor 'com.github.bumptech.glide:compiler:4.13.0'



    // retrofit2

    implementation 'com.squareup.retrofit2:retrofit:2.1.0'

    implementation 'com.squareup.retrofit2:converter-gson:2.1.0'

}



Теперь рассмотрим манифест (AndroidManifest.xml) — основной файл любого Android приложения, в котором описываются
все окна (активити в терминологии Android) приложения, доступы к необходимым службам, например, к сети Интернет
и много чего еще:



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

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

    package="ru.myrusakov.rssapp">



    <!-- доступ к сети Интернет -->

    <uses-permission android:name="android.permission.INTERNET" />





    <!-- 

        android:usesCleartextTraffic="true" - аттрибут, который позволяет открывать Интернет-соединение

        без SSL-шифрования (небезопасно, но для упращения нашего примера подойдет)

    -->

    <application

        android:allowBackup="true"

        android:icon="@mipmap/ic_launcher"

        android:label="@string/app_name"

        android:roundIcon="@mipmap/ic_launcher_round"

        android:supportsRtl="true"

        android:usesCleartextTraffic="true"

        android:theme="@style/Theme.RssAppDemo">

        <!-- 

             окно, которое будет отображать html страницу во встроенном браузере

             ru.myrusakov.rssapp.FeedContentWebViewActivity

        -->

        <activity

            android:name=".FeedContentWebViewActivity"

            android:exported="false" />



        <!-- основное окно приложения определяется значениями аттрибутов в теге intent-filter -->

        <activity

            android:name=".MainActivity"

            android:exported="true">

            <intent-filter>

                <action android:name="android.intent.action.MAIN" />



                <category android:name="android.intent.category.LAUNCHER" />

            </intent-filter>

        </activity>

    </application>



</manifest>



Таким образом в данной статье мы рассмотрели с Вами базовые компоненты создаваемого Android приложения
для чтения RSS
. В следующих рассмотрим основной код приложений.

Источник

НЕТ КОММЕНТАРИЕВ

Оставить комментарий