Related Projects

android-RuntimePermissions

  •    Java

This sample shows runtime permissions available in Android M and above. It shows how to check and request permissions at runtime, handle backwards compatibility using the support library and how to declare optional permissions for M-devices only. Android M introduced runtime permissions. Applications targeting M and above need to request their permissions at runtime. All permissions still need to be declared in the AndroidManifest. However, when accessing APIs that require a permission, the Activity or Fragment has to verify that the permission has been granted or request the missing permissions using calls through the support library. Permissions are checked through ActivityCompat#checkSelfPermission(Context, String) or ContextCompat#checkSelfPermission(Context, String). Permission are requested through ActivityCompat#requestPermissions(Activity, String[], int), and the response received in a callback to ActivityCompat.OnRequestPermissionsResultCallback#onRequestPermissionsResult(int, String[], int[]). Applications can provide an additional rational for the use of permissions after calling ActivityCompat#shouldShowRequestPermissionRationale(Activity,String). This call will return true if the application should provide the user with more context on why the requested permissions is needed, for example if the permission request has been denied before.

Grant - Simplifying Android Permissions

  •    Java

The Android permissions model has changed in Android Marshmallow. Now you can't count on all the permissions you've declared in your AndroidManifest file being granted at run-time. The user has control over granting these permissions to your app and can revoke them at any time, even while your app is running! Because of this, you need to check if you have permission to run certain code before executing it. The new Android permissions API is fairly simple to understand, but it can introduce unnecessary complexity into the flow of your application. Let's use the the WRITE_EXTERNAL_STORAGE permission as an example of this unnecessary complexity. You want to write a String to a file on the external storage of the device.

SimpleText - A simple spannable string helper

  •    Java

This libary aims to simplify the creation of spannable string.

cache2k – High Performance Java Caching

  •    Java

cache2k focuses on providing a well engineered in-memory object cache implementation for Java applications.

react-native-snackbar - :bento: Material Design "Snackbar" component for Android and iOS.

  •    Objective-C

Material Design "Snackbar" component for Android and iOS. Snackbars are used for displaying a brief message to the user, along with an optional action. They animate up from the bottom of the screen and then disappear shortly afterward.


react-toast-notifications - 🍞 A toast notification system for react

  •    Javascript

A configurable, composable, toast notification system for react. Wrap your app in the ToastProvider, which provides context for the Toast descendants.

libfastcommon - c common functions library extracted from my open source project FastDFS

  •    C

c common functions library extracted from my open source project FastDFS. this library is very simple and stable. functions including: string, logger, chain, hash, socket, ini file reader, base64 encode / decode, url encode / decode, fast timer, skiplist, object pool etc. detail info please see the c header files.

android-lifecycle - A diagram of the Android Activity / Fragment lifecycle

  •    

After struggling with trying to figure out how various pieces fit together, I've done some research and put together the complete Android Activity/Fragment lifecycle chart. This has two parallel lifecycles (activities and fragments) which are organized vertically by time. Lifecycle stages will occur in the vertical order in which they're displayed, across activities and fragments. In this way, you can see how your fragments interact with your activities. If you see any discrepancies or errors in this diagram, please submit a pull request or contact steve@staticfree.info.

learnrxjava - A set of exercises to designed to teach developers Rx (Reactive Streams)

  •    Java

A sequential program runs on a flat timeline. Each task is only started after the previous one completes. In concurrent programs, multiple tasks may be running during the same time period and a new task may begin at any time. In threaded programs, introducing concurrency trades space for time. Allocating memory for more threads allows application servers to make network requests concurrently instead of sequentially. Threaded network requests can dramatically reduce server response times, but like all trade-offs this approach has its limits. Unchecked thread creation can cause a server to run out of memory or to spend too much time to context switching. Thread pools can help manage these problems, but under heavy load the number of threads in an application server’s pool will eventually be exhausted. When this happens network requests will be serialized, causing response times to rise. At this point the only way to bring down response times again is to scale up more servers, which increases costs.

Redisson - Redis based In-Memory Data Grid for Java

  •    Java

Redisson - distributed Java objects and services (Set, Multimap, SortedSet, Map, List, Queue, BlockingQueue, Deque, BlockingDeque, Semaphore, Lock, AtomicLong, Map Reduce, Publish / Subscribe, Bloom filter, Spring Cache, Executor service, Tomcat Session Manager, Scheduler service, JCache API) on top of Redis server. Rich Redis client.

Flashbar - ⚡️A highly customizable, powerful and easy-to-use alerting library for Android.

  •    Kotlin

A highly customizable, powerful and easy-to-use alerting library for Android. This library allows you to show messages or alerts in your app quickly and easily. It can be used as an alternative to Snackbar or Toast and offers a plethora of useful features and customization options for you to play with.

Volley-demo - An demonstration of Volley - HTTP library announced by google in I/O 2013

  •    Java

An demonstration of Volley - HTTP library announced by google in I/O 2013. Android has provided two HTTP Clients AndroidHttpClient (Extended from apache HTTPClient) and HttpUrlConnection to make a HTTP Request. Both has its own pros and cons. When an application is developed, we write HTTP connection classes which handles all the HTTP requests, creating THREADS to run in background, managing THREAD pool, response parsing, response caching, handling error codes, SSL connections, running requests in parallel and others stuffs around that. Every developer has his own way of implementing these functionalities.Some might use AsycnTask for running network operations in background, or some might use passing handlers created from UI thread to HTTP connection classes which then executes network operation in worker thread and uses the handler to pass back the parsed HTTP response back to the main thread.

AndroidNavigation - A library managing navigation, nested Fragment, StatusBar, Toolbar for Android

  •    Java

A library managing nested Fragment, translucent StatusBar and Toolbar for Android. You could use it as a single Activity Architecture Component.

RxLifecycle - Bind observables to the lifecycle of Activity or Fragment in a non-invasive way.

  •    Java

This library will actually unsubscribe the sequence (See here). It means that the downstream observer will not receive onComplete(), onError()... anymore when the unsubscription occurs. This library doesn't require you to inherit any activity or fragment. It will insert a non-gui fragment to your activity or fragment to listen the lifecycle events.

CompositeAndroid - Composition over inheritance for Android components like Activity or Fragment

  •    Java

Allows to add functionality into an Android Activity. Just because we all have a BaseActivity in our projects containing too much unused stuff. When it grows, it get unmaintainable. Given you have an Activity showing a list of tweets (TweetStreamActivity) and you want add view tracking.

go-cache - An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications

  •    Go

go-cache is an in-memory key:value store/cache similar to memcached that is suitable for applications running on a single machine. Its major advantage is that, being essentially a thread-safe map[string]interface{} with expiration times, it doesn't need to serialize or transmit its contents over the network. Any object can be stored, for a given duration or forever, and the cache can be safely used by multiple goroutines.

PreLoader - Pre-load data for android Activity/Fragment/View (android页面启动速度优化利器:在页面打开之前就预加载数据)

  •    Java

Pre-load data for android Activity/Fragment/View (android页面启动速度优化利器:在页面打开之前就预加载数据)

AboutLibraries - AboutLibraries is a library to offer some information of libraries.

  •    Java

The AboutLibraries library allows you to easily create an used open source libraries fragment/activity within your app. As an extra feature you can also add an about this app section. Most modern apps feature a "Used Library"-section, which requires information about those respective libs. As it gets annoying to always copy those strings to your app, I've developed this small helper library to provide the required information.

ThirtyInch - a MVP library for Android favoring a stateful Presenter

  •    Java

This library adds Presenters to Activities and Fragments. It favors the stateful Presenter pattern, where the Presenter survives configuration changes and dumb View pattern, where the View only sends user events and receives information from the Presenter but never actively asks for data. This makes testing very easy because no logic lives in the View (Activity, Fragment) except for fancy animations which anyways aren't testable. The perfect distance to the Android Framework is approximately thirty inches, the average length of the human arm, shoulder to fingertips.