MCPcopy Index your code
hub / github.com/JoanZapata/android-asyncservice

github.com/JoanZapata/android-asyncservice @0.0.5

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.0.5 ↗ · + Follow
126 symbols 278 edges 29 files 34 documented · 27%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Logo

Motivation

AsyncService is born from an article I wrote a few weeks ago, which gave me a lot of feedbacks and interesting comments. AsyncService manages threading and caching transparently in your Android app. It's an alternative to AsyncTasks, Loaders, or more advanced libs like RxJava, Robospice, Groundy,… but AsyncService focuses on keeping your code short and simple! Its name means keep it simple, stupid, an old design principle invented in the 60s.

Sample

Write your asynchronous service...

@AsyncService
public class DemoService {

    public User getUser(String name) {
        // Runs asynchronously.
        return …;
    }

}

... then use it.

… {
    service.getUser("joan");
}

@OnMessage void onUser(User e) {
    // Runs on UI thread.
}

Where to find it

AsyncService is hosted on Maven Central, just add this line to your gradle dependencies:

compile('com.joanzapata.android.asyncservice:android-asyncservice:0.0.2@aar') { transitive = true }

{ transitive = true } is required at the time of the writing because the android-plugin doesn't look for AAR transitive dependencies by default.

Learn more

License

Copyright 2014 Joan Zapata

Licensed 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

    http://www.apache.org/licenses/LICENSE-2.0

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 the License.

Build Status

Extension points exported contracts — how you extend this code

ErrorMapper (Interface)
Implement this interface and supply your implementation to a @AsyncService annotation to use the built in error manageme [2 …
android-asyncservice-api/src/main/java/com/joanzapata/android/asyncservice/api/ErrorMapper.java
EnhancedService (Interface)
(no doc)
android-asyncservice-api/src/main/java/com/joanzapata/android/asyncservice/api/EnhancedService.java

Core symbols most depended-on inside this repo

error
called by 18
android-asyncservice-processors/src/main/java/com/joanzapata/android/asyncservice/processors/utils/Logger.java
equals
called by 17
android-asyncservice-processors/src/main/java/com/joanzapata/android/asyncservice/processors/utils/Utils.java
getAnnotationValue
called by 15
android-asyncservice-processors/src/main/java/com/joanzapata/android/asyncservice/processors/utils/Utils.java
getAnnotation
called by 11
android-asyncservice-processors/src/main/java/com/joanzapata/android/asyncservice/processors/utils/Utils.java
get
called by 10
android-asyncservice/src/main/java/com/joanzapata/android/asyncservice/api/internal/AsyncServiceCache.java
contains
called by 9
android-asyncservice/src/main/java/com/joanzapata/android/asyncservice/api/internal/AsyncServiceCache.java
remove
called by 7
android-asyncservice/src/main/java/com/joanzapata/android/asyncservice/api/internal/AsyncServiceCache.java
isReady
called by 6
android-asyncservice/src/main/java/com/joanzapata/android/asyncservice/api/internal/AsyncServiceCache.java

Shape

Method 104
Class 18
Enum 2
Interface 2

Languages

Java100%

Modules by API surface

android-asyncservice-processors/src/main/java/com/joanzapata/android/asyncservice/processors/utils/Utils.java28 symbols
android-asyncservice-processors/src/main/java/com/joanzapata/android/asyncservice/processors/AsyncServiceAP.java13 symbols
android-asyncservice-api/src/main/java/com/joanzapata/android/asyncservice/api/internal/BackgroundExecutor.java12 symbols
android-asyncservice/src/main/java/com/joanzapata/android/asyncservice/api/internal/AsyncServiceCache.java11 symbols
android-asyncservice-api/src/main/java/com/joanzapata/android/asyncservice/api/Message.java9 symbols
android-asyncservice-demo/src/main/java/com/joanzapata/android/asyncservice/demo/DemoService.java7 symbols
android-asyncservice-api/src/main/java/com/joanzapata/android/asyncservice/api/EnhancedService.java7 symbols
android-asyncservice-demo/src/main/java/com/joanzapata/android/asyncservice/demo/MainActivity.java6 symbols
android-asyncservice-api/src/main/java/com/joanzapata/android/asyncservice/api/internal/AsyncService.java6 symbols
android-asyncservice-demo/src/main/java/com/joanzapata/android/asyncservice/demo/event/UserEvent.java5 symbols
android-asyncservice-api/src/main/java/com/joanzapata/android/asyncservice/api/internal/Injector.java5 symbols
android-asyncservice-processors/src/main/java/com/joanzapata/android/asyncservice/processors/utils/Logger.java4 symbols

For agents

$ claude mcp add android-asyncservice \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page