Quickstart
Lahiru Sahan Jayasinghe edited this page Jun 13, 2013
·
13 revisions
Leverage features by extending `IckleActivity`.
public class TokensActivity extends IckleActivity {
}
Manage activity configuration.
@Fullscreen
@Layout(R.layout.act_tokens)
public class TokensActivity extends IckleActivity {
}
Inject views and resources.
@Fullscreen
@Layout(R.layout.act_tokens)
public class TokensActivity extends IckleActivity {
@InjectView(R.id.token)
private TextView token;
@InjectInteger(R.integer.public_token)
private Integer publicToken;
@Override
protected void onResume() {
super.onResume();
token.setText(publicToken.toString());
}
}
...or let IckleBot figure it out.
@InjectAll
@Fullscreen
@Layout(R.layout.act_tokens)
public class TokensActivity extends IckleActivity {
private TextView token;
private Integer public_token;
@Override
protected void onResume() {
super.onResume();
token.setText(public_token.toString());
}
}
Notice that the variable names now assume the id.
Preserve instance state.
@InjectAll
@Fullscreen
@Layout(R.layout.act_tokens)
public class TokensActivity extends IckleActivity {
private TextView token;
@Stateful
private Double randomId = Math.random();
@Override
protected void onResume() {
super.onResume();
token.setText(randomId.toString());
}
}
Bind an event listener.
@Layout(R.layout.act_messenger)
@Title(R.string.ttl_act_messenger)
public class MessengerActivity extends IckleActivity {
@InjectView(R.id.btn_send)
private Button btnSend;
...
@Click(R.id.btn_send)
protected void submit(Button button) {
button.setText("Sending...");
...
}
}
Run a background task.
@Layout(R.layout.act_news)
@Title(R.string.ttl_act_news)
public class NewsActivity extends IckleActivity {
private static final int ASYNC_SYNC_NEWS = 0;
...
@Override
protected void onResume() {
super.onResume();
runAsyncTask(ASYNC_SYNC_NEWS);
}
@Async(ASYNC_SYNC_NEWS)
private void refreshNews() {
....
}
}
Bind models to views.
@Layout(R.layout.act_home)
@Title(R.string.ttl_act_home)
public class HomeActivity extends IckleActivity {
@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
User user = accountService.getCurrentUser(getBaseContext());
bindManager.bind(profileSection, user);
}
...
}
Detect changes in network state.
@Layout(R.layout.act_mail)
@Title(R.string.ttl_act_mail)
public class MailActivity extends IckleActivity {
@Override
protected void onNetworkConnected() {
inbox.refresh();
}
}