Google I/O 2010 - Android REST client applications

แชร์
ฝัง

ความคิดเห็น • 83

  • @AlexandriaRohn
    @AlexandriaRohn 9 ปีที่แล้ว +36

    36:12 - Service API - Quick run through example
    38:25 - Content Provider API
    44:00 - Content Provider API & Sync Adapter - Sync Adapter is the ability of the system to help you synchronize remote and local content.
    48:03 - Conclusion - Key takeaways

  • @mym2310
    @mym2310 10 ปีที่แล้ว +2

    After 4 years, after Volley, after Loaders, this is the cleanest and secure architecture approach IMO

  • @francoalbertocardillo1693
    @francoalbertocardillo1693 9 ปีที่แล้ว +21

    After more than four years the possibilities are essentially the same. Android should offer a decent API for network requests: all of the approaches described in the talk are incredibly complex for a task as simple as performing get and post queries.

  • @davideschembari3026
    @davideschembari3026 9 ปีที่แล้ว +3

    What a difference with today's presentation. Back in 2010 they were explaining you how to use the Android OS for doing stuff. These days they just tell you to use 3rd-party libraries because, apparently, they haven't been able to innovate and give us devs better, easier tools (API's) to implement these basic use cases present in almost every Android app.

    • @Lord_of_Evil
      @Lord_of_Evil 8 ปีที่แล้ว +1

      +Davide Schembari +1

    • @adityavikramrajawat
      @adityavikramrajawat 6 ปีที่แล้ว

      The google devs work on a lot of 3rd party libraries too

    • @kuzco7061
      @kuzco7061 2 ปีที่แล้ว

      do you have the link/title of this most recent (which mybe now in 2022 is also considered old") presentation? I couldn't find it...

  • @leakeymaina5495
    @leakeymaina5495 11 ปีที่แล้ว

    A must watch for all android enterprise developers

  • @BoxingHacker
    @BoxingHacker 9 ปีที่แล้ว

    nervous or not this dude is awesome!!! I
    liked the talk . I could understand him clearly. Good job bro

  • @ViliusKraujutis
    @ViliusKraujutis 10 ปีที่แล้ว +4

    Simply amazing, how long I see people are #inspiredby Virgil Dobjanschi and referencing this video. Many libs are created, following this great talk. Thank you, Virgil.

    • @ViliusKraujutis
      @ViliusKraujutis 10 ปีที่แล้ว +3

      eg. github.com/path/android-priority-jobqueue

  • @saboteurs1234
    @saboteurs1234 13 ปีที่แล้ว

    Great info Virgil! I've been searching the web for android REST examples and am so psyched to actually find a video from the guy that writes the apps!

  • @wireddfw
    @wireddfw 12 ปีที่แล้ว

    Excellent video. I'm working on a multi-user project management app and I think the third pattern is exactly what I need. Thanks for the info.

  • @methodsignature
    @methodsignature 7 ปีที่แล้ว

    Years later, Room and RxJava finally make this easy.

  • @markwinterbottom3634
    @markwinterbottom3634 10 ปีที่แล้ว

    Virgil Dobjanschi thanks a lot for this, really informative and well structured presentation.

  • @creamycoffee
    @creamycoffee 14 ปีที่แล้ว

    I am happy to see that even google employees can be nervous at presentations. Now I feel not so bad about my own presentations anymore :)

  • @clivesargeant394
    @clivesargeant394 10 ปีที่แล้ว +1

    Excellent presentation! Very informative. Thanks.

  • @adityavikram
    @adityavikram 2 ปีที่แล้ว

    Android has advanced so much!

  • @LondonAppDeveloper
    @LondonAppDeveloper 9 ปีที่แล้ว +1

    Thank you for this excellent and informative video.

  • @MichaelSchwabTX
    @MichaelSchwabTX 14 ปีที่แล้ว

    Great architecture/design discussion. Use this design for your next Android Restful app (please:)

  • @penna420
    @penna420 12 ปีที่แล้ว

    That's exactly the reason I love the Android API :)

  • @MajDroid
    @MajDroid 13 ปีที่แล้ว

    great session, i learned a lot from it

  • @ViliusKraujutis
    @ViliusKraujutis 12 ปีที่แล้ว

    Why it's better to have an Application installed comparing to Web page:
    Integrates with Android OS; can use intents from other apps.
    Can offer intents to other apps.
    Can run in background.
    Can work in limited connectivity environment
    Faster than Web browser.
    Consistent with Android environment.
    Most users would choose App when both app and web pages are offered.

  • @Schnitz647
    @Schnitz647 10 ปีที่แล้ว +3

    Is there an updated version of this talk? If not, hopefully there will be soon. :-) Like it!

  • @SkaldromYSarg
    @SkaldromYSarg 13 ปีที่แล้ว

    Thank you very much for this info...

  • @kuzco7061
    @kuzco7061 2 ปีที่แล้ว

    Is there a video/documentation talking about today's stand? Of "Android REST client applications"? I'm grateful for anything!

  • @X1011
    @X1011 10 ปีที่แล้ว +4

    R.I.P., Wave :,(

  • @Snytkine
    @Snytkine 14 ปีที่แล้ว

    Excellent! Did I miss something because I have not seen anything about user authentication and session management. How do you authenticate the user before and during REST calls?

  • @asdfafafdasfasdfs
    @asdfafafdasfasdfs 11 ปีที่แล้ว

    Wonder if it's the same PhDs which implemented awesome OO making you extend MapActivity when the screen contains a map, or FragmentActivity when it has fragments...

  • @n0m1c
    @n0m1c 10 ปีที่แล้ว +8

    Slide deck:
    dl.google.com/googleio/2010/android-developing-RESTful-android-apps.pdf

  • @Arj_n
    @Arj_n 11 ปีที่แล้ว

    is there a better implementation for Android now in 2013 and are there other API's which have simplified the process to make it less complicated?

  • @MrArvalon
    @MrArvalon 7 ปีที่แล้ว

    These patterns of synchronization data, after you restart the phone? In these implementations, the service hangs in memory, with intervals of trying to implement REST request. But if this is not possible then appropriate flags in SQLite will remain in STATE_POSTING/STATE_UPDATING/STATE_DELETING?

  • @Eothein
    @Eothein 9 ปีที่แล้ว

    Is this still relevant? Moreover, working with the ContentProvider should be asynchronous and how do you maintain concurrency between network and db access?

  • @JoshuaJamison
    @JoshuaJamison 12 ปีที่แล้ว

    You have to implement the AbstractThreadedSyncAdapter abstract class.

  • @JoseAyerdis
    @JoseAyerdis 13 ปีที่แล้ว

    I would call them Android strategies for REST service, instead of architecture, also i think he failed mention that this approaches can be combined to have a better structured, specially the last two. But +1 for all the tips we should call this "The Dobjanschi Approach"

  • @robertli6464
    @robertli6464 9 ปีที่แล้ว

    Hi, could i know why i should use content provider instead of sqlite database?
    I thought the data is not always intended to be shared to other application.

  • @mackler
    @mackler 12 ปีที่แล้ว

    44:11 What's a SyncAdapter? I don't see any class by that name, nor SyncManager. I see SyncAdapterType, but it's pretty light on documentation.

  • @reachjohney
    @reachjohney 11 ปีที่แล้ว

    HOw should android app connect with database of website.

  • @LandonPauley
    @LandonPauley 11 ปีที่แล้ว

    As basic as this question is, I need to download a stock SyncAdapter and Calendar Sync for my SG3 (not rooted). Can someone help me please?

  • @JoseAyerdis
    @JoseAyerdis 13 ปีที่แล้ว

    @FernandoEscher87 no it doesn't it does not goes deep enough on the SyncAdapter

  • @7105717
    @7105717 13 ปีที่แล้ว

    He is a programmer, not a presenter. I understand him :)

  • @Kanani992
    @Kanani992 13 ปีที่แล้ว

    Thanks alot , is there any sample code that we can look at ?

  • @Eothein
    @Eothein 9 ปีที่แล้ว +1

    Is there a new link with sample code?

  • @Maarttttt
    @Maarttttt 11 ปีที่แล้ว

    Is it really a good idea to store the update state in the database? If the app crashes before an update is complete, a restarted activity may erroneously think there's an update thread running for ever, when in reality it has crashed.

    • @Maarttttt
      @Maarttttt 11 ปีที่แล้ว

      You could circumvent this with timeouts, of course, but I feel like it's better to use a static Java Map in your Service object.

  • @bikermesias
    @bikermesias 12 ปีที่แล้ว

    Nice presentation, i will use it in communication with Jersey into an embbeded Jetty. Maybe i will try this pattern (and concepts) to trasmit between Android and Arduino (throught Bluetooth).
    Thank you.

  • @JasperdeKeijzer
    @JasperdeKeijzer 10 ปีที่แล้ว

    Very good presentation! Is there sample code which I can use as a starting point?

  • @xandy1979
    @xandy1979 13 ปีที่แล้ว

    @russellperry Well Separation of role always comes with a cost. Android System design also makes these worse.. you have content provider but need to execute the operation in a separate Service with a separate thread.

  • @franzisk1969
    @franzisk1969 8 ปีที่แล้ว +1

    I really need an example of this. Where can I get a complete one?

    • @anonimo0486
      @anonimo0486 8 ปีที่แล้ว +1

      That's google for you! They all talk about good practices and patterns we should follow, but never actually show how to implement them :(

    • @jrmineur
      @jrmineur 7 ปีที่แล้ว +1

      The best explanation I have experienced is through the Udacity (free) courseware - see lessons 8 and 9 here: www.udacity.com/course/new-android-fundamentals--ud851 and code with various branches - tracking the course - is here: github.com/udacity/Sunshine-Version-2 You can also browse through the tons of student implementations of "Popular Movies" - the final project for the Nanodegree. The student projects are on github and most include a Content Provider to pull data from TheMovieDb.

  • @DesKennyDublin
    @DesKennyDublin 9 ปีที่แล้ว +1

    code link doesnt work anymore

  • @TonyChanTurbo
    @TonyChanTurbo 13 ปีที่แล้ว

    @twerdster Damn, once it is heard it cannot be unheard...

  • @Arj_n
    @Arj_n 11 ปีที่แล้ว

    any updates on the Framework?

  • @Yoy077
    @Yoy077 11 ปีที่แล้ว

    You can find Service Pattern implementation (solution A) by searching for RESTDroid on Github ;)

  • @Qw4z1
    @Qw4z1 12 ปีที่แล้ว

    I'd like a piece of that cookie as well! =)

  • @tomblah
    @tomblah 11 ปีที่แล้ว

    Android. Beauty defined.

  • @victornoagbodji
    @victornoagbodji 11 ปีที่แล้ว

    thanks : )

  • @benshenlee1960
    @benshenlee1960 9 ปีที่แล้ว

    Good!

  • @lobais
    @lobais 13 ปีที่แล้ว

    Guys... It's true that there is no use for this " hyper-redundant nonsense to get a simple JSON result back and parse it".
    But if you are actually writing a two-way rest app, using put, post, delete and caching, things become a lot more complicated. Unless you are willing to sacrifice performance.
    Just saying.

  • @SaadFarooq
    @SaadFarooq 12 ปีที่แล้ว

    @metafedora I so, so agree

  • @JoseAyerdis
    @JoseAyerdis 12 ปีที่แล้ว

    Too bad Virgill explained so poorly the SyncAdapter pattern two years later still obscure to some developers on how to use it?

  • @lindesvard
    @lindesvard 11 ปีที่แล้ว

    Somebody that have some good code examples for this?

  • @davidsims7467
    @davidsims7467 11 ปีที่แล้ว

    I have posted an implementation of Option C using ContentProvider API and SyncAdapter. This tutorial provides all of the code samples used to build a working example of a RESTful android app. Feel free to visit the "About" page on my Google+ profile.

  • @darkandgreen3212
    @darkandgreen3212 14 ปีที่แล้ว

    Why can you not zoom on the SCREEN, We dont need to see his face! I prefer to see the screen!!!!!

  • @tqtuan
    @tqtuan 10 ปีที่แล้ว

    Using REST, how can a server send data to a client? Can an Android app accept REST calls?

    • @javierglzib
      @javierglzib 10 ปีที่แล้ว +3

      you have to use push notifications

  • @k2k2e6
    @k2k2e6 10 ปีที่แล้ว

    I hope there is something easier. In a web app using query, I can do simply: $.ajax(url, options, data, callback). I do not need to understand all this mumbo jumbo just to perform HTTP GET/POST. This is 2014 - I googled for an hour and I still do not think there is anything as simple for Android as Jquery for a Web application.

  • @NguyenTruongHoang
    @NguyenTruongHoang 11 ปีที่แล้ว

    implemention in github : github.com/stanfy/enroscar

  • @juliusb.684
    @juliusb.684 10 ปีที่แล้ว

    All of the patterns described are only suitable for very simple value objects. What about complex objects (deep maps, bigger binary data, 3rd party objects that can't be marshaled or are simply too big for intents)? Can someone explain why local services and content providers can't pass objects to activities? Personally I think that these are awful design choises. What a nonsense...

  • @moloxiao
    @moloxiao 13 ปีที่แล้ว

    @twerdster hehe

  • @geggyusa
    @geggyusa 13 ปีที่แล้ว

    they could have given him some water. this is rough to listen to

  • @DeadalusX
    @DeadalusX 12 ปีที่แล้ว

    careful! don't poop in your pants!

  • @ViliusKraujutis
    @ViliusKraujutis 12 ปีที่แล้ว

    @viliaus andro.lt/2012/03/app-vs-web.html

  • @NightlyNexus
    @NightlyNexus 11 ปีที่แล้ว

    Is he about to throw up?

  • @PenkZhou
    @PenkZhou 11 ปีที่แล้ว

    哈哈哈

  • @theonedani
    @theonedani 12 ปีที่แล้ว

    wave? lol

  • @RefinedCode
    @RefinedCode 12 ปีที่แล้ว

    haha... google wave.

  • @pueblotobakko
    @pueblotobakko 12 ปีที่แล้ว

    ich werd' seekrank. stop moving!

  • @dadaverse
    @dadaverse 12 ปีที่แล้ว

    This guy has the most annoying voice, I wish they would dub it over with someone like Ian McKellen as narrator.
    And like most Google employees, you get that slight I'm-soooo-much-smarter-than-you attitude. Ugh.

  • @SaadFarooq
    @SaadFarooq 12 ปีที่แล้ว

    Great topic but Oh man this guy is annoying...