サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Pixel 9
gaprot.jp
Android 12がリリースされ、話題にされる機能の一つとしてあげられるのはOS提供のSplashScreenではないでしょうか。長いAndroidの歴史の中で、様々な方法で実装してきたスプラッシュスクリーンがついにファーストパーティからの提供があって、ますますOSの統一感を感じられますね。 Android 12からは何もせずでも表示されるスプラッシュスクリーンですが、それ以前のバージョンでは対応されませんので、そのためにAndroidXのサポートライブラリからCore.SplashScreenがリリースされました。現在まだアルファ版ですが、対応バージョンはAPI 23(Android 6.0 Marshmallow)までとなります。 残念なことに、Android 12以降のスプラッシュスクリーンを無効化する方法がないため、既存アプリの場合は既存のスプラッシュスクリーン実装を調整する必要
はじめに 個人・法人に関わらずアプリ開発で必ず通る道が、 Google / Apple のアプリ審査です。 アプリを初めてリリースするときやバージョンアップ毎にアプリ審査が行われますが、審査には少し時間がかかります。 去年の話ですが、コロナの影響でAndroidの審査が1週間以上かかることが話題になっていました。 Androidアプリの公開用レビューもCOVID-19の影響で遅れがちに 審査は数年前に比べれば早くなりましたが、緊急の不具合修正で即リリースして反映したい時など問題になってきます(iOSは「App Reviewの優先処理(特急審査)」というものもありますが、審査はなくならないので待ち時間は多少あります) そこで今回は、アプリ審査なしでアプリに変更を加える方法や、そもそもどういうことができるのかを調べてみました。 注意 本記事が原因で生じたいかなる損害において責任を負いませんので
4月といえば引越しの季節ですね。 引越しのタイミングでは固定回線が一時的に使用できない期間が発生することがよくあります。今回、私も同様な状況に陥りました。こういった時に活躍するのがスマートフォンでのテザリングです。 テザリングでも基本的にはリモートワークには対処できるのですが、所持している各端末に対して接続先無線LANアクセスポイントのSSID、パスワードを設定して回るのは手間です。なので無線LANルータのWAN側接続をテザリングでのものに差し替えることで横着しようと考え、スマホテザリング-Eithernetコンバータを作ってみることにしました。 使用機材 Raspberry Pi 3 B(未検証ですが他の端末でも使用できると思います)iPhone(検証端末はiPhone11 iOS14.4.2) or Android(検証端末はPixel3a Android11)USBテザリングに使用可
アップルの開発者向けイベント WWDC2019 が6月3日(現地時間)に開催され、iOS13や、予ねてより噂されていたダークモードなど目につく発表が多かったように思います。 今回は、 WWDC2019の話に行く前に、去年の WWDC2018で発表された AuthenticationServices をついて改めて調べてみました。 iOS12が去年9月にリリースされて、1Password などのサードパーティー製管理アプリのオートフィルを実装しているアプリもよく見かけるようになりました。まずは、しっかり復習して新しい技術をキャッチアップして行きたいと思います。 TL;DR できる事 パスワードのオートフィル機能(Password AutoFill) サードパーティー製管理アプリもサポート。起動しないで自動入力可能 強力なパスワード自動生成(Automatic Strong Passwords
本記事は2018年6月2日に VR アカデミーで講演した内容のブログ版になります。(本稿は Unity2018.1.4 を使用しています。) はじめに みなさん Unity でポストプロセスエフェクト使ってますか?業務でゲーム開発してる方々は勿論使ってると思いますが、結構使ったことがない人も多いのではないかなと思います。 そもそもポストプロセスエフェクトって何?と言う方も多いと思います。 簡単にいってしまうと SNS アプリで画像を投稿する際に写真を綺麗に見せる機能有りますよね?それです。最近はスマホのカメラアプリ自体にも搭載されてることが多いですよね。 実は Unity でも似たような事がもっと高品質に行えます。下記がポストプロセスエフェクト使用前、使用後の比較画像です。 どうですか?モデルデータ、テクスチャ、影など変えていないのにそれはもう PS2を PS4に買い換えたかのような違いが
CRS を Mirage Solo 対応にする 新 VR デバイスを試すならやっぱり、ユニティちゃん「 Candy Rock Star 」(以下、 CRS)ですよね! というわけでこれをサクッと Mirage Solo 対応にしていきます。 CRS の Project は Unity4.5系時代の物なので Unity2018で果たして動作するのだろうかという不安もありましたが Unity2018でもサクッと自動 API 変換が通りました。 Camera-DepthTexture シェーダーの修正 Unity4時代にはあったが今はなくなってしまったという項目がありそれが原因で「 Camera-DepthTexture 」の Build が通りませんのでサクッと該当項目削除します。 下記行数を削除してください。 117行目 TreeVertBark(v); 149行目 TreeVertLeaf
はじめに 今回は React + Redux といったイマドキの構成を使用し、2カラムの SPA(シングルページアプリケーション)を作成してみます。 なお Redux についての詳細な解説をすると長くなってしまうので今回は省略します。 環境 Node 8.9.0 Webpack 3.8.1 package.json { "name": "gaprot", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "dependencies": { "material-ui": "^0.19.4", "react": "^16.0.
はじめに 先日 "ARKit"で AR と VR の切り替えを試してみた。 という記事を書きましたが、今回はもっと広く ARKit の出来ることを紹介します。 ちゃんとした AR これまでも 拡張現実機能搭載! と謳ったようなアプリはありました。 ですが、ほとんどがカメラプレビューの上に画像や3D モデルを被せただけの なんちゃって AR でした。 ARKit で出来ることがこれまでとどう違うのかを説明していきます。 ARKit のプロセス ARKit の大まかなプロセスです。 端末のカメラとジャイロのみで空間座標の集合(ポイントクラウド)を生成するのが、特出しているところでしょうか。 このポイントクラウドと、それを利用した ARKit の機能が次になります。 ポイントクラウド(3次元座標の点集合)取得 平面の検出 ポジショントラッキング 現実空間への当たり判定(ヒットテスト) 現実空間と
初めに Unity5.6から Cardboard がネイティブに対応されるようになりました。 GoogleVRSDK も1.5から大きく仕様が変わり、 Unity の機能を用いて VR 化するようになりました。過去バージョンにあった GvrViewer も無くなりました。 GVR1.5からは、入力や視差設定の補助をするという形になってます。 しかし、それに伴う問題が多いと感じているので、実装が変わった所を中心に現状の解決方法を紹介したいと思います。 Unity5.6.1p2 + GoogleVRSDK1.6 で試しています。 (5.6.1p2から iOS の複眼の歪みが修正されています。) (5.6.2p1から GoogleVRSDK1.6のバグが改修されてます。) スプラッシュ画面 縦画面で表示する方法を説明します。 Android 、 iOS 共通です。 PlayerSetteing
アプリレビュー関係の新機能が続々登場! 先日、 iOS の新しいバージョンである iOS 10.3 がリリースされましたね!ギャップロでも、このリリースに合わせて Alternate Icons の記事を公開させていただきました。 iOS アプリのアイコンを申請なしですぐに変更?! Alternate Icons を試してみた 今回は、同じく iOS 10.3 から追加された レーティング入力用 API をはじめとする、アプリレビュー関係の新機能 を紹介したいと思います。 レビュー周りで追加された機能 今回のバージョンアップで追加・更新されたレビュー周りの機能は、以下の機能です。 アプリ内でレーティングを行うための API が追加された App Store のレビュー投稿画面を、アプリから直接開けるようになった レビューに対して、開発者側が返信できるようになった それでは、一つずつ見ていき
はじめに Android O いじってますか? Developer Preview 1 版がリリースされたのがつい先月ですので、「ガンガンいじってるぜ!」という方は、まだそれほど多くはいらっしゃらないと思います。 今回は、そんな生まれたての Android O の新機能である、通知チャンネル(Notification Channel) についてご紹介したいと思います。 本記事は、2017年 3月に公開された Developer Preview 1 時点での情報を元に作成しております。 今回ご紹介した内容は、正式版のリリースまでに変更される可能性があることにご注意ください。 最新の情報は公式ドキュメントをご覧ください。 通知チャンネル (Notification Channel) とは何か Notification Channel とは、 Android O から導入された新機能の一つです。
アイコンを変えたくなったら申請しなきゃ アプリを作っていて、ホーム画面に表示されるアプリのアイコンを変更したくなったことはないでしょうか? デザインを大幅にリニューアルするということならともかく、イベントや期間限定の演出として一時的に変更したいという場合でも、 iOS の場合は、 Apple に対してアップデート申請と審査を行わないといけません。 実際、デザイン変更を演出の一部としている LINE などのアプリは、都度アプリがバージョンアップされています。 しかしバージョンアップを行うとなると、審査期間やリジェクトリスクなどがつきまとうため、スピーディーな変更には対応できない可能性もありますね。 しかし、 iOS10.3 から、アプリのアイコンを任意のタイミングで変更できるようになりました。 ここでは、その設定方法などを紹介していきます。 Alternate Icons について 今回紹介
はじめに Android 開発をしていてアプリ内に DB を設けることは多々あると思いますが、Android 標準の SQLite を使用すると非常に面倒なうえに、 妙にややこしいせいで思わぬバグを呼んでしまうこともあるかと思います。 その打開策として、ライブラリに任せて直感的に実装を進めていくわけですが、様々なライブラリの中でどれを選択すれば良いのか迷うこともあるのではないでしょうか? 今回はそういった方のために、どのライブラリを使用すべきか、 使いやすいものはどれか、初心者ならどれが使いやすいか。 などの観点で、ライブラリの特徴や使い方についてまとめてみました。 紹介するライブラリ 今回紹介するライブラリは以下の 4 つになります。 ActiveAndroid SquiDB Orma Realm これらに関して、簡単な使い方や概要を説明していきます。 ActiveAndroid Act
かなり今更ではありますが、 Skype4py で skype bot を作る機会があったので、簡単な例としておみくじ bot を作成する手順を紹介します。 【環境】 Windows7 + VirtualBox 5.0.16 + Ubuntu 16.04 + Python 2.7.11 【 bot の仕様】 bot アカウントに「おみくじ」と打つと、おみくじの結果を返す。 それでは実際に作成してみましょう。 1.Ubuntu に Skype4py をインストール $ sudo easy_install Skype4Py easy_install が入ってない場合は、先に easy_install をインストールしましょう。 easy_install は setuptools に含まれています。 $ sudo apt install python-setuptools 2.Ubuntu に S
はじめに 最近は機械学習という言葉、とくにDeepLearningなど耳にした方多いかと思います。 機械学習(Machine Learning)とは、沢山のデータから様々な手法、規則にを利用して解析を行い、ある特定の検知・分類・判定を行うような仕組みです。 機械学習は身近なところにも存在します。 あなたにおすすめの商品/こちらの商品を買った人はこちらの商品を買っています 画像認識 音声認識 スパムフィルタ 異常値検知 チェス・将棋のAI さらに、下記のような機械学習のクラウドサービスが出てきて個人でも容易に動かせるようになりました。 Azure Machine Learning Amazon Machine Learning これらのサービスのおかげで、物理的リソース(マシン)も実装リソース(機械学習部分の実装)も 昔では考えられないくらい簡単になり、手を出しやすい分野になりました。 ただ
近年、Web アプリケーション(以下Web)とネイティブアプリケーション(以下アプリ)の連携は当たり前になってきました。 Webからアプリを呼び出すときは、URL スキームを使います。 実装も簡単なので便利です。 アプリの起動 Web 側の実装 Android の URL スキームは通常、未インストールの場合 Play Store に遷移しませんが、 Play Store に遷移させる事のできる URL スキームの記述方法があります。 今回紹介する URL スキームのフォーマットは、以下の通りです。 例では見やすいように改行と空白をいれていますが、実際にはひとつなぎの文字列として書いてください。 intent: HOST/URI-path // Optional host #Intent; package=[string]; action=[string]; category=[strin
はじめに 2016 年 9 月に UI フレームワークである Onsen UI のバージョン 2.0 が正式リリースされました。 Onsen UI は、 Cordova 上で動くことを想定された HTML5 ハイブリッドアプリ用の UI フレームワークです。 今回は、バージョン 2.0 で何が変わったのかとバージョン 1.x で作ったソースをバージョン 2.0 へ移行方法をお伝えしようと思います。 変更点 バージョン 1.x からの大きな変更点は、以下の二つです。 AngularJS 1.x への依存性の解消 iOS と Android でデザインの自動変更 AngularJS への依存性の解消 Onsen UI 1.x では、AngularJS への依存性が高く React などの他のフレームワークが使いづらい状態にありました。 そこで、バージョン 2.0 では各コンポーネントを Web
はじめに iOS9 で MetalKit が導入され、Metal を利用しやすくなりました。 今回は、MetalKit を使ったアプリの実装例とともに紹介したいと思います。 Metal とは Metal は、iOS8 で導入された、画像処理やデータ並列演算などを効率的に行うためのフレームワークです。 iOS 端末では、A7 以降の SoC を搭載していれば利用可能です。(iPhone 5s以降の端末やiPad Air以降の端末など) OS X 11.11 El Capitan からは、OS X でも使用できるようになりました。 MetalKit が登場するまでは、Metal を使用して描画するには UIView の Layer を操作したりと敷居が高く感じられました。 ですが、MetalKit が登場したことで Metal は使いやすくなりました。 Metal の類似技術として、以下のよう
今回はタイトルにもある通り、HTML5 + JavaScript で MPEG-DASH を再生させる方法についてお伝えしたいと思います。 MPEG-DASH とはというところからまとめてありますので、ぜひ読んでみてください。 実際の内容はスライドにまとめてあるので、そちらをご覧ください。
Kafka と ZooKeeper ZooKeeper の詳細 ZooKeeper は、分散アプリケーションのためのオープンソースの分散コーディネーションサービスです。ZooKeeper は Java で動作し、Java と C のためのバインディングが用意されています。 クラスタ (マルチサーバー) セットアップ ZooKeeper は奇数単位でアンサンブルと呼ぶクラスタを組みます。アンサンブルの過半数が動作している必要があるので、奇数台のマシンを使うのがベストです。たとえば 4 台のマシンを使う場合、ZooKeeper が対応できるのはマシン 1 台の障害までです。2 台のマシンに障害が発生すると、残りの 2 台では過半数にならないためです。5 台のマシンを使えば、ZooKeeper はマシン 2 台までの障害に対応できます。 その中の 1 台がリーダー選挙を通して全ての書き込みを調停
Androidアプリでレイアウトを作成するとき、ほとんどの方がXMLファイルを記述しているかと思います。 だた、ここから実際どのように表示されるのかをイメージするのは難しいのではないでしょうか? そこで今回は、レイアウト作成時のデザイン確認時に便利なTools属性(Tools Attributes)の使い方について紹介したいと思います。 導入 下記は、レイアウトXMLの一例です。 まずはTools属性が使用できるようにXML名前空間を記述します。 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_heig
はじめに 今回は、iOS の CoreBluetooth の一機能である iBeacon を Android でより実践的に使用する方法をお伝えしようと思います。 そこで使用するのが、AltBeacon と呼ばれるライブラリです。今回はこのライブラリを使用することになった経緯と共に使い方をまとめたいと思います。 やりたかったこと そもそも Android で iBeacon を使用することで実現したかった機能があります。それが以下の項目になります。 iBeacon のフォーマットをそのまま扱いたい 距離を計りたい 電力消費をコントロールしておいてもらいたい もしくは、そのためのチューニングが容易にできるにしたい Service で廻しやすい実装にしたい ライブラリの選定 先程あげた iBeacon を使用するための機能を実装しようとしてライブラリを色々と試した結果、以下の経緯で一つのライブ
はじめに Swift がオープンソースになってからいろいろと盛り上がっているので、その中からサーバーサイド Swift の一つである IBM の Kitura を紹介します。 注意事項 Swift 3 と Kitura はともにまだ開発中のため、新しいバージョンだと記載内容と異なる部分がある可能性があります。 ここで使用したバージョンは以下のとおりです。 Software Version Kitura とは IBM が開発した Swift 用の Web フレームワークです。 URL : https://developer.ibm.com/swift/products/kitura/ GitHub : https://github.com/IBM-Swift/Kitura Kitura の導入 適当なディレクトリを作成 作成したディレクトリの直下で以下のコマンドを実行 swift build
本記事は Android Studio2.2 preview2 時点での記事となります。 ダウンロードはこちらのページから可能です。 はじめに Android Studio 2.2で新しいLayout Editorと共に新しいレイアウトとしてConstraintLayoutが追加されました。iOSでいえば、XcodeのInterface BuilderとAutoLayoutに相当するものといえば解りやすいでしょうか? 今回はこの新しいLayout EditorとConstraint Layoutについて紹介したいと思います。 Android 2.3 (Gingerbread)以上でConstraintLayoutを使用できます。実際にはConstraint(制約)をViewに対して設定することによってレイアウトを決定します。これによってネスト構造を減らし、よりフラットなxmlを生成すること
本記事は Android Studio2.2 preview2 時点での記事となります。 ダウンロードはこちらのページから可能です。 はじめに Androidアプリ向けの統合開発環境(IDE)であるAndroid Studioがメジャーアップデートされ、様々な機能が追加・改善されています。 今回はそんなAndroid Studio 2の新機能について紹介します。 Instant Run Android Studio2.0にてInstant Runという機能が追加されました。 Instant Runは開発中の動いているアプリを再インストールすることなく、実行したまま動的に修正を反映することができる機能です。Instant Runを用いることで作業時間を短縮し、開発効率を上げることが可能です。 実機・エミュレータ共にこの機能を使うことが可能ですが、APIレベルは15以上、debugビルド時のみ
みなさんこんにちは、クリエイティブ部でデザインを担当しているさーやです。昨今、プロトタイピングはアプリ開発において重要なステップのひとつになっていますよね。 これに合わせてプロトタイピングツールも数多く登場し、さながら戦国時代の様相を呈しております。 そのひとつ、Pixate は高機能かつリッチなアニメーションが利用できるツールとして注目されています。 POP や prott と比較して機能が豊富な一方、複雑かつ設定できる項目が多いため、ややとっつき辛い印象を持っている方もいるのではないでしょうか? 公式のユーザーガイドやチュートリアルも用意されていますが、いまのところ英語のみのようです。 英語ができる人なら問題ないと思いますが、私のように学生時代の英語の成績が目も当てられなかった人はツライ事この上ないですよね… そんな私ですが、「それでも Pixate 使いたい!」と思い立ち、その成果を
Cordovaとは Cordova(旧PhoneGap)は、HTML5/CSS/JavaScriptといったWebのクライアントサイド技術でモバイルアプリを制作するためのフレームワークです。 通常、iOSやAndroidのアプリ開発には以下のように異なるネイティブ言語と開発環境を利用しなければなりません。 OS ネイティブ言語 開発環境 そこで、プラットフォームに依存しないアプリを制作するための手法として、最近注目を浴びているのがCordovaです。 Cordovaでは、HTML5で作成したソースコードをWebView上で実行する仕組みにより、 ワンソースでマルチプラットフォームに対応したアプリを制作することができます。 また、ネイティブコードからしか実行することができない、 カメラやコンパスなどの端末固有の機能へのインターフェイスも提供されています。 これにより開発者はネイティブコードを
この記事は、Android Studio 1.1.0 時点での情報を元に作成されています。 Android Studio 2 の新機能についてはこちらの記事をご覧ください。 はじめに 前回に引き続き、Android Studio についての特集になります。 今回は、より実践的でマニアックな内容になっております。それでは早速見て行きましょう。 Gradle Android Studio の元になった IntelliJ IDEA が採用しているビルドツールが Gradle です。そのため Android Studio も、もちろん Gradle を採用しています。 Gradle とは Gradle は、Java 環境におけるビルドシステムであり、従来のビルド環境と比べ、様々な改善が施されています。特徴としては以下のような物があります。 あらゆる目的に使用できる汎用ビルドツール Maven のよ
iOS7から追加された Multipeer Connectivity は、複数台での擬似的なP2P通信を行うための仕組みです。これにより近距離でのデータ通信を、サーバを介さずに行うことができます。 この Multipeer Connectivity は、NSData 型のデータを送信することができます。そのため、シリアライズ・デシリアライズの機構さえきちんと作成することができれば、画像や音声など、実質どのようなデータでも送ることが可能です。 これらのメリットを活かす事により、リアルタイムのチャット機能や、更にはホワイトボードの画面を共有するようなアプリ、簡単な資料を共有することだってできてしまうでしょう。 では早速この新機能を試してみましょう! Multipeer Connectivityで通信を行うまでの流れ Multipeer Connectivity を利用して通信を行う方法について
次のページ
このページを最初にブックマークしてみませんか?
『ギャップロ - アプリエンジニアのための技術情報サイト -』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く