LoginSignup
178

More than 5 years have passed since last update.

DroidKaigi 2017 で 紹介された Android開発に役立つ ライブラリ 集 と スライドリンクまとめ

Last updated at Posted at 2017-03-09

DroidKaigi 2017

DroidKaigi 2017 の 各session で 使われた資料 (後で裏に移動) への リンク を まとめてみた。
また、紹介されていたlibraryなどについてまとめてみた。

DroidKaigi 2016のはこちらです。

スライドへのリンク情報が不足していますので、ご存知の方教えてください。

資料

Day 1 (Mar 9th, 2017)

Day 2 (Mar 10th, 2017)

Key technologies

framework

Realm

引用:

Realm’s developer-friendly platform makes it easy to build reactive apps, realtime collaborative features, and offline-first experiences.

とのこと。reactiveのアプリを作るためのplatform. realtimeなnetworkアプリだけでなく、offlineを考慮している。

引用:

Realm Mobile Platform
モバイルアプリでデータ同期を可能にします。リアクティブなアプリをたった10行以下のコードで実現します。Realm Mobile Platformは、Realm Object ServerとRealm Mobile Databaseを統合した製品です。

Realm Mobile Database
品質の良いアプリには良いデータベースが必要です。Realm Mobile Databaseを使うことで、わずかな時間でアプリを開発できます。RealmオブジェクトデータベースはSQLiteやCore Dataをよりシンプルな形に置き換えます。そしてオープンソースです。

ともあり、元音は、databseからはじまって、server側のmodelとのリアルタイム同期と、reactiveな要素を取り入れたもののようです。

React Native

  • A JavaScript library for building user interfaces
  • React makes it painless to create interactive UIs.
  • React will efficiently update and render just the right components when your data changes.

Database

Orma

Ormaは、Android SQLite databaseに対するObject Relation Mapperで、annotationによるcompile時点でのhelper class生成ができます。これは、ActiveAndroidやGreeDAOやRealmにinspireされています。

Orma is an ORM (Object-Relation Mapper) for Android SQLiteDatabase, generating helper classes at compile time with annotation processing, inspired in ActiveAndroid, GreenDAO, and Realm.

Language

Kotlin

Statically typed programming language for the JVM, Android and the browser

Lightweight-Stream-API

Java 7やそれ以前向けに、iteratorsを書き直したStream APIです。

Retrolambda

Java 6, 7やAndroid向けにJavaのラムダをサポートするためのgradle plug-in.

DI : Dependency Injection

RxAndroid

Android specific bindings for RxJava 2.

RxJava2

RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.

RxLifecycle

Lifecycle handling APIs for Android apps using RxJava

Vulture

Vulture is an Android library that let you handle asynchronous callbacks properly within Activity/Fragment's life cycle.

Vulture frees you from the hassle with IllegalStateException when coping with FragmentTransaction#commit() after onSaveInstanceState.

Dagger

AndroidとJava向けの高速dependency injectorです。

Dagger is a fully static, compile-time dependency injection framework for both Java and Android. It is an adaptation of an earlier version created by Square and now maintained by Google.

Dagger aims to address many of the development and performance issues that have plagued reflection-based solutions.

System

Google Play

android-job

An utility library for Android to run jobs delayed in the background. Depending on the Android version either the JobScheduler, GcmNetworkManager or AlarmManager is getting used. You can find out in this blog post or in these slides why you should prefer this library than each separate API. All features from Android Nougat are backward compatible.

JobSchedulerや, GcmNetworkManager, AlarmManagerに対するutility libraryで、backward compatibilityも考慮されている。なんとevernote製。

Evernote独自ですが、BSDライクなライセンスのようです(注:
使う前に自分で確認してください。)

UI

Android icon animator

Constraint layout

flexbox layout

FlexboxLayout is a library project which brings the similar capabilities of CSS Flexible Box Layout Module to Android.

Android developer portal with tools, libraries, and apps

マテリアルデザイン関連のライブラリーなど

font : Calligraphy

Custom fonts in Android an OK way.

Are you fed up of Custom Views to set fonts? Or traversing the ViewTree to find TextViews? Yeah me too.

App Shortcuts

Network

Retrofit/2

  • Retrofit
  • Retrofit2
    • Retrofit1とは異なるAPI体型とのこと
    • Gsonなどのserializer/parserが用意されている模様.

GRADLE
compile 'com.squareup.retrofit2:retrofit:2.2.0'
Retrofit requires at minimum Java 7 or Android 2.3.

Okhttp3

An HTTP+HTTP/2 client for Android and Java applications

  • HTTP/2 support allows all requests to the same host to share a socket.
  • Connection pooling reduces request latency (if HTTP/2 isn’t available).
  • Transparent GZIP shrinks download sizes. Response caching avoids the network completely for repeat requests.

android-async-http

An asynchronous, callback-based Http client for Android built on top of Apache's HttpClient libraries.

注意:apache httpclientはdeprecated.

picasso

A powerful image downloading and caching library for Android

debug

Timber

This is a logger with a small, extensible API which provides utility on top of Android's normal Log class.

Steho

Stetho is a sophisticated debug bridge for Android applications. When enabled, developers have access to the Chrome Developer Tools feature natively part of the Chrome desktop browser. Developers can also choose to enable the optional dumpapp tool which offers a powerful command-line interface to application internals.

chuck

An in-app HTTP inspector for Android OkHttp clients

Android-Debug-Database

Android Debug Database is a powerful library for debugging databases and shared preferences in Android applications.

  • See all the databases.
  • See all the data in the shared preferences used in your application.
  • Run any sql query on the given database to update and delete your data.
  • Directly edit the database values.
  • Directly edit shared preferences.
  • Delete database rows and shared preferences.
  • Search in your data.
  • Sort data.
  • Download database.

testing

espresso

recognition

voice recognition

Others

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
178