Many computer majors often communicate with me: graduation design has no ideas, can’t do, paper can’t write, too difficult……

In view of these problems, decided to share some software, hardware project design ideas and implementation methods, I hope to help you, also wish you students, smooth graduation!

Project column:Blog.csdn.net/m0_38106923…


The installation package to download APP experience: download.csdn.net/download/m0…

1. Project Background

In the backdrop of the rapid development of mobile Internet, audio, as a concomitant media can maximize the use of the user’s daily fragmented time, than other listening APP and traditional radio, Himalayan FM can stand out, precisely because it accurate positioning, target users do a good job in the target audience segmentation, innovative content, optimizing the program form, meet the needs of the consumers, And use network marketing, save existing advantages, quickly seize market share.

2. System introduction

2.1 System Overview

Qomolangma FM is an audio sharing radio APP developed after Ximalaya (audio sharing platform) APP. This APP fully realizes many important functions of Ximalaya APP, such as online album display, radio show and play, audio download, audio recording, audio sharing and other functions. Through the above various functions of the design of the Internet audio sharing and sound services have a deeper understanding.

2.2 key technologies

This project adopts retrofit+ RxJavA2 + RxAndroid + Arouter + MVVM +fragmentation to realize the single activity and multiple fragme componentization architecture.

  • Retrofit: Retrofit is a very popular network request framework for Android development. It translates Java interfaces into network requests through dynamic proxies, sends requests through OkHttp, and has strong scalability, supporting various data format conversion and RxJava.
  • Rxjava2: a library that uses observable sequences to compose asynchronous, event-based programs on the Java VM.
  • Rxandroid: RxJava is an extension for the Android platform. It provides responsive extensions for Android development to quickly and easily develop Android applications.
  • Arouter: Arouter is an Android routing framework developed by Alibaba. Interface jumps through routes, different from explicit and implicit jumps of Intent. In modular projects, the problem that interfaces cannot jump to each other due to module interdependence conflicts is solved amicably. ARouter is used for jump, and two libraries can jump to each other without dependence.
  • Mvvm: Mvvm is short for model-view-viewModel. It’s essentially an improved version of MVC. MVVM abstracts the state and behavior of the View in it, and lets separate the View UI from the business logic. It can pull data out of the Model and help with the business logic involved in displaying content in the View.
  • Fragmentation: Fragmentation is great for managing multiple fragments with one Activity.
  • Componentization: Componentization refers to the process in which multiple functional modules are split and reassembled when a complex system is decoupled. Various attributes and states reflect their internal characteristics.

2.3 environment configuration

Development environment: Windows 10 or above, Android Studio 4.1.2

Operating environment: Android 8.0 or above, JDK 1.8, SDK 21 or above

Network environment: Internet, Wi-Fi

3. System structure design

3.1 Player status structure diagram

 

3.2. Login process structure diagram

4. System module design

This APP is divided into five modules: “my” module, home page module, history module, playback module and discovery module.

  • “My” module: responsible for APP login and registration, login and logout and sharing operations;
  • Home page module: classified display, audio search, audio display;
  • History record module: subscription content and recommended subscription, downloaded, playing history, purchased audio, like audio;
  • Playback module: popular playback content display, album display;
  • Discovery module: paid content, full reading, activities, mall development.

5. Overall system architecture

6. Interface description

Ximalaya Open Platform standard authorization login process adopts OAuth2 standard Authorization Code mode. The Authorization Code mode is the most complete authorization mode with the most rigorous procedures. It features a backend server that interacts with our OAUTH2 authentication server via a third-party client. Generally speaking, user login is performed before user authorization.

Note: This authorization mode does not store any private keys on the client side (or browser side).

The flow diagram for this authorization mode is shown below: