Build Status

Deprecated Look into using Kotlin and Android Extras Delegates

Pocket Knife

Intent and Bundle utility library for Android which uses annotation processing to generate boilerplate code for you. This library is based on ButterKnife and Dagger

NOTE

Version 2.0 generated code is not compatible with version 1.0. Any libraries that use Pocket Knife will need to be updated to 2.0.

class ExampleActivity extends Activity {
  @BindExtra
  int id;

  @SaveState
  int listPosition;

  public void onCreate(Bundle savedInstanceState) {
    ...
    PocketKnife.bindExtras(this);
    PocketKnife.restoreInstanceState(this, savedInstanceState);
    ...
  }

  public void onSaveInstanceState(Bundle outState) {
    ...
    PocketKnife.saveInstanceState(this, outState);
    ...
  }
}

For documentation and additional information see the website.

Download

Download the latest JARs core and compiler or grab via Maven:

<dependency>
  <groupId>com.vikingsen</groupId>
  <artifactId>pocketknife-core</artifactId>
  <version>3.2.0</version>
</dependency>
<dependency>
  <groupId>com.vikingsen</groupId>
  <artifactId>pocketknife-compiler</artifactId>
  <version>3.2.0</version>
  <scope>provided</scope>
</dependency>

or Gradle:

compile 'com.vikingsen:pocketknife-core:3.2.0'
provided 'com.vikingsen:pocketknife-compiler:3.2.0'

License

Copyright 2014-2016 Jordan Hansen

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.