This presents an example application using Custom Tabs, and a possible usage of
both the intent and the background service APIs. It covers UI customization,
callback setup, pre-warming and pre-fetching, and lifecycle management. Here we
assume that Chrome's implementation of Custom Tabs is used. Note that this
feature is in no way specific to Chrome, but slight differences may exist with
|Minimum SDK Level:||Jelly Bean (16 | 4.1.0 - 4.1.1)|
I wanted to experiment creating an MVVM structured project using the official Data Binding library,
so I stripped back an old project of mine and replaced relevant codebase with an MVVM approach. This is still experimental,
so I'd love to hear any suggestion / improvements to the approach!
|Minimum SDK Level:||Jelly Bean (18 | 4.3)|
Welcome to Grafika, a dumping ground for Android graphics & media hacks.
- A collection of hacks exercising graphics features.
- An SDK app, developed for API 18 (Android 4.3). While some of the code may work with older versions of Android, no effort will be made to support them.
- Open source (Apache 2 license), copyright by Google. So you can use the code according to the terms of the license (see "LICENSE").
- A perpetual work-in-progress. It's updated whenever the need arises.
- It's not stable.
- It's not polished or well tested. Expect the UI to be ugly and awkward.
- It's not intended as a demonstration of the proper way to do things. The code may handle edge cases poorly or not at all. Logging is often left enabled at a moderately verbose level.
- It's barely documented.
- It's not part of the Android Open Source Project. We cannot accept contributions to Grafika, even if you have an AOSP CLA on file.
- It's NOT AN OFFICIAL GOOGLE PRODUCT. It's just a bunch of stuff that got thrown together on company time and equipment.
- It's generally just not supported.
Android RuntimePermissions Sample
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
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.
If an application targets an SDK below M, all permissions are granted at runtime and are available
when the application is running. The support library calls handle these checks appropriately.
However, if permissions have been turned off in the system settings
for an application targeting an SDK below M, the API will return empty or no data.
- Android SDK v23
- Android Build Tools v23.0.0
- Android Support Repository
This sample uses the Gradle build system. To build this project, use the
"gradlew build" command or use "Import Project" in Android Studio.
- Google+ Community: https://plus.google.com/communities/105153134372062985968
- Stack Overflow: http://stackoverflow.com/questions/tagged/android
If you've found an error in this sample, please file an issue:
Patches are encouraged, and may be submitted by forking this project and
submitting a pull request through GitHub. Please see CONTRIBUTING.md for more details.
Copyright 2014 The Android Open Source Project, Inc.
Licensed to the Apache Software Foundation (ASF) under one or more contributor
license agreements. See the NOTICE file distributed with this work for
additional information regarding copyright ownership. The ASF licenses this
file to you under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations under
|Minimum SDK Level:||Jelly Bean (16 | 4.1.0 - 4.1.1)|
A simple boilerplate application which demonstrates the downloading, persisting and syncing of data - displayed with a common layout used amongst applications. It features the use of the Design Support library, data caching and the new Test Modules, separating the functional tests from production code.
This is an Android application with camera,picture cropping,collage sticking and tagging.
- Achieve the function of camera.
- Achieve the function of photo cropping.
- Achieve the function of photo filter.
- Can stick collage on photo (collage can be moved,enlarged, and rotated).
- Can tag in pictures(also can be moved).
Save the completed pictures locally, show more custom views and better framework.
(Translation powered by Amy)
Flux 架构 被Facebook使用来构建他们的客户端web应用。跟Clean Architecture一样，它不是为移动应用设计的，但是它的特性和简单可以让我们很好的在安卓项目中采用。
Finding a good architecture for Android applications is not easy. Google seems to not care much about it, so there is no official recommendation on patterns beyond Activities lifecycle management.
But defining an architecture for your application is important. Like it or not, every application is going to have an architecture. So you'd better be the one defining it than let it just emerge.
- Ramotion / folding-cell-android 25
- android-cjj / Android-MaterialRefreshLayout 21
- IsseiAoki / SimpleCropView 19
- saiwu-bigkoo / Android-AlertView 15
- toddway / MaterialTransitions 14
- roughike / BottomBar 13
- TakeoffAndroid / AppIntroAnimation 12
- SkillCollege / SimplifyReader 12
- misakuo / 3dTagCloudAndroid 12
- AAkira / ExpandableLayout 11