タグ

ブックマーク / techbooster.org (15)

  • ネットワーク通信用ライブラリVolleyを使いこなす | TechBooster

    Androidネットワークプログラミング用ライブラリ「Volley」を解説します。 モバイルアプリを開発するにあたってネットワーク通信の知識は欠かせないものとなっている一方、ネットワークプログラミングの世界にはキャッシュや高速化、データ取得やキャンセル処理などプログラミングテクニックが多数存在してます。これらの課題を効率的に解決する方法がVolleyライブラリです。 Volley公式ページ https://android.googlesource.com/platform/frameworks/volley/ Volleyの機能紹介とともにキャッシングやキャンセル処理などネットワークプログラミングに欠かせない処理をVolleyの実装をつかって順番に解説していきます。 非常に長い記事ですので始めに理解を深めるための内部処理を紹介します。APIなど詳細は記事の途中で随時解説します。 ネットワー

    ネットワーク通信用ライブラリVolleyを使いこなす | TechBooster
  • Android 5.0 Lollipopの開発者オプション詳細解説 | TechBooster | TechBooster

    13項目がデバッグとしてまとめられています。「疑似ロケーションを許可」では疑似的な位置情報の利用を許可します。位置系アプリケーションでは便利な機能です。「デバッグアプリを選択」は項目名からはわかりませんが、アプリケーションの起動前にデバッガをアタッチできる機能です。「Wi-Fiを強制的にモバイル接続に切り替える」は優先的にモバイルデータ通信を利用します。 View HierarchyでView構造をチェックする 開発者オプションのなかに「表示属性検査を有効にする」という不思議な項目があります。これは英語表記のほうがわかりやすいかもしれません。英語では「Enable view attribute inspection」、Viewクラスの属性情報を監査するという意味だと思いますが、直訳したのでしょう。 利用には、チェックボックスを有効にしてから、Android Studio(またはEclips

    Android 5.0 Lollipopの開発者オプション詳細解説 | TechBooster | TechBooster
  • Android 5.0 Lollipopが発表、開発で気になるLollipopの新機能と特徴 | TechBooster

    2014年10月16日(日時間)、GoogleはブログでAndroid 5.0 Lollipopを発表しました。 Android 5.0 Lollipopは、6月26日に公開されたAndroid L Previewの正式版の位置づけです。Android 5.0 SDKも10月17日の公開が予告されています。 Google Official Blog : Android: Be together. Not the same. Android Developers : http://developer.android.com/index.html Android 5.0 Lollipop(ロリポップ)に合わせてNexus 6 / Nexus 9 / Nexus Playerも発表されました。 スペック等はこちらから Nexus Player : Android TV搭載のセットトップボックス

    Android 5.0 Lollipopが発表、開発で気になるLollipopの新機能と特徴 | TechBooster
  • マルチユーザ対応 Android 4.2以降の内部ストレージと外部ストレージ | TechBooster

    getFilesDirで取得できるPath以下にファイルを作成する。第1引数にファイル名、第2引数にアクセスモードを指定(MODE_PRIVATEが一般的)する。 ActivityクラスのgetFilesDirメソッド、getCacheDirメソッドを使うと端末で指定されているアプリケーション専用のデータ領域を取得できます。 ログにパスを出力するだけの簡単なサンプルコードを用意しました。実行してマルチユーザ時の挙動を確認してみましょう。 //アプリケーション専用データ領域 //ファイル保存ディレクトリ Log.d("Multi", " getFilesDir(): " + getFilesDir()); //キャッシュ保存ディレクトリ(消去される可能性あり) Log.d("Multi", " getCacheDir(): " + getCacheDir()); ※ちなみにCacheDirは

    マルチユーザ対応 Android 4.2以降の内部ストレージと外部ストレージ | TechBooster
  • Android 画面上にアプリの情報を常時表示する方法 | TechBooster

    アプリを開発するとき、Android端末の画面上で常に情報を表示させたいというようなケースもしばしばあるかと思います。 たとえば、Android 4.0の開発者向けオプションで有効にすることができるCPU使用状況の表示機能は 有効にしておくと下図のように端末のCPU状況が常に画面上にオーバーレイ表示されるようになります。 アプリでも同様の事ができればNotificationやToastなどといったしくみ以上に、ユーザに対して情報を効果的に提供することができます。 今回は常に画面上に情報を表示する方法について紹介します。 ただし、後述するように、今回ご紹介するHowToはAndroid端末の画面を上書きする形でアプリのViewを表示するので、使い方を誤ると端末を操作できなくなる可能性があるので、画面設計は慎重に行うようにしましょう。 それではつづきから詳しい解説です。 Androidの表示レ

    Android 画面上にアプリの情報を常時表示する方法 | TechBooster
  • Google I/O 2013 Android Studioが登場 | TechBooster

    Google I/O 2013 KeynoteAndroidの新しい開発環境が登場しました。 名前は「Android Studio」。 詳細はこちら: http://developer.android.com/sdk/installing/studio.html (05/16 04:16追記) IntelliJベースの統合開発環境です。 非常に強力なレイアウト確認機能を備えており、レイアウトのライブコーディングはもちろん、たくさんの解像度、画素密度(dpi)を一気に確認でき、さらに英語と日語の同時確認など多言語表示もできるなど非常に強力な機能を備えています。 ひつじ(mhidaka) Software Engineerだよ。DroidKaigi Organizer / Androidと組込とRe:VIEW。techbooster主宰。mhidaka's writings http://

    Google I/O 2013 Android Studioが登場 | TechBooster
  • TwitterでPIN番号認証を行う | TechBooster

    TwitterでOAuth認証を行う1,2,3ではブラウザからのIntent起動を利用してOAuthを実現しました。 今回はtwiccaなどで使用されているPIN番号(暗証番号)を使用した認証方法を紹介します。 PIN番号認証はIntentを使った認証よりも実装が容易であるというメリットがあります。 詳細は以下から。 サンプルについて この記事でのサンプルはイカのような内容になっています。 ソースコード AuthTwitterActivity.java:PIN番号認証を行うActivity レイアウト auth_twitter_activity_start.xml:認証用ブラウザを開くための同意画面 auth_twitter_activity_type:PIN番号認証を行う画面 アプリケーションをTwitterに登録する Twitterと連携したアプリケーションを作成するにはTwitter

    TwitterでPIN番号認証を行う | TechBooster
  • SearchViewを使用してListViewのアイテムにフィルターをかける | TechBooster

    Android3.0(Honeycomb)からSearchViewという検索ボックス風のViewが追加されました。 このViewは検索機能を実装するための非常に便利な機能が備わっています。 今回はこれを使用してListViewのアイテムにフィルターをかける方法を紹介します。 ※現在公開されているHoneycombのSDKはプレビュー版の為、正式版では実装が異なる可能性があります。 詳細は以下から。 SearchViewとListの配置 まずはSearchViewとListViewをActivityに配置していきます。 以下はサンプルのデザイナファイルの内容です。(サンプルはこちらからSVN等を使用してダウンロードして下さい。) main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http:

    SearchViewを使用してListViewのアイテムにフィルターをかける | TechBooster
  • Androidでタブを用いた画面を作成する / Getting Started | TechBooster

    Androidでは、下図に示すように、タブを利用して画面に表示する内容を切り替えることができます。 図:タブを切り替える(firstTab→secondTab) Androidではタブを簡単に使用するための仕組みとして、TabActivityが用意されています。 今回はこのTabActivityを利用して、タブを利用した画面を作成します。 ポイントは以下の点です。 タブを利用する際に使用するレイアウトファイルの構成 タブを使用する際に必要な主要クラス(TabHost、TabSpec) タブに表示する内容(View)の動的な生成 以上の3点に重点を起きながら、解説を進めていきます。 それでは続きをどうぞ レイアウトの構成 まずはタブを利用するためのレイアウトファイルの構成について解説します。 タブを利用する際のレイアウト構成(アウトライン)は以下のようになります。 main.xml 図:タブ

    Androidでタブを用いた画面を作成する / Getting Started | TechBooster
  • Settingsアプリで設定した内容を、アプリケーションから取得する | TechBooster

    全てのAndroid端末には、標準でSettingsアプリ(設定アプリ)がインストールされており、 SettingsアプリでWifiのOn/Offや、通知音など様々な設定を行うことができます。 エントリでは、Settingsアプリで既に設定済みの情報を取得する方法を紹介します。 Settingsアプリケーションの設定値を取得することで、作成するアプリケーションで必要な設定項目の状態を確認することができ、 もし、必要な項目がOFFになっている場合などには、SettingsアプリをIntentで呼び出すなどの手段をとることができます。 それでは、続きにて詳細な利用方法を紹介していきます。 取得できるデータの種類 Settingsアプリで設定した情報の内で、取得できる情報の例に以下の表を用意しました。 [table “149” not found /] 他にも、紹介しきれない程の取得出来るデー

    Settingsアプリで設定した内容を、アプリケーションから取得する | TechBooster
  • データを簡単に保存する方法(シリアライズ編) | TechBooster

    今回はAndroidに特化した話ではなく、Javaについての話です。 データ用のクラスを用意し、複数のフィールドに値を入れて管理するという方法を取ることがあるかと思います。この場合、Preferenceを使う方法でフィールドを1つずつ保存していくということも考えられますが、データのオブジェクトごと保存ができると復元の時も含めて手軽に行うことができますね。 今回は、オブジェクトをシリアライズ(直列化)してファイルに保存、ファイルから読み込みする方法を説明したいと思います。 java.io.Serializableインタフェース オブジェクトをシリアライズ可能にするには、そのクラスがjava.io.Serializableインタフェース(以下、Serializableインタフェース)を実装する必要があります。 public class HogeClass implements Serializ

    データを簡単に保存する方法(シリアライズ編) | TechBooster
  • Android 4.0 Bluetooth Health Deviceと通信する方法 | TechBooster

    application configurationとは、ヘルスデバイスとの接続に利用されるアプリケーション設定で、サードパーティ、開発者がヘルスデバイスとBluetoothで通信するための状態通知コールバック設定、設定名などが格納されています。 接続するためのサンプルコードは以下のとおりです。 ※Android 4.0およびヘルスデバイスを入手できていないため、記事でのサンプルコードは、概要を理解するためのコードスニペットとお考えください。実際に試すには修正が必要です。 ヘルスデバイスの検出処理 以下はヘルスデバイスの検出と切断に合わせて、ヘルスデバイスを管理するためのBluetoothHealthインスタンスを取得するサンプルコードです。 ここでは、BluetoothAdapter(Bluetooth接続のためのアダプタ)からヘルスデバイス接続通知を受け取り、BluetoothHeal

  • カメラプレビューで顔検出を行う | TechBooster

    Androidでは以前からFaceDetectorクラスを用いることで画像に対して顔検出を行うことが可能でした。Android4.0(ICS)からは、画像(静止画)だけでなく、カメラのプレビュー(動画)に対して顔検出を行うことが新たに可能となりました。 実際に顔検出の処理を行う方法は以下の通りです。1から3の処理を記述する必要があります。 FaceDetectionListenerを実装(onFaceDetectionメソッドでCamera.Faceクラスが渡ってくるので必要な処理を記述) CameraクラスにFaceDetectionListenerを登録 Cameraクラスに検出開始を指示 顔が検出されるとFaceDetectionListenerのonFaceDetectionメソッドが呼ばれる カメラの基的な使い方は「カメラの使用方法(1)」を参照してください。 ※静止画の顔検出

  • AndroidBeamを使用してデータを送信する | TechBooster

    Android4.0(以降ICS)からAndroidBeamという機能が搭載されました。これはNFCチップを搭載するAndroid端末同士でデータを交換する仕組みです。 この機能を使用すると端末間のデータの交換が容易に可能になります。 今回はAndoid Developerサイト内の”Beaming NDEF Messages to Other Devices“のソースコードを元に解説していきます。 このサンプルはAndroidBeamを実装するために必要な実装が入っているため非常に参考になるサンプルです。 詳細は以下から。 AndroidBeamデータを送信するためには以下の手順が必要になります。 マニフェストファイルへNFCのパーミッションを追加する NFCチップの制御用インスタンスを取得する 送信メッセージ作成用インターフェイスを実装する NFCチップの制御用インスタンスと送信メッセ

    AndroidBeamを使用してデータを送信する | TechBooster
  • AndroidのIntentServiceを使って非同期処理を行う方法 | TechBooster

    IntentServiceはアプリケーションのバックグラウンドで処理を行うための方法です。名前の通り、Serviceを拡張していますので、基的な扱い方はServiceと同じです。 IntentServiceの特徴 バックグラウンドで処理を行うということは、アプリケーションの動作と関係なく(非同期で)仕事することになります。一般的には以下の処理シーケンスが必要です。 別スレッドを作成 仕事のキューイング 順次とりだして実行する 開発者が毎回作成するには煩雑です。IntentServiceを使えば、これらの処理手順を簡略化、簡単に実行することができます(同一プロセス内で別スレッドを作成するため、厳密にServiceと同じではないようです)。 IntentServiceとAsyncTaskの違い 以前紹介したAsynctaskを使って非同期処理を行う もAndroidアプリケーションのUIスレ

    AndroidのIntentServiceを使って非同期処理を行う方法 | TechBooster
  • 1