Parcelled - Android Library
Intro
A fast annotation processor that auto-generates the Parcelable methods without writing them.
Getting Started
For information on how to get started Parcelled, take a look at our Getting Started guide.
Submitting Bugs or Feature Requests
Bugs or feature requests should be submitted at our GitHub Issues section.
How does it work?
1. Depend on our library
Parcelled for Android is available through Google's Maven Repository. To use it:
- Open the
build.gradle
file for your application. - Make sure that the
repositories
section includes Google's Maven Repositorygoogle()
. For example:
allprojects {
repositories {
google()
jcenter()
}
}
- Add the library to the
dependencies
section:
dependencies {
// ...
// parcelled version
def parcelled_version = "1.0.0"
// Java Project
implementation("com.zeoflow:parcelled-runtime:$parcelled_version")
annotationProcessor("com.zeoflow:parcelled-compiler:$parcelled_version")
// Kotlin Project
implementation("com.zeoflow:parcelled-runtime:$parcelled_version")
kapt("com.zeoflow:parcelled-compiler:$parcelled_version")
// ...
}
2. Usage
2.1 Import
import com.zeoflow.parcelled.Default;
import com.zeoflow.parcelled.Parcelled;
import com.zeoflow.parcelled.ParcelledAdapter;
import com.zeoflow.parcelled.ParcelledVersion;
2.2 Class Declaration
@Parcelled(version = 1)
public abstract class CustomBean implements Parcelable {
@Nullable
@Default(code = "null")
public String firstName;
@ParcelledVersion(after = 1, before = 2)
@Nullable
public String lastName;
@ParcelledAdapter(DateTypeAdapter.class)
@ParcelledVersion(before = 1)
@Default(code = "new Date()")
public Date birthday;
public static CustomBean create(
@NonNull String firstName,
@NonNull String lastName,
@NonNull Date birthday
) {
return new Parcelled_Person(firstName, lastName, birthday);
}
}
License
Copyright 2020 ZeoFlow
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.