-
Notifications
You must be signed in to change notification settings - Fork 4
Propoid util
Propoid-util offers convenience working with services and content.
TaskService offers an easy management of asynchronous tasks and notifications to registered listeners:
public class FooService extends TaskService<FooListener> {
protected void resolveTask(Intent intent) {
schedule(new FooTask());
}
private class FooTask extends Task {
protected void onExecute() {
// asynchronously execute task
longRunningExecution();
notifyListeners();
}
protected void onNotify(FooListener listener) {
// notify listener on its handler
listener.onFoo();
}
}
}To let your activity listen to tasks you just have to create a subclass of TaskListener and register it in onStart():
TaskListener listener = new TaskListener() {
public void onFoo() {
}
};
public void onCreate() {
super.onCreate();
listener.register(context, FooService.class);
}Don't forget to deregister the listener in onDestroy():
public void onDestroy() {
listener.deregister()
super.onDestroy();
}Preference allows convenient typed access to a preference:
Preference<Boolean> myBoolean = Preference.getBoolean(context, R.string.my_boolean);
Preference<Integer> myInteger = Preference.getInteger(context, R.string.my_integer);Thanks to the keys being declares in your strings.xml we have a build-time safe identification of preferences:
<string name="my_boolean">my_boolean</string>
<string name="my_integer">my_integer</string>
Most of the time (but not necessarily) you want the user to be able to change the preference:
<CheckBoxPreference
android:key="@string/my_boolean"
android:title="@string/my_boolean_title"
android:summary="@string/my_boolean_summary"
android:defaultValue="true"
/>
<EditTextPreference
android:key="@string/my_integer"
android:title="@string/my_integer_title"
android:summary="@string/my_integer_summary"
android:numeric="integer"
android:defaultValue="10"
/>
Note that in the latter case - an EditTextPreference with numeric input - any entered String will automatically be converted to the requested type when accessed via Preference.