LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := webcam LOCAL_SRC_FILES := webcam.c yuv.c video_device.c util.c capture.c include $(BUILD_SHARED_LIBRARY) 説明 LOCAL_PATH := $(call my-dir) LOCAL_PATH: 現在のファイルがあるパス、$(CLEAR_VARS)ではクリアされない my-dir: 最後にincludeしたmakefileが含まれるディレクトリを返す include $(CLEAR_VARS) CLEAR_VARS: LOCAL_XXX変数を消す LOCAL_MODULE モジュールの名前 LOCAL_SRC_FILES ソースファイルのリスト(LOCAL_
Android Wearアプリの基本的な開発方法を、サンプルコードを交えながら解説。Wear用に拡張されたAPIの中からNotificationとデータ送受信について説明する。 ← 前回 連載 INDEX はじめに 前回はAndroid Wearの基本的な機能や特徴を紹介した。今回はAndroid Wearのアプリの作り方を、サンプルコードを交えながら解説する。 開発環境のセットアップ 6月末のGoogle I/Oで、今までプレビュー版であったAndroid Studioがベータ版へアップデートされ、Android WearやGoogle Glassなどのアプリ開発もサポートされた。ここ最近はEclipse ADTと比較してAndroid Studioの進化が著しく、Wearアプリ開発でもAndroid Studioを利用するのが妥当だろう。 Android Studioの最新版は以下のU
Google I/O 2014 で Android Wear をゲットされた方おめでとうございます!手に入れた端末、そのまま眠らせちゃ勿体ない。さっそくHackしませんか? Google I/O の Keynote によると、世界中の Android ユーザーは、 端末を毎日平均 125 回も開いて確認している そうです。 スマートフォンをポケットから出して、ロック解除して開くなんてことを繰り返さなくても、ちょっと腕を見るだけでその人がその時その状況で重要な情報を手間なく手に入れられる — そんな Android Wear アプリを作りたくなったら、まずは開発環境をさくっと 15 分ぐらいで整えてしまいましょう。 基本的には、 スマートフォン/タブレット (Handheld) 端末向けの Android 開発ができる環境を持っていれば、 Building Apps for Wearable
Android Wearのプレビュー版がリリースされていたので何ができるのか調べてみました。 ※プレビュー版のため、ここに書かれている仕様は将来変更される可能性があります。 基本形 Android Wearの通知機能は従来のNotificationに対して上位互換性があり、 アプリ側は特に何もしなくても通知したNotificationがAndroid Wearデバイス上に表示されます。 NotificationCompat.Builder nb = new NotificationCompat.Builder(this); nb.setContentTitle("こんちには") .setContentText("みさなん おんげき ですか? わしたは げんき です。") .setTicker("Ticker") .setSubText("サブテキスト") .setSmallIcon(R.d
このエントリーはVim Advent Calendar2012の301日目の記事です。 Vimで電話? スマホにVimを入れてるVimmerなら、Vimから電話掛けれたらな〜って1度は思ったことありますよね?(オレだけ?)。この度そんな願望を叶えるためのunite-sourceをちょこっと書いてみたので紹介してみたいと思います。 電話帳の取得は? もちろんAndroid端末は内部に連絡先のデータベースを持っており、そこから情報を取得できれば一番いいんですが、ターミナルエミュレータで動いてるAndroidネイティブなCUIアプリからそれをやるのは恐らく無理だと思われます。さてどうしたものかと考えて思いついたのは、スマホの「連絡先データのエクスポート」でSDカード上に出力されたファイルを使ったらどうか?というものでした。vcard形式のこのファイルのUTF-8エンコードされた部分をデコードして
手持ちのNexus7にてGPSを扱うAndroidアプリを作りたいなと考えて、Rubyで書く方法を探してみたところ、RhoMobileというフレームワークがあったため試してみました。 なお、インストール後にAPIを読んだところ、現時点ではGPSのNMEA0183形式データを取得するAPIが見つからなかったため、利用は保留にしています。次回さわるときの参考までに、と。 http://docs.rhomobile.com/rhodesapi/geolocation-api ■構築した環境 Windows7 x64 Nexus7 JDK 6u45 x86 RhoMobile Suite 2.2.1.13 32bit版 Android SDK r21.1 Android NDK r8d x86 *Rubyは、RhoMobile Suiteに同梱されているものを使用します ■RhoMobileとは
30億のデバイスのみなさん、こんにちは、ジャバです。 何の前触れもなく、2013年 Androidアプリ開発で使いたいライブラリを発表します。 JsonConverter => gson JSONRPCでサーバーサイドと通信を行うときに、毎回パーサーを書くのは面倒なので、JsonConverterを使いたくなります。 そこで開発ではgoogleが開発しているgsonを使っていました。 NamingPolicyやDeserializerの使い方を覚えれば、手でjsonのパーサーを書くより圧倒的に楽で、 Person person = gson.fromJson(json, Person.class); このように一行でjsonからオブジェクトに変換できるようになり、 String json = gson.toJson(person); 一行でオブジェクトからStringに変換することも出来ま
Androidで、Boost 1.52.0を使う機会があったので、ビルド手順を記録します。 中身は、Android ndk boost 1.51 個人的ビルドメモの内容を1.52.0に焼きまわしたものです 環境 Windows 7 Cygwin 資材 Android NDK r8c boost 1.52.0 手順 1. CygwinとNDKをセットアップ 2. boostをダウンロード 3. 任意の場所に解凍 ここでは、c:\work\boost_1_52_0 を仮定 4. パッチ(boost_1_52_0.patch)をc:\work\を配置して、次のコマンドを実行する $ c:\work $ patch -p0 boost_1_52_0.patch5. boost_1_52_0\tools\build\v2\user-config.jamのANDROID_NDK_ROOTを次のように修
Googleの方針でずっとC++の例外が使えず、従ってSTLも使えなかったのがNDK-r5b(2010年12月)でようやく使えるようになった。 ここではSTLのvectorと例外を使用する。 プロジェクトの準備 以前作ったAndroidプログラミング-NDK-HelloWorldと同様にプロジェクトを作って、 NDKでC++が使えるようにしておく。 今回はHelloWorld.cppの中でstd::vectorとtry~catchを使う。 ソース HelloWorld.cppはこんな感じ。 #include "HelloWorld.hpp" #include <android/log.h> #include <vector> using namespace std; /* * Class: org_karlsland_MainActivity * Method: hello_world
AndroidNDK r5では、標準でSTLportをサポートしている。 そこで、普通にstd::stringとか書いてndk-buildって打ったらコンパイル通るのかなと 思っていたらそんなことは無かった。 そこで、android-ndk-r5/docs/CPLUSPLUS_SUPPORT.htmlを読んでみる。 それによると、AndroidプラットフォームではNDKに最小構成のC++ランタイムライブラリと、 それに対応するヘッダを提供しているらしい。 また、その中では例外やRTTIもサポートしている。 しかし、この最小構成ではC++のコンパイルは行えるのだが STLを利用することは出来ない。 そのため、『STLportを利用する』という宣言を行う必要がある。 記述としては、「Android.mk」を置いているjniフォルダと同じ場所に「Application.mk」という ファイルを作
I can't get my Nexus S (running Android 4.0) to redirect native stdout message to logcat. I've read that I need to do this: $ adb shell stop $ adb shell setprop log.redirect-stdio true $ adb shell start However, this doesn't seem to work. (It does break JUnit though, as mentioned here, so it's not without effect.) For reference, here's my code: package com.mayastudios; import android.util.Log; pub
.app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads
logcat は、Android のログを出力するためのツール。実行すると接続した Android 端末のログをもりもり吐く。もちろんファイルに保存もできる。Android 開発のデバッグのお供だ。 で、このログなんだけど、ログは重要度でレベル分けされてて、標準の GUI のログビューアなんかでは色分けされて表示される。見やすい。 でも GUI だと検索もあまり柔軟にできないし、logcat コマンドはテキストで出力するわけなんだからテキストで見たいわけです。てか GUI のビューア立ち上げるとかめんどい。 そこで登場するのが logcat.vim。要は syntax ファイルです。 https://github.com/thinca/vim-logcat 機能 各種ログフォーマットに対応 brief process tag thread time long rawはない。てか無理。 フォ
Androidの会MLに質問投げました。 ListViewの内容が更新されないという質問です。 ListViewでEmptyメッセージが表示されている状態から、アイテムを追加しても表示されない。 - 日本Androidの会 | Google グループ http://groups.google.co.jp/group/android-group-japan/browse_thread/thread/351885804d5f7b66 質問の内容はこちら ListViewの要素がない状態から、要素を追加してもemptyメッセージが表示されたままで、ListViewが表示されません。 あらかじめListViewに要素が1つでもある場合なら、追加されます。 invalidateやinvalidateViewsをためしたんですが、どちらもダメでした。 他に更新を促す方法があるんでしょうか テストコード
ビルド&転送&実行にのみNetBeansを使うのに嫌気がさしたので(エディタがすぐバグります……)、 シェルとvimのコンビに頑張ってもらうことになりました。 $android で起動するAndroid SDK and AVD Managerで使うパッケージを適当にインストールして、エミュレーター(AVD)も適当に作った上で話を進めると、 $mkdir ~/android_projects/hello_project $cd ~/android_projects/hello_project とかでプロジェクトディレクトリを作成し、そこに移動した後、 $android create project --target 3 --name Hello --path $PWD --activity Hello --package org.me.Hello とかいう感じでプロジェクトを作る。 勝手にデ
android.contentパッケージ - Intentクラスを使用します。 Intentをインスタンス化する際に使用するコンストラクタは、以下のとおり。 public Intent (String action, Uri uri) 第1引数のactionに、Intentクラス定数であるIntent.ACTION_VIEW、 第2引数のuriに、Uriクラスのインスタンスを渡します。 ※Uriクラスインスタンス化するには、Uri.parse()を使用します。 Intentを作成したら、startActivity()を呼び出すことで、アクティビティを起動させることができます。 サンプルソースコード Intent intent = new Intent( Intent.ACTION_VIEW, Uri.parse("http://www.adakoda.com/adakoda/")); st
ボタンのonClickイベント等で時間のかかる処理を行って、他のユーザーインターフェイス(以下UI)コンポーネントの処理が止まってしまったことはないだろうか。AndroidのUIはシングルスレッドで処理されるため、あるUIコンポーネントの処理が終わらないうちは次のUIコンポーネントの処理を行うことができないからだ。 ワーカースレッドの生成 Androidでは、UIを司るスレッドをメインスレッドあるいはUIスレッドと呼び、これをブロックさせてはならない。もし、ボタンのイベント等で時間のかかる処理を行いたい場合、ワーカースレッドを生成する等してメインスレッドをブロックしないようにすることが重要である。 button1 = (Button)findViewById(R.id.button1); button1.setOnClickListener(new View.OnClickListener
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く