Skip to content

Latest commit

 

History

History
168 lines (105 loc) · 8.13 KB

day08.md

File metadata and controls

168 lines (105 loc) · 8.13 KB

Day8


Time : October 29th,2015 / Author : xiaomeixw

library

1.UI:

  • FoldableLayout --- (From worldline) : An Android demo of a foldable layout implementation,The author say: This code is a demo and not a library. [一个折叠效果].

  • FoldableLayout --- (From alexvasilkov) : Android widgets to implement folding animation,It was wonderful library. [一个折叠效果,效果很棒].

  • Android-FoldingLayout --- (From elementsinteractive) : A layout to switch over its children using a page folding animation,LIKE Flipboard application. [一个折叠效果,类似Flipboard的翻页效果].

  • android-FlipView --- (From emilsjolander) : A small, easy to use android library for implementing flipping between views as seen in the popular Flipboard application,very smoothly. [一个折叠效果,类似Flipboard的翻页效果,很流畅,API比较丰富].

  • FlipViewPager.Draco --- (From Yalantis) : This project aims to provide a working page flip implementation for usage in ListView. [ListView联系人翻页效果].

  • android-flip --- (From openaphid) : A component for flip animation on Android, which is similar to the effect in Flipboard iPhone/Android. [一个类似Flipboard翻页效果].

2.Logic:

  • Favor --- (From soarcn & Tag is Caching) : A easy way to use android sharepreference. [使用注解简单操作sharepreference].

      //1 Define a interface.
      @AllFavor
      public interface Account {
          @Default("No Name")
          String getUserName();
          String setPassword(String password);
      }
    
      //2 The FavorAdatper class generates an implementation of the interface.
      account = new FavorAdapter.Builder(getContext()).build().create(Account.class);
      account.setPassword("Passw0rd");
      String username = account.getUserName();
    
  • AndroidChannel --- (From skyfe79 & Tag is AsyncTask) : AndroidChannel is helper library for thread communication between mainthread and workerthread. [异步调度,主线程和工作线程通信].

      channel = new AndroidChannel(new AndroidChannel.UiCallback() {
          @Override
          public boolean handleUiMessage(Message msg) {
      
              if(msg.what == PING) {
                  Log.d("TAG", "PING");
                  channel.toWorker().sendEmptyMessageDelayed(PONG, 1000);
              }
              return false;
          }
      }, new AndroidChannel.WorkerCallback() {
          @Override
          public boolean handleWorkerMessage(Message msg) {
      
              if(msg.what == PONG) {
                  Log.d("TAG", "PONG");
                  channel.toUI().sendEmptyMessageDelayed(PING, 1000);
              }
              return false;
          }
      });
      channel.toUI().sendEmptyMessage(PING);
    

3.Architecture:

  • Backeasy --- (From Pierry) : Android - DI, DDD, Specification Pattern, Repository Pattern, IoC. [探索JAVA成熟模式在Android上的分层架构].

    • Domain driven-design start
    • Domain entities
    • Contracts (Interfaces)
    • Repository Pattern
    • Specification Pattern
    • ActiveAndroid (Database)
    • Dependency Injection - IoC (RoboGuice)
    • View Injection & Threads (Android Annotations)
    • SOLID
  • droidparts --- (From yanchenko) : a carefully crafted Android framework:DI, ORM, JSON.... [封装一套可复用的Android框架].

    a carefully crafted Android framework that includes:

    • DI - injection of Views, Fragments, Services, etc.
    • ORM - efficient persistence utilizing Cursors & fluent API.
    • EventBus for posting event notifications.
    • Simple JSON (de)serialization capable of handling nested objects.
    • Improved AsyncTask & IntentService with Exceptions & result reporting support.
    • Logger that figures out tag itself & logs any object.
    • RESTClient for GETting, PUTting, POSTing, DELETing & InputStream-getting, also speaks JSON.
    • ImageFetcher to asynchronously attach images to ImageViews, with caching, cross-fade & transformation support.
    • Numerous Utils.

article

  • ANNOTATION PROCESSING 101 --- (From Author sockeqwe blog http://hannesdorfmann.com) --- [Source in Github]

    (Editor's note : A wonderful article to learn ANNOTATION PROCESSING in android. A lot of famous library is based on it like ParcelableGenerator、butterknife and androidannotaion).

    In this blog entry I would like to explain how to write an annotation processor. So here is my tutorial. First, I am going to explain to you what annotation processing is, what you can do with that powerful tool and finally what you cannot do with it. In a second step we will implement a simple annotation processor step by step.

    To clarify a very important thing from the very beginning: we are not talking about evaluating annotations by using reflections at runtime (run time = the time when the application runs). Annotation processing takes place at compile time (compile time = the time when the java compiler compiles your java source code).[Translation:Java注解处理器使用详解].

    Chinese Translation Address : Thanks To codeceo

    DroidconDE 2015: Hannes Dorfmann – Annotation Processing 101. Want to see the video , See Youtube. Want to see the Author's PDF in DroidconDE 2015.

website

  • http://droidcon.de/ --- (started in 2008 in Berlin) : Droidcon is the franchise name for a series of commercial conferences in Europe, focused on software development for Google's Android smartphone framework. The Droidcon conferences are the largest Android developer conferences held outside the USA. [Android技术交流公开活动组织].