News
Groovy 2.4 Released to support Android development
Recently, Guillaume Laforge, the manager of Groovy programming language, announced the news of groovy 2.4 posted on his blog. Not long ago, pivotal announced that it would no longer be funding the Groovy/grails project, and groovy 2.4 would be the last major groovy version of Pivotal's funding. The biggest highlight of groovy 2.4 is Android support, and now developers can write Android apps completely using groovy, and save a lot of boilerplate code compared to Java.
Tutorial
-
Android app performance optimization practice
Went to Shenzhen on the weekend to attend a technology salon hosted by Ali, the theme is "How to build highly available apps", and the related ppt and videos in salon can be found on their Weibo. The big harvest in the salon is about UC's he jie sharing android application performance optimization practices, and the analysis of the Q Web business optimization.
-
Android animation-view Animation
View animation (view Animation), also known as motion Tween (Tween Animation), gives two keyframes, A number of algorithms are used to ramp a given attribute value between two keyframes within a given time. This paper first explains the use of various basic animation, in fact, introduces the work of the view animation process.
-
Using open source project Activityoptionsics to make Activityoptions animations compatible
I've written an article before about Activityoption's API approach (HTTP/ www.cnblogs.com/tianzhijiexian/p/4087917.html), at that time, all kinds of animation is not compatible, completely ignore our 4.x or 2.x users, fortunately, there is an open source library to help us achieve animation.
-
Android:cliptopadding Property Analysis
Use description for Android:cliptopadding property in ListView or GridView explanation of this property: D Efines whether the ViewGroup would clip its drawing surface so as to exclude the padding area. What does that mean? The Cliptopadding property defines whether ViewGroup is allowed to be drawn in padding, which defaults to true, which is not allowed.
JNI/NDK Development Guide
It is believed that many friends who have done Java or Android development often come into contact with the technology of JNI, they have made Android friends, for the security of the application, some complex logic and algorithms will be implemented by local code (c or C + +) and then packaged into so dynamic library files. and provide the Java interface supply layer call, so the purpose is to provide the security of the application, to prevent the anti-compilation after the analysis of the application of the logic of the criminals.
Android NDK development Crash error targeting
In Android development, the program crash in three scenarios: Uncaught exception, ANR (application not responding), and flashback (Ndk throws an error). An uncaught exception in which the stack information printed according to Logcat is easy to locate the error. ANR Error Check, Android rules, when the app interacts with the user, if the user does not respond to the action within 5 seconds, a ANR error is raised, and a system prompt pops up to let the user choose to continue waiting or to close the program immediately.
Getting Started with Android app security testing
The last two years mobile is really very fire, each unit more or less will have so many apps, for our web Security Siege Division, app security needs more or less to understand some. At the beginning of the unit came a little research on the security of the application of small partners, a day free to teach the author a few strokes, to share to everyone. There is an old saying: "工欲善其事, its prerequisite", we have to study the security of the app, not a few tall on the artifact is very troublesome, so this article mainly to share some of the basic knowledge I learned, mainly some mobile testing aids use.
Java multithreaded Programming Mode Practical Guide
The Active object mode is an asynchronous programming pattern. It improves concurrency by decoupling the invocation of the method from the execution of the method. In the sense of task, the core of the Active object pattern is that it allows the submission of a task (equivalent to a call to an asynchronous method) and the execution of the task (equivalent to the actual execution of the Async method).
Code & Open Source Library
Tuentitv
An Android TV app.
Android-circlemenu
Customize the ViewGroup implementation of the circular rotation menu, which supports the following finger rotation and fast rotation.
Volleyplus
Volley's enhanced version, expanded on the basis of volley: Gsonrequest, Gziprequest, Multipartrequest, Simplemultipartrequest, downloadrequest , Imagerequest and other request implementations, as well as the addition of an efficient image caching tool class Simpleimageloder, while supporting multiple types of caches: Network Caching, Resource Caching, File Caching, Video Caching, and content URI Caching.
Verticalseekbar
Vertical Seekbar, supports 2.3~5.0 system.
Chromeoverflowmenu
The imitation implements the overflow menu animation effect of chrome.
Json2view
Json2view is a very simple library that converts a JSON file into Android view, enabling you to dynamically update the view style without having to upgrade the APK.
/kjframeforandroid
Kjframeforandroid, also known as Kjlibrary, is a framework that helps to develop quickly. With Kjframeforandroid, you can easily complete HTTP requests, network picture loading, database data saving, or reading.
Cjframeforandroid
Cjframeforandroid is a framework for Android plug-in development. Using cjframeforandroid,apk dynamic loading is no longer a challenge, and more importantly, decoupling between plug-ins and app projects can be easily implemented.
Android-pluginmgr
Android plug-in development framework, the implementation of APK dynamic loading.
Activityoptionsics
Activityoptions Animations's compatible library supports Android api3.1+.
Dragtoplayout
A control that adds a TopView to the Head menu in the Viewpager header, and the Application Details page for the type Pea pod is implemented.
Inboxlayout
Emulate the pull-back effect of the Google Inbox mailbox and let your app add a truly handy gesture operation. Currently supported at the bottom for the ScrollView top for the ListView and ScrollView case, suitable for most scenarios and is doing the bottom for the ListView case.
Icepick
A library that allows us to save and restore Android instance status via annotations.
Tools
- Android Studio 1.1 Beta 2
Video
React.js Conf Keynote
React is a framework for Facebook's open source to facilitate the development of large webapp.
Android Pattern Unlocking
This course will take you through a custom control to implement a pattern unlock feature, including the use of custom controls, common drawing operations, control event handling, listener usage, and comprehensive case applications.
A variety of App main Interface tab implementation method
The Tab tab has become almost an essential feature of the app, and it's implemented in a variety of ways, and this course will explain the 4 most popular ways to implement tab, including Viewpager, Fragment, Fragmentpageradapter and Viewpagerindicator.
Static detection method for Android app vulnerability
With its flexible and open nature, the Android system is favored by the market, but openness also means that app developers need to be more accountable for security. On the one hand, in the fast-growing field of Android app, there are a lot of novice developers, on the other hand, even experienced developers will inevitably make mistakes, Android application vulnerabilities abound, worthy of our in-depth research. As Android apps become more functional and code logic becomes more complex, vulnerabilities are often hidden in the depths and triggered only after a series of specific conditions have been triggered.
Little Tricks
View the activity currently running in the task stack (@hi head ghost hi)
adb shell dumpsys activity activities | sed -En -e ‘/Running activities/,/Run #0/p‘
Android using Chrome remote Debugging WebView (@hi head ghost hi)
- Enter in Chrome
chrome://inspect/#devices
You need to turn on WebView debug in your code
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { WebView.setWebContentsDebuggingEnabled(true); }
Android Development Technology Weekly ISSUE#18