2019年6月7日金曜日
2019年6月6日木曜日
スマホ用の楽譜認識アプリをまとめてみた
先日スマホで撮った楽譜を人工知能で認識するアプリMusic Score Readerリリースしました
そこで、スマートフォン向けの楽譜を写真に撮って認識する系のアプリをまとめてみました
たぶんですけどこの3つくらいなのかなーと思います、全部日本製ですね!
Music Score Reader
https://play.google.com/store/apps/details?id=msreader.android.anadreline.com.musicscorereader
楽譜カメラ
https://itunes.apple.com/jp/app/ 楽譜カメラ/id448581781?mt=8
楽譜スキャナー
https://itunes.apple.com/jp/app/楽譜スキャナー-sheet-music-scanner/id884984324?mt=8
こうして比べてみると、拙作のMusic Score Readerの機能の少なさが目立つわけですが・・・
そこはそれ、無料アプリというところで少しターゲットが違うということをご理解していただければなーと思います
そこで、スマートフォン向けの楽譜を写真に撮って認識する系のアプリをまとめてみました
たぶんですけどこの3つくらいなのかなーと思います、全部日本製ですね!
Music Score Reader
https://play.google.com/store/apps/details?id=msreader.android.anadreline.com.musicscorereader
楽譜カメラ
https://itunes.apple.com/jp/app/ 楽譜カメラ/id448581781?mt=8
楽譜スキャナー
https://itunes.apple.com/jp/app/楽譜スキャナー-sheet-music-scanner/id884984324?mt=8
| 機能 | Music Score Reader | 楽譜カメラ | 楽譜スキャナー |
| 値段 | 無料 | ¥360 | ¥480 |
| 対応OS | Android | iOS | iOS |
| 音部記号認識 | ト音記号/ヘ音記号 | ト音記号/ヘ音記号/ハ音記号 | 高音、低音とアルト (ヴィオラ) |
| 調号認識 | 〇 | 〇 | 〇 |
| 演奏 | なし | 〇 | 〇 |
| データ保存・読込 | 画像のみ | 〇 | 〇 |
| 移調楽器対応 | なし | 〇 | 〇 |
こうして比べてみると、拙作のMusic Score Readerの機能の少なさが目立つわけですが・・・
そこはそれ、無料アプリというところで少しターゲットが違うということをご理解していただければなーと思います
2019年6月5日水曜日
ツール系Androidアプリのプレスリリース・レビューの依頼先(国内) まとめ 令和版
前にAndroidアプリのレビューサイトの依頼先をまとめましたが、ゲームのみの紹介サイトが結構あったりして、ツール系アプリとなるとなかなか見あたらないのでまとめてみました。
新作アプリMusic Score Readerを今回まとめたすべてのサイトに紹介の依頼をしました、いくつか紹介してもらえたら大変ありがたいが・・・
新作アプリMusic Score Readerを今回まとめたすべてのサイトに紹介の依頼をしました、いくつか紹介してもらえたら大変ありがたいが・・・
| サイト名 | 依頼方法 | 備考 |
| ファミ通App | メール | |
| AndRock | メール | テンプレート有 |
| Appliv | フォーム入力 | |
| andronavi | フォーム入力 | |
| OCTOBA | フォーム入力 | |
| あぷまがどっとねっと | メール | Twitterも有り:@appmaga_info |
| APPLION | メール | |
| appllio | メール | |
| アプリのまじん | メール | |
| appnavi アプリナビ | フォーム入力 | |
| AppsJP | フォーム入力 | |
| GAPSIS JP | メール | |
| ITmedia | メール | |
| TechCrunch Japan | メール・フォーム入力 | |
| マイナビニュース | メール | |
| ケータイWatch | メール | |
| vsmedia | メール | |
| ASCII.jp | メール |
※2019/6/5更新
2019年6月3日月曜日
新作アプリ「Music Score Reader」をリリース
新作アプリ「Music Score Reader」をリリースしました!
Music Score Readerは楽譜の画像から人工知能により音符を自動認識して音名を表記するアプリです
スマートフォンで撮影した楽譜の画像から人工知能によって音符を自動で認識して音名を表示します
操作は簡単でスマートフォンで楽譜を撮影して解析ボタンを押すだけ
調号、臨時記号にも対応、それぞれに応じた音名を表示
音名表記は日本式(ドレミファソラシ)、欧米式(CDEFGAB)、ドイツ式(CDEFGAH)に対応してます
音楽を始めたての方にぴったりのアプリです
よかったら使ってみてください
https://play.google.com/store/apps/details?id=msreader.android.anadreline.com.musicscorereader
2019年1月18日金曜日
TouchScreenBenchmark 実機計測(ZTE M Z-01K 2画面時)
タッチスクリーンベンチマークアプリTouchScreenBenchmarkで
手持ちの実機を使って計測を行ってみました
前回はZTEの2画面スマホZTE M Z-01K A(メイン)画面のテストをしましたが、今回は2画面を1画面使用時のテストとなります
トータルスコアは1画面時(83813)とほぼ同じ83811でした
タッチ感度テストでは1秒あたりで1画面時は117.92、今回は122.18とほぼ変わらずですが、1インチ中の平均イベント数が1画面時は51.71から62.97と少し上がりました
特筆すべきは真ん中の2画面境界通過時にタッチが途切れないということです
何回かやるとたまに途切れたりもしますが、ほとんど途切れません
結果としては2画面時は1画面とほぼ同等の性能ということがわかりました
手持ちの実機を使って計測を行ってみました
前回はZTEの2画面スマホZTE M Z-01K A(メイン)画面のテストをしましたが、今回は2画面を1画面使用時のテストとなります
トータルスコアは1画面時(83813)とほぼ同じ83811でした
タッチ感度テストでは1秒あたりで1画面時は117.92、今回は122.18とほぼ変わらずですが、1インチ中の平均イベント数が1画面時は51.71から62.97と少し上がりました
特筆すべきは真ん中の2画面境界通過時にタッチが途切れないということです
何回かやるとたまに途切れたりもしますが、ほとんど途切れません
結果としては2画面時は1画面とほぼ同等の性能ということがわかりました
2019年1月14日月曜日
TouchScreenBenchmark 実機計測(ZTE M Z-01K)
タッチスクリーンベンチマークアプリTouchScreenBenchmarkで
手持ちの実機を使って計測を行ってみました
今回はZTEの2画面スマホZTE M Z-01Kです
2画面端末ですが、今回のテストはA(メイン)画面となります
トータルスコアは過去最高の83813でした
特にSensityvity(感度)が高い結果となりました。
タッチ感度テストでは1インチ中の平均イベント数が51.71、1秒あたりで122.18と
Xpeia Z3何かと比べると3,4割増しの値です
感度でイベント数が多いということはより細かくタッチ位置を読み取ってくれるということになるかと思います
タッチ平均遅延時間は40.6msと特に遅延は感じませんでしたが、なんとなくばらつきがあるような印象を受けました
タッチ位置精度の方は平均95.47%とほとんどずれない感じでした
M Z-01Kは2画面端末なのでB画面もテストしてみました
2画面モードはA画面のミラー表示でテストしてます
トータルスコアはメイン画面とほぼ変わらずの84078でした
Sensityvity(感度)が高い結果となるところも一緒です。
結果としてはA画面とB画面のタッチスクリーンはほぼ同じ性能ということがわかりました
手持ちの実機を使って計測を行ってみました
今回はZTEの2画面スマホZTE M Z-01Kです
2画面端末ですが、今回のテストはA(メイン)画面となります
トータルスコアは過去最高の83813でした
特にSensityvity(感度)が高い結果となりました。
タッチ感度テストでは1インチ中の平均イベント数が51.71、1秒あたりで122.18と
Xpeia Z3何かと比べると3,4割増しの値です
感度でイベント数が多いということはより細かくタッチ位置を読み取ってくれるということになるかと思います
タッチ平均遅延時間は40.6msと特に遅延は感じませんでしたが、なんとなくばらつきがあるような印象を受けました
タッチ位置精度の方は平均95.47%とほとんどずれない感じでした
M Z-01Kは2画面端末なのでB画面もテストしてみました
2画面モードはA画面のミラー表示でテストしてます
トータルスコアはメイン画面とほぼ変わらずの84078でした
Sensityvity(感度)が高い結果となるところも一緒です。
結果としてはA画面とB画面のタッチスクリーンはほぼ同じ性能ということがわかりました
2018年2月27日火曜日
新作アプリ「オタマーズ」をApplivで紹介していただきましたー
2018年2月26日月曜日
新作アプリ「オタマーズ」をスマホゲームCHで紹介していただきましたー
レビュー依頼先まとめで上げたとこには全部レビュー依頼をしているわけですが、ついにその成果が!
新作アプリ「オタマーズ」をスマホゲームCHで紹介していただきましたー
思った以上のボリュームでチャレンジモードまでしっかりレビューしていただき大変ありがたい限りです
誠にありがとうございました。
新作アプリ「オタマーズ」をスマホゲームCHで紹介していただきましたー
思った以上のボリュームでチャレンジモードまでしっかりレビューしていただき大変ありがたい限りです
誠にありがとうございました。
2018年2月21日水曜日
Google AdWordsのユニバーサルアプリ広告の作成方法
新作アプリオタマーズをリリースしたので広く宣伝するために、Google AdWordsのユニバーサルアプリ広告を出してみることにしました
せっかくなんでやり方をまとめときます
まずはGoogle AdWordsにログインしてください
新規の方は登録から
左のメニューのキャンペーンを選択して、真ん中の+ボタンを押します
キャンペーンの種類を選ぶ画面になるんで、ユニバーサルアプリを選択
キャンペーン名(表には出ないので適当でよい)をつけて、広告文を4つ入力します
広告文は25文字(全角12.5文字)、重複無しです
あとは1日の予算の目安と、目標インストール単価を入れます
目標インストール単価はあくまで目標なんで実際は結構変わります
私は10円で入れましたが、いまんとこ平均55円になってます
一通り入れて保存したら、完了です
非常に簡単でした
作成後に内容を変えたい場合は変えたいキャンペーンを選択した状態で、左の設定を押すと変更画面になります
あとは成果を待つのみ…
せっかくなんでやり方をまとめときます
まずはGoogle AdWordsにログインしてください
新規の方は登録から
左のメニューのキャンペーンを選択して、真ん中の+ボタンを押します
キャンペーンの種類を選ぶ画面になるんで、ユニバーサルアプリを選択
キャンペーン名(表には出ないので適当でよい)をつけて、広告文を4つ入力します
広告文は25文字(全角12.5文字)、重複無しです
あとは1日の予算の目安と、目標インストール単価を入れます
目標インストール単価はあくまで目標なんで実際は結構変わります
私は10円で入れましたが、いまんとこ平均55円になってます
一通り入れて保存したら、完了です
非常に簡単でした
作成後に内容を変えたい場合は変えたいキャンペーンを選択した状態で、左の設定を押すと変更画面になります
あとは成果を待つのみ…
2018年2月17日土曜日
Androidアプリのレビューサイトの依頼先(国内) まとめ 2018年版
4年ほど前に、Androidアプリのレビューサイトの依頼先をまとめましたが、4年ぶりにまた調べなおしたので一覧を更新しました。
さすがに4年前の一覧の半分くらいは閉鎖したり、更新されなくなったりしてますね。
さすがに4年前の一覧の半分くらいは閉鎖したり、更新されなくなったりしてますね。
| サイト名 | 依頼方法 | 備考 |
| ファミ通App | メール | |
| AndRock | メール | テンプレート有 |
| Appliv | フォーム入力 | |
| andronavi | フォーム入力 | |
| OCTOBA | フォーム入力 | |
| アプリゲット | メール | |
| もぐらゲームス | メール | |
| あぷまがどっとねっと | メール | Twitterも有り:@appmaga_info |
| APPLION | メール | |
| appllio | メール | |
| スマホゲームCH | フォーム入力 | ブログ等で紹介の場合優先有 |
| Gpara.Com | フォーム入力 | |
| SQOOL.NET | フォーム入力 | 画像添付あり |
| スマホゲーム会議 | フォーム入力 | |
| アプリスタイルWeb | フォーム入力 | レビュー依頼受付けているか不明 |
| GameWith | メール | |
| アプリのまじん | メール |
※2018/2/24追記
2017年11月21日火曜日
iPhoneX時代の画面設計
iPhoneXが発売され、いわゆるアスペクト比2:1の端末が増えてきました
AndroidでもGaraxy S8、LG G8などが2:1に近いアスペクト比となっており、GoogleもAndroidアプリ開発者に対し、アスペクト比2:1以上の画面に対応することを促しています
例えば横スクロールのアクションゲームで、タブレット端末でよくある4:3の端末と
2:1の両対応を単純にしようとするとこのような画面になってしまいます
これだとステージの先、見えている敵キャラが違うためゲームの難易度に大きな違いが生じてしまいます
4:3のアスペクト比を基本にして、それよりも横長なら両端黒帯ってのは簡単な対応ですが、それは避けたいところですので、いくつか対応案を考えてみました
1つ目は2:1の横幅を基本として天井(空)の拡縮で対応する横幅固定の下寄せ
こんな感じ
見た目にかなり差が出ますが、見えているステージの範囲は同じになるので難易度に違いは出なくなるかと
2つ目は横スクロールでも天井がある場合や、シューティングの場合ステージの縦幅を変えるのは都合が悪い時に対応する横幅固定の真ん中寄せ
横幅は2:1を基本にして上下の地面と天井部分を拡縮します
ものによっては地面と天井の比率を変えてもよいかと思います
3つ目は2:1端末が増えてきたとはいえ、主流はまだまだ16:9のワイドなので、それを基本として調整するバランス型
横幅は16:9のワイドを基本にして、2:1端末では影響が出にくい自キャラの後ろ部分を拡縮してやります
4:3では上部分を拡縮して対応
以上3つの手法を紹介しましたが、やり方はまだまだあると思います
要はメインとなるステージの縦と横幅で変えられないところ、アスペクト比が変えられるのかというところを決めて、基本とする端末のアスペクト比からサイズ差を吸収する調整枠を決定するという流れになるかと思います
AndroidでもGaraxy S8、LG G8などが2:1に近いアスペクト比となっており、GoogleもAndroidアプリ開発者に対し、アスペクト比2:1以上の画面に対応することを促しています
例えば横スクロールのアクションゲームで、タブレット端末でよくある4:3の端末と
2:1の両対応を単純にしようとするとこのような画面になってしまいます
これだとステージの先、見えている敵キャラが違うためゲームの難易度に大きな違いが生じてしまいます
4:3のアスペクト比を基本にして、それよりも横長なら両端黒帯ってのは簡単な対応ですが、それは避けたいところですので、いくつか対応案を考えてみました
1つ目は2:1の横幅を基本として天井(空)の拡縮で対応する横幅固定の下寄せ
こんな感じ
見た目にかなり差が出ますが、見えているステージの範囲は同じになるので難易度に違いは出なくなるかと
2つ目は横スクロールでも天井がある場合や、シューティングの場合ステージの縦幅を変えるのは都合が悪い時に対応する横幅固定の真ん中寄せ
横幅は2:1を基本にして上下の地面と天井部分を拡縮します
ものによっては地面と天井の比率を変えてもよいかと思います
3つ目は2:1端末が増えてきたとはいえ、主流はまだまだ16:9のワイドなので、それを基本として調整するバランス型
横幅は16:9のワイドを基本にして、2:1端末では影響が出にくい自キャラの後ろ部分を拡縮してやります
4:3では上部分を拡縮して対応
以上3つの手法を紹介しましたが、やり方はまだまだあると思います
要はメインとなるステージの縦と横幅で変えられないところ、アスペクト比が変えられるのかというところを決めて、基本とする端末のアスペクト比からサイズ差を吸収する調整枠を決定するという流れになるかと思います
2017年11月10日金曜日
XMLで作るアニメーションするメニュー
新作アプリオタマーズ(仮)作ってます
タイトルメニューに階層があって、切り替えにアニメーションをつけてみたので紹介します
画面レイアウトのXMLがこちら
メニュー部分はFrameLayoutで直下のLinearLayoutに1階層目のボタン3つ
id="@+id/stageの部分が2階層目になっててvisible=goneで隠してます
次にAnimation用のXMLがこちら
動かすViewに上記のstartAnimationをセットしてやるだけです
アニメーションする前に消えてしまうので、AnimationListenerをimplementsして
onAnimationEndで消してます
res/layout/menu.xml
ほぼほぼXMLで済ませているので簡単です今回メニューに階層があるんでアニメーションするようにしてみた— Anadreline@新作アプリ開発中 (@Anadreline) 2017年11月9日
わりといい感じ、あとでブログにまとめよう pic.twitter.com/Iuqc59yzCU
画面レイアウトのXMLがこちら
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <ImageView <FrameLayout <LinearLayout <ImageButton android:id="@+id/setting" <ImageButton android:id="@+id/mission" ・・・ </LinearLayout> </FrameLayout> </LinearLayout>くっそ長いので全文は下のほうに追いやりました
メニュー部分はFrameLayoutで直下のLinearLayoutに1階層目のボタン3つ
id="@+id/stageの部分が2階層目になっててvisible=goneで隠してます
次にAnimation用のXMLがこちら
// 1階層目メニュースライドイン // res/anim/menu_in.xml <?xml version="1.0" encoding="utf-8"?> <translate xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/decelerate_interpolator" android:fromXDelta="-100%p" android:toXDelta="0%p" android:fillAfter="true" android:duration="800" /> // 1階層目メニュースライドアウト // res/anim/menu_out.xml <?xml version="1.0" encoding="utf-8"?> <translate xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/decelerate_interpolator" android:fromXDelta="0%p" android:toXDelta="120%p" android:fillAfter="true" android:duration="800" /> // 2階層目メニューズームイン // res/anim/zoom_in.xml <?xml version="1.0" encoding="utf-8"?> <scale xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/decelerate_interpolator" android:fromXScale="0" android:toXScale="1.0" android:fromYScale="0.0" android:toYScale="1.0" android:pivotX="50%" android:pivotY="50%" android:fillAfter="true" android:duration="600" />で、ボタンを押したときの処理がこちら
動かすViewに上記のstartAnimationをセットしてやるだけです
@Override public void onClick(View v) {
switch (v.getId()) {
case R.id.mission : //2階層目表示
menu_off = true;
findViewById(R.id.stage).startAnimation(AnimationUtils.loadAnimation(this, R.anim.zoom_in));
findViewById(R.id.setting).startAnimation(AnimationUtils.loadAnimation(this, R.anim.menu_out));
findViewById(R.id.mission).startAnimation(AnimationUtils.loadAnimation(this, R.anim.menu_out));
findViewById(R.id.challenge).startAnimation(AnimationUtils.loadAnimation(this, R.anim.menu_out));
break;
case R.id.title1 : //1階層目に戻る
menu_off = false;
findViewById(R.id.stage).clearAnimation(); //これやらんとなぜか変に表示が残る
findViewById(R.id.stage).setVisibility(View.GONE);
findViewById(R.id.setting).startAnimation(AnimationUtils.loadAnimation(this, R.anim.menu_in));
findViewById(R.id.setting).setVisibility(View.VISIBLE);
findViewById(R.id.mission).startAnimation(AnimationUtils.loadAnimation(this, R.anim.menu_in));
findViewById(R.id.mission).setVisibility(View.VISIBLE);
findViewById(R.id.challenge).startAnimation(AnimationUtils.loadAnimation(this, R.anim.menu_in));
findViewById(R.id.challenge).setVisibility(View.VISIBLE);
break;
}
}
メニューを消すときにstartAnimation直後に.setVisibility(View.GONE)をやってしまうとアニメーションする前に消えてしまうので、AnimationListenerをimplementsして
onAnimationEndで消してます
public class Menu extends Activity implements View.OnClickListener, Animation.AnimationListener {
@Override public void onAnimationStart(Animation animation) { }
@Override public void onAnimationRepeat(Animation animation) { }
@Override public void onAnimationEnd(Animation animation) {
if (menu_off) {
findViewById(R.id.setting).setVisibility(View.GONE);
findViewById(R.id.mission).setVisibility(View.GONE);
findViewById(R.id.challenge).setVisibility(View.GONE);
}
}
以上res/layout/menu.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/title_back"
android:gravity="center_horizontal"
android:orientation="vertical" >
<ImageView
android:scaleType="fitStart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="32dp"
android:src="@drawable/title" />
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:gravity="center">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_gravity="center">
<ImageButton
android:id="@+id/setting"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="36dp"
android:background="@null"
android:onClick="onClick"
android:src= "@drawable/menu_sg"/>
<ImageButton
android:id="@+id/mission"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="36dp"
android:background="@null"
android:onClick="onClick"
android:src= "@drawable/menu_mi"/>
<ImageButton
android:id="@+id/challenge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="36dp"
android:background="@null"
android:onClick="onClick"
android:src= "@drawable/menu_ch"/>
</LinearLayout>
<LinearLayout
android:id="@+id/stage"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:visibility="gone">
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal">
<LinearLayout
android:id="@+id/stage1"
android:tag="1"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="12dp"
android:onClick="onClick"
android:gravity="center_horizontal">
<ImageView
android:scaleType="matrix"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/mission_u"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Stage1"
android:gravity="center"
android:textColor="#000"
android:textSize="12sp"
android:ellipsize="end"/>
</LinearLayout>
<LinearLayout
android:id="@+id/stage2"
android:tag="2"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="12dp"
android:onClick="onClick"
android:gravity="center_horizontal">
<ImageView
android:scaleType="matrix"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/mission_l"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Stage2"
android:gravity="center"
android:textColor="#000"
android:textSize="12sp"
android:ellipsize="end"/>
</LinearLayout>
<LinearLayout
android:id="@+id/stage3"
android:tag="3"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="12dp"
android:onClick="onClick"
android:gravity="center_horizontal">
<ImageView
android:scaleType="matrix"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/mission_u"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Stage3"
android:gravity="center"
android:textColor="#000"
android:textSize="12sp"
android:ellipsize="end"/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal">
<LinearLayout
android:id="@+id/stage4"
android:tag="4"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="12dp"
android:onClick="onClick"
android:gravity="center_horizontal">
<ImageView
android:scaleType="matrix"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/mission_u"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Stage4"
android:gravity="center"
android:textColor="#000"
android:textSize="12sp"
android:ellipsize="end"/>
</LinearLayout>
<LinearLayout
android:id="@+id/stage5"
android:tag="5"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="12dp"
android:onClick="onClick"
android:gravity="center_horizontal">
<ImageView
android:scaleType="matrix"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/mission_u"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Stage5"
android:gravity="center"
android:textColor="#000"
android:textSize="12sp"
android:ellipsize="end"/>
</LinearLayout>
<LinearLayout
android:id="@+id/stage6"
android:tag="6"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="12dp"
android:onClick="onClick"
android:gravity="center_horizontal">
<ImageView
android:scaleType="matrix"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/mission_u"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Stage6"
android:gravity="center"
android:textColor="#000"
android:textSize="12sp"
android:ellipsize="end"/>
</LinearLayout>
</LinearLayout>
<ImageButton
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="36dp"
android:background="@null"
android:onClick="onClick"
android:src= "@drawable/menu_tt"/>
</LinearLayout>
</FrameLayout>
</LinearLayout>
2017年10月27日金曜日
TouchScreenBenchmark 実機計測(FUJITSU ARROWS Tab F-03G)
タッチスクリーンベンチマークアプリTouchScreenBenchmarkで
手持ちの実機を使って計測を行ってみました
今回は2014年発売の FUJITSUのタブレットARROWS Tab F-03Gです
トータルスコアは78474でした
3年前の端末ですが、前回のdtab 01と同じくらいのスコアとなりました。
タッチ感度テストでは1インチ中の平均イベント数が18.4、1秒あたりで83.91と
前回のdtab同様に近年の端末よりもタッチイベントが少ない印象ですが
タッチ平均遅延時間は23.8msと上々の反応速度でした
逆にタッチ位置精度の方は平均92.99%と少しぶれる結果となりました
手持ちの実機を使って計測を行ってみました
今回は2014年発売の FUJITSUのタブレットARROWS Tab F-03Gです
トータルスコアは78474でした
3年前の端末ですが、前回のdtab 01と同じくらいのスコアとなりました。
タッチ感度テストでは1インチ中の平均イベント数が18.4、1秒あたりで83.91と
前回のdtab同様に近年の端末よりもタッチイベントが少ない印象ですが
タッチ平均遅延時間は23.8msと上々の反応速度でした
逆にタッチ位置精度の方は平均92.99%と少しぶれる結果となりました
2017年10月18日水曜日
TouchScreenBenchmark 実機計測(Huawei dtab 01)
タッチスクリーンベンチマークアプリTouchScreenBenchmarkで
手持ちの実機を使って計測を行ってみました
今回は2013年発売の Huaweiのタブレットdtab 01です
トータルスコアは78319でした
過去の3機種のテストではさほどスコアに差がなく、もしかしてどの機種でも変わらない説かと思われましたが、さすがに4年前の端末だと若干スコアが落ちました。
タッチ感度テストでは1インチ中の平均イベント数が16.45、1秒あたりで79.36
近年の端末よりもタッチイベントが少ない印象でした
タッチ平均遅延時間は55msと遅延が体感できる感じを受けました
手持ちの実機を使って計測を行ってみました
今回は2013年発売の Huaweiのタブレットdtab 01です
トータルスコアは78319でした
過去の3機種のテストではさほどスコアに差がなく、もしかしてどの機種でも変わらない説かと思われましたが、さすがに4年前の端末だと若干スコアが落ちました。
タッチ感度テストでは1インチ中の平均イベント数が16.45、1秒あたりで79.36
近年の端末よりもタッチイベントが少ない印象でした
タッチ平均遅延時間は55msと遅延が体感できる感じを受けました
2017年10月13日金曜日
TouchScreenBenchmark 実機計測(SONY Xperia Z3 )
タッチスクリーンベンチマークアプリTouchScreenBenchmarkで
手持ちの実機を使って計測を行ってみました
今回はSONY のスマートフォンXperia Z3(SO-01G)です
トータルスコアは81659でした
タッチ感度テストでは1インチ中の平均イベント数が38.83、1秒あたりで87.78
前回、前々回のタブレットよりも1秒当たりのイベント数が少ないのに
1インチ中のイベント数が多いのは画面が小さいから、イベント密度が上がるためですね
タッチ平均遅延時間は7.8msかなり遅延が少ない印象でした
手持ちの実機を使って計測を行ってみました
今回はSONY のスマートフォンXperia Z3(SO-01G)です
トータルスコアは81659でした
タッチ感度テストでは1インチ中の平均イベント数が38.83、1秒あたりで87.78
前回、前々回のタブレットよりも1秒当たりのイベント数が少ないのに
1インチ中のイベント数が多いのは画面が小さいから、イベント密度が上がるためですね
タッチ平均遅延時間は7.8msかなり遅延が少ない印象でした
2017年10月11日水曜日
TouchScreenBenchmark 実機計測(HUAWEI MediaPad T2 8 Pro)
タッチスクリーンベンチマークアプリTouchScreenBenchmarkで
手持ちの実機を使って計測を行ってみました
今回はHUAWEI のタブレットMediaPad T2 8 Proです
トータルスコアは81792でした
タッチ感度テストでは1インチ中の平均イベント数が31.07、1秒あたりで111.45
タッチ平均遅延時間は37.5msとほぼ前回のASUS Zenpadと変わらない印象でした
手持ちの実機を使って計測を行ってみました
今回はHUAWEI のタブレットMediaPad T2 8 Proです
トータルスコアは81792でした
タッチ感度テストでは1インチ中の平均イベント数が31.07、1秒あたりで111.45
タッチ平均遅延時間は37.5msとほぼ前回のASUS Zenpadと変わらない印象でした
2017年10月5日木曜日
TouchScreenBenchmark 実機計測(ASUS ZenPad 8 Z380KNL)
タッチスクリーンベンチマークアプリTouchScreenBenchmarkで
手持ちの実機を使って計測を行ってみました
最初はASUSのタブレットZenPad 8 Z380KNL
トータルスコアは81994でした
タッチ感度テストでは1インチ中の平均イベント数が30.77、1秒あたりで111.18
タッチ平均遅延時間は18.0msと良好でした
手持ちの実機を使って計測を行ってみました
最初はASUSのタブレットZenPad 8 Z380KNL
トータルスコアは81994でした
タッチ感度テストでは1インチ中の平均イベント数が30.77、1秒あたりで111.18
タッチ平均遅延時間は18.0msと良好でした
2017年9月25日月曜日
TouchScreenBenchmarkの計測項目 FreeMode
先日リリースした新作アプリTouchScreenBenchmarkには定型的な計測を行いスコアを測定するモードのほかに、自由にタッチスクリーンのテストを行うことができるFreeModeがあります
FreeModeではタッチよるイベントを表示し、タッチごとに割り振られるポインターIDに応じてポイントを色を変えて表示します
タッチ切れなどがあった場合は色が変わるのですぐにわかるかと思います。
マルチタッチにも対応してます。
対応するタッチイベントは以下
DOWN
POINTER_DOWN
MOVE
UP
POINTER_UP
LONGPRESS
SCROLL
FLING
SINGLETAPUP
SHOWPRESS
DOUBLETAP
DOUBLEEVENT
SINGLECONFIRMED
以上
FreeModeではタッチよるイベントを表示し、タッチごとに割り振られるポインターIDに応じてポイントを色を変えて表示します
タッチ切れなどがあった場合は色が変わるのですぐにわかるかと思います。
マルチタッチにも対応してます。
対応するタッチイベントは以下
DOWN
POINTER_DOWN
MOVE
UP
POINTER_UP
LONGPRESS
SCROLL
FLING
SINGLETAPUP
SHOWPRESS
DOUBLETAP
DOUBLEEVENT
SINGLECONFIRMED
以上
登録:
投稿 (Atom)















































