Skip to content

File Structure

stardustgd edited this page Mar 29, 2023 · 4 revisions

File Structure


Overview

The general file structure of the project is as follows:

AVCInteractiveMap (root directory)
    ├── .gradle
    ├── .idea
    ├── gradle
    ├── Iconsax
    └── app
         ├── build
         └── src
              └── main
                   ├── java/com/example/avcinteractivemap
                   ├── res
                   └── AndroidManifest.xml

In general, you will mostly be working within the java/com/example/avcinteractivemap and res directories.


Java Directory

Within java/com/example/avcinteractivemap is all the classes related to the application:

  • AboutUsPage
  • Constants
  • ContactActivity
  • ContactItems
  • ContactRecyclerAdapter
  • FAQActivity
  • FAQRecyclerAdapter
  • HelpActivity
  • HelpItems
  • MainActivity
  • MapLocation
  • MapsFragment
  • Question
  • RecyclerAdapter
  • TemplateMarkerDescriptions

Res Directory

The res (resource) directory contains all of the resources used within the application, such as images, activity layouts, icons, raw data, etc. The resource directory has several subdirectories that organize different types of resources:

drawable

The drawable directory contains every asset that is "drawable." These assets include icons, images, etc. Since we cannot create more subdirectories within the drawable directory, we organized the assets by name. For example, icon assets have the prefix icon_ in the file name, image assets have the prefix image_ and so on.

font

The font directory contains custom fonts that can be used within the app. Imported fonts can have the file extension .ttf, .ttc, .otf, or .xml.

layout

The layout directory contains all the layouts used within the application, organized by name (mostly). Activity layouts have the prefix activity_. Layouts must be an .xml file.

menu

The menu directory contains drawer_menu.xml, which is used for the sidebar in the application.

mipmap

The mipmap directory contains several subdirectories, all of which is used for the app icon.

mipmap
    ├── ic_launcher
    ├── ic_launcher_background
    ├── ic_launcher_foreground
    ├── ic_launcher_monochrome
    └── ic_launcher_round

raw

The raw directory contains three .json files that are used within the app.

raw
    ├── custom_avc_map.json
    ├── faq_questions.json
    └── locations.json
  • custom_avc_map.json is used to customize the theme of the map.
  • faq_questions.json is used to store all the FAQ questions in the app, as well as their answers.
  • locations.json is used to store every notable location in AVC with several fields.

values

The values directory contains several .xml files that store values, such as strings, integers, and colors.

values
    ├── colors.xml
    ├── strings.xml
    └── themes
         ├── themes.xml
         ├── themes.xml (v21)
         └── themes.xml (night)

xml

The xml directory contains some .xml files that can be used during the runtime of the app. This is currently not being used in the project.


Android Manifest

AndroidManifest.xml is a crucial file that describes information about the app such as application name, permissions used, activities referenced, etc.

Clone this wiki locally