75 thoughts on “Architecture Components – Introduction (Google I/O ’17)

  1. Android Architecture Components samples

  2. Android Architecture Components

  3. The Lifecycle APIs will remove a lot of unplaced code! Thank you for making this a reality

  4. Great work guys! Nice to have first party support for MVVM and the likes. That newton-mars-rover analogy was very good. Looking forward to more such help for real world development.

  5. Maybe one day reactive programming will be recognized by Google as a viable way to architect apps – a la RXJava.

  6. if a viewmodel implementation needs to extend a base ViewModel class, how does it work with databinding? I assume we need to implement the data binding Observable interface? Alternatively is there an interface we could implement for a ViewModel instead? This could be done quite easily with Kotlin delegation.

  7. Great work guys!! Nice to see there is finally a way to hold on to my pressures data and to monitor beter my observers and singletons.

  8. This is great! And the fact that it's completely decoupled of the rest of the support libraries (as it is its own package) makes it even better.

  9. Notice how the speaker keeps mentioning Retrofit, but doesn't mention Volley. I think Volley is no longer being pushed by Google.

  10. This seems great, but what about the architecture for anything but simple CRUD apps? This talk, and the corresponding guide, seems mostly focused on apps which are just frontends for some webservice, not apps that have some sort of local processing. The app i'm currently working on doesn't have a database, because it doesn't need to store data. Aren't those considered part of the core of android anymore?

  11. Is Room going to work with SQLCipher library? Will the new tools such as LiveData or ViewModel be available in the support library? I am going to start a new project very soon so this would be extremely beneficial.

  12. Correct me if I am wrong, but after reading the Guide to App Architecture I have a feeling that:
    1. MVC pattern is being introduced as the (finally) correct one. But I remember some Google guru article that Android intentionally doesn't enforce any design pattern. What did I miss?
    2. Value observation is attempted to be introduced just as in the 'a**le' environment.
    3. The Android intrinsic — re-launching not only UI but the whole activity as well just because the user has changed UI (ie rotated the device) — is now to be dismissed under the layers of helper framework. Just like the 'a**le'.
    4. The Guide is nice and has a lot of great ideas how to make our apps great (again?), but why so late?
    I have come to like Android through these years, but this looks SO odd. But I may be wrong, and will be grateful for guidance.

  13. I don't know, at a first glance lifecycle framework looks great, but isn't it just an official boilerplate for dealing with a bad architectural decision which are Activity and Fragment lifecycles? I mean, it's nice to see that Google finally decided how to do it in the right way, but why not try to improve the idea of lifecycle in its core so developers won't have to deal with all this stuff in the first place?

  14. This architecture is pretty much similar to MVP, Glad you guys have provided official support It could be a fun 🙂 <3 for Google

  15. Android Architecture Components Codelabs:

  16. Ohh boy! Now I want to right another app ASAP. Thank you guys at Google (Yigit, Chet, Romane etc). Keep rocking!!

  17. About 10:14, can anyone please explain to me why the myLocationListener.start() would be called after onStop? It checks the user settings on the onStart, and that's it… It shouldn't start after it.
    Or do they mean that the check of user settings is on another thread? But if so, why would anyone do such a thing…

  18. Android finally catching up with java ee or spring it is really funny that took them to do it all that time 🙂 the OS design beneath it must be really shitty . If my observation is right at io18 we will going to see that Architecture Components has a new feature called composite views for modular view design just like in java ee

  19. If I want to make a http request and return a LiveData, do I have to change to worker thread myself. Does LiveData has smt like subcribeOn method of Rxjava ?

  20. In this talk (15:49) it's said sth which I do not understand. It's something like "when you use a LocationManager singleton in Activity it will cause memory leak".

    Can you explain how that LocationManager singleton causes a leak?

    I asked also here https://stackoverflow.com/questions/44456949/why-using-a-locationmanager-singleton-in-android-activity-is-bad.

  21. Not really excited. People have been doing DIY MVP for years now. Why would anyone need another wheel?

  22. There is no error & exception handling on these examples, is this ok? I think these problems could be addressed with proper error handling and exception catching or throwing.

  23. Those people are not clapping loud enough for getting rid of the Contract class for SQLiteOpenHelper. They're also not clapping loud enough for the new viewModel class. Are these people even alive?

  24. https://stackoverflow.com/questions/44456949/why-using-a-locationmanager-singleton-in-android-activity-is-bad

  25. I created some samples to practice Kotlin and Android Architecture Components.
    https://github.com/erikcaffrey/Android-Architecture-Components-Kotlin or LiveData + Data Binding

  26. Really? Another ORM? Java still lives in the past… why doesn't Google just copy LINQ from C# and be done with it? I don't get it. And why not just embrace RxJava? The Rx paradigm is well understood at this time

  27. shouldn't this have been done the very first time, kind of seems like the obvious way to go about it.

  28. "This is very confusing! This is so sad!" he says about ContentProviders & SQLite. People laughed at me when I said that years ago. What took so long for Google to admit it and let the rest of us repeat it without being laughed at?

Leave a Reply

Your email address will not be published. Required fields are marked *