Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mcharmas/android-parcelable-intellij-plugin
IntelliJ Plugin for Android Parcelable boilerplate code generation.
https://github.com/mcharmas/android-parcelable-intellij-plugin
Last synced: 26 days ago
JSON representation
IntelliJ Plugin for Android Parcelable boilerplate code generation.
- Host: GitHub
- URL: https://github.com/mcharmas/android-parcelable-intellij-plugin
- Owner: mcharmas
- License: apache-2.0
- Created: 2013-01-31T12:54:18.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2021-02-15T13:02:08.000Z (over 3 years ago)
- Last Synced: 2024-10-01T14:04:56.275Z (about 1 month ago)
- Language: Java
- Size: 675 KB
- Stars: 2,139
- Watchers: 79
- Forks: 215
- Open Issues: 25
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.txt
Awesome Lists containing this project
- awesome-android-tools - Android Parcelable code generator - IntelliJ Plugin for Android Parcelable boilerplate code generation. (Intellij Plugin)
- awesome-android-tips - android-parcelable-intellij-plugin
README
# IntelliJ/Android Studio Plugin for Android Parcelable boilerplate code generation
This tool generates an Android [Parcelable](https://developer.android.com/reference/android/os/Parcelable.html) implementation based on fields in the class.
## Installation
Plugin is uploaded to plugin repository.
If you like, you can install it manually:0. Download `ParcelableGenerator` [release](https://github.com/mcharmas/android-parcelable-intellij-plugin/releases/tag/v0.7.0)
0. Open IntelliJ/Android Studio
0. *Preferences* -> *Plugins* -> *Install plugin from disk...*.
0. Choose the downloaded jar file## Usage
Just press **ALT + Insert** (or your equivalent keybinding for code generation) in your editor and select **Parcelable**. It allows you to select the fields to be parceled.
![Screenshot](screenshot.png)
## Supported parcelable types
* Types implementing Parcelable
* Custom support (avoids `Serializable`/`Parcelable` implementation) for: `Date`, `Bundle`
* Types implementing Serializable
* List of `Parcelable` objects
* Enumerations
* Primitive types: `long`, `short`, `int`, `float`, `double`, `boolean`, `byte`, `String`
* Primitive type wrappers (written with `Parcel.writeValue(Object)`): `Short`, `Integer`, `Long`, `Float`, `Double`, `Boolean`, `Byte`
* Primitive type arrays: `boolean[]`, `byte[]`, `char[]`, `double[]`, `float[]`, `int[]`, `long[]`
* List type of any object (**Warning: validation is not performed**)
* Map support — **Note: this implementation always assumes `HashMap` is desired**
* SparseArray support## TODO
* Validation of List arguments
* Display warning about not serialized fields
* Active Objects support (Binders and stuff)
## Contributors* [Michał Charmas](https://github.com/mcharmas/)
* [Dallas Gutauckis](http://github.com/dallasgutauckis)## License
```
Copyright (C) 2015 Michał Charmas (http://blog.charmas.pl)
Copyright (C) 2015 Dallas Gutauckis (http://dallasgutauckis.com)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 athttp://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.
```