Skip to content

Commit d2edc19

Browse files
authored
Merge pull request dubesar#547 from adizcode/add-todo-app
Add ToDo Android App
2 parents abf773b + 3cb5a30 commit d2edc19

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+2006
-0
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
*.iml
2+
.gradle
3+
/local.properties
4+
/.idea/caches
5+
/.idea/libraries
6+
/.idea/modules.xml
7+
/.idea/workspace.xml
8+
/.idea/navEditor.xml
9+
/.idea/assetWizardSettings.xml
10+
.DS_Store
11+
/build
12+
/captures
13+
.externalNativeBuild
14+
.cxx

Android/Android Apps/ToDoList/.idea/codeStyles/Project.xml

Lines changed: 134 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Android/Android Apps/ToDoList/.idea/gradle.xml

Lines changed: 21 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Android/Android Apps/ToDoList/.idea/jarRepositories.xml

Lines changed: 25 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Android/Android Apps/ToDoList/.idea/misc.xml

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Android/Android Apps/ToDoList/.idea/runConfigurations.xml

Lines changed: 12 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
## To-Do Android App
2+
> A To-Do List app for devices running Android 5.0+
3+
4+
### Screenshots
5+
<img src="https://user-images.githubusercontent.com/42904676/95720737-41e02f80-0c8f-11eb-9efd-97c1e7a85d2e.png" width="280px"><img src="https://user-images.githubusercontent.com/42904676/95720876-6f2cdd80-0c8f-11eb-9a2a-5203d4695532.png" width="280px">
6+
7+
### Setup
8+
1. Fork and clone this repo to your PC.
9+
1. Open the project in Android Studio.
10+
1. Build an APK and copy it over to your Android device.
11+
1. Install and add your To-Do tasks!
12+
13+
> Please make sure to save your To-Do tasks by hitting the **Done** key on your on-screen keyboard!
14+
15+
### Concepts Learned
16+
* RecyclerView *-> To display the list of ToDos*
17+
* ViewHolders *-> To implement multi-select*
18+
* AdapterDataObserver *-> To display the welcoming message*
19+
* ContextualActionMode *-> To implement deletion*
20+
* Drawable Selector *-> To provide visual cues to the User*
21+
* Room Database *-> To store data*
22+
23+
> If you are looking for details, the source code has been thoroughly documented.
24+
25+
### Resources Used
26+
* [Official Android API Reference](https://developer.android.com/reference)
27+
* [Android GitBook](https://google-developer-training.github.io/android-developer-fundamentals-course-concepts-v2/index.html)
28+
* [Stack Overflow](https://stackoverflow.com/)
29+
30+
### Future Aspects / Scope
31+
1. UI Overhaul
32+
1. Launcher icon
33+
1. Undetected bug fixes
34+
1. Persist orientation changes
35+
1. Dark mode
36+
1. Testers
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/build
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
apply plugin: 'com.android.application'
2+
3+
android {
4+
compileSdkVersion 29
5+
buildToolsVersion "30.0.0"
6+
7+
defaultConfig {
8+
applicationId "com.example.todolist"
9+
minSdkVersion 21
10+
targetSdkVersion 29
11+
versionCode 1
12+
versionName "1.0"
13+
14+
project.ext.set("archivesBaseName", "ToDoList")
15+
16+
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
17+
}
18+
19+
buildTypes {
20+
release {
21+
minifyEnabled false
22+
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
23+
}
24+
}
25+
}
26+
27+
dependencies {
28+
implementation fileTree(dir: "libs", include: ["*.jar"])
29+
implementation 'androidx.appcompat:appcompat:1.2.0'
30+
implementation 'androidx.constraintlayout:constraintlayout:2.0.2'
31+
implementation 'androidx.recyclerview:recyclerview:1.1.0'
32+
implementation 'com.google.android.material:material:1.2.1'
33+
implementation "androidx.room:room-runtime:2.2.5"
34+
annotationProcessor "androidx.room:room-compiler:2.2.5"
35+
testImplementation 'junit:junit:4.13'
36+
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
37+
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
38+
39+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Add project specific ProGuard rules here.
2+
# You can control the set of applied configuration files using the
3+
# proguardFiles setting in build.gradle.
4+
#
5+
# For more details, see
6+
# http://developer.android.com/guide/developing/tools/proguard.html
7+
8+
# If your project uses WebView with JS, uncomment the following
9+
# and specify the fully qualified class name to the JavaScript interface
10+
# class:
11+
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12+
# public *;
13+
#}
14+
15+
# Uncomment this to preserve the line number information for
16+
# debugging stack traces.
17+
#-keepattributes SourceFile,LineNumberTable
18+
19+
# If you keep the line number information, uncomment this to
20+
# hide the original source file name.
21+
#-renamesourcefileattribute SourceFile

0 commit comments

Comments
 (0)