Day19


Time : December 22th,2015 / Author : xiaomeixw

library

1.UI:

  • AndroidImageSlider --- (From daimajia) : An amazing and convenient Android image slider. [图片左右滑动].

  • DropListView --- (From ufo22940268) : Another PullToRefreshList with drop effect. [PullToRefreshList].

  • android-layout-samples --- (From lucasr) : Explorations around Android custom layouts.so perfect Article,the author join Facebook now. [自定义View方案,很棒的文章,原Firefox工程师,作者现在加入了Facebook].

    Explorations around Android custom layouts, including off main thread View measure/layout passes.

    Sample code for:

    • Composite View
    • Custom Composite View
    • Flat Custom View
    • Async Custom View

      For more information, read: http://lucasr.org/?p=3920

2.Logic:

  • common_adapter_viewholder --- (From bboyfeiyu & Tag is Adapter) : simplify adapter code like JoanZapata 's base-adapter-helper [简化adapter书写].

  • base-adapter-helper --- (From JoanZapata & Tag is Adapter) : Abstraction for the usual BaseAdapter "ViewHolder" pattern.[简化adapter书写].

  • AndroidUtils --- (From zhengxiaopeng & Tag is Utils) : some useful code for android.[一些android代码片段].

  • simple_net_framework --- (From bboyfeiyu & Tag is AsyncTask) : write some code like volley just study do not use in your Commercial projects.[仿volley框架,不推荐实际生产,只供学习].

      // 1
      RequestQueue queue = SimpleNet.newRequestQueue();  
    
      // 2
      MultipartRequest multipartRequest = new MultipartRequest("你的url", new   RequestListener<String>() {
                      @Override
                      public void onComplete(int stCode, String response, String errMsg) {
                          // UI THREAD
                      }
                  }); 
    
      // 3
      // header  
      multipartRequest.addHeader("header-name", "value");  
    
      // MultipartEntity 
      MultipartEntity multi = multipartRequest.getMultiPartEntity();  
    
      multi.addStringPart("location", "模拟的地理位置");  
      multi.addStringPart("type", "0");  
    
      Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.thumb);  
    
      multi.addBinaryPart("images", bitmapToBytes(bitmap));  
    
      multi.addFilePart("imgfile", new File("storage/emulated/0/test.jpg"));  
    
    // 4
    queue.addRequest(multipartRequest); 

3.Architecture:

  • AndroidViewModel --- (From inloop) : Separating data and state handling from Fragments or Activities without lots of boilerplate-code. [探索一种VM架构,分离view和model层].

App-Demo

resource

article

  • Custom Layouts on Android --- (From Author Lucas Rocha blog http://lucasr.org/) --- [Source in Github]

    If you ever built an Android app, you have definitely used some of the built-in layouts available in the platform—RelativeLayout, LinearLayout, FrameLayout, etc. They are our bread and butter for building Android UIs. The built-in layouts combined provide a powerful toolbox for implementing complex UIs. But there will still be cases where the design of your app will require you to implement custom layouts. There are two main reasons to go custom. First, to make your UI more efficient—by reducing the number of views and/or making faster layout traversals. Second, when you are building UIs that are not naturally possible to implement with stock widgets. In this post, I will demonstrate four different ways of implementing custom layouts and discuss their respective pros and cons: composite view, custom composite view, flat custom view, and async custom views. The code samples are available in my android-layout-samples repo. This app implements the same UI with each technique discussed here and uses Picasso for image loading. The UI is a simplified version of Twitter app’s stream—no interactions, just the layouts. Ok, let’s start with the most common type of custom layout: composite view.

    [Translation:听FackBook工程师讲Custom ViewGroups].

    Chinese Translation Address : Thanks To android-tech-frontier

website

  • http://codekk.com/ --- (Build By Trinea) :A super famous website about Android project Analysis in China[Android blog].

results matching ""

    No results matching ""