Skip to content

honeyflyfish/pocketknife

 
 

Repository files navigation

Build Status

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.0.0</version>
</dependency>
<dependency>
  <groupId>com.vikingsen</groupId>
  <artifactId>pocketknife-compiler</artifactId>
  <version>3.0.0</version>
  <scope>provided</scope>
</dependency>

or Gradle:

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

License

Copyright 2015 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.

Packages

No packages published

Languages

  • Java 77.9%
  • CSS 9.6%
  • JavaScript 6.1%
  • HTML 6.0%
  • Shell 0.4%