Arduinoリファレンスまとめ
久しぶりにArduinoを触ったのでリファレンス等をまとめておく
開発環境、インストールまわり
- Getting Started w/ Arduino on Mac OS X : Macでの開発環境インストール
- Arduino Development Environment : 開発環境の説明
リファレンス
- Language Reference : 言語仕様
- Libraries : ライブラリ
- Arduino/Processing Language Comparison : 言語の違い
- Changes : 変更点
Mac OS X 10.6でAndroidビルド時に発生するdb46エラーの対処方法
Mac OS X 10.6.5でAndroidのソースをビルドしていると、db46エラーに遭遇したので対処法を記しておく。
source.android.comのGet Android Source Codeのページに記載されているMacのビルド方法で、下記の記述がある。
3. Get the following packages from port:
$ POSIXLY_CORRECT=1 sudo port install gmake libsdl git-core gnupg
上記を実行すると、portのインストール途中で以下のエラーが発生した。どうやら、Mac向けJavaのネイティブフレームワークヘッダが足りないようだ。
Error: db46 requires the Java for Mac OS X development headers. Error: Download the Java Developer Package from: <https://connect.apple.com/cgi-bin/WebObjects/MemberSite.woa/wa/getSoftware?bundleID=20719> Error: Target org.macports.configure returned: missing Java headers Error: Failed to install db46 Log for db46 is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_databases_db46/main.log Error: The following dependencies were not installed: xorg-libXext xorg-libX11 xorg-libxcb python27 db46 gdbm openssl zlib readline sqlite3 xorg-libpthread-stubs xorg-xcb-proto libxml2 xorg-util-macros xorg-xcmiscproto xorg-xextproto xorg-xf86bigfontproto xorg-xtrans xorg-libXrandr xorg-randrproto xrender xorg-renderproto Error: Status 1 encountered during processing. To report a bug, see <http://guide.macports.org/#project.tickets>
ログのメッセージの通り、Java for Mac OS X 10.6 Update 3 Developer Package(139.4MB) をダウンロードして、手動でインストールを行う。ダウンロードにはAppleIDが必要な点に注意する。
その後、改めて「3.」のコマンドを実行し直せば、portのインストールが成功する。
Androidドキュメントの翻訳
去年の夏ごろから開始したSDKに付属する公式Androidドキュメントの翻訳ですが、Gingerbread対応の翻訳作業を開始しました。
翻訳の一連の作業にご協力頂ける方は、是非、下記のサイトからご参加&ご応募下さい。http://groups.google.com/group/android-docs-jp
翻訳の参加には、SourceForge.jpのアカウントが必要です。SourceForge.netのアカウントは使用できませんので、ご注意下さい。
Androiderが押さえておきたいブログ・サイトまとめ
個人的に、"Androider(開発者)が押さえておくべき"と感じたブログ・サイトのまとめです。*1
※2014/5/13にリンクの保守を行いました。
公式
- Android Developer's:SDKや開発ガイドなど
- Android Open Source Project:Frameworkのソースのダウンロード
- Android Market デベロッパーコンソール:マーケットへのリリース
- Google Analytics SDK for Android:アプリの操作追跡
- Android Backup Service:Android data backup frameworkと統合されたサービス
- Google Phone Gallery:Googleフォンの一覧
- Android Wear:Android Wear
- Google Glass:Google Glass
開発全般
- Android(アンドロイド)情報-ブリリアントサービス:組み込みからアプリまで。Analytics SDKの使用例も。
- Tech Booster:更新頻度高し
- throw Life:simeji作者のブログ。難易度高め記事多し
- adakoda:Androidビルド環境入りUbuntuの配布等
- android情報まとめwiki
*1:あくまでも主観によるものです
Webアプリのデバッグ
Android向けのWebアプリケーションを開発しているなら、logcatにメッセージを出力するコンソールJavaScript APIを使用して、JavaScriptのデバッグが可能です。FirebugやWeb Inspectorを用いたWebページのデバッグに慣れているなら、おそらく(console.log()のような)コンソールを使う方が分かりやすいでしょう。
Android WebKitフレームワークは、ほぼ同じAPIをサポートしており、AndroidのブラウザやWebView内のWebページのデバッグ時に、ログを取得することが可能になります。
概要
- JavaScriptのコンソールメソッドを利用してWebアプリのデバッグができます
- カスタムWebViewをデバッグしているなら、デバッグメッセージをハンドルするコールバックメソッドを実装する必要があります
Webアプリのベストプラクティス
モバイル端末向けのWebページとWebアプリの開発は、典型的なデスクトップWebブラウザ向けの開発と比べて、異なるチャレンジをしなければなりません。
開発を始めるにあたり、Androidやその他のモバイル端末向けのWebアプリケーションを最も効果的に適用するために、従うべきプラクティスのリストを下記に示します。
1. Webサイトのモバイル専用バージョンにモバイル端末をリダイレクトする
サーバサイドのリダイレクトを利用した、Webサイトのモバイルバージョンへリクエストをリダイレクトする方法がいくつかあります。大抵はWebブラウザから提供されたユーザーエージェントを"検知"することでこれを行います。
サイトがモバイルバージョンを提供するかどうかを決めるには、ユーザーエージェント中に"mobile"文字列があるかどうかを見るだけです("mobile"は様々なモバイル端末に適していることを示します)。
必要であれば、ユーザーエージェント文字列中の特定のOSを識別することも可能です("Android 2.1"のように)。
2. モバイル端末に適切なマークアップDOCTYPEを使う
モバイルWebサイトで最も共通的に使われているマークアップ言語は、XHTMLベーシックです。このスタンダードな言語はモバイル端末上で、Webサイトをうまく動作させる具体的なマークアップとして保証されています。
例えば、先のマークアップ言語はモバイル端末上でパフォーマンスのでない、HTMLフレームやネストされたテーブルは許可されていません。また、DOCTYPEと共に、必ずドキュメントの適切な文字エンコーディングを宣言して下さい(UTF-8のように)。
例:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd">
また、必ず、宣言されたDOCTYPEに対してWebページのマークアップが有効になるようにして下さい。http://validator.w3.orgで提供されているようなバリデータ(検証機構)を利用しましょう。
3. Webページのリサイズに適したビューポートメタデータを使う
ドキュメントの
中で、Webページを描画するためのブラウザのビューポートをどのように扱うかを記した、具体的なメタデータを提供すべきです。例えば、ビューポートメタデータでは、初期Webページのスケールとターゲットの画面解像度に合わせた、ブラウザのビューポートの高さや幅を指定できます。
例:
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
Androidの端末向けビューポートメタデータの使用方法の詳しい情報は、Targeting Screens from Web Appsを参照して下さい。
4. 複数のファイルリクエストを避ける
モバイル端末は一般的にデスクトップコンピュータに比べて接続速度がかなり遅いため、Webページは可能な限り早く読み込みされるように作らなければなりません。スピードアップの一つの方法として、スタイルシートや内のスクリプトファイルのような、外部ファイルの読み込みを避けることが挙げられます。
代わりに、
あるいは、Minifyのようなツールを利用した圧縮によって、ファイルのサイズやスピードを最適化すべきです。
5. 縦方向のリニアレイアウト(LinearLayout)を使う
Webページをナビゲートするにあたり、ユーザに左右のスクロールをさせることを避けなければなりません。上下にスクロールする方がユーザにとっても簡単ですし、Webページもシンプルにできます。
素晴らしいモバイルWebアプリを作成するさらなるガイドについては、W3CのMobile Web Best Practicesを参照して下さい。(モバイルとデスクトップの)Webサイトのスピードアップに関するその他のガイダンスについては、Yahooガイドの Exceptional PerformanceとGoogleのLet's make the web faster内のスピードに関するチュートリアルを御覧下さい。
ADT 9.0.0 preview 2が公開されています
Android Tools Project Siteで、ADT 9.0.0 プレビュー2がダウンロードできる状態になっています。バージョンが9系ということは、Gingerbread対応のADTですね。
プレビュー2は、プレビュー1に対してユーザーから上がってきたバグのいくつかを修正したバージョンです。
主な修正点は下記の通り:
- アウトラインの記録:アウトライン中のビューの並び替えをさらに簡単にした。アウトラインの改善については、最新の更新ページの詳細を確認して下さい(問題 13042)
- 全てのエディタ内で、または、並んでいるシナリオのビュー中でキーボードのショートカットが動作しないキーバインドのバグを修正(問題13231, 13134)
- JUnitの初期化バグ(問題 12411)
- カスタムレイアウトの属性メニューの修正(問題 13134)
- 加えて、ハイパーリンク改善ページ中の、ハイパーリンク機能の説明について改善を行いました。
尚、過去にADTのバグで、プロジェクトのファイル一式が消えてしまう(?)バグがあったようですので、ADTの更新の際はできるだけバックアップしてから、新ADTの導入を行うことをおすすめします。