ArticleTranslateProject 是由AWCNTT
维护的Android技术文章翻译项目,负责翻译AndroidWeekly.net
发布的每一期Weekly中的所有Android技术文章、开源库介绍等等。
AWCNTT是AndroidWeekly中国社区(http://androidweekly.cn/)的翻译小组。
由于我们的翻译水平有限,难免存在错误或者翻译不准确的地方,欢迎批评指正。
期待更多Android开发爱好者加入我们。
请先阅读项目WIKI。
-
- Which are the top platforms, tools, rev models?
- This is how Google kills your app
- Palette in Action
- Advocating Fragment Oriented Applications
- Getting Your Apps Ready for Nexus 6 and Nexus 9
- Material Design Everywhere
- WebView unbundled from from Android
- Is your application too big?
- NumberProgressBar
- First look at AnimatedVectorDrawable
- Building Applications for Android TV
- Slides on Test Automation
- Hosting Android Dependencies on GitHub
-
- Developing a driver assistance system
- Code coverage reports using Robolectric and Android
- Selecting Items of a RecyclerView using StateListDrawables
- Programmatically Coloring Drawables
- Walk then talk
- SimpleNoSQL For Android Released
- SimpleSectionedRecyclerViewAdapter
- Developing for Android Wear with Emulators
- Getting Groovy With Reactive Android
-
- Use TextureView to Display Video With Custom Controls
- Neatly Composing REST Calls Using Retrofit and RxJava
- A First Glance at Android's RecyclerView
- Why I Use Crashlytics - Part 2
- Streaming the Droid
- Locally release an Android Library for JCenter or Maven Central
- [Android L Tutorials (Part 3)] - RecyclerView and CardView
- Ripples – Part 3
- How to store the Credentials securely in Android
- simple library publishing with Gradle
-
- Aspect Oriented Programming in Android
- Remote code execution on Android devices
- Build Variations using Gradle and Resource Folders
- Android Wear: Installation + Setup
- Android Wear: Hello World
- Android Face Cropper
- Floating Action Buttons in Android L
- Creating a Media App for AndroidTV
- Ripples – Part 2
-
- Creating a Media App for AndroidTV
- Gradle Tutorial : Part 1 : Installation + Setup
- Gradle Tutorial : Part 2 : Java Projects
- Gradle Tutorial : Part 3 : Multiple Java Projects
- How templates can save your time?
- A Beginners Guide to Android Wear
- Loosely coupled In-app communication in Android
- Ripples – Part 1
- Everybody Tests: Why is the Android Monkey so Naughty?
- AOSP Part 3: Developing Efficiently
- Google I/O 2014 App Source Code Now Available
-
- KNOX Contribution to Android: Accelerating Android in the Workplace
- Simple Ripple + Reveal + Elevation tutorial
- How templates can save your time?
- Floating Action Button
- Android AutoCompleteTextView With Suggestions From a Web Service
- Irregular Shapes – Part 4
- Migrating to the new project structure
- Why we love parcable
- []Developing Watchfaces for Android Wear
-
- Irregular Shapes – Part 3
- Creating GIF from video screen captures of your Android device
- Android Gradle App with Robolectric JUnit tests
- Simple server-client syncing for mobile apps using Couchbase Mobile
- View inflation vs visibility:"GONE": a battle fought with DDMS
- Porting Android Wear Developer Preview Code
-
- Update on Android Wear Paid Apps
- Unit tests with Mockito
- Introduction to Android Wear Development Tutorial
- Tutorial : Cast your Android Wear Screen To All
- Irregular Shapes – Part 2
- Sky’s the limit? No, 65K methods is
- Android L: Action Bar simplification and Toolbar
- Change log for support-v4 library v20.0.0
- A Closer Look at Android RunTime (ART) in Android L
- Google I/O Device Lab
- Effects of Android Application Termination
- 5 L APIs for the 'Add to Schedule' tested
-
- Palette preview
- Play Services 5.0 Is A Monolith Abomination
- A look at the Palette class
- Google Play Services 5.0
- Blender : Boosting Guice with annotation processing
- The CommonsBlog — And Now, Your 'L' API Change WTFs
- OpenGL 4.4 and beyond on Android
- RecyclerView in Android: The basics - Antonio Leiva
- Document-centric recents in Android L
- How to Implement Swipe Navigation in Android
- Protip: Easier login testing If you're working on an…
- Using Retrofit and RxJava to interact with web services on Android
- Irregular Shapes – Part 1
-
- Android Tips Round-Up
- Android Bluetooth Support: Overview
- Bright, but not bright enough
- Top 5 Android libraries every Android developer should know about
- Effects of Android Application Termination
- NXP Releases Free Android Dev Kit for MiFare & NTAG
- Groovy on Android
- Wait for it...a deep dive into Espresso's Idling Resources
- Dagger: dependency injection on Android (Part 2)
- Theming ActionBar and the SearchView within it
- Android Version Distribution
- App UI / UX – Part 4
-
- 如何测试Android的Parcelable接口 - @whosea
- App UI / UX – Part 3
- Hands on Retrofit(A Rest Api Client)
- Adding attributes to a custom view(
- 在Android上创建卡片式UI - @aaronplay
- AOSP Part 2: Build variants
- Dependency injection on Android: Dagger (Part 1)
- Debugging During Robolectric Test Execution In Android Studio
- Extracting Form Models in Android
- Groovy on Android
-
- GPlayServices 1:保存到Google Drive - @whosea
- Learn from the biggest fails in the Play store
- Defining Custom Pre and Post-Processing Tasks in Gradle
- How to develop an Android Weather app using Weatherlib
- How Dropbox Uses C++ for Cross-Platform iOS and Android Development
- Ford Sync AppLink Android Demo - Playing Online Audio
-
- Android用自定义Shapes实现阴影效果 - @whosea
- AOSP Part 1: Get the code using the Manifest and Repo tool
- Simulate a slow network connection when testing on mobile devices
- Android 小贴士: 使用Renderscript方法来模糊图片效率高 - @whosea
- Navigation Drawer Done Right
- App UI / UX – Part 1
- Custom Animations with Fragments - @inferjay
- Lazy Android Developers - Be Productive
-
- Android’s Font Renderer
- Publishing with Gradle
- Play Store Compatibility Across Various Versions
- Integration between action bar overlays & side drawer
- Chris Lacy Shares His Thoughts On Android
- Stacking Notifications For Android Wear
- Bluetooth LE – Part 6
- Top 7 Tips for RxJava on Android
- Using Custom Compound Views in Android
- Working with Google Analytics API v4 for Android
-
- git Parallax background effect for the ViewPager
- Using GreenDao with Android Studio
- Best resources for Android development
- Parallax Pager
- Two Secure Coding Tools for Analyzing Android Apps
- Bluetooth LE – Part 5
- Android App Polishing: Reducing User Frustration with Animations
- Custom Layouts on Android
-
- Bluetooth LE – Part 1
- Handling bundles in activities and fragments
- Wait for It…a Deep Dive in Espresso's Idling Resources
- Generating preloaded sqlite data
- Integrating an Android Github repo with Travis CI
- Better VideoView loading indicator
- Handling bundles in activities and fragments
- Protip: Syntax highlighting everyw
-
- Best practices for consuming APIs on Android
- Androids Overblown Fragmentation Problem Revisited
- Android library projects tutorial
- SwipeRefreshLayout FTW
- Blurring Images - Part 7
- How to convert your project to Gradle **
- Measuring Text
- Fixing The Android Camera API
- Protip: Improving Gradle build performance
- Slides: How to setup unit testing in Android Studio
- Android App Polishing: Customizing Soft Keyboard Action Button
-
- Protip: SQLite debugging
- Google Play services 4.3
- On the Edge of the Sandbox: External Storage Permissions
- Creating custom notification cards with the Android Wear Developer Preview
- Best Practices with SharedPreferences
- Concurrent Database Access
- 6 part series on blurring images
- Single SQLite connection
- Align a TextView around an image
- Android Wear with Genymotion
- Getting Started Wtih the Android Wear Developer Preview
-
- How Android transitions work
- Localize Your Promotional Graphics on Google Play
- Storing A Pojo Into Shared Preferences
- Protip: Inflating layout for your custom view
- Advanced blurring techniques
- GlassGif - Notes for a live coding session using the GDK
- WebView Explorations
- The Ultimate Android Camera Development Guide
-
- Protip: A smoother app launch experience
- Nested Fragments and the Backstack - Part 3
- MATCH_PARENT vs FILL_PARENT: The dos and don'ts
- Make Your First Android App: Part 1/3
- Keeping Google Cloud Messaging For Android Working Reliably
- Fast, Effective, Double-Checked Locking in Android and Java Apps
- New sample code, including Play Store-style tabs
- Mastering ProGuard for Building Lightweight Android Code
-
- Be a lazy but a productive android dev - Part 1-RoboGuice
- Nested Fragment and the BackStack - Part 2
- Around Me Tutorial
- Monads: Your App as a Function, Part 2
- The power of TextView (Part 1): Drawables
- TextClock Version 2 – Part 6
- Spans, a Powerful Concept
- Google Updates Android Version Distribution Numbers
- Upstream Messages With Google Cloud Messaging (Part 1)
-
- Android Recipe #4, path tracing
- A journey on the Android Main Thread
- Smart Watch – Part 3
- TextClock Version 2 – Part 1
- Using the new Gradle-based Android build system
- A Recipe for writing responsive REST clients on Android
- ProTip: Troubleshooting app bugs related to scheduled tasks
- RxJava and Android: working with subjects
-
- High Performance / Low Latency Audio on Android
- Reliable API testing for Android with Retrofit and Mockito
- Protip: WebView in a scrolling view (link Email app)
- AT of the ART runtime
- Mirror API and GDK - Developing for Google Glass #1
- Migrating from ActionBarSherlock to ActionBarCompat
- Android Out of Memory Error: Causes, Solution and Best practices
- Restricted Profiles Settings
- Smart Watch – Part 2
-
- I Can Animate and So Can You
- How To Decode ProGuard’s Code From Stack Trace
- Transition Animations – Part 2
- Making Your ActionBar Not Boring
- Setting Up Android CheckStyle in Android Studio
- Easy Testing with Android Studio
- Expand Your Brand With Translucent System UI
- Installing Google Glass in an Android Phone
- Set The Scene With The New Transitions Framework
-
- The State of Android Emulators
- Android at Devoxx
- Storage Access Framework
- Cleaner View Casting with Generics
- Getting around with Google Maps Android API v2
- Making That Google Plus Profile Screen
- Implementing #hashtags in android application
- Transition Animation – Part 1
- How to use icon-fonts in Android
-
- Storage access framework — Document Providers
- Each Navigation Drawer Hides a ViewDragHelper
- ActionBarCompat – Part5
- Linkin to In-App Content
- Use Genymotion with Jenkins for Android testing
- Fragments: Creating a Tabbed Android User Interface
- A mobile design anecdote on perceived latency and touch feedback
- Protip: Be mindful of your touch zones!
-
- ActionBarCompat – Part 4
- Android Animations Tutorial 7: The secret of fillBefore, fillAfter and fillEnabled
- Making your App Content more Accessible from Google
- Solving the Android image loading problem: Volley vs. Picasso
- Testing Your Android GCM Broadcast Receiver without GCM Messages
- Watch That Baseline Alignment
- GridView with Auto Resized Images on Android
- Making That Google Plus Profile Screen
- Android 4.4 & rendering pipeline improvements
-
- New Developer Features in Google Play Games
- Using the new Gradle-based Android build system: an example
- Android for the Busy Developer
- Gradle tips
- Slides: Practical Security from the Ground Up
- Android developer interview: Jörg Winterstein
- Using the Hardware Scaler for Performance and Efficiency
- Android Development Resources
-
- Generating Android apklibs with Gradle
- OpenGL ES Tutorials
- The making of Icepick: The Good, The Bad and The Ugly
- Android Custom Loader to Load Data Directly from SQLite Database for Android Donut (Version 1.6) and Later
- Life Before Loaders (part 1)
- The emulator is dead, long live the emulator!
- Android Shutdown Sequence
- ViewOverlay explained
- Suggestion For The Organizing Of Android Resources
-
- Detect Global Touch Event
- Android app to the Challenge
- Prime Guide: Lessons learnt - Android App Development
- Adapters – Part 1
- Adapters – Part 2
- ResultReceiver - Receive results from a service
- Building clean RPN part one – Toggling the device and built in keypad
- Hijacking airplanes with an Android phone
- 2014/05/15 inferjay有了翻译文章的想法并注册
androidweekly.cn
的域名。 - 2014/05/19 与whosea交流做翻译
androidweekly.net
每期weekly文章的想法并得到whosea
的积极相应。 - 2014/05/26 经过与
Androidweekly.net
主站维护者几天的邮件沟通确定了合作关系,并成立翻译小组AWCNTT
。 - 2014/07/23 jackuhan 加入翻译小组。
- 2014/07/26 lsjwzh 加入翻译小组。
- 2014/07/31 lushan1314 加入翻译小组。
- 2014/09/10 teze 加入翻译小组。
原创译文欢迎自由转载-非商用-非衍生-保持署名 | Creative Commons BY-NC-ND 3.0