Giter Site home page Giter Site logo

android-fundamentals's Introduction

Android Developer Fundamentals

Caution: This repo is out of date and no longer maintained. Instead, please refer to the Android Basics with Compose or Jetpack Compose for Android Developers courses for the latest recommended practices. If you are looking for content on Views, you can check out the Android Basics in Kotlin course.

This repository contains samples, starter code, and solutions for the Android Developer Fundamentals course.

Introduction

Each of the samples in this repository is associated with a practical exercise from the Android Developer Fundamentals course. While each sample stands and runs on its own, they are designed to be used together with the course.

The Android Developer Fundamentals course is an instructor-led training experience and is targeted towards beginning Android developers with a background in software development or computer science.

Pre-requisites

The samples, along with the course, assume basic competence in software design and development, as well as some background in computer science.

Specifically, to get started you need:

  • Familiarity with the general software development process for object-oriented applications using an IDE (Integrated Development Environment).
  • At least 1-3 years of experience with object-oriented programming and the Java programming language.

For the more advanced samples, it helps to know about:

  • SQLite databases and the SQLite query language.
  • Software architectural patterns that separate data from the user interface, such as MVP, MVC, or MVA.
  • Threading

You don't need to know anything about Android to get started.

Getting Started

  1. Install Android Studio, if you don't already have it.
  2. Download the sample.
  3. Import the sample into Android Studio.
  4. Build and run the sample.

android-fundamentals's People

Contributors

jkcoolmom avatar jlulovics avatar naokigoogle avatar naokirodion avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

android-fundamentals's Issues

Coding Challenge of Recycler View

Challenge: Creating a click listener for each item in the list is easy, but it can hurt the performance of your app if you have a lot of data. Research how you could implement this more efficiently. This is an advanced challenge. Start by thinking about it conceptually, and then search for an implementation example.

I am not able to find an answer for this.

Behaviour of DroidCafeWithSettings with API 27

Beginning to learn Android development.

Downloaded and built DroidCafeWithSettings sample using Android Studio 3.1.4 and buildToolsVersion 27.0.3.
If project built using SdkVersion 25, and running in a Pixel 2 emulator with API 25, upon making the settings change and returning to the mainActivity the Toast message materializes with the settings change as expected.
If built with SdkVersion 27 and running in a Pixel 2 emulator with API 27, the Toast message does not materialize. No failures or messages observed. Toast message materializes when application goes thru onDestroy and is restarted (and displays the updated setting). Everything else appears fine.
Same behavior on an application that I am currently building (using API 27 and used the SettingsActivity template in Android Studio). Just validating with DroidCafeWithSettings app.
Just wondering what I am missing, did not see anything obvious in the listed behavior changes.
Thanks.

Not working when app is closed.

AlarmManager is not working when is in Foreground or Background State (that is in recent apps). But notification is not shown when the application is closed.

Migrate Project to Gradle?

This project does not use the Gradle build system. We recommend that you migrate to using the Gradle build system.
			More Information about migrating to Gradle
			Don't show this message again.

divByZero Unit Test Failing

all tests pass except the divByZeroThrows() method

code

 @Test(expected = IllegalArgumentException.class)
    public void divByZeroThrows() {
       mCalculator.div(32d, 0d);

    }

error

java.lang.AssertionError: Expected exception: java.lang.IllegalArgumentException

	at org.junit.internal.runners.statements.ExpectException.evaluate(ExpectException.java:32)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
	at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
	at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
	at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.