-
Observable cache policies with Shelf
Mobile apps often depend on network data that needs to be stored locally, restructured, and periodically refreshed. You’ll find plenty of implementation options for http calls, serialization, disk storage, encryption, etc. You’ll also find plenty of changing requirements that make you want to replace the choices you made a month ago.
- Wouldn’t it be nice to minimize the dependencies your application code has on these persistence details?
- Wouldn’t it be extra nice to defer complex and highly optimized implementations you may never need?
-
3 ways to reach Android users beyond your app
If you have an app in the Google Play store and are looking for better ways to connect with users, there are some powerful Android utilities you should know about. Users don’t need to have your app open or even installed to reap the benefits. Here are 3 tools for reaching Android users beyond your app.
-
Android Material Transitions
This Android project samples some Material Design-ish transitions for list items and floating action buttons. It uses the the shared element concept introduced in Android 5.0. I tried to pull it off with pure fragment transitions and ran into a few stags (see below) so my current solution uses an activity transition for each step.
-
Mocking backend features in an Android app
Many of the apps we build rely on backend web services. During development these systems are often still in flux. Test environments go on and offline. Web services change. Data from the servier is inconsistent or incomplete. This article outlines a few techniques to mock external network dependencies so development and user testing can keep moving.
Dev settings
Android’s Setting/Preference API is a handy way for developers and testers to configure mock features directly in your app.
-
Automatically boot and unlock an Android emulator
For all you DRY-conscious developers out there who want to eliminate some repetitive manual steps when testing against an Android emulator, here’s a simple bash script. It boots the emulator if it’s not already running, waits for the full boot, and then unlocks the lock screen. It’s pretty handy automated tests against an emulator with something like Calabash.
#!/bin/bash # init variables DEVICE_ID="@nexus5" EMULATOR_CHECK_STATUS="adb shell getprop init.svc.bootanim" EMULATOR_IS_BOOTED="stopped" # see if emulator needs to be booted OUT=$($EMULATOR_CHECK_STATUS) if [[ ${OUT:0:7} == $EMULATOR_IS_BOOTED ]] then # do nothing if already booted echo "Emulator already booted." else # Start the emulator in the background emulator $DEVICE_ID & # for Android SDK emulator # /Applications/Genymotion.app/Contents/MacOS/player --vm-name "$DEVICE_ID" & # for genymotion emulator # wait for full emulator boot OUT=$($EMULATOR_CHECK_STATUS) while [[ ${OUT:0:7} != $EMULATOR_IS_BOOTED ]]; do OUT=$($EMULATOR_CHECK_STATUS) echo "Waiting for emulator to fully boot..." sleep 3 done echo "Emulator booted!" adb shell input keyevent 82 # unlock lock screen fi
-
Browse some of the best Android library demos with DevAppsDirect
DevAppsDirect is a great tool for Android designers and developers. Install it on any Android device and get quick access to demo UI patterns, custom views, widgets, game engines, and other libraries.
Link -
Easy local stack management with Vagrant
I’m using Vagrant to hand-off complete copies of my local development environment to other members of my team. This is a great way to lower setup time, isolate dependencies and eliminate inconsistencies. Frontend developers are able to work against a full local environment without wasting time on backend configuration. The following describes how Vagrant can make this possible without any additional provisioning tools. Those tools are powerful and offer even more efficiencies, but we’re leaving them out in the interest of simplicity.
-
A clean, lightweight, pure JS alternative for anchoring file fields to Drupal WYSIWYGs
jquery.modalize.js is a lightweight, pure-javascript approach to automatically turn part of any web page into a modal overlay.
I originally wrote it as a simple alternative for associating file upload fields to WYSIWYGs in Drupal, but can be used to modalize any chunk of HTML and significantly clean up overloaded pages (Drupal or non-Drupal).
-
Single Page Interface with Drupal
We recently built a community app in Drupal. It has:
- a fully abstracted (no Drupal), single page (no reloads) frontend
- a web service enabled Drupal backend
- an integrated Drupal overlay for edit and admin pages
Here’s how we did it:
-
Feed Enlarger (Full Text RSS Feed Generator)
Regain control of your feeds and get the full text of every article, blog post and story.
- fast
- free
- full text of truncated feeds
- works with your reader
- can strop out links from original feed