Browsing articles in "アプリケーション"

ActionBarのタブを使用する

6月 13, 2011   //   by kei_i_t   //   アプリケーション, ユーザインターフェース  //  No Comments

ActionBarにMenuを表示するではメニューの使用方法を紹介しましたが、今回はタブの使用方法を紹介します。
ActionBarのタブはFragmentの切り替えなどに使用される非常に重要な機能です。

詳細は以下から。
Read more >>

インストール済みアプリケーションのアプリケーション名とアイコンを取得する

6月 11, 2011   //   by UpDown-G   //   アプリケーション  //  No Comments

インストール済パッケージを取得するでは、端末にインストールされているアプリケーションのパッケージ名を取得し、リストにしています。

今回は、取得したパッケージ名以外に、アプリケーションの名前アイコンを取得し、それをリストにする方法を解説します。
さらに最後に、パッケージ名を利用して、選択したアプリケーションをアンインストールしてみます。

ポイントは、以下の4つです。

  • ・PackageManagerからインストール済みアプリケーションの情報を取得する。
  • ApplicationInfo#loadLabel(PackageManager pm)メソッドでアプリケーション名取得
  • PackageManager#getApplicationIcon(String packageName)メソッドでアイコンを取得
  • ・Intentの引数に、Intent.ACTION_DELETEを指定し、アンインストール画面に遷移する。

なお今回、リストの作成の際に以下の記事で作成したサンプルを利用していますので参考にしてください。

リストビューをカスタマイズする

それでは続きをどうぞ

Read more >>

ContentProviderで端末内画像データを取得する

6月 10, 2011   //   by UpDown-G   //   Android, Hacks, アプリケーション  //  1 Comment

以前にTechBoosterでは、「ContentProviderからデータを取得する」においてContentProviderの使い方(Contact)を紹介しました。

本エントリでは、Mediaを管理するContentProviderから画像データを取得する方法を紹介していきます。

※詳細な説明の前に以下記事の内容を踏まえておくことをお勧めします。

また、SDカードの画像をContentProviderに登録するには以下記事が参考になります。

画像ファイルを取得する際の全体の流れは、以下の様になります。

  1. 画像ファイルにアクセスする為のレコードを取得する
  2. ID要素を用いて、Content URI を取得する

詳細は続きにて順に追っていきます。
Read more >>

ThreadとHandlerでマルチスレッド処理化する

6月 6, 2011   //   by @mhidaka   //   アプリケーション  //  No Comments

AndroidのActivityは描画処理を行うためのUIスレッドしかもたないシングルスレッド設計です。負荷が高い処理、待ち時間が発生する処理(ネットワーク通信をはじめとした非同期通信など)はUIスレッドを圧迫し、アプリケーションのレスポンスに影響します。UIスレッドの負荷を下げるには別スレッドを作成し、仕事を分散させるマルチスレッド処理の実装が必要です。

<2011/6/7 02:00 Message#obtainに関する記述を追加しました。Message#obtainを利用することでより効率的なメッセージ送信が可能です。>
<2011/6/7 13:00 volitale修飾子による最適化抑止を追加しました。>

今回はスレッド(java.lang.Thread)とハンドラ(Android.os.Handler)を使って、キューイングを実装します。キューイングとは異なるスレッドからのメッセージを一時的に蓄積し、相互のスレッドが意識し合うこと無く(非同期に)データ交換ができる仕組みです。紹介する内容とポイントは以下3点+1です。

  • ハンドラの実装: Handlerは送られてきたメッセージを受け取り、処理する
  • マルチスレッド化: UIスレッドの負荷が高いとアプリが応答しなくなる(ANR)が発生、ユーザビリティが低下する
  • メッセージのキューイング: スレッドからUIスレッドへのメッセージ送信(非同期処理)
  • メッセージの効率的生成: Message#obtainもしくはHandler#obtainMessageを利用する(メモリ効率化)

また、TechBoosterには非同期処理の実装方法として Asynctaskを使って非同期処理を行う 、 IntentServiceを使って非同期処理を行う を紹介しています。またスレッドの応用記事には
描画処理を分離した SurfaceViewで高速描画する(2) ゲームプログラミングの基本 、タイマーによるカウント Timerを使って定期実行する があります。あわせてどうぞ。

マルチスレッド処理のサンプルコードは続きからどうぞ
Read more >>

Application内からMarketアプリを呼び出す

5月 29, 2011   //   by UpDown-G   //   Android, アプリケーション  //  No Comments


「無料版アプリから有料版アプリへのリンクを貼りたい」「Application紹介アプリを作りたい」「ヘルプ用にMarketの詳細画面を使いたい」
など、AndroidMarketの画面をアプリケーション内で呼び出したいケースが開発中に出てくるかと思います。
そこで今回は、作成したApplication内から、Marketアプリを呼び出す方法を紹介します。
単にMarketアプリを呼び出すのではなく、

  • Marketでの任意Word検索結果を呼び出す
  • 開発者での検索結果を呼び出す
  • 指定したアプリケーションの詳細画面を呼び出す

これらについて紹介していきたいと思います。

また、本記事の内容について、要領よく理解する為に以下記事を参考にどうぞ。

Read more >>

Bluetoothで通信を行う(1)

4月 30, 2011   //   by UpDown-G   //   アプリケーション, デバイス  //  No Comments

AndroidではBluetoothを利用して通信を行うことが可能です。
Bluetoothを利用して端末間で通信を行うまでには、いくつかの手順を踏む必要があります。
今回から3回に分けて、端末間で簡単なデータ交換ができるところまで説明していきたいと思います。

今回は、アプリケーションの起動〜Bluetoothの設定をONにするまでを説明します。
ポイントは、デバイスのBluetoothAdapterを取得してBluetoothのシステム情報を引き出し、Intentを用いて端末Bluetoothの設定をONにするようユーザーに促す画面を表示し、onActivityResult()にてその結果を受け取ります。

でも一部触れていますが、そちらも参考にしながら、おさらいも兼ねて一から説明したいと思います。
それでは続きをどうぞ。

Read more >>

NetworkInfoを使って、通信接続が可能状態か知る

4月 24, 2011   //   by UpDown-G   //   Android, アプリケーション  //  No Comments

前回、PhoneStateListenerで回線の接続状況の変化を取得するにおいて3G回線の接続状態を取得する方法を紹介しました。

アプリケーション作成に当たっては、3G/Wifiを意識せずに、ネットワーク通信が可能な状態であるかを知りたい時があると思います。
NetworkInfo Classを用いて、ネットワーク通信の接続 可/不可 状態をチェックする方法を紹介します。

Read more >>

マナーモードを設定する

4月 11, 2011   //   by kseto   //   アプリケーション  //  No Comments

Android端末のマナーモードをアプリケーションから設定するにはAudioManagerクラスを使用します。AudioManagerクラスではAndroid端末上の音量ボリュームやマナーモード設定をコントロールするための機能を提供しています。(AudioManagerクラスで音量ボリュームをコントロールする方法については「音量を設定する」という記事で紹介しています)

今回はAudioManagerクラスで用意されているsetRingerModeメソッドとgetRingerModeメソッドの2つを使ってマナーモード設定を行う方法を紹介します。なお、今回のサンプルコードはGoogleCodeの下記のリポジトリよりSVNにて取得できます。
http://techbooster.googlecode.com/svn/trunk/ringerMode/

setRingerModeメソッドとgetRingerModeメソッド

マナーモードを設定するためには以下のメソッドを使用します。

void setRingerMode (int ringerMode)
機能 : マナーモードを設定する
引数 : ringerMode 設定するマナーモードの種類
戻り値 : なし

int getRingerMode ()
機能 : 現在のマナーモードを取得する
引数 : なし
戻り値 : 現在のマナーモード

メソッドの詳細な使い方とサンプルコードは続きからご覧下さい。

Read more >>

WakeLockを取得し、Sleep状態からWake状態へ遷移する

4月 10, 2011   //   by UpDown-G   //   アプリケーション  //  No Comments

アプリケーションを作成していく上で、ユーザーへの通知は欠かせないものです。
例えば、常駐型のアプリケーションを作成している折に、Sleep中にユーザー通知を行ないたい場合があると思います。
ロック画面(本文では KeyguardLockと記載)

従来のやり方で、Service等からIntentでActionを起動したとしても、Sleepは解除されません。
本日は、ApplicationからのSleepの解除とロック画面の解除を制御する方法を以下二点の内容に沿って紹介していきます。

  • Sleepからの復帰
  • KeyguardLockの解除

これらについて、続きで説明していきます。
Read more >>

ClipboardManagerでUriをコピーする

4月 5, 2011   //   by kei_i_t   //   アプリケーション  //  No Comments

ClipboardManagerを使用してテキストのコピーと貼り付けを行う(Android3.0版)ではテキストのコピーを、ClipboardManagerでIntentをコピーするではIntentのコピーを紹介しましたが、今回はUriをコピーする方法を紹介します。

Uriのコピーは、WEBアドレスだけでなく、端末内のコンテンツの場所などもコピーできる為、非常に強力な機能です。

詳細は以下から。

Read more >>

ページ:«12345678...14»

技術書新刊 発売中

アンドロイドアカデミアには、CIやテスト、互換検証など実務に生きるノウハウをあつめています

技術書新刊 発売中

Android Next!はAndroid 7.0に対応したはじめての技術書です!


The Web Explorer 2はCSSの中央寄せやWebAudioなど未来を読み解く一冊です


Revised TypeScript in DefinitelylandはTypeScript 2.0(β)に対応した解説書です。インストールから型定義まで幅広くサポートしています


技術書をかこう!はエンジニアらしい執筆環境を構築、HowTo本です