今回は定期実行に便利なタイマーです。 ストップウォッチを例題にTimer処理のポイントを3つ、紹介します。 マルチスレッド処理について TimerやTimerTaskはcancelメソッド実行後は再利用できない Androidの描画手順(UI Threadを使うシングルスレッドモデル) Androidでもjava.util.Timerが利用可能です。 ご存じの通り、Timerは新しいタスク(スレッド/Thread)を作成して、指定した遅延時間がたつと実行されます。 AndroidでTimerを使う際は、とくにスレッド処理について意識する必要があります。 経験上、タイマーを使う際は処理のついでに描画を更新したいときが多いのですが、Activityの描画ロジックがシングルスレッド前提で設計されているためです。 最初に1.スレッドについて紹介します。次に、ストップウォッチを例に2.タイマー処理を
Docomo製Android端末の発売日が発表されました。来月の札幌JavaコミュニティもAndroidイベントということもあり、チュートリアルを作成したりしています。ちょっとスレッド周りではまった事もあり、簡単な時計アプリケーションの作り方から、Androidのスレッド描画モデルを紹介します。 とりあえずソース このアプリケーションは、0.5秒毎に日時を更新する単純な時計アプリケーションです。 package com.example.android; // import 略 public class Clock extends Activity { private ScheduledExecutorService service; private Handler handler = new Handler(); /** Called when the activity is first
Spinner は java.lang.Object ↳ android.view.View ↳ android.view.ViewGroup ↳ android.widget.AdapterView<T extends android.widget.Adapter> ↳ android.widget.AbsSpinner ↳ android.widget.Spinner を使用します というわけで、Spinner をいじってみた サンプルプログラム import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Adapter; import android.widget.AdapterView;
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="[Tags DB]" /> <TextView android:id="@+id/saved_text" android:layout_width="fill_parent" a
今までのサンプルではプログラムの中でリソースの利用はレイアウト関係を主に使っていました。今回はプログラムの中からリソースとして定義された文字列や色、画像などを参照する方法を確認します。 リソースを利用するにはResourcesクラスのオブジェクトをまず取得します。Activityクラスで定義されているgetResourcesメソッドを使用します。 getResources public Resources getResources() Return a Resources instance for your application's package. 戻り値としてandroid.content.res.Resourcesクラスのオブジェクトを取得できます。 具体的には次のように記述します。 Resources res = getResources(); Resourcesクラスでは、リソ
メモ Androidの画面レイアウト時に使う「android:layout_gravity」と「android:gravity」の違い。 実際のレイアウト XMLソース <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content" > <!--コンテナ内位置指定無し--> <LinearLayout android:orientation="vertical" android:layout_width="fill_parent
IntentServiceはアプリケーションのバックグラウンドで処理を行うための方法です。名前の通り、Serviceを拡張していますので、基本的な扱い方はServiceと同じです。 IntentServiceの特徴 バックグラウンドで処理を行うということは、アプリケーションの動作と関係なく(非同期で)仕事することになります。一般的には以下の処理シーケンスが必要です。 別スレッドを作成 仕事のキューイング 順次とりだして実行する 開発者が毎回作成するには煩雑です。IntentServiceを使えば、これらの処理手順を簡略化、簡単に実行することができます(同一プロセス内で別スレッドを作成するため、厳密にServiceと同じではないようです)。 IntentServiceとAsyncTaskの違い 以前紹介したAsynctaskを使って非同期処理を行う もAndroidアプリケーションのUIスレ
This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.
スマートフォンやタブレット端末ならではの動作として、 画面を指でスライドさせると次々と表示内容が切り替わるというものがあります。 Androidの場合、とても簡単にスライドショーを実装できます。 main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <ViewFlipper android:id="@+id/flipper" android:layout_width="fill_parent"
iPhoneやAndroid端末は静電容量タイプのタッチスクリーンを装備しており、メインの入力デバイスとしているのが特徴だ。 これらのタッチスクリーンは旧来の感圧タイプとは違い、非常に繊細な操作を可能にしておりスクリーンをそっと触りながら任意の方向に撫で滑らす操作、いわゆる「フィンガータッチモード」に対応しており、様々な用途に利用される。(マウスなどの補助的なデバイスを使用する旧来からのPCと最も違う部分だ) モバイルプラットホームOSのユーザインタフェースではこのタッチモードをアフォードするために様々なエフェクト、アニメーションを駆使しているが、その中でも特徴的なのがタッチしてから特定の方向に指を動かした時に見られる、画面が滑らかにスライドしていく(場合によっては加速度まで表現する)アニメーションだろう。 そんなユーザインタフェースとアニメーションは非常に高度なプログラミングが要求されそ
自分のアプリから Intent で別のアプリに飛ぶと onPause() が呼ばれて別のアプリが foreground に来ます。ここから自分のアプリに戻る場合、background にいる時間が短かったり他のアプリがメモリを要求しなければ onResume() が呼ばれて、Intent が呼ばれる前の画面の状態に戻れます。 しかし、Activity が長時間表示されなかったり、別のアプリがメモリを要求したりすると、自分のアプリに戻ったときに、前の画面の状態にはなりません。この場合に前の画面の状態にするには、その状態を意識的に保存する必要があります。 では、どうやって保存するのか、 1.タイミング onSaveInstanceState(Bundle) で保存し、 onRestoreInstanceState(Bundle) で読み出します。 こんな感じ @Override protect
ここは Android のページです。 導入 はじめに インストール、Hello World (2010/12/25) マニュアル 本家開発サイトの和訳です。 直訳ではない箇所もあるので、間違ってるところがあるかもしれません。 基本知識 Android 開発の基本 (2010/12/25) コンポーネントの基本 (2010/12/25) Task の基本 (2010/12/25) コンポーネントの Life Cycle (2010/12/25) Activity の起動モード (2010/12/25) プロセス、スレッドの基本 (2010/12/25) Intent について (2010/12/25) AndroidManifest.xml 詳細 (2010/12/25) UI UI の基本 (2010/12/25) UIイベントの基本 (2010/12/25) レイアウトの基本 (201
The document discusses various technologies and libraries used in Android development including XML, JSON, XSLT, and sun.misc packages. It notes issues with some of these in older Android versions and potential workarounds or alternatives. Specific topics covered include XML parsing, JSON parsing inaccuracies, XSLT support, and sun.misc class availability on Android.
Androidでタブを使う方法について紹介します。 タブ(Tab)を簡単に使う仕組みとして専用のActivity「TabActivity」が用意されています。 ※2010/11/14 yanzmさんよりご指摘いただき、内容を修正しました。ありがとうございました! TabActivityで、タブの内容として表示できるのはView、Activity(IntentによるTabActivity内起動)、 動的にコンテンツを生成できるTabHost.TabContentFactoryです。 レイアウト構成の制限 TabActivityではレイアウトファイルについて、名前上の制限があります。 TabWidgetのidが android:id=”@android:id/tabs” であること FrameLayoutのidが android:id=”@android:id/tabcontent”であること
Androidプログラマへの道 〜 Moonlight 明日香 〜 C/C++プログラマの管理者が, Androidプログラムにチャレンジ. AndroidプログラミングのTipsをメモっていく予定です. トップページページ一覧メンバー編集 × トップページ 最終更新: moonlight_aska 2020年10月04日(日) 21:57:08履歴 Tweet Android Books【新刊】 What's NEW! Android Books 【おすすめ】 Android NEWS Google、「Daydream VR」をAndroid 11以降でサポートせず 2020/10/3 ITmedia 米Googleは、スマートフォンをセットする方式のVRシステム「Daydream」のアプリ「Daydream VR」を、「Android 11」以降ではサポート ... 何かとJAPANフ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く