カテゴリーアーカイブ Android

takahashi 著者:takahashi

Android 9 Pie が遂にリリース! 早速触ってみた!

今年の5月に開催されたGoogleI/Oなどで発表されていたAndroid P。 その正式版であるAndroid 9 Pieがついに正式リリースされました!

Android 9正式リリース、愛称は「Pie(パイ)」に – Gigazine

今回はかなりいろいろな仕様変更があるということで、GoogleI/O発表時からずっと気になっていました。
Google公式のエミュレーターでは既にAndroid 9が利用可能になっていたので、早速試してみました!
(※自分が持っている端末はAndroid 6なので、 一部Android 6 ユーザー目線で見ていきます。)

早速起動してみると真っ先に表示されたのがGoogleのロゴ。

NexusやPixelシリーズのみ(本当の意味でのAndrioid標準の表示ではない)かもしれませんが、Google謹製な感じが出てていいですね。

Boot後の起動中の表示もシンプルかつお洒落に。

こちらがホーム画面。
検索バーが画面底に移動しました。

エミュレーターでは何故かナビゲーションボタンが旧来のものになってしまっています。
一番体験したかった点なのでちょっと残念です。

サイドボタンを押したときの表示は、画面トップからボタンに近い右端へと移動しました。


電源ボタン長押しメニュー


音量ボタンメニュー


マナーモード切替のボタンが分離され、タップしてモード切替できることが視覚的に分かりやすくなりました。


マルチタスク画面は横並びに変更されました。
下側に表示されているアプリ一覧は、AIによっておススメのアプリが表示されるようです。

ホーム画面を下から上に引き上げるようにスワイプすると


ドロワー(アプリ一覧)が出現します。


設定画面。
画面上部には”App Actions”の機能と思われるアプリ設定の紹介が表示されています。

Google、「Android P」のシステムナビゲーションなど新機能を紹介 – ITMediaNews


端末情報


Androidバージョンはちゃんと9になっています。

バージョン情報をタップしまくると出てくる、Android毎バージョン恒例のイースターエッグ。


目が回りそうwww

タップするごとに色が変わります。

更に長押しすると…


なんとお絵かきアプリが起動!
タッチパネルを使って”お絵かき”を楽しむことができますw

電話アプリ


ダイアルパッドは特に変更はなさそうです。


通話画面


通話履歴画面。
以前のAndroidと違い、タップしてもすぐに発信されることはなくなっていました。

シャットダウン


こちらもかなりシンプルな表示になりました。

全体的に見て、いろいろなところでかなり改良されている印象を受けました。
UIやUXの部分も結構変わっていてとても面白いです。

早く実機でも動作を確認したいですね。

ちなみに、今回使用したGoogle公式エミュレーターですが、最近では一部機種イメージにおいてGoogle Playストアがプリインストールされているものが出ています。
今回使用したマシンイメージもGoogle Playストアインストール済みイメージとなっていて、より実際の実機に近い形で動作を確認することができます。

アプリ開発者にとっては、現在公開中の製品版アプリをPlayストアから直接インストールしてAndroid 9 上での動作を確認することができます。
これはとても楽でいいですね…!

エミュレーターであればPC一台あれば試すことができるので、Android 9 に興味を持った方は是非一度触れてみてはいかがでしょうか?

Android 9 Pie – Google

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

【Cordova】AndroidのSDKバージョン数の記述場所まとめ

AndroidアプリをCordovaで開発中なのですが、Android StudioでSDKバージョンを記述している箇所が多く、ちょっと苦労したのでまとめ。
現在、Androidアプリのリリースを行う際、アプリのSDKのバージョンを26以上にするようにとの変更があったのですが、このバージョンが何故か上げられず…。
原因は、複数あるSDKバージョンを記述している箇所の一か所を更新し忘れていたことが原因だったのですが、そもそもその記述箇所多くない?と。
ということで、ほぼ自分の備忘録のために、SDKバージョンを記述している箇所をまとめてみました。

 

まず、Android Studioのメニューバーの「File」から「Project Structure」を選択します。

すると、下のようなウィンドウが表示されるので、サイドバーのメニューの Modules グループから、それぞれのSDKのバージョンを確認します。

なお、ここで指定しているバージョンについては、build.gradle からも確認できます。

で、あとは忘れがちな AndroidManifest.xml
ちなみに、私はここの記述を見逃していました。
このファイルの中に、「uses-sdk」というタグがあり、そこでSDKのバージョンを指定しています。
なので、こちらの値を build.gradle でも指定しているSDKのバージョンと揃えます。

作業としては、以上で完了です。

 

以上、Corodvaで開発中のAndroidアプリのSDKバージョンを確認する方法でした。

ちなみにAndroidアプリをリリースする際のSDKバージョンですが、2018年の8月(つまり今月)に新しいアプリを公開する場合、アプリのターゲットAPIレベルは26(Android 8.0)以降が必須になります。
そして、2018年11月には、既に公開済みの既存のアプリのアップデートで、ターゲットAPI レベルは26以降が必須になります。
なお、この変更はアップデートを行っていない既存のアプリには影響しないとのこと。

上記について、参考にさせていただいた記事はこちらから確認できます。

Google Developers Japan: 今後の Google Play でのアプリのセキュリティおよびパフォーマンスの改善について
https://developers-jp.googleblog.com/2017/12/improving-app-security-and-performance.html

こちらはアプリを公開する際に、条件を満たしていない場合は警告として表示されるので、もし警告が表示されてしまった場合は修正するようにしましょう。

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

HTV31のバッテリー交換

以前購入しておいたバッテリーを交換してみました。基本的には両面テープや、粘着剤でくっついているのですが、4か所ねじ止めがあるので注意が必要でした。あとは、順番に取り外していけば30分くらいで完了。あっけなかったですけどね。

しばらく充電放電を繰り返して様子見てみますが、交換後のバッテリーがいまいち外れを引いた予感がします。

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

【未解決】「WARNING: The option ‘android.enableAapt2’ is deprecated and should not be used anymore.」警告の対処法

Android Studioでの未解決の警告です。
ビルド時はタイトルにある警告だけなのですが、実行しようとすると、別のエラーが発生して実行できません。

エラー全文はこちら。

The option ‘android.enableAapt2’ is deprecated and should not be used anymore.
Use ‘android.enableAapt2=true’ to remove this warning.
It will be removed at the end of 2018..

Google翻訳によると、「オプション ‘android.enableAapt2’は推奨されておらず、もう使用しないでください。この警告を削除するには、 ‘android.enableAapt2 = true’を使用してください。それは2018年の終わりに削除されます..」とのことです。

で、警告だからと無視して実行しようとすると、下記のエラーが。

Failed to execute aapt(aaptを実行できませんでした)

調べてみたところ、こちらの解決策としては、gradle.properties というファイルに下記のような記述があるので、その値を true に変更すると解決されるとありました。

android.enableAapt2 = false

が、私の環境では解決できず…。
まだ調べている最中ではありますが、なかなか根が深そうです。

ちなみに、参考にさせていただいた投稿はこちらから。

android – FAILURE: Build failed with exception – Stack Overflow
https://stackoverflow.com/questions/48841742/failure-build-failed-with-exception

 

さらっと調べただけなので、解決策はまだつかめていません。
別に急ぎの内容ではないので、時間があるときにでも再度調べてみようかと思います。

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

画面タッチ無効化について

アプリを操作中にあるダイアログが出ているときに画面を操作できてしまうと

ダイアログが閉じてしまい進捗が分からなくなるので、アプリのユーザーを不安にさせてしまいます。

 

ダイアログ表示中に画面タッチを無効化したいときは

 

下記のメソッド を使います。

 

  imageDownloadDialog.setCanceledOnTouchOutside(false);
 

アプリのダウンロード中やデータの保存中はプログレスバーを用いて進行具合を表しますが

この処理中に画面を触ってバーが消えてしまうと、ダウンロードが何%進んでいるか分からなくなってしまい

ユーザーの視覚的にも印象が良くないので、処理をしているコードの中にこのメソッドを突っ込んで画面タッチを無効化しましょう。

 

自分は良く使っているアプリのレビューを見ていますが、起動時の挙動に対してはシビアな評価がかなり多いです。

 

アプリを開発する側の立場として、入りから好印象を持たせてユーザーに長く使ってもらえるようなアプリを目標に

これからも細かいtipsを見つけて載せていきたいと思います。

 

 

 

 

 

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

【Cordova】アプリアイコンにバッヂを追加するプラグイン「cordova-plugin-badge」

今回はCordovaのプラグインのご紹介。
お客様からのご要望で、LINEやFacebookのように、アプリのアイコン右上に赤丸や数字で通知数を表示させたいとのことでした。

現在試しているプラグインは「cordova-plugin-badge」というものです。
GitHubのページは下記から。

GitHub – katzer/cordova-plugin-badge: Access and modify badge numbers
https://github.com/katzer/cordova-plugin-badge

 

プラグインの導入方法ですが、まず下記のコマンドでプラグインを追加します。

cordova plugin add cordova-plugin-badge

なお、もしエラーが発生した場合は、下記のコマンドをお試しください。

cordova plugin add https://github.com/katzer/cordova-plugin-badge.git

上記のコマンドで、プラグインの追加まではできたので、今度はソースに下記のようにコードを追加します。

document.addEventListener('deviceready', function () {
    cordova.plugins.notification.badge.set(10);
}, false);

なお、セットしている数値が、バッヂに表示される値になります。

…が、何故か、私の環境では Android、iOS共にバッヂが表示されず…!
現在原因を調査中です。
…アプリを開いた時にリセットされているとかかな?

 

ということで、アプリアイコンにバッヂを表示するためのプラグイン「cordova-plugin-badge」でした。
まだ動いてはいませんが、導入自体はすごく簡単だったので、正常に動作すればかなりおすすめできるプラグインだと思います。
とりあえず、バッヂが表示されるように調整頑張ります…!

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

Handlerクラスtips

今日は処理を遅延させるコードを紹介します。

 

アプリのデザインに合わせて決められたタイミングで

処理をしたいなって思う時があると思います。

そんな時はhandlerクラスのpostDelayedメソッドを呼びましょう。

 

 

上の画像のようにHandlerインスタンスを生成した後に

run関数のスコープ内に遅延させたい処理を書きます。

これだけ。

{}外の700は、0.7秒後にrun内の処理をしますよという意味になります。

複雑な計算の処理は時間がかかりがちなので

このHandlerクラスを使って処理をさせましょう。

非同期通信の際にも応用されている非常にメジャーな技法なので

これからandroidアプリを開発をする!という人はぜひとも抑えておきたいですね。

 

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

【Android】「Configuration ‘compile’ is obsolete and has been replaced with ‘implementation’ and ‘api’.」エラーの対処法

今回は久しぶりに Android Studioで遭遇したエラーの対処法のご紹介。
Android Studio を 3 にアップデートしたところ、こちらのエラーが発生しました。

Configuration ‘compile’ is obsolete and has been replaced with ‘implementation’ and ‘api’.

Googleで翻訳したところ、「‘compile’は廃止され、’implementation’と ‘api’に置き換えられました。」とのこと。
つまり、build.gradlecompile を使用しない様にとのことでした。

なお、参考にしたサイトはこちらから。

gradle3でcompile警告 – 組み込みエンジニアのアプリ日誌
http://shekeenlab.hatenablog.com/entry/2018/04/28/223442

 

さて、こちらのエラーへの対処法ですが、build.gradle で使用されている compile を implementation に置き換えるだけ。

dependencies {
    implementation fileTree(dir: 'libs', include: '*.jar')
    implementation project(":CordovaLib")
     ︙
}

なお、修正前はこちら

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile project(":CordovaLib")
     ︙
}

あとは、普通にビルドとランしてください。

 

以上、Android Studio のでエラーの対処法でした。
が、まだ compile の記述が残っているようでこの警告が未だ消えていません…。
警告なので、アプリは問題なく起動・動作するのですが、やはり少し気になります。
できれば、警告になっているファイルまで教えてくれるとありがたいですね。

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

“妖怪ウォッチ”の世界が現実化!? 位置情報ARゲーム”妖怪ウォッチ ワールド”

きっとこれは妖怪のせい…(オイ
どうも、最近夏バテ気味なたかはしです。

最近、”妖怪ウォッチ”のスマホ版ゲームが出たことを知ったのですが、内容がなかなかすごかったので取り上げてみたいと思います。

その名も、”妖怪ウォッチ ワールド”

Googleアカウント(Playゲーム)でユーザー登録して早速ログイン。


唐突に妖怪ウォッチの正当な所有者に選ばれちゃいましたw


ログインすると地図が表示されます。
実際には現在地が表示されるようですが、今回はチュートリアルなので、東京某所のエリアが表示されています。

右下に妖怪ウォッチアイコンがあり、クリックすると

サーチモードに移行。

はてなアイコンなら見えましたよウィスパーさん。


了解!
タップしてみますね。


するとカメラが起動。
…何やら空間内を紫色の靄が動き回っています。

この靄を、画面中央の円内に一定時間とらえ続けないといけないようなのですが、この靄が結構すばしっこくて、思わずあたふたしてしまいましたw

なんとかとらえ続けると、この靄が招待を表し…

</a

なんとオフィス内にジバニャンが!!!
なんだかやる気満々の様子。
どうやらここでバトルが始まるようです。


この後、チュートリアルの動画が再生されるのですが、
説明してくださる方はなんと超有名な有名なあの方…!!!

一体だれが出演するのかは、是非アプリで確かめてみてくださいw

しかしバトルとは言っても、自分まだ手持ちの妖怪(?)いないっすよ…?

と思っていたら…

なんと初期の時点で仲間の妖怪が!
流石ウィスパーさん、かなり親切ですw

バトルは基本的に自動進行します。
が、仲間側の妖怪たちが状態異常になったり、体力が減ってきた場合に、控えの妖怪と入れ替えたりなどを行ってバトルを有利に進めることができます。
また、妖怪たちが持つ必殺技の発動なども、プレイヤーが行わせることができるようです。

ちなみに、妖怪に勝つと、場合によって仲間になってくれる場合もあるようです。
自分がまるで妖怪ウォッチの世界に入ってしまったかのような気分で楽しむことができますw

ちなみに、ゲームをプレイしていてふと、Pokemon Goに非常によく似ているなーと感じ、まさかNiantic社と妖怪ウォッチの版元であるLevel-5社がコラボしたのか…!?
と思ったら、なんと

パズドラ などで有名なGungHo社とLevel-5社のコラボで製作されていました…!
ただし、地図データはGoogleMapを使っているようで、地図データは完全にNiantic社系アプリと同じ情報源となっています。

今までこのタイプのゲームはほぼNiantic社しか出していないような印象で、今回初の競合他社が現れたか!?といった感じでした。

Niantic社のIngressやPokemon Goがヒットした理由として、そのゲーム性の面白さもありますが、現実世界で遊ぶことによって、ほかのプレイヤーの方々とのつながりやコミュニティ、そしてイベントの開催などによってよりコミュニケーションをとることができる”場”を提供してきたことが大きな要因となっています。

GungHo社とLevel-5社の今回の試みでも、ゲーム世界の内側外側両方で魅力を付加することができるのか。
是非注目したいですね。

妖怪ウォッチ ワールド公式サイト

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

【Android】アプリの画面を縦方向で固定する方法

久しぶりのAndroidネタです。
今回は、端末が横向きになった場合でも、アプリの画面を縦方向に固定する方法について。

 

今回は、こちらのサイトを参考にさせていただきました。

Android縦画面固定 – Qiita
https://qiita.com/yasumodev/items/44f7fd84a58b709a0349

実装方法ですが、2つ方法があり、私が実装したのが、AndroidManifest.xml で指定する方法です。
縦方向で固定したいページのアクティビティに対して、下記を指定します。

android:screenOrientation="portrait"

具体的には、下記のようになります。

<activity
    android:name=".Main.MainActivity"
    android:screenOrientation="portrait"
    android:label="@string/app_name"/>

3行目に、縦方向で固定する指定を追加しています。

なお、横固定にしたい場合は、値を「portrait」から「landscape」に変更します。

 

次に、Activity で指定する方法ですが、こちらは onCreate の中に下記を記入します。

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

こちらの方法で横方向で固定したい場合は、引数に ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE を指定します。

 

以上、アプリの画面の向きを固定する方法でした。
iOS だと、チェックボックスの ON/OFF だけで済むので、Android は少しだけ面倒ですね。
また、アクティビティごとでの指定なので、常に縦固定の場合は、すべてのアクティビティに縦固定の指定をしなければ習いので、指定抜けにご注意ください。

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