新しいアプリ「RING」を公開しました

アプリの概要
サークルに承認したメンバー同士、お互いの位置を共有できるアプリです。

機能
位置情報を送信することができます
位置を送りたいユーザに、自分の位置情報を送信できます
位置情報を要求することができます
現在地を知りたいユーザに、位置情報を要求することができます
場所に近づいた・または離れた場合に通知を受け取ることができます
特定のエリアを登録することで、その場所に近づいた、または離れたことを通知で知ることができます

アプリ内課金
初回アカウントを作成した際は2週間ほどの無料期間が付いてきます。
その期間終了後は月額のアプリ内サブスクリプションを購入する必要があります

その他
サークル内に承認機能をつけているので、知らない相手から位置情報を要求されることなどはありません

Google Play
icon    Screenshot_2015-03-25-14-37-53

Floating Action Bar with Progressを更新しました

処理が終了した際に、ProgressRingが満タンになり、チェックマークなどの別のDrawableに変更できるようにしました

 

https://github.com/katsuki-nakatani/FabProgress

FabProgress(AndroidのカスタムView)をGithubで公開しました

GIF_20141228_204743

こういうやつです。

 

FloatingActionButtonの周りにRing表示をしてProgress状態を表示してくれます。

https://github.com/katsuki-nakatani/FabProgress

 

Quick電話帳がAndroidWearAppとして承認されました

朝起きたらメール来てました。

 

This is a notification that your app, Quick Contact, with package name com.miruker.qcontact, is accepted as an Android Wear app on Google Play.

Your application complies with our guidelines for creating apps for Android Wear. Please refer to the following developer page for details: Wear App Quality – Developer Guidelines

The Google Play Team

 

アプリケーションがガイドラインに準拠しているので承認したよ!ってことだそうです。

DeveloperConsole側でも更新されていました。

スクリーンショット 2014-12-18 7.34.55

さてこれどうなるんでしょうか。

 

GDG京都さんでLTしてきました

AndroidでGeoFencingを利用するときの話です。

 

AndroidでGeoFenceを使って見る from 克紀 中谷

Google PlayでWearAppを内包しているかどうかを指定できるようになったようです

Google Play Developer ConsoleよりリリースしているアプリがWearAppを内包しているかどうかを指定できるようになったようです。(WEARのカテゴリに表示される?)

アプリを配信しますにチェックを入れて保存するだけですが、どうやら審査があるようです。

WearApp審査

 

また審査の結果が返って来てNGなら対応しようと思っています。

AndroidWearで円形デバイスだけViewが表示されない

Android Wear Appを作る際にレイアウトを円形と四角でレイアウトを変えたい場合があります。
Android Studioでウィザード形式でActivityを作成すると、下記のファイルができるはずです。

今回はactivity_actionという名前で作成しました

すると3ファイル作成されますよね。

activity_action.xml

 <?xml version="1.0" encoding="utf-8"?>
<android.support.wearable.view.WatchViewStub
 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" android:id="@+id/watch_view_stub"
android:layout_width="match_parent" android:layout_height="match_parent"
app:rectLayout="@layout/rect_activity_action" app:roundLayout="@layout/round_activity_action"
tools:context="com.miruker.qcontact.ActionActivity"
tools:deviceIds="wear"></android.support.wearable.view.WatchViewStub>
rect_activity_action.xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
 android:layout_height="match_parent" android:orientation="vertical"
 tools:context="com.miruker.qcontact.ActionActivity" tools:deviceIds="wear_square">

 <android.support.wearable.view.GridViewPager
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:paddingBottom="@dimen/indicatorSize"
 android:visibility="visible"
 android:id="@+id/gridViewPager" />

 <LinearLayout
 android:id="@+id/page_dots_container"
 android:orientation="horizontal"
 android:layout_gravity="bottom|center_horizontal"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"/>

</FrameLayout>
 

round_activity_action.xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
 android:layout_height="match_parent" tools:context="com.miruker.qcontact.ActionActivity"
 tools:deviceIds="wear_round">

 <android.support.wearable.view.GridViewPager
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:visibility="visible"
 android:paddingBottom="40dp"
 android:id="@+id/gridViewPager" />

 <LinearLayout
 android:id="@+id/page_dots_container"
 android:orientation="horizontal"
 android:layout_gravity="bottom|center_horizontal"
 android:layout_marginBottom="28dp"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"/>
</FrameLayout>
でJavaファイルがこちら (一部割愛)

ActionActivity.java
@Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_action);

 //前の画面からデータをもらっています
 mActionType = getIntent().getIntExtra(Global.PARAM.ACTION_TYPE, -1);
 List<String> values = getIntent().getStringArrayListExtra(Global.PARAM.VALUE_LIST);
 List<String> labels = getIntent().getStringArrayListExtra(Global.PARAM.LABEL_LIST);

//リストデータの構築
 for (int i = 0; i < values.size(); i++) {
 mItems.add(new WearContactItem(0, 0, mActionType, labels.get(i), values.get(i), ""));
 }
 mListView = ButterKnife.findById(this,R.id.gridViewPager);
 mIndicator = ButterKnife.findById(this,R.id.page_dots_container);
 mListView.setOnPageChangeListener(new GridViewPager.OnPageChangeListener() {
 @Override
 public void onPageScrolled(int i, int i2, float v, float v2, int i3, int i4) {

 }

 @Override
 public void onPageSelected(int row, int column) {
 setIndicator(column);
 }

 @Override
 public void onPageScrollStateChanged(int i) {

 }
 });

 //GridViewPagerにアダプターをセット
 ActionListAdapter adapter = new ActionListAdapter(getFragmentManager(), mItems, ActionActivity.this, mActionType);
 mListView.setAdapter(adapter);

 //インジケータViewを作成
 mIndicator.removeAllViews();
 for (int i = 0; i < adapter.getColumnCount(0); i++) {
 ImageView v = new ImageView(getApplicationContext());
 v.setImageResource(R.drawable.black_circle);
 mIndicatorList.add(v);
 mIndicator.addView(v);
 }
 インジケータの初期値
 setIndicator(0);

 mGoogleApiClient = new GoogleApiClient
 .Builder(this)
 .addConnectionCallbacks(this)
 .addApi(Wearable.API)
 .build();

 }
まぁちょっと色々端折っているのですが、単純に画面中央にはGridViewPagerがあります。

その下にはインジケータ用にLinearLayout(Horizontal)のViewがあるような感じですね。

GridViewPagerはFragmntを返すようになっています。

期待する動作としてはそのようなもんで、私の所持している G watchでも正常に表示されていましたがどうやら円形デバイスで表示されないという不具合報告を受けました。

その際に表示されている画面はインジケータは表示されているがそれ以外は何も表示されていない。

要はGridViewPagerのFragmentが表示されていないということなんですね。

StackOverFlowにありました。

 

http://stackoverflow.com/questions/25808229/fragment-in-round-wear-watch-turning-black-in-emulator-watch

英語があんまり読めないので大体の解釈なのですが、RoundDeviceだとInflateする際の動きがSquareと少し違うようで、GridViewPagerで内部で管理しているタグが整合性が合わなくなるみたいなのです。

結局シンプルな解決策として、Stubを使わないようにしました。

セールのお知らせ – Quick電話帳

Quick電話帳のAndroid Wearライセンスが現在セールで半額です!

もしよろしければおためしください〜

Quick電話帳Ver13.0を公開しました

グループ内に存在する電話帳の件数を表示できるオプションを追加しました
Android Wearでデフォルト電話番号へアクセスしやすくしました
Android Wearのアイコンサイズを調整しました
50音順で「ろ」が検索に引っかからない不具合を修正しました
その他レイアウトの調整を行いました

Quick電話帳Ver12.1公開しました

デザイン面での細かな調整を行いました。

1 / 4212345...102030...最後 »