lcbm / cs-android

:iphone: my graduation's Android mobile development elective activities.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

📱 Mobile Development with Android Elective Repo

👩‍💻 Workspaces

/recycler_view_list

This folder contains the application for parts 1 and 2 of the first assignment.

Part 1

  • Create an Android project from scratch, without relying on any branch presented in class;

  • Main activity: present a list of items with photo, name and a short description of the item (the list must be created using RecyclerView);

  • Main activity: there must be a FloatingButton, with the "+" symbol. By clicking on this button, a SecondActivity for result must be opened.

  • SecondActivity: must contain an EditText for the name of the item, an EditText (Multiline) for the description, and an Add Image button, which must send an implicit intent to acquire the gallery image.

  • SecondActivity: when clicking on finish, she must send the Parcelable object back to the Main Activity and then add it to the list;

  • When clicking on the image of the item, you should open another activity, DetailsActivity which shows details of the item (name, photo, description);

  • DetailsActivity: must contain a Remove button, which when clicked, removes the current item from the list and returns to MainActivity;

  • If the cell phone is rotated, the listing should not be lost.

Part 2

  • Create a customized ActionBar for all activities;

  • In the DetailsActivity, the ActionBar title must correspond to the item name. Also, an Up Action should be present in the Action Bar;

  • In the SecondActivity, the ActionBar title must be Add Item. Also, an Up Action should be present in the Action Bar;

  • In the DetailsActivity, the ActionBar title must be Item List. Also, the ActionBar must be hided whenever the user scrolls the list;

  • In the DetailsActivity, the ActionBar must have a filter action which, when clicked, a AlertDialog must be shown, with the following options:

    • Option to show/hide items with the same name;
    • Option to sort items by insertion order;
    • Option to sort items by alphabetical order;
    • Button Ok to execute the selected filters.

/storage

This folder contains the application for the second assignment.

  • Main activity: present a list of items with photo, name and a short description of the item (the list must be created using RecyclerView);

  • RecyclerView: must have the item name, storage type and a remove image that, when clicked, will remove the item from the list;

  • Main activity: there must be a FloatingButton, with the "+" symbol. By clicking on this button, a SecondActivity for result must be opened.

  • In the Second Activity, allow the user to inform the file with name and content, as well as choose the storage type (internal or external) via Radio Buttons in a Radio Group. Finally, there should also be a checkbox with the option to encrypt the file with Jetpack;

  • When clicking on the image of the item, you should open another activity, DetailsActivity which shows details of the item (file name, storage, content, encryption);

/shared_storage

This folder contains the application for the third assignment.

  • Main activity: show all files in the MediaStore.Images collection, from the shared storage;

  • Main activity: files must be presented in a RecyclerView with 2 columns;

  • Main activity: each item in the recycler view should have a TextView with black background and its text to the value of MediaStore.Images.Media.DISPLAY_NAME;

  • Main activity: make sure to prompt the the user for READ_EXTERNAL_STORAGE permission.

/shared_preferences

This folder contains the application for the fourth assignment.

  • Main activity: must have a text view for the user to inform their name (String);

  • Main activity: must have a text view for the user to inform their age (Int);

  • Main activity: must have a button ESCREVER that saves the name and age, informed by the user, in a file, using shared preferences;

  • Main activity: must have a button READ that reads the name and age saved in a file, using shared preferences, in the format:

    • O seu nome é $name e sua idade é $age.

/weather_app

This folder contains the application for the fifth assignment.

  • Create a Bottom Navigation View:

    • Add Material dependency;
    • Create os Bottom Navigation items: Search, Favorite and Settings;
    • Add BottomNavigationView to the layout;
    • Listen to the item clicks;
    • Add 3 fragments, one for each Bottom Navigation items.
  • In the Settings fragment:

    • Add a Radio Groups which allows the user to select the temperature unit (celsius or fahrenheit);
    • Add a Radio Group which allows the user to select the description language (portuguese or english);
    • Add a SAVE button to persist data in SharedPreferences.
  • In the Search fragment:

    • Add a EditText to allow the user to enter a city name;
    • Add a SEARCH Button;
    • Implement button click event;
    • Check internet connection: in case the device is not connected to the internet, show a Toast informing the user that the device is offline -- otherwise, online.
  • In the Search fragment, the SEARCH button must make a find request to OpenWeatherMap Current Weather API:

  • In the Search fragment, add a RecyclerView to show the request results:

    • Add RecyclerView to the layout;
    • Create the item layout;
    • Create and Adapter;
    • Create a RecyclerView.ItemDecoration (adds margin to the RecyclerView);
    • Download icons for the weather, using Glide.

📝 License

Copyright © 2020-present, CS Android Contributors. This project is ISC licensed.

About

:iphone: my graduation's Android mobile development elective activities.

License:ISC License


Languages

Language:Kotlin 100.0%