Build AI experiences Build AI-powered Android apps with Gemini APIs and more. Get started Start by creating your first app. Go deeper with our training courses or explore app development on your own.
今回は Android Open Source Project (AOSP) を丸々取り込む方法です。 普段の Android アプリ開発時に、ソースコードを参照したいという場合は、以下の方が簡単でしょう。 穀風: Android のソースコードを Eclipse から使用できるようにする それでは早速 Eclipse に取り込んでいきたいと思います。 $ cd ~/android_src $ cp development/ide/eclipse/.classpath . $ chmod u+w .classpath .classpath の内容を見てみると、 out/target/common が必要のようです。 つまり、ビルド済みのライブラリを用意しなければならないということですね。 私の場合は、Nexus7 用に Android をビルドしてみた でビルドしてあったので、そのまま使え
Androidではアプリを終了させる場合、System.exit(0) でもアプリを終了することができますが、この方法ではVMごと強制終了させるため、アクティビティのライフサイクルを無視することになる上メモリなどのリソース解放に失敗するおそれがあり、安全ではありません。 適切な終了方法はどれか、ということでアプリケーションを終了させる方法をまとめてみました。 アクティビティを閉じる際の最良の終了方法です。 現在のアクティビティを閉じて前のアクティビティに戻ります。 アプリケーションの起動アクティビティで呼び出した場合はアプリケーションを終了します。 バックボタンを押した時と同じ動きで、実行すると onPause(), onDestroy()が順番に呼ばれます。 復帰時は新規生成となり onCreate(), onStart(), onResume() の順でイベントが発生します。 ■Act
ダイアログのはじめのいっぽとして、使いやすく,機能も豊富なAlertDialogを表示してみる。 はじめてのダイアログ まずは、簡単なAlertDialogのサンプルを示す。 このプログラムを実行して、「ダイアログの表示」ボタンを押すと、以下のように表示される。 AlertDialogのコンストラクタは、protected宣言されていて直接コントラクタを使って、インスタンスを生成する事はできない AlertDialogを使うには、AlertDialog.Builderクラスのインスタンスを生成して、このビルダークラスよりアクセスする。 AlertDialog.Builderクラスのコンストラクタの引数には、通常,親となるActivityクラスのインスタンスを指定する。 25行目のAlertDialog.Builderクラスのコンストラクタの引数である「AlertDialogSample.t
公式リファレンスはこちら "WebView | Android Developers" ・AndroidManifest.xml にパーミッションの設定を忘れずに! <uses-permission android:name="android.permission.INTERNET" /> ・onCreate でインスタンスを作る WebView webview = new WebView(this); setContentView(webview); ・layout xml で定義する setContentView(R.layout.main); webview = (WebView) findViewById(R.id.webview); main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:androi
Walkin’ On The Spiral. Let’s see, if that’s true or not.あまり外とのつながりを持たないのですが、「第8回エンジニア交流勉強会「gungi」」という勉強会に参加してきました。 内容は以下の通り。 「携帯サイト開発へ押し寄せるのオープン化の波」 「今からでも間に合う AIR の第一歩」 「“グリムス”という参加型環境サイトのご紹介」 やはり一番目の講演が気になりました。 Androidを含めたオープン開発環境の話を沢山聞かせていただきました。 iPhoneやAndroid以外にもNokiaケータイとか面白そうでした。 Obj-Cも使ったことがあるので、iPhoneはいつか触ってみようと思ってます。
WebViewでの操作をハンドリングする方法はいくつかありますが、画面のロードをハンドリングするには WebViewClient#shouldOverrideUrlLoading を使います。 下記はWebView内のリンクをクリックした場合など、画面のロードが始まった時にToastを表示します。 WebView webView = (WebView) findViewById(R.id.web); webView.setWebViewClient(new WebViewClient() { public boolean shouldOverrideUrlLoading(WebView view, String urlStr) { // 特定のURLの場合、ダイアログを表示する等 Toast toast = Toast.makeText(WebViewActivity.this, "ハンド
デバイスがオフラインからオンラインへ復帰した時、GCM Serverはストレージされたメッセージをデバイスへ再送する。 たまたま通信状態が悪かったりして、メッセージが届かないと思ったユーザーが、Client Application Serverから同じメッセージを何回もGCM Serverへ送っていたら、同じようなメッセージをいくつもデバイスで受信することになる。 Collapse Keyを同じにしていると、GCM Server側で、全てのメッセージではなく最新のメッセージ1つだけを選んで送る。 Collapse Keyは適当にランダムなどではなく、同一メッセージで統一させた方がいいなあ。 「Device not Registered」エラーが出たら、Client Application ServerからRegistration IDを削除する デバイス側でGCMを使ったAndroid A
はじめに Google Cloud Messaging (以下GCM) は、Googleが提供するサービスです。 アプリに対してプッシュ配信を実装することができます。 GCMの実装は、クライアント側の実装とサーバー側の実装が必要ですので、それぞれ解説したいと思います。 事前準備 実装(アプリ側) 実装(サーバー側) 1.事前準備 はじめに、 Google APIs Console から GCM の API の利用登録をします。 以下のURLにアクセスします。Googleアカウントへのサインインが求められる場合はサインインしましょう。 https://code.google.com/apis/console/ 上図の画面が表示されるので「Create Project」をクリックします。 GoogleAPI のサービス一覧が表示されます。 この中から「Google Cloud Messagin
ブログ等に掲載されているHttpComponentのサンプルコードは、重要なところが端折られて紹介されている(というか間違っている事を知らずに書いている疑惑すらある)ことが多いので、正しいサンプルコードを書いておく。 まぁ、ここだけでなくApache HttpComponentsのドキュメントもちゃん読みましょう。あ、Androidのリファレンスにはロクに使い方が書いてないので、あんなゴミだけ読んでてもダメですよ。 要点 ポイントは2つ。 ResponseHandlerを使ってコードを書く HttpResponseの内部リソースを自動で解放してくれるので、ミスがなくなり、コードも簡潔になる。ブログ等ではHttpResponseを使わないコードもよく掲載されているが、リソースの解放処理が記述されていないことが多いのであまりよろしくない。 なお、ResponseHandlerを使わずに自分でリ
Android Apache HTTP Client と HttpURLConnection どっちを使うべき? Android Developer's Blog にちょっと面白い記事があったのでまとめてみた。 Android Developers Blog: Android’s HTTP Clients - Android のフレームワークは HTTP 通信をするための HTTP client の実装が2つあります。 1つが HttpURLConnection (java.net パッケージ) で、もう1つのが Apache HTTP Client (org.apache.http パッケージ) です。 Apache HTTP Client DefaultHttpClient とそれのサブクラスの AndroidHttpClient は Web ブラウザに適応した拡張された HTTP C
MediaPlayer _mp; _mp = MediaPlayer.create(this, R.raw.music); try { _mp.prepare(); // 準備 _mp.start(); // 再生 } catch (IOException e) { //例外処理 } たったこれだけです。 唯一の注意点はmusic.mp3ファイルをres/raw/ディレクトリに配置する必要があります。 MediaPlayerは上の例の他にもsetDataSource(…)でファイルを指定する事も出来ます。 この方法を使うと、読み取り権限を持つディレクトリであればファイルをどこに設置してもOKです。 本当に簡単ですね。 prepare()は再生準備のためのメソッドだそうです。 メディアファイルを設定したら呼出すのがルールだそうです。 と、API仕様書に書いています。 これはどういう
今回やろうとしたのは、WebViewでリンクをたたいてページを遷移するときに、端末のキャリア情報を付与する、ということ。端末のキャリア情報は、ネットワークからとるなり、SIMカードからとるなり、なんとでもできる。問題はどうやってURLを編集するのか。 利用するのはまたしても、WebViewClientのshouldOverrideUrlLoadingである。 WebViewでページ遷移時に標準ブラウザを起動させない - 映画のしたごころ 今回は下記のようにWebViewにWebViewClientを設定してやればいい。 WebView mWebView = new WebView(this); //実際はlayout.xmlから読み込むことでしょう mWebView.setWebViewClient(new WebViewClient(){ @Override public boo
SoundPoolはAndroid APIに含まれる音声再生ライブラリのひとつで、ファイルをロード時にデコードしておくので、再生時にほとんど遅延が生じないため、効果音の再生などに向いている。 典型的な使い方 onCreate()などの初期化処理でファイルをload()しておき、効果音を鳴らしたいイベントが発生したときにplay()する。 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); context = this.getApplicationContext(); soundPool = new SoundPool(10, AudioManager.STREAM_MUSIC, 0); soundIds = n
色々ややこしいのでまとめメモ ●SoundPoolについて ■メリット 楽器アプリにあるような連打が割と普通に実装出来る ■デメリット 尺が長い曲が苦手。というか扱えない。6秒くらいで音が切れる。 3gpで再生出来ない?mp3は不安定らしい。oggが無難。 loadが遅い。「setOnLoadCompleteListener」がAPI8(2.2)からしか使えない。 ■処理の流れ(だいたい) SoundPool sp = new SoundPool(5, AudioManager.STREAM_MUSIC, 0); int soundId = sp.load(getApplicationContext(), resourceId, 1); //int soundId = sp.load("", 0); stream_id = sp.play(soundId, 1.0F, 1.0F, 0, 0
カテゴリー Bitmap (2) Matrix (1) File (9) XML (2) コピー (2) 読み込み (4) Listener (2) path (2) Sound (5) View (5) Padding (1) レイアウト (3) アプリ設定 (3) 画面 (2) エミュレータ (1) テスト (1) ピクセル密度 (1) ボタン (2) メニュー (1) 選択肢 (1) 裏技 (1) 開発環境 (1) 雑記 (12) SoundPool で、ローカルのサウンド・ファイルを再生してみたよ。 やってることは、ほとんどリソース版とかわらない。(Android1.6 ベース) public class mySound extends Activity { private SoundPool sp; int seID = -1; @Override public void onC
► 2024 (1) ► 2月 (1) ► 2023 (6) ► 12月 (1) ► 7月 (1) ► 5月 (1) ► 4月 (1) ► 3月 (2) ► 2022 (17) ► 12月 (2) ► 11月 (3) ► 9月 (2) ► 8月 (2) ► 7月 (2) ► 5月 (2) ► 4月 (2) ► 3月 (1) ► 2月 (1) ► 2021 (46) ► 12月 (2) ► 10月 (1) ► 9月 (1) ► 8月 (3) ► 7月 (2) ► 6月 (5) ► 5月 (12) ► 4月 (7) ► 3月 (5) ► 2月 (7) ► 1月 (1) ► 2020 (44) ► 12月 (6) ► 11月 (5) ► 10月 (1) ► 9月 (1) ► 8月 (2) ► 7月 (2) ► 6月 (7) ► 5月 (4) ► 3月 (8) ► 2月 (3) ► 1月 (5)
Androidでの音楽再生はとても簡単です。 今回は、MediaPlayerコンポーネントを使って音楽を再生する方法をリソースに合わせて2つ紹介します。 リソースファイルから再生する方法 ローカルファイルから再生する方法 MediaPlayerコンポーネントはandroid.mediaパッケージをimportすることで利用できます。音楽、動画(Audio/Video)の再生に対応しており、再生するファイルは、リソースファイル、ローカルファイル、インターネット上からのストリーミングなど保存場所を問いません。(ビデオはちょっと手間なのですが、それはまた次の機会に紹介します) public class AudioPlayerActivity extends Activity { private MediaPlayer mp; private String path; /** Called whe
android で mp3, midi などを再生するには MediaPlayer を使います そして drawable/raw を作ってその中にメディアファイルを格納します その後, MediaPlayer.create(context, resid); で作成します というわけで, MediaPlayer をいじってみた サンプルプログラム import android.app.Activity; import android.media.MediaPlayer; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class MediaPlayerTest extends Ac
Androidプログラマへの道 〜 Moonlight 明日香 〜 C/C++プログラマの管理者が, Androidプログラムにチャレンジ. AndroidプログラミングのTipsをメモっていく予定です. トップページページ一覧メンバー編集 音声を再生する 最終更新: moonlight_aska 2012年06月10日(日) 17:05:06履歴 Tweet 音声メディアを再生するには, メディアプレイヤー(MediaPlayer)クラスを使う. MediaPlayerクラスは, MP3やAAC LP/LTP等のメディアデータを再生することができる. 再生可能なメディアの種類については, 以下を参照. http://developer.android.com/intl/ja/guide/appendi... 音声メディアの再生(準備(同期)) MeidaPlayer01.java Med
◆MediaPlayerの特徴:データをストリーム形式で読み込み、破棄する。BGMなどの大きいファイルを再生するときによく使われる。 良い点:メモリの負担が小さい 悪い点:呼び出しから再生までの時間がSoundPoolに比べて遅い ◆MediaPlayerを使って、サウンドを再生するには、以下のようにします。 *サウンド再生 private MediaPlayer mBgm; this.mBgm = MediaPlayer.create(this, R.raw.bgm_title); this.mBgm.setLooping(true); this.mBgm.setVolume(1.0f, 1.0f); mBgm.seekTo(0); mBgm.start(); *サウンドの休止 mBgm.pause(); *サウンドの停止と破棄 mBgm.stop(); m
本网讯为全面落实上级部门召开的2024届高校毕业生就业创业工作视频会议精神,进一步推进2024届毕业生的岗位...
Pixelsの略です。 実際の画面上のPixelがそのままの単位になります。 たとえば、480px X 800pxの画面であれば、 1pxは画面の1/480という事になります。 dp(dip)Density-independent Pixels(密度に非依存のピクセル)の略です。 dp=dipですので、書く文字の少ないdpを私は使います。 ディスプレイ解像度の物理的な密度に応じた抽象単位になります。 160dpi(dots per inch)を基準にした単位で、1dpは160dpiの画面で1pixelになります。 dpとpixelの比率は画面密度(dpi)によって変化しますが、必ずしも正比例ではありません。 Scale-independent Pixels(スケールに非依存のピクセル)の略です。 dpの単位と似ていますが、画面上のサイズはユーザのフォントサイズ設定に準じます。 ptPoin
自分で作成したAndroidアプリから、接続したいURLを渡してブラウザを起動する事は出来る? Androidは、Intent(インテント)と呼ばれる仕組みがあります。 Activity(アクティビティ)間(画面間と言った方がわかりやすいかもしれません。)の連携を行う事ができる仕組みです。 この仕組みにより、元々Android端末に存在している電話発信アプリや、GoogleMap等を呼び出す事が出来ます。 もちろん、ブラウザも同様です。 これが出来るか出来ないかで、Androidアプリで実現できるサービスがかなり違ってきますよね。 私は、まず最初に作成したいと思ったAndroidアプリが、URLを渡してブラウザを起動させるという事をしたかったので、これが出来ないのであれば、おそらくAndroidアプリの勉強すらしていなかったと思いますね・・・。 それでは、Androidアプリからブラウザを
パッケージJava製品開発担当の大です。こんにちは。 最近、趣味でAndroidアプリの開発をやっています。 自分で使っている携帯端末で、自分の作ったアプリを手軽に動かせるというのは、率直に言ってとても楽しいですね。学生のころに、Z80のマイコンボードに打ち込んだプログラムが動いて、はじめてLEDが点灯したときのような感動があります。 さて、Androidに標準であるWebViewクラスを使用してウェブアクセスを行うアプリを作成していて、ちょっと困ったことがありました。WebViewクラスを使用してウェブにアクセスするのはとても簡単なのですが、アクセスしているウェブページのHTMLソースを取得することが出来ないのです。タイトルとかURLとかは取得できるんですけどね。そこで、HTMLソースを取得する方法を考えてみました。 方法1: iframeを使う 思いついたひとつめの方法は、iframe
最近webviewを利用しているのですが、思うように実装をされてないものが多く、割と苦労をしてしまいます。その中でもwebClientの中にはいくつかの関数を上書きして利用すると便利なのですが、まとめて載せてあるサイトがなかったので、カンタンな説明と、参考になるサイトがあるおのに関しては参照させていただいております。 使える関数というのは、次のような使い方です。 -.setWebViewClient(new WebViewClient(){ function この関数(){ } }); ■public void onLoadResource (WebView view, String url) //サイトを読み込む時にそのリソースを検証する。 ※外部サイトの際、Intentなどで、標準のブラウザに飛ばすなどで利用できる。 cf:世田谷のエンジニア ブログ ■public void onPa
はじめに 必要なもの ビルド用プロジェクトを作成 boost ビルド用設定 minizip ビルド用設定 pcre ビルド用設定 tinyxml ビルド用設定 ビルド実行 pcre ビルド用設定 ソースの配置 「ColladaDom」プロジェクトの[jni/external-libs」ディレクトリに「pcre」ディレクトリを作成する。 「pcre-8.31.tar.bz2」ファイルを、任意のディレクトリに解凍する。 解凍したディレクトリの中の全ファイルを、「ColladaDom」プロジェクトの「jni/external-libs/pcre」ディレクトリの下にコピー。 ソースのパッチ 「config.h」ファイル 「config.h.generic」ファイルをコピーして、「config.h」ファイルを作成。 作成した「config.h」ファイルを以下のように修正。 47行目から49行目をコメ
プログラミングのカテゴリに記事を書くのは久々です。 唐突ですが、『COLLADA DOM』について書き始めようかと。 今現在、COLLADA DOMを使ってツールを作ろうとしている自分にとっての備忘録の 意味合いもあり、完全に俺得な内容です。悪しからず…… そもそもCOLLADA DOMとは、COLLADAというデータフォーマットを 読み書きするためのライブラリです。 COLLADAというのは、ソニー・コンピュータエンターテインメントが策定して、 クロノス・グループが管理する『3DCGデータ交換用の汎用フォーマット』です。 より詳しくは、ウィキペディアのCOLLADAの項目等を参照ということで。 また、COLLADAについての公式なドキュメントは以下のサイトにあります。(英語) http://www.khronos.org/collada/ COLLADAのwikiはこちら。(英語) ht
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く