Androidアプリ 「インコアンインストーラー」をリリースしました
個人でAndroidアプリをリリースするのはすごく久しぶりです。
先日Androidアプリ 「インコアンインストーラー」をリリースしました。
インコアンインストーラー - Google Play の Android アプリ
ただのアンインストーラーアプリじゃありませんYO!
インコなんです。
画像じゃ伝わりにくいんですが、さり気なくインコが仕込まれています。
設定画面から「インコを鳴かせる」機能をONにすると、かわいいいんこの声で鳴くんですよ(*´艸`*)
ソートや
お気に入り機能や
アンインストール履歴機能や
文字サイズや画面のテーマカラーも変えられるんですよ。
カラーはコントラストが強すぎないようにして、目の疲れを考慮しています。
インコが大好きで開発の都合上よくアンインストーラーアプリを使用する私得アプリですけど
なかなか使いごごちが良いので、よろしければダウンロードして下さいね。
インコアンインストーラー - Google Play の Android アプリ
開発をしていく上では、気になっていたけどまだ手を出せていなかったAPIやライブラリを使用することができて、とても勉強になりました。
DBのORマッパーはgreenDAOを使いました。
ActiveAndroidとは違って、DAOオブジェクトのソースを生成してくれる感じです。
一旦導入してしまえば後は楽なのですが、導入が大変でした。
Android Studioに導入しましたが、まだ不慣れなこともありなかなかうまく行かなくて丸一日は余裕でかかったような。
UIは最近Googleがプッシュしているマテリアルデザインを実装してみんとして、
AppCompat v21 を導入してみました。
Introduction - Material design - Google design guidelines
それにより、
android.app.ActionBarActivity→android.support.v7.app.ActionBarActivity
android.widget.SearchView→ android.support.v7.widget.SearchView
に変更しないと上手く行かなかったり、地味に悩んだりしました。
トップのタイトルバーはActionBarに代えてToolbarを使っています。
ToolBarの中にView要素を配置するので、ViewGroupのようなカスタマイズしやすさがあります。
インコアンインストーラーでは、Navigation Drawer+ToolBarを使っていますので、以下の様なxmlの定義になりました。
SearchViewを直接入れ子にしているのがわかると思います。
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/white"> <!-- The main content view --> <LinearLayout android:id="@+id/content_frame" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".TopActivity"> <!-- Toolbar instead of ActionBar --> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="?attr/colorPrimary" android:minHeight="?attr/actionBarSize"> <android.support.v7.widget.SearchView android:id="@+id/action_search" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right" /> </android.support.v7.widget.Toolbar> </LinearLayout> <!-- The navigation drawer --> <ExpandableListView android:id="@+id/left_drawer" android:layout_width="240dp" android:layout_height="match_parent" android:layout_gravity="start" android:background="@color/nav_background" android:choiceMode="singleChoice" android:divider="@android:color/transparent" android:groupIndicator="@android:color/transparent" /> </android.support.v4.widget.DrawerLayout>