カテゴリーアーカイブ Android

takahashi 著者:takahashi

丸亀製麵のアプリがリニューアル。クーポンがバーコードを読み込ませる仕組みに変更。

手作りのもちもちのうどんや出来立ての天ぷらが楽しめて、しかも安い。丸亀製麵は機会があるときは良く足を運ぶお気に入りのチェーン店です。

そんな丸亀製麵ですが少し前からスマホアプリを使ったクーポン配信などが始まり、よりお得に利用できるようになりました。
そんな丸亀アプリですが、最近リニューアルされたようで、

クーポンについているバーコードをレジで読み込ませる形式に変更されたようです。
いつも店員さんが忙しそうにしている中、恐らく画面を見てレジに割引を打ち込んでいたような感じだったので、これで少し負担が軽減されるといいですね。

他にもスタンプシステムが導入など、使いたくなるような工夫が追加されました。

ちなみに2月7~9の期間限定で夜6時から、鴨ねぎうどんが半額で頼めるようです。

半額カモン! 夜なきうどん – 丸亀製麵

めっちゃ食べに行きたい…

丸亀製麵公式アプリ – 丸亀製麵

  • この記事いいね! (0)
takahashi 著者:takahashi

ストーリーとグラフィックの”オープンソース化”を目指す異色のスマホゲーム”LayereD Stories 0″が面白い!

最近、ふとしたことで知ったゲームがあります。

ゲームのタイトルは「LayereD Stories 0」
舞台は2037年の日本。ARシステム「LayereD」が発展したことで、”イメージできることはすべて実現可能”となった世界です。
この世界では、ARをつかってどんなことも表現可能になった一方で、社会で一定数の人が”不快”を提示したコンテンツやユーザーのアカウントは一方的に削除されてしまいます。そんな中で登場人物たちがそれぞれの葛藤や信念を持ちながら、この仕組みと対峙していくようなストーリーです。

ソーシャルゲームでありながらそんな現実社会の”表現の自由”への考え方に一石を投じるようなストーリーの深さに、とても面白さを感じました。

他にもキャラクターデザインはさることながら、ゲームと本格的なCGアニメの両方をコンテンツとして公開していたりとストーリー抜きにしても力の入れ具合が半端ない印象のタイトルですが、個人的に一番注目したいのは”3Dモデルやストーリーのオープンソース化”が計画されているという点です。

バンナム、UGCを活用して新規IPを創出・育成する新プロジェクト「Project LayereD」始動! – Sotial Game Info

■創出したIPをオープンソース化! UGCを活用してIP育成
「Project LayereD」では、本IPの世界観、キャラクター設定、3Dモデルや2D画像を個人であれば誰でも自由に使える設定・素材として公開、無償提供します。お客様は簡単なライセンス表記のみで二次創作が可能で、個人利用のみならず商用利用も行っていただける予定です。IPの創出のみならず、IP育成においても積極的に二次創作を促し、お客様と一緒に「Project LayereD」を活性化していきたいと考えています。

いままでオープンソースの世界でも、創作界隈でも、”創作物のオープン化”という試みはあまり行われていない印象があります。
ましてや企業の制作物で”オープン化”される作品とは、きわめて希少ではないでしょうか。

プログラムで何か作ろうとしたとき、自分で1からすべてをフルスクラッチで書くのは、非常に大変な作業です。
しかし、オープンソースソフトウェアなどで、あらかじめベースとなるものがあれば、独自の部分だけに力を注げばよくなるので、よりいいものが作りやすくなります。

ゲームにしても物語にしても同じだと思います。1から作るというのは恐ろしい程の労力が必要です。
得意な人や、それを生業としている人は別としても、自力で一から構築していくのは簡単ではないはずです。

でも、作る際に何かベースがあれは、作りたいものをぐっと作りやすくなると思います。
この作品の世界のように、才能や技術にかかわらず、誰でも創作に参加できるような流れづくりに、こちらのゲームが一役買ってくれるのではないのかな、と感じました。

今後の展開に注目していきたいと思います。

レイヤードストーリーズ ゼロ

  • この記事いいね! (0)
村上 著者:村上

【Cordova】Androidアプリで「resource android:attr/colorError not found.」というエラーが発生したときの対処法

先日、Cordovaアプリを開発中、Android Studio を 2から3にアップグレードした際に発生したエラーの対処法についての記事を投稿しましたが、その第2弾です。
前回のエラー解消後にも、まだ違うエラーが発生しましたので、今回はそちらのエラーについて。
少なくとも私の環境では、前回と今回の2か所を直せば、問題なくビルドできるようになりました。

 

今回発生したエラーはこちら。

error: resource android:attr/colorError not found.

エラー文そのままですが、リソースファイル内の記述の「android:attr/colorError」というのが見つからない、というエラーですね。

こちらの対処法ですが、こちらも前回のエラーと同様に、build.gradle ファイルを修正します。
Android Studio でbuild.gradle ファイルを開き、compileSdkVersionbuildToolsVersion を指定している記述を探します。
そして、それぞれを下記に変更します。

compileSdkVersion 26
buildToolsVersion "26.0.2"

gradleファイルを変更すると、黄色い帯と Sync Now という文字が表示されるので、「Sync Now」をクリック。
以上で修正は完了です。
問題なくビルドと実行ができるようになりました。

 

ちなみに、一つ目のエラーについての記事はこちらから。

【Cordova】Android Stodio 3.0で「Unable to resolve dependency for ‘:@debug/compileClasspath’: Could not resolve project :CordovaLib.」というエラーが出たときの対処法
https://wp.me/p9rRLL-fT

同じエラーでお悩みの方は是非ご参考にしてください。

  • この記事いいね! (1)
村上 著者:村上

【Android】Facebookログインで使うアプリのリリースキーハッシュを取得する方法

こういう設定周りは凄く苦手で、特にFacebookはとことん手こずるので、備忘録としてまとめ。

今開発中のアプリで、Facebookログインを導入しているのですが、こちらの機能の動作確認中に、「Invalid key hash.」というエラーが発生したので、その対処法について。
そもそもこちらのエラーは、「Facebook for Developers」のアプリ設定ページで、エラーメッセージに表示されているキーハッシュが登録されていないために発生するので、キーハッシュを発行して登録すれば解消できます。
…が、これが結構面倒くさい。
コマンドは Facebook の公式ページに掲載されているのですが、肝心な自分の

 

キーハッシュ発行方法は以下の手順で行います。
なお、作業はWindowsのコマンドプロンプト上で行いました。

まず、発行のためのコマンドはこちら。

keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64

が、そもそも keytoolコマンドが動かないので、下記のcd コマンドでカレントディレクトリを変更します。

cd C:\Program File\Java\jre1.8.0_151\bin

各自の環境によってパスは変更して頂く必要がありますが、私の環境では下記の場所に移動したところ、無事 keytoolコマンドが動作しました。

そして、さっきの keytoolコマンドに戻るのですが…このコマンドの RELEASE_KEY_ALIASRELEASE_KEY_PATH がわからない!
上記のコマンドが掲載されていたFacobookのページにも、その他検索にヒットしたサイトにも、どこから自分の RELEASE_KEY_ALIAS と RELEASE_KEY_PATH を調べるのかは明記されておらず…結構調べました。

で、結論として、まず RELEASE_KEY_ALIASAndroid Studio で確認できました。
Android Studio のメニューバーにある Build > Generate Signed APK… をクリックします。
すると、下記のようなウィンドウが表示されるかと思います。

このウィンドウの中央辺りに「Key alias:」という欄がありますが、これが RELEASE_KEY_ALIAS です。
また、この時設定したパスワードも、キーハッシュ発行時に使うので覚えておきましょう。

次に、RELEASE_KEY_PATH ですが、こちらは、アプリのリリース用APKを生成するときに使用する ○○○.jks ファイルのパスを指定するとのこと。

この3点が分かったので、改めて keytool コマンドを実行します。
実行すると、「キーストアのパスワードを入力してください:」というメッセージが表示されるので、Android Studio で設定したパスワードを入力します。
すると、最後が「=」で終わる、28文字のキーハッシュが表示されるので、こちらをFacebook for Developer のマイアプリページで設定・保存すれば作業は完了です!

それでもうまくいかない場合は、一度Facebookのアプリ設定の「Facebookでログイン」から、該当のアプリを削除してみると、ログインに成功しました。

 

以上、Facebookログイン時に使用するリリースキーハッシュの取得方法でした。
こういう設定周りが苦手な方は、是非参考にしてみてください。

  • この記事いいね! (0)
村上 著者:村上

【Cordova】Android Stodio 3.0で「Unable to resolve dependency for ‘:@debug/compileClasspath’: Could not resolve project :CordovaLib.」というエラーが出たときの対処法

今回はCordova(コルドバ)というハイブリッドアプリ開発の時に発生したエラーの対処法について。
「ハイブリッドアプリ」については、下記のサイトが分かりやすくて、参考になりました。

ハイブリッドアプリとは? – Qiita
https://qiita.com/soarflat/items/cf5d343c75baadb461dc

 

他のアプリ確認する際に、Android Studioのバージョンを 2から3に上げなければいけなかったのですが、アップデートしたら、Cordovaのアプリがビルドで失敗するようになってしまいました…。
で、対処法がないか調べてみたとこと、案外あっさり見つかって拍子抜けしました。

対処法は、Android StudioでCordovaのアプリを開き、build.gradle ファイルを開きます。
で、下記2行の記述があると思うので、こちらを削除もしくはコメントアウトします。

// 削除するコード
debugCompile(project(path: "CordovaLib", configuration: "debug"))
releaseCompile(project(path: "CordovaLib", configuration: "release"))

で、代わりに下の一行を追加するだけ。

// 追加するコード
compile project(':CordovaLib')

build.gradleを編集すると、黄色い帯と Sync Now の文字が表示されると思いますので、そのまま Sync Now をクリックします。
以上で作業は終了です。
私の環境では問題なくビルドから実機での起動まで正常に動作しました。

 

もし、同じようにAndroid Studioのバージョンを上げてCordovaで開発しているアプリが動かなくなった場合は、是非こちらの方法を試してみてください。

  • この記事いいね! (2)
村上 著者:村上

【気になるニュース】Android版のGoogleマップに乗り過ごし防止機能が追加!

気になるニュースを見つけたのでご紹介。
私はAndroidのスマホを愛用しているのですが、12月14日にGoogleがAndroid版のGoogleマップに乗り過ごし防止の機能を追加したとのことです。

ニュースの記事はこちらから。

Android版「Googleマップ」に乗り過ごし防止機能
http://www.itmedia.co.jp/mobile/articles/1712/18/news060.html

私は実家に帰省する際に、バスと電車を利用するのですが、特に電車は乗車時間が約1時間ほどと、そこそこ移動時間がかかります。
そのため、座れた時などは良く文庫本を読んでいるのですが、心配性なので、毎回駅に留まるたびに顔を上げて現在地点を確認して、と…これが少し面倒くさい。
夢中になると周りの音が聞こえなくなるタチなので、逆にあまり集中しすぎずに済むので良いのですが、せめて30分くらいは集中して読みたいところ。

 

その点、今回追加された機能を使えば、こまめに現在地を確認する必要もなくなって便利そう。

使い方は簡単で、まずGoogleマップで目的地を設定し、交通手段を選択。

複数のルートが表示される場合は、任意のルートを選択し、最後に右下の「開始」ボタンをタップします。

こうしておくと、目的の駅に着く数十秒前プッシュ通知が送信されてくるとのこと。
設定をすれば、端末の振動もするそうなので、もしも本に夢中になったとしてもきちんと気づいて下車できそうですね。

ずっとナビを起動しておくので、バッテリー消費が激しそうですが、一度試してみたいですね。
特に、一度眠りかけて乗り過ごしそうになったバスで使ってみたいです。

  • この記事いいね! (0)
村上 著者:村上

【Android】setVisibilityを使ってボタンを表示・非表示にする方法

ちょっとボタンの表示・非表示を使うことがあったのでメモとして。

なお、今回ボタンはこのように定義しています。

// ボタンの定義
Button btn;
btn= (Button) findViewById(R.id.button);


で、ボタンを非表示にする場合、setVisibility() メソッドを利用します。

// ボタンを非表示にする
btn.setVisibility(View.INVISIBLE);
btn.setVisibility(View.GONE);

引数は、View.INVISIBLEView.GONE のどちらかを指定します。

 

そして今回迷ったのが、こちらの引数でどちらを使うのか、です。
どちらも非表示には変わりないのですが、微妙に挙動が違います。

まず、View.INVISIBLE
こちらは、単に見えなくなるだけで、ボタンの領域は確保されたままです。
CSSでいうところの、visibility:hidden の挙動と同じですね。

次に、View.GONE
こちらは、ボタンの領域を確保せず、非表示にしたボタンのエリアを詰めて表示します。
View.INVISIBLEが「隠す」というイメージに対して、View.GONE は「削除」というイメージですね。
CSSでは、display:none の挙動に近いです。

ちなみに、今回は View.INVISIBLE を使いました。

 

なお、ボタンを表示する場合はこちら。

// ボタンを表示する
btn.setVisibility(View.VISIBLE);

引数に View.VISIBLE を指定します。

 

こういう違いって、いざ使おうとするとどちらがどちらの挙動だったかをすぐ忘れてしまいます。
もしくは、引数をどう指定するかとかも忘れやすいので、今回、備忘録としてまとめてみました。
結構よく使うメソッドなので、少しでも参考になれば。

  • この記事いいね! (0)
著者:aoki

弊社ではDeepLearningを用いた画像認識アプリの開発を進めています

現在弊社ではDeepLearningを用いた画像認識のアプリ開発を行っています。

今開発しているアプリは花を認識するサービスで「Floen」という名前でリリースを予定しております。


こちらはアプリのスクリーンショットです。
枠の中に花を入れて撮影することでサーバ側で何の花なのかを画像認識して結果を返します。
画像認識自体はTensorFlowとAlexNetを利用しておりいわゆる畳み込みニューラルネットワーク(CNN)ですね。

ただ課題はまだ学習が足りず認識精度が高くないという所でどれだけ効率よく学習させるかですね。
アプリを通して撮影された写真も学習データとなりますのでリリースできましたら是非皆様に使っていただきたいです。
アプリ自体はリリース準備を進めており現在審査待ちですのでもうしばらくお待ちください。

  • この記事いいね! (0)