Browsing articles in "Android"

GridLayoutを使って、格子状にViewを表示する

10月 20, 2011   //   by UpDown-G   //   Android, アプリケーション, ユーザインターフェース, リソース  //  No Comments

先日Android4.0(コードネーム IceCreamSandwich:ICS)が公開されました。
TechBoosterでは、本日よりICSのAPIを中心に紹介していきます。

本タイトルでは、ICSから追加されたGridLayoutを紹介します。
GridLayoutは、格子状にViewを配置する事に向いています。
※以前まではLinearLayoutを複数使用するなどし、作成する必要がありました。

今回はGridLayoutを用いて電卓の画面(上記画像)を作成するサンプルを紹介していきます。

GridLayoutを使用する際に重要となるパラメータは以下の表の通りです。

GridLayoutに指定する重要パラメータ(表1)

パラメータ概要
android:columnCount横方向のマスの数
android:rowCount縦方向のマスの数

GridLayoutの子Viewに指定する重要パラメータ(表2)

パラメータ概要
android:layout_column列の指定(0オリジン)
android:layout_columnSpan列方向に何マス消費するか
android:layout_row行の指定(0オリジン)
android:layout_rowSpan行方向に何マス消費するか
android:layout_gravity格子内でのgravity指定を行う

それではつづきをどうぞ。
Read more >>

ラジオボタンで複数の選択肢から1つを選択させる / Getting Started

10月 19, 2011   //   by kkato   //   ユーザインターフェース  //  No Comments

アンケートや設定する項目の選択などで複数の選択肢の中から1つを選択するラジオボタンがAndroidでも用意されています。

アプリケーションの設定をユーザーに行ってもらう場合には欠かせません。

ラジオボタンを利用するのに必要なクラス/インタフェースは以下の3つです。

ラジオボタンを利用する際に必要なクラス

クラス/インタフェース説明
RadioButtonそれぞれの項目に相当するクラス
RadioGroup複数のRadioButtonを持つ。それらのRadioButtonのうち、1つだけが選択することが可能
OnCheckedChangeListener選択されている項目が変わった時にonCheckedChangedメソッドで通知を受ける

RadioGroupクラスで重要なメソッドは以下の通りです。

RadioGroupクラスの重要なメソッド

メソッド説明
void check(int id)引数で指定したラジオボタンを選択する
int getCheckRadioButtonId()選択中のラジオボタンのIDを取得する
void clearCheck()選択を解除する

それでは続きで説明していきます。

Read more >>

イベント処理を実装する(WP7)

10月 18, 2011   //   by kei_i_t   //   Android, WindowsPhone7  //  No Comments

WP7ではボタンが押下されたり、テキストが入力された場合に処理を行いたい場合に“イベントハンドラー”と呼ばれる機能があります。

今回はButtonクラスとTextBoxクラスを使用して、ボタンが押下されるとTextBoxのテキストを取得し、取得したテキストを表示するサンプルを作成しながら、イベント処理の実装方法を紹介します。

詳細は以下から。

Read more >>

JDOをGAEのデータストアに保存/取得する

10月 17, 2011   //   by @mhidaka   //   Android, GoogleAppEngine  //  No Comments

JDO(Javaデータオブジェクト)を利用して、GoogleAppEngineのデータストアへアクセスする方法を紹介します。
Low Level APIでGAEのデータストアにアクセスすると比べるとデータベースの仕組みを理解するには難しくなってしまっていますが、とても簡単に、複数データをまとめてオブジェクトとして扱える便利な手法です。

PersistenceManagerクラスでデータストアにアクセスする

メソッド名説明
PersistenceManagerのインスタンス生成時PersistenceManagerFactoryクラスをつかって生成すること
makePersistent()オブジェクトの永続化(データストアへの保存)を行う
newQuery()指定文字列の検索クエリを作成する。
検索クエリをexecuteメソッドで実行することでJDOを取得できる

JDOを使ってデータストアにアクセスするには、PersistenceManagerクラスのインスタンスが必要です。インスタンス生成にはPersistenceManagerFactoryクラスを利用します。
JDOで定義される永続性(保存される)オブジェクトは通常のJavaのクラスです。感覚としてはインスタンスをそのまま保存し、使いたいときにいつでも取り出せる便利な仕組みです。インスタンス=Javaデータオブジェクトのような関係ですね。

データストアの利用準備

前回のサンプルをベースに、掲示板への投稿(データストアへの保存)と表示(データストアからの取得)してみましょう。
Read more >>

カメラプレビューをキャプチャする

10月 17, 2011   //   by @mhidaka   //   デバイス  //  No Comments

Androidのカメラ機能を活用し、リアルタイムに画像処理をしてみましょう。
Android SDKでカメラを扱うにはandroid.hardware.cameraパッケージを利用します。cameraパッケージではカメラからの入力映像をそのまま簡単に画面に表示する「プレビュー」機能があります。
画像を編集する前段階として、プレビュー画面に表示したカメラ画像をキャプチャする方法を紹介します。

便利なことにAndroid SDKのAPI Demos内でカメラ機能について纏まっていますので、このGraphics/CameraPreview.javaをベースに改造を加えていきましょう。サンプルではプレビューしている画像データをキャプチャ、保存する機能を追加します。

Cameraクラスの主なメソッドと関連クラス

メソッド名説明
getNumberOfCameras()Android端末のカメラデバイス数を取得する
getCameraInfo(i, camerainfo)指定デバイスNoのCameraInfoを取得する。
open()カメラデバイスリソースの取得
release()カメラデバイスリソースの解放
setPreviewCallback()プレビュー完了時のコールバックメソッドの登録
Camera.PreviewCallbackプレビュー完了時に呼び出されるコールバックメソッド
Camera.PreviewCallback.onPreviewFrame(byte[] data, Camera camera)プレビュー更新時のフレーム情報
startPreview()プレビューの開始
stopPreview()プレビューの終了

複数のカメラを使う http://techbooster.jpn.org/andriod/device/2358/
カメラの使用方法(2) http://techbooster.jpn.org/andriod/device/362/

Read more >>

ProgressDialogの使い方/Getting Started

10月 14, 2011   //   by furusin   //   ユーザインターフェース  //  No Comments

Androidで進捗状況や処理待ちのダイアログを表示するには、ProgressDialogを使います。

時間のかかる処理を行なっている間にProgressDialogを表示することで、「処理中である」ということを知らせることができます。

 
Read more >>

NavigationServiceを使って画面遷移する(WP7)

10月 12, 2011   //   by UpDown-G   //   Android, WindowsPhone7  //  No Comments

WP7での印象的な画面レイアウトとしてプリインストールアプリのPeapleアプリなどで利用されている「パノラマ(Panorama)」や、
Settingアプリなどで利用されている「ピボット(Pivot)」やがありますが、今回は基本となる通常の画面遷移を行う方法を紹介します。

画面遷移を行うにあたって、作成するサンプルは2つの画面を持っています。
記事内では「MainPage」と「SecondPage」という具合に呼び分けることとします。
各画面の内容は以下のとおりです。
MainPage

Buttonを押下すると、SecondPageに遷移する。
遷移の際にTextBoxに入力されているテキストデータをSecondPageに引き渡す。

SecondPage

遷移先のページとなる。
MainPageのTextBoxに入力されていたテキストデータをTextBlockに表示する。

それではつづきをどうぞ。
Read more >>

Low Level APIでGAEのデータストアにアクセスする

10月 10, 2011   //   by UpDown-G   //   Android, GoogleAppEngine  //  No Comments

Google App Engine(以後GAE)では、Googleによって開発されたデータストアと呼ばれる、一種のデータベースを使用して、データを格納・操作することができます。
このデータストアを利用する方法として、GAEではいくつかのAPIが用意されています。
代表的なものにJDO(Google推奨)やJPAが外部のパッケージとしてサポートされていますが、今回は、Low Level APIを利用してデータストアにアクセスする方法について解説します。

表:データストアを操作可能な代表的なAPIとその特徴

API概要
JDO(Java Data Objects)javaで書かれたソースコードからデータベースへアクセスするために標準化されたDB永続化のAPI、もしくは仕様。Google推奨。高機能だがLow Level APIと比べるとやや難解。
JPA(Java Persistence API)JDOと同じく、javaソースコードからデータベースにアクセスできるDBを永続化するための標準仕様。機能的にはJDO同じレベルにあるが、ドキュメントが少ない。
Law Level APIGAEに特化。機能的にはJDO、JPAには及ばないが、シンプルで使いやすい。

そもそもLow Level APIとは、GAEで利用することを目的に開発された、GAE専用のAPI群のことです。
Low Level APIには、データストアの操作を行うAPI以外にも、メールの送受信を行うためのものなどもあります。

Low Level APIを利用する利点としては以下のようなことが挙げられます。

  • シンプルで使いやすい
  • 仕組みを理解しやすい

ただし以下のような欠点もあります。

  • 多機能ではないので、大規模な開発をしようと思うとソースコードが複雑になる

今回は、データストアの基礎を学ぶためにも、Low Level APIを用いて、データストアへデータを格納する方法について解説します(データを取り出す方法は別の記事で紹介予定です)。

それでは続きをどうぞ。

Read more >>

ToggleButtonを使ってON/OFFを切り替える / Getting Started

10月 9, 2011   //   by kseto   //   Android, ユーザインターフェース  //  No Comments

ToggleButton(トグルボタン)とはクリックすることでON/OFFを切り替えられるボタンのことです。
下図のように、ボタンを見ればON/OFFをすぐに把握することができますので、
オプション機能のON/OFFを切り替えるといった用途に最適です。

ToggleButtonを使うときに重要になるメソッドは以下の通りです。

ToggleButtonを使う際に大事なメソッド

メソッド・インタフェース説明
CompoundButtonクラスのOnCheckedChangeListenerインタフェース
ToggleButtonのクリック時に呼び出されるOnCheckedChangeListenerクラスを登録
CompoundButtonクラスのonCheckedChangedメソッドToggleButtonのクリック時に呼び出される

これらのメソッドを使って以下の手順を踏むことでToggleButtonを使うことができます。

それでは続きから詳しく説明していきます。

Read more >>

SQLiteの使い方/Getting Started

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

Android開発では、データを保存する方法に『Preferenceを利用する方法』『ファイル出力する方法』『SQLiteを利用する方法』があります。
本エントリーでは、SQLiteを利用する方法を、以下のサンプルを用いて紹介していきます。

 

■入力画面

EditTextに入力したデータを『Writeボタン押下』のタイミングで保存しています。
『Showボタン押下』にて、入力データを表示する画面に遷移します。

■データの保存

データベースのインスタンス(SQLiteDatabaseクラス)を取得し、SQLiteDatabaseクラスのinsertメソッドを呼び出すことでSQLiteに保存することができます。
 

 

 

 

 

■出力画面

データを保存した際にToastにて表示する数値を入力することで、入力データを表示します。
同じく、保存の際の数値を入力し入力データを削除することもできます。

■データの検索

SQLiteに保存したデータの検索は、SQLiteDatabaseクラスのqueryメソッドを利用します。
検索結果はリスト化されたデータを指し示す、Cursorクラスのインスタンスとして取得でき、
Cursorを移動することでデータを取り出す事ができます。

■データの削除

SQLiteに保存したデータの削除は、SQLiteDatabaseクラスのdeleteメソッドを利用します。
 

 

 

紹介する内容は、以下表の内容になります。
SQLiteOpenHelperクラス(表1)

メソッド名呼び出されるタイミング
onCreateメソッドDBが作成されていない場合に呼び出される
onUpgradeメソッドDBのバージョンが一致しない場合に呼び出される
getReadableDatabaseメソッド読み込み権限のみのDBを取得する
getWritableDatabaseメソッド読み書き権限のDBを取得する

SQLiteDatabaseクラス(表2)

メソッド名用途
insertメソッドデータを入力する
deleteメソッドデータを削除する
execSQLメソッドSQL文を実行する
queryメソッド
データを検索する

それでは続きをどうぞ。
Read more >>

ページ:«1234567...36»

技術書新刊 発売中

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

技術書新刊 発売中

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


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


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


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