記事一覧 (10 / 10)
2020/01/03・Androidアプリ
Androidプログラミングコラム第2回です。多分
今回は、Androidでユーザーに処理を待ってもらうために出すProgressDialogについて取上げます。
ProgressDialogについて
ProgressDialogは、結構前から非推奨(Deprecated)となっています。にも関わらず、私も含め多くのアプリでこのProgressDialogを見かけます。おそらく、実装が楽なんでしょうね。何も考えず表示すればいいだけなので。
通常、Deprecatedになるものといえば、代替の仕組みやメソッド、定数などが出来たり、サポート外になったものなどですよね。しかし、ProgressDialogがDeprecatedとなっている理由は少し変わっています。
ProgressDialogがDeprecatedとなっている理由
っていうか、非推奨である理由は明記するための仕組み(Javadoc)がちゃんとあるので、普通に見ることができます。
そこには、こういう記載が。
ProgressDialog is a modal dialog, which prevents the user from interacting with the app. Instead of using this class, you should use a progress indicator like [ProgressBar](https://developer.android.com/reference/android/widget/ProgressBar.html), which can be embedded in your app's UI. Alternatively, you can use a notification to inform the user of the task's progress.
(訳:ProgressDialogはモーダルダイアログであり、ユーザーのアプリ操作を妨げます。このクラスを使うのではなく、ProgressBarのようなUIに埋め込めるプログレスインジケータを使用するべきです。あるいは、タスクの進行状況を知らせるためにNotificationを使うこともできます。)
https://developer.android.com/reference/android/app/ProgressDialog
要するに、ProgressDialogが表示されている間はユーザーが何も出来なくなり、UXが低下するということです。あなたも、「間違えてタップしちゃったけどProgressDialogが邪魔で読み込み終わるまで前の画面に戻れない」なんて経験があるでしょう。そういうことを引き起こすので、GoogleとしてはなるべくProgressDialogは使わせたくないようです。
つまりは、ProgressDialogの代替を自力で作らなければならない訳ではなく、ProgressDialogの概念自体が非推奨ということです。
そこを少し勘違いした投稿を見つけたので記事を書きました。ProgressDialogを表示させるのはユーザーに操作をさせたくない時だけにしましょう。進行状況を表示したい際も、少し面倒でもProgressBarをUIに直接埋め込むようにしましょう。
2020/05/14・どうでもいいこと
今回は、PC版「プリンセスコネクト!Re:Dive」をフルスクリーンでプレイする方法を解説します。何故かゲーム内にその機能がない謎仕様ですが、レジストリをいじるとフルスクリーンにできます。
簡単な方法
バッチファイルを作りましたので、ダウンロードした後ダブルクリックして実行してください。
実行後、「1」と入力してEnterを押すとフルスクリーンに、「3」と入力してEnterを押すとウィンドウに戻ります。
:::btn
ダウンロード
:::
※以下のように表示された場合、「詳細情報」をクリックし、「実行」をクリックしてください。
確実な方法
WindowsキーとRキーを同時に押し、表示された「ファイル名を指定して実行」に「regedit」と入力しEnterを押します。
そして、
HKEY_CURRENT_USER\SOFTWARE\Cygames\PrincessConnectReDive
上の文字列を画像の部分に張り付けてEnter。
そして、その下に出てきた一覧から
Screenmanager Fullscreen mode_h3630240806
を探し、ダブルクリックして、値を「1」にする。
次に、
Screenmanager Resolution Height_h2627697771 ←縦ピクセル数(例:1080)
Screenmanager Resolution Width_h182942802 ←横ピクセル数(例:1920)
これらのレジストリをそれぞれダブルクリックして、「表記」を「10進数」にし、値を利用しているディスプレイの値にします。調べたい場合は、「設定」→「システム」→「ディスプレイ」→「ディスプレイの解像度」の設定値から確認してください。(横ピクセル数 x 縦ピクセル数、という表記です。)
これで完了。
※「表記」を「10進数」にし忘れると、大変なことになる(かもしれない)のでご注意ください。
フルスクリーンにすると「×」が消えますが、ゲームを終了するには、Alt + F4 を押します。
これくらいゲームソフトとしてゲーム内に実装してほしいですね・・・
2020/12/08・お知らせ
皆さん、こんにちは。
提出物マネージャーの現状
さて、私が細々と作るAndroidアプリの中に「提出物マネージャー」があるのですが、Playストアの詳細を見てもらえばわかる通り全然伸びてません。
伸びない事の何が一番辛いって、フィードバックが帰ってこないことです。フィードバックが帰ってこないと何処へ走ればいいのか分からない。底辺アプリ開発者が1番悩むところです。しょうがないので、独断と偏見だけでアプリに新機能を追加したりしているわけです。
伸びていない原因を個人的に分析して出した答えの1つ、それはiOS版を提供していないこと。実は、iOS版の提供にはかなり金が掛かるので渋っていました。(というか所持金が足りない) App Storeのへの掲載だけで年間1万3千円近く取られる上、10万もするMacがないと開発自体できません。
しかし、その分敵は少なく、アプリが広まりやすいです。また、ターゲット層やアプリの内容的に見ても、Android持ってる学生なんて変態以外の何物でもないので、iOS版を提供しないとお話にならないわけです。普通に考えて。
つまり何が言いたいか
しかし、直接iOS版をゼロから作っていてはSwiftやらまた学習し直す必要もあるし、Android版とiOS版の両方を別々で開発して維持しなければならず、かなり面倒。
そこで私、決めました。
_クロスプラットフォーム* なフレームワーク* でAndroid版諸共ゼロから作り直_します。
*「クロスプラットフォーム」とは、読んで字のごとくプラットフォーム(OS)を問わず一つのコードで動作するプログラムのことで、 *「フレームワーク」は「枠組み」と訳せますが、開発の手法だと思ってください。
つまり、1回プログラミングするだけでAndroidとiOS両方で動作する手法に切り替えるという訳です。今まで作っていたAndroid版のソースコードを直接iOSで動かす方法はないはずなので、Android版も同時に作り直すことになります。
という訳で、現在鋭意制作中でございます。2021年5月頃にはAndroid版はリリースできるかと思います。それまで今暫くお待ちください。
iOS版のリリースについては、先が全く見えない状況です。なにせ大量の資本が必要ですから。つきましては、安定した資金源を確保できてからのリリースとなります。ご了承ください。とりあえず適当に期限を決めておくと、2021年7月までには出せるように努力します。
今までご利用いただいていた方へ。以前とアプリの構造が全く異なるため、UIにやや大きな変化がありますが、できるだけそれが少なくなるように再現して制作しています。
アップデートに係る注意事項
このアプリは、以前のアプリのアップデートではなく新規アプリとして配信する予定です。また、ファイルでのバックアップ機能は実装しない予定ですので、以前までゲストモードでアプリを利用していた場合、データを引き継ぐにはアカウント作成が必要になります。方法など詳細は後日お知らせします。
2020/04/20・お知らせ
皆さん、こんにちは。
今回は、私が初公開するソフトウェア「Dropon」について解説します。
Droponは、シンプルさに重点を置いて作られており、できることはスマホ同士でのファイル転送、PCとスマホ間でのファイル・URL転送となっています。
今までAndroidだと、目の前の他人にファイルを転送する手段で迷っていたと思いますが、このアプリを使えば高速に、かんたんに転送ができます。また、パッとPCにURLを送りたいときなどにも活躍します。
ぜひ使ってみてください!
ダウンロード
紹介ページ
2021/04/20・役立ち情報
タイトルのとおりです。DMM版(Windows版)ウマ娘プリティーダービーでは、デフォルトだとティアリング(画面に動きがあるときに見られるガタガタ・ガクガク)がかなり酷いです。それを軽減する方法を解説します。
今回の方法での要件
NVIDIA製のGPUを搭載したPCであること
NVIDIAドライバーをインストール済みであること
方法
①NVIDIAコントロールパネルを開く
デスクトップを右クリックし、「NVIDIA コントロールパネル」をクリック
②「3D設定の管理」をクリック
③「プログラム設定」タブ→「追加」をクリック
④「umamusume.exe」を選択し、「選択したプログラムを追加する」をクリック
⑤「垂直同期」を「オン」に設定する
⑥「適用」をクリックし、ウマ娘起動中の場合は再起動する
比較動画
(夜間モードがオンになっているため黄色っぽいですがご容赦ください)
簡単な解説
ティアリングというのは、モニターのリフレッシュレート(垂直走査周波数)と内部的なフレームの更新のタイミングがズレた場合に発生します。一般的なモニターは上から下までを1/60秒かけて書き換えます。その間に2フレーム以上がGPUで描画されると書き換えの途中で映像が切り替わってしまい、上の動画のようなガタガタが発生します。
垂直同期というのは、モニターの書き換えとGPUでのフレーム描画数をあわせる機能です。これはデフォルトではソフト側の設定に依存しますが、ウマ娘には垂直同期のオプションが存在しないため、恐らく開発者側で適切に設定がされていないのでしょう。
2019/05/01・Minecraft
2020/10/12編集: 画像を最新バージョンのものに更新しました。
2023/08/25更新: 文章を書き直しました。
概要
今回はタイトルにもあるとおりゲームディレクトリの設定方法を解説していきます。設定するとどうなるのか、図で解説します。
〈いろいろ詰め込みすぎた結果。〉
未設定時はワールドデータがいろいろなバージョンで混在していることがあります。それだと誤って違うバージョンで開いてしまった際に ワールドが破損する可能性があります。 しかし、ゲームディレクトリを設定することで ワールドデータが完全に分離され、違うバージョンで開けなくなります。
それだけではありません。ゲームディレクトリを使わないと、今入っている物と違うバージョンのMODで遊びたくなった際に、わざわざMODを入れ替えなければなりませんが、ゲームディレクトリを設定することで、ランチャー側で切り替えるだけでそれぞれのMODが遊べるようになります!
これですね。「プレイ」の右の三角形をクリックすると登録したプロファイルが表示されます。そこから遊びたい物を選択して「プレイ」を押せば遊べます。
設定方法
まず、ゲームディレクトリをまとめるフォルダーがあると便利なので作成します。どこでも構いませんが、マイドキュメントに作成することが多いです。フォルダー名も任意ですが、「マイクラゲームディレクトリ」など自分でわかりやすい名称をつけることを推奨します。
続いて、その中にバージョンごとにフォルダーを作ります。例えば、1.7.10でBuildCraftがしたい場合は、「1.7.10-buildcraft」などのフォルダー名で作成するといいでしょう。また、MODが入っていないバニラでもゲームディレクトリは設定しておくことをおすすめします。「最新のリリース」にゲームディレクトリを設定する場合は「最新のリリース」などのフォルダー名で作成するといいと思います。
続いて、マイクラのランチャーを立ち上げます。
バニラの場合
バニラのMinecraftのゲームディレクトリを設定する方法です。ランチャーを立ち上げ、「起動オプション」から「新規作成」
①ランチャーを立ち上げ、「起動構成」から「新規作成」
②「名前」:そのバージョンである旨、「バージョン」:登録したいバージョンを設定
③先ほど作ったフォルダーのアドレスバーを右クリックし、「パスのコピー」
④ランチャーに戻って「ゲームディレクトリ」に貼り付け
入力欄をクリックし、CtrlとVを同時に押すと貼り付けられます。
⑤作成
⑥「プレイ」タブに戻って今作ったプロファイルを選択し、プレイをクリック
⑦セーブデータを移す
起動したらMinecraftを一旦閉じます。先程作成したフォルダーに「saves」フォルダーが生成されます。これがワールドの保存されるフォルダーとなります。この中に元々遊んでいたワールドを移します。
元々のワールドが入ったフォルダーは、WindowsキーとRキーを同時に押し、「%appdata%\.minecraft\saves」と入力してOKを押すと表示されます。ここから必要なフォルダー(ワールド)を選んでコピーしてください。
Forge等のMODローダーを使用している場合
Forge等を使ってMODで遊ぶ場合は、上記手順の②の「バージョン」を「release x.x.x-forgex.x.x-x.x.x.x」など、MODローダーの名前が入ったバージョンにしたうえで、ゲームディレクトリ内にあるmodsフォルダーに、元々導入していたMODを移します。
WindowsキーとRキーを同時に押し、「%appdata%\.minecraft\mods」と入力してOKを押すと、MODが入ったフォルダーが表示されます。ここから必要なものを選んでコピーしてください。
最後に
もし説明が不足している部分があれば、コメントで教えていただけると幸いです。