I can't find the right approach to learning Java and developing for Android


I'm a novice programmer, I'm learning Java and I want to learn Android development. The problem is that I can't find the right approach to learning, and it's confusing for me. Would it be more correct : to learn Java from the Android app development campaign, or to study the whole theory of Java,and then start developing something in Android Studio?

Author: Famous, 2018-08-15

4 answers

First you need to read any java book or take a course. I recommend "Learning Java" by Kathy Sierra, Bert Bates.

I recommend it, because it is as fast as possible introduces you to the course, it is easy to read, with pictures, what you need for beginners. Do the examples in the book only if you don't understand the code in this example. This book gives you the basics of java, which is enough for android. There is a swing section there. Skip it. This is chapter 12 and 13. You can also skip 15 and 18, or you can also skip read for development. In android, all this is not used.

You can quickly read it, get the basics. I read it in about a month, but I read it all.

Then you start learning android. The main criteria of the resource: constant updates and popularity. Android is changing very quickly, so you should always study the latest resources. Anything older than 2016 is better not to watch. There are three good resources:

  • Startandroid

  • Android Book for professionals

  • Google course on Udacity

Here, study these resources closely and make an application in parallel. That's all.

The algorithm can be as follows: take udacity as a basis and do everything according to it. Look at the book if you don't understand anything in English, or if you want to solve some specific problem.

Startandroid - the site has excellent step-by-step guides for new libraries, for example: room, dagger , rxjava. in the future, you will need them very much, because now they are already used almost everywhere.

P.S. Why not delve into java?

Because android is pretty similar and you don't need all the nuances of java. You need the main base to understand what is happening in the code. And you will already learn the nuances on your android apps

P.S.S. My personal opinion

Try not to get stuck for a long time on the usual activiti, fragments, intents. Core Android it is large and can be studied for a long time. Just a couple of apps for 2-3 screens. Do not make huge applications that you will develop for 3 months.This will slow down your progress.

Strive to understand architectural patterns and modern libraries that will make it easier for you to develop large applications and help you get a job. Here is a sample stack:

Architecture: MVP, MVVM, SOLID, Clean Architecture, Architecture Components

Boss Libraries(long to learn)): Rxjava2, Dagger

Libraries-nishtyaki: Retrofit, Okhttp, ButterKnife, Room, Picasso, GSON. You can learn them right away, because they will make your life easier.

 9
Author: Valgaal, 2018-08-15 20:18:28

I'll give you an example: you can read all the books on how to ride a bike properly. You can even watch a few videos of people riding a bike. I could give a lecture on how to ride a bike properly, but if you have never ridden yourself, you will fall as soon as you get on the bike for the first time. You may know everything about bicycles - and how to ride properly, and which models are the best, but you will never learn to ride a bike until you put your knowledge into practice.
Why, then, do many developers take a book on a programming language or framework and read it from cover to cover, hoping to absorb all the information? In the best case, you will collect all the information on the topic, but you will not learn it. (c) John Sonmez, The Programmer's Path

Learn enough to get started and act

 10
Author: katso, 2018-08-15 19:42:03

In general, everything is simple. To start learning the Android framework, you should be able to read and understand Java code, the principles of OOP, the basic patterns in Java (in particular, the callback interface is very often used in Android), and so on. Otherwise, all the development examples will be incomprehensible to you, since almost all the materials on Android explain the features of working with the framework itself, and not the Java code that implements them.

Without understanding the written code, you can repeat something, copy-paste it, but don't write your own code. You can't get far on someone else's code.

 3
Author: pavlofff, 2018-08-16 03:02:54

IMHO you should never start learning programming with Java. Ruin your thinking for life. Learn some traditional language first: Pascal or C.

The Creator stackoverflow.com also counts: http://local.joelonsoftware.com/wiki/%D0%9E%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D1%8F_%D0%BD%D0%B0_Java

 0
Author: , 2019-04-14 15:55:34