サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ドラクエ3
blog.techfirm.co.jp
昨今、機械学習やディープラーニングが結構浸透してきていると感じます。 しかしいざ勉強しようと思うと、必要な前提知識が結構あったり、数式が出てきたりと難しい部分もあり、 どこから手を付けて良いのか、なかなか分かりにくい分野です。 統計学や数学を真面に勉強しようと思うと、それだけで年単位の時間がかかってしまいます。 必要最低限な知識に絞って、どういう順番で何の勉強をすると学習がスムーズかを、お勧めの書籍とともに紹介したいと思います。 ・前提知識:Python 機械学習の勉強する前に、先ずPythonの知識がないと厳しいです。 Pythonは、ディープラーニングのTensorFlowや機械学習のscikit-learn、統計ライブラリのpandasなど、ライブラリが豊富です。 また、多くの本はPythonで書かれているので、Pythonが読めないと辛いと思います。 ・機械学習の感覚を掴む 機械学
Android Oで色々と機能が追加されたので、色々試してみたいですが、先ずは「Android O Features and APIs」の冒頭で紹介されているNotificationsのNotification Channelsを試してみました。 以前の投稿でAndroid Studio 2.4 Preview3のインストールとPixelエミュレータの起動まではできたので、その環境で実装していきます。まぁ、基本的には公式のサンプル通りですが。 Android Studioのメニューから「File > New > New Project」と選択して適当にプロジェクトを作ります。プロジェクト名は分かりやすく(?)「Oreo」にしました。Activityの種類は「Empty Activity」にしました。 途中、Android Studioのアップデートがあるというポップアップが表示されたので、
Android Oの公式資料(Migrating Apps to Andriod O)見てたら、既存アプリのAndroid O互換検証について「品質ガイドラインを再確認するいい機会ですね」みたいな事が書いてあったので、実際に見てみました。 ●Core app quality https://developer.android.com/develop/quality-guidelines/core-app-quality.html 「こういう試験観点に対してはこういう手順で試験を実施してください」的な内容がまとまってるんですが、試験手順の表だけざっと自分なりに和訳してみました。 試験種別 試験ID 詳細
2014年に「良いAndroidアプリを作る139の鉄則」という本を出したのですが、この度その改訂版が出ました!「Androidアプリ開発の極意」です! https://www.amazon.co.jp/dp/4774188174/ 実際の印刷物は緑の部分が割と明るめでした。 前の本に記載した内容も、いまだに活用可能な部分は多いのですが、より新しい情報をしっかり詰め込みました! 以下のような章構成になっています: 第1章・開発を円滑に進めるためのコツ 第2章・意図しない動作を回避する 第3章・強制終了しないアプリを作る 第4章・ユーザーにストレスを感じさせないアプリを作る 第5章・マルチスレッドを使いこなす 第6章・不必要な処理を切り分ける 第7章・重要なデータを守る 第8章・機種依存を考慮した設計と実装 第9章・品質向上のための開発とテスト 第10章・Google Play でアプリを安
こんにちは、KID.Aです。 今回はCoordinatorLayoutの説明と実装をします。 CoordinatorLayoutはDesign support Libraryに含まれるレイアウトです。 Design support Libraryはデザインのサポートライブラリーで、v22.2より マテリアルデザインをサポートするコンポーネントがいくつか追加されています。 既に色々なサイトでDesign support Libraryの紹介がありますが、簡単にCoordinatorLayoutを説明をしようと思います。 CoordinatorLayoutは2つの役割があります。 ・最上位のアプリケーションの装飾レイアウト ・1つ以上の子ビューの相互動作を定義するためのコンテナー CoordinatorLayout.Behaviorが定義されていると、CoordinatorLayoutの子ビュ
こんにちは、KID.Aです。 今回もVoice Actionsの記事になります。 Android Mでは音声会話を構築するAPIが登場しており、音声操作で立ち上げたアプリを音声で操作できるようになっています。 ・Voice Interaction APIのガイドは以下のURLに記載されています。 https://developers.google.com/voice-actions/interaction/voice-interactions イメージがつきやすいようにまずは実行のイメージを載せます。 実行 以下はCameraで立ち上げた場合の音声会話の例になります。 Googleアプリの音声コマンドからCameraのアプリが立ち上がり、音声操作で写真を撮るアプリになります。 google I/O 2015のcodelabsのアプリを使用します。 下記のアプリをインストールします。 htt
こんにちは、KID.Aです。 今回の記事はGoogleのVoice ActionsのSystem Voice Actionsの実装方法と実行結果について記載していこうと思います。 Voice Actionsはユーザが音声コマンドでアプリを利用できるようにすることができます。 Voice Actions 説明は以下の開発サイトになります。 ・Voice Actionsの開発サイト https://developers.google.com/voice-actions/ System Voice Actions Googleの音声操作は会話を認識してAndroidのインテントを発行します。アプリはアクションのサポートを宣言することができます。 具体的なイメージはGoogle Nowで検索された際に特定のキーワードがあれば暗黙的intentを発行してくれます。実装は暗黙intentのアクションを
こんにちはKID.Aです。 今回もBLEの記事になります。 Android 5.0からBluetoothLeScannerというクラスが追加になり、BLEデバイスの検索やフィルターが簡単に実装できるようになりましたので実装方法を紹介していこうとおもいます。 下記はBluetoothLeScannerのAPIのリンクになります。 ・開発サイトのAPI http://developer.android.com/intl/ja/reference/android/bluetooth/le/BluetoothLeScanner.html それでは実装をしていきます。 マニフェストに追加 AndroidManifest.xmlに以下を追加します。 <uses-permission android:name="android.permission.BLUETOOTH"></uses-permissio
こんにちは、KID.Aです。 前回の記事ではペリフェラルのアドバタイジングデータの発信を実装しました。 今回はペリフェラルのデータ通信の実装をしていきます。 まずは、データ通信を行う際はアドバタイジングで設定するsetConnectableをtrueにします。 AdvertiseSettings.Builder settingBuilder = new AdvertiseSettings.Builder(); settingBuilder.setConnectable(true); これでデータ通信が可能になります。 BluetoothGattServerの実装 ペリフェラルにはBluetoothGattServerを使用してサービス登録やデータのやり取りを行います。 ・開発サイトのAPI http://developer.android.com/intl/ja/reference/and
こんにちは、KID.Aです。 今更ながらですが、5.0からの追加されたBLEのペリフェラル側の実装を記載します。 BLEのペリフェラルはアドバタイジングパケットを発信できます。 今回はアドバタイジグパケットの発信までを実装します。 ちなみにAndroidのセントラル側の実装は過去の記事に記載しています。 アドバタイジングパケットを発信するためにはBluetoothLeAdvertiserが必要です。 ・開発サイトのURL http://developer.android.com/intl/ja/reference/android/bluetooth/le/BluetoothLeAdvertiser.html では実装の手順、説明をしていきます。 1.AndroidManifest.xmlに以下を追加します <uses-permission android:name="android.per
先日、Kotlinが1.0-betaとなりました。(The Kotlin Language: 1.0 Beta is Here!) そろそろ1.0リリースも見えてきていますし、GitHub上のKotlin LOCもどんどん増加しています。 Kotlinを始めてみるにはいい時期じゃないでしょうか。 今回はKotlin…ではなく、Android Studioのプラグインである「Kotlin Android Extensions」で提供されている機能について説明します。 ・Kotlin Android Extensionsとは 「Kotlin Android Extensions」は、「findViewById書くの面倒。どうにかしてよ、これ。たまにNPEも出るし…」問題に対応したAndroid Studio(Intelli J)のプラグインです。 最近のAndroidアプリ開発でfindVie
こんにちは、KID.Aです。 今回はAndroid 6.0から導入されたApp Linksについて紹介したいと思います。 通常、ウェブサイトのURIが選択された場合、ユーザに対してChooserによる選択肢が提供されますが、関係の無いアプリまで候補に出てきて何を選択して良いのか分かりにくい場合が多いです。 App Linksはそんなことにならないように、ユーザに親和性が高いアプリをリーチさせることできる機能です。 以下はAndroid DeveloperサイトのApp linksの扱いについて記載されています http://developer.android.com/intl/ja/training/app-links/index.html こちらの動画で実装方法の説明しています。 https://www.youtube.com/watch?v=LQoohRwojmw&feature=yo
こんにちは、KID.Aです。 今回もCamera2はAPIで気をつけなければいけないことを記載します。 Android LからCameraがdeparicatedされて、Camera2を使わなければいけないことになりました。 Camera2はCameraのAPIのよりできることもだいぶ増えました。しかしいいことばかりではなく、CameraのAPIなら意識しなくてもいいことがCamera2のAPIでは意識しなければいけない点もでてきています。その1つとして、写真を撮影した際の撮影音になります。 Camera2では基本的には撮影時(CaptureSession#capture)に撮影音が鳴りません。そのため、MediaAcionSoundのAPIを使って撮影音を鳴らさなければなりません。 ・開発サイトのMediaAcionSoundのAPI http://developer.android.c
今回はKotlinシリーズの2回目、Data Classについて説明します。 Javaの「なんとなく面倒だな…」と思うところを補填してくれる機能なので、Kotlinを使うきっかけになればと思います。 Data Classとは Data Classは簡単に言うと、データを保持することのみを目的としたクラスを簡単な定義で作成することができる機能です。 例えば、ユーザの名前と年齢を保持するクラスをJavaで簡単に書くとしたら、 public class User { public String name; public int age; } こんな感じでしょうか。 実際につかってみると、 fun main(args: Array<String>) { val user = User() user.name = "hoge" user.age = 10 println("User object:
こんにちは、KID.Aです。 最近、Camera周りの記事が多かったため、ここら辺で違う記事を書こうと思います。 ちょっと古いですが、API Level 21(L)から追加されたJobSchedulerの記事になります。 Android開発者ならおそらく知っていると思いますが、API Level 21(L)から追加されたJobSchedulerというものがあります。 開発サイトのAPI https://developer.android.com/intl/ja/reference/android/app/job/JobScheduler.html Lから追加されておりますが、サポートライブラリーなどに組み込まれておらず2.3や4.0から対応させているアプリ開発者はあまり使う機会ないというのが現状だと思います。 ただMがリリースされてこれからKitkat以前のバージョンが減ってきたらJobS
こんにちは、KID.Aです。 以前、Cameraのプレビューサイズとピクチャーサイズの比率の検証でプレビューサイズとピクチャーサイズの比率が同じでも撮影中と撮影後の写真が異なってしまう機種があることや、比率によって撮影前と撮影後で縦・横の両方が写らないパターンがあるということを記載しました。 これらの機種依存や現象について記載していきたいと思います。 プレビューサイズとピクチャーサイズの比率が同じでも撮影中と撮影後の写真が異なってしまう現象について P-02D(4.0.4)で試した際に比率が同じだけど、なぜかプレビューサイズがきれてしまうという現象がありました。 下記の図のように4:3同士なのにプレビューサイズが720 x 540の場合は、プレビューサイズの画像の一番下がピクチャーサイズに比べて少し切れているのがわかります。 ※写真をとったときにぶれてしまったのでピクチャーサイズが多少ぼや
今年はKotlinがくる…と社内で言い続けて、もう10ヶ月。私達のような受託開発をメインにしている会社では、なかなか実案件に投入するのが難しいところかと思います。 (なにしろ、Ver.1.0にもなってないものを使うのかというところでひっかかる人達もいらっしゃるので…) そんな中、今回を含めて数回でAndroidアプリの開発現場でKotlinを利用すること得られるメリットを紹介したいと思います。 Kotlinの使い方や「Hello, world.」などは http://kotlinlang.org/docs/tutorials/ を読んでいただければと思います。 今回はその中のNull-Safetyについて紹介します。 Null-Safetyとは NullPointerException…甘美な響きですね(笑)。 正直な話、「ぬるぽ」はテストフェーズで発生する不具合の原因となる例外の一つです
こんにちは、KID.Aです。 今回のブログはAndroidのCameraのパラメータ設定で気をつけなければいけないことを記載します。 AndroidのAPIを使ってカメラアプリを作る際に2つの方法でアプリを作成できます。1つ目はIntentを使ってカメラアプリケーションと連携する方法で、2つ目はCamera(5.0からはCamera2)のAPIを使って自前のカメラを実装する方法です。 撮影後の写真を加工したいだけなら1つ目の方法で大丈夫ですが、リアルタイムに画像を取得して加工したい場合や自作カメラを作る場合は2つ目の方法をとることになります。 2つ目のCameraのAPIを使う場合、以下の点に注意が必要になります。 ・プレビューサイズとピクチャーサイズの比率に気をつける 比率を意識しないと思わぬ罠にはまってしまいます。 CameraのAPIを使用した方ならわかると思いますが、Cameraの
こんにちは、KID.Aです。 前回の更新からだいぶ期間が経ってしまいました。 今回もGoogle Glassの開発に関しての記事で、アプリからカメラを使用します。 通常のAndroidの場合ですとIntentを使用してカメラを呼び出しますが、Google Glassでも同じです。 異なる箇所は、結果がonActivityResultに返却された場合に、Intentsの定数を使用してデータを受け取る箇所です。 実装方法 今回はgoogle のサンプルソースを動かします。 https://developers.google.com/glass/develop/gdk/camera ※コメント追加や、CameraManager.EXTRA_PICTURE_FILE_PATHをIntents.EXTRA_PICTURE_FILE_PATHに変更したり(Depricatedになっているため)、若干修
こんにちは、KID.Aです。 今回はGoogle Glassでイベントの取得方法に関する記事を書きます。 イベント取得できれば、ユーザの操作を検知するアプリを作ることができます。 Google Glassでアプリを作る場合は、Android端末で作るアプリと異なり、ディスプレイのタッチがありません。代わりにタッチパッドを使用して、操作を行います。また、Google Glassはキャプチャーボタンなどのハードキーを持っています。 上記のイベントに関して、キーイベントとジェスチャーで取得する方法を説明していきます。 キーイベントを使用する キーイベントは以下のように、定義されています。 KEYCODE_BACK 実装方法 public class MyActivity extends Activity { ... @Override public boolean onKeyDown(int k
こんにちはKID.Aです。 今回はLiveCardを使って、timelineに表示するアプリを作ってみます。 まず、実装の前にGoogle Glassの基礎動作やUIについて説明します。 基本動作 Google Glassを起動すると下記のホームが表示されます。 右スワイプで過去の情報、左スワイプで現在/未来の情報や設定画面に遷移できます。 これらの軸をtimelineと呼びます。 UI要素について ・Static card テキスト、HTML、画像、ビデオなどを表示する。live cardsかimmersionsを実装できます。 ホームからタップを押下して、static cardが表示されます。 ・Live card 高頻度でレンダリングしたり、現時点で重要だったりするカードを表示します。 例えば、ストップウォチやカレンダーなどを作成する際に利用します。 動作は、上記のようにServic
こんにちは、KID.Aです。 今回は簡単なアプリ実装について説明致します。 下記のHello World!をGoogle Glassで表示するアプリを作成しようと思います。 まず、Google Glassのために設計されたアプリやサービスのことをGlasswareといいます。 GlasswareはGlassの開発でよく出てくるワードなので覚えておきましょう。 Glasswareの開発の方法 Glasswareを作るためには2種類の開発方法があります。 1つめは、GDK(The Glass Development Kit)を使用する方法です。 GDKはGoogle Glassのための開発キット、Android開発で使用するSDKからアドオンすることができます。 Android SDKからGlass上にGlasswareを直接インストールして実行できます。 2つめは、Mirror APIを使用
こんにちはKID.Aです。 つい先日の話ですが、ついにテックファームもGoogle Glassを手に入れました。 今回はGoogle Glassの開封と起動までの説明をしたいと思います。 Google Glassについて wikipediaでは以下のように記載されています。 Google Glass(単にGLASS)とはGoogleがProject Glassという研究開発プロジェクトで開発しているヘッドマウントディスプレイ(HMD)方式の拡張現実ウェアラブルコンピュータである。 Gooogle Glassは以下の機能が利用できます。 デジタルカメラ タッチパッド 各種センサー(加速度、方向、重力など) ストレージ(16 GB [12 GBを利用可能])[ Wi-Fi Bluetooth 音声認識 2014年4月15日に、アメリカにて1日限定でGlassが販売されました。その際に、渡米して
こんにちは、KID.Aです。 今回は、少し古い情報ですが、アップさせていただきます。 Android support Library v7からActionBarActivityが登場しました。 今までActionBarを2系バージョンで使用する場合は、ActionBarSherlockなどのオープンソースを使用していたと思いますがActionBarActivityのおかげで、オープンソースを使用しなくても、2系バージョンでもActionBarが使えるようになりました。 ActionBarでできること ・メニュー ・ドロップリスト ・タブ 実装 使用方法は特別難しくありません。 すでに最近のEclipseではAndroidプロジェクトを作成すると、デフォルトでActivityではなく、ActionBarActivityで作成されます。 通常は、以下の画面でテーマにAction Barをいれる
こんにちは、ゴールデンウィークは引きこもって大好きな映画を見ていたmanaです。 今回は、AndroidとiOSを使用して、Bluetooth LEを使ってデータのやりとりを行います。 といっても、「[iOS] Bluetooth LEでデータのやりとり」でiOSのBluetooth LEの使い方を説明しましたので、AndroidのBluetooth LEの使い方の説明がメインになります。 Bluetooth LEの説明については「AndroidでiBeaconを発見する」を参照してください。 ペリフェラルとセントラルについて Androidは現在、ペリフェラルになれません。Androidを使用する場合はセントラルとしてしか使用できません。 ※Android5.0からアドバタイジングできるようになり、ペリフェラル側の実装ができます。以下の記事で紹介しています。 ペリフェラル側のアドバタジン
こんにちは、最近プロジェクトが忙しくて映画を見れていないmanaです。 今回は、iOSでBluetooth LEを使ってデータのやりとりを行いたいと思います。 Bluetooth LEの説明は「AndroidでiBeaconを発見する」を参照してください。 実際にデータのやりとりする場合は、役割としてペリフェラル、セントラルにわかれます。 セントラル(中心機器)、ペリフェラル(周辺機器) 機器には「役割」があります。その役割に「セントラル」と「ペリフェラル」があります。 例えば、iPhoneをセントラル、iBeaconなどの周辺装置をペリフェラルとするとイメージしやすいです。 ペリフェラルはアドバタイジング(「宣伝」)パケットを常に発信しており、セントラルは一定範囲内に入ると、ペリフェラルからの通知を受け取ることができます。 通信 ペリフェラルからセントラルにアドバタイジングパケットで通知
映画が大好きなmanaです。 iOS 7が発表されてから、巷ではiBeaconというものがはやっております。 iBeaconはBluetooth LE(Low Energy)の技術を使用して、「ビーコン」となる発信器を、近距離で検知できる機能になります。 その「ビーコン」をAndroidでBluetooth LEを使用して取得するまでを紹介していきます。 そもそもBluetooth LEとは? Bleutooth 4.0規格で用意されたのがLEモードです。 4.0と1.0~3.0(クラシック規格)で互換性はありません。 Bluetoothを搭載した各製品に以下のロゴが授けられます。 iPhone4S、iPhone5、iPhone5Sなどは「Bluetooth Smart Ready」が使用されており、クラシックと4.0がデュアルで使えます。 Bluetooth LEの特徴 大きく2点あげら
こんにちはKID.Aです。 Kitkatがリリースされてからもう1カ月近くたってますね。 ラボではあまりKitkatのネタを紹介していないので、これから少しずつ紹介できたらいいと思います。それではAndroid 4.4から追加されたAPIの紹介をしていきます。 フルスクリーンの説明 今まで、下記のようなシステムバーとナビゲーションバー(赤丸箇所)をSYSTEM_UI_FLAG_HIDE_NAVIGATIONとSYSTEM_UI_FLAG_FULLSCREENを使って隠すことはできました。 下記の画像はSYSTEM_UI_FLAG_HIDE_NAVIGATIONとSYSTEM_UI_FLAG_FULLSCREENを使用した場合です。 しかし、1点でもタップすると、すぐにシステムバーとナビゲーションバーが再表示されてしました。 それが、タッチされても再表示しないAPIが追加されました。これで全
こんにちはKID.Aです。 今回の記事はネタ的な話になりますが、Android好きな人は是非ともご覧ください。 Kitkatリリース当時に社内で盛り上がったことを紹介します。 隠し機能 Androidはバージョンがリリースする度に、開発者を楽しませてくれる隠し機能があります。 以下は手順になります。 (1) 「設定」⇒「タブレット情報」でタブレット情報を表示します。 ※タブレットで試しているため、タブレット情報と表示されていますが、フォン型の場合、「端末情報」と表示されます。 (2) 「Androidバージョン」を3回以上連続でタップしてください。 ここですてきなサプライズを用意してくれています。 今回はKitkatなのでKの文字が回転する画面がでてきました。 そして、画面を長押すると、Kitkatっぽいのロゴがでます。 さらに画面を長押すると、歴代のアイコンとマスコットキャラがでます。
次のページ
このページを最初にブックマークしてみませんか?
『Lab | テックファームラボブログ』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く