サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大そうじへの備え
coriandre.seesaa.net
Android ZXingを使ったバーコードリーダのコーディング https://coriandre.seesaa.net/article/200907article_38.html という記事を以前に書きました。 ZXingはスタンダードなライブラリになりましたね。 最近の状況に合わせて書き直しました。 1、ダウンロード 現在はGigHubでメンテナンスされているので、 ソースコードのダウンロードは https://github.com/zxing/zxing からです。 Download ZIPをクリックするか、Gitクライアントでチェックアウトして下さい。 2、ビルドの準備 解凍すると直下のディレクトリにpom.xml というファイルがありまう。Mavenでビルドするようです。 http://maven.apache.org/download.cgi からダウンロードします。現時点の
Android Studioでちょいとアプリを書いていて、サンプルをコピーして来てコンパイルしたらエラー ダイヤモンド演算子を使用可能にするには、-source 7以降を使用してください ソースコード上には diamond types are not supported at this language level と表示されます。 ダイヤモンド演算子”<>”のことでしょうね。 ああ、Java1.6で対応してないのかってことで File→Ohter Settings→Default Settings でCompiler→Java Compilerを選択してProject bytecode versionを1.7に設定 それでもエラーが消えない 検索した結果 File→Project StructureのPropertiesでSource Compatibilityを1.7に設定する必要があ
Ubuntu12.04をインストールしてごにょごにょしてるわけですが、物理的に離れているけど、Windowsマシンからアクセスして操作したいことありますね。 Ubuntuはあくまでサーバで普段はWindowsマシンでの作業がメインでしょうから。 Windowsにはリモートデスクトップという便利なツールがありますが、これのサーバ側のソフトをUbuntu側に入れてやれば実現できます。 1、xrdpのインストール $ sudo apt-get install xrdp vnc4server xvfb xrdpは、RDP(Remote Desktop Protocol)のサーバ側の実装です。 http://itpro.nikkeibp.co.jp/word/page/10005039/ 2、ログイン時の設定 echo "gnome-session --session=ubuntu-2d" > ~/
Android Studioが今年のGoogle I/Oで発表されてから随分経ちましたね。 当初はVer0.1ですが現在は0.3.6までバージョンアップしてきました。 最初のプロジェクトを生成する時に、色々ネット経由でダウンロードしてやっと使えるようになるようです。 個人で使う分には何の問題もないのですが、会社でProxy経由で使おうとすると最初のプロジェクト生成時に以下のメッセージが表示されてビルドに失敗します。 Could not GET 'http://repo1.maven.org/maven2/com/android/tools/build/gradle'. Received stats code 407 from server: Proxy Authentication Required 設定画面でProxyの設定もしてますし、設定画面で「http://repo1.maven.
TIからCC2541 SensorTag Development Kitというのが出てます。 赤くて、ライターくらいのサイズのやつです。 詳細は以下のTIサイトを参照して下さい。 http://www.tij.co.jp/ww/wireless_connectivity/sensortag/index.shtml?DCMP=advertorial201309&HQS=SensorTag-bs-tech-adv-jp BLEのワークショップなんかでちょいちょい見かけるので気になってたのですが、TIのサイトからとか買おうとすると25$で海外発送になるのでちょいと面倒なのでそのままに。 ET2013に仕事で行ったのでTIのブースを覗くと定価2,500円が2,200円だったので即行購入 こんな箱です
昨日Nexus 5が届いてたので、午後からLTE(Xi)で使うために最寄のドコモショップへ 今までGalaxy Nexusを3G回線で使ってたので、使うためには 1、契約を3GからXiに変更 タイプXi にねん:月額780円 Xiパケ・ホーダイライト:月額4,935円 ケータイ補償お届けサービス解約:月額399円 spモード追加加入:315円(不要でした、後述) 2、SIMを通常からMicro SIMに変更 docomoでは、mini UIMカードと呼ぶようです。 契約が終わってMicro SIMを挿すとあっさりLTEの表示がされました。 spモードは追加されない(docomoの端末じゃないので)、手動で追加しました。 APNとして、「spmode.ne.jp」を設定します。 上記の一番下です。 ちなみにIIJmioとかb-mobileとかは最初からあるんですねw さて、こっからが本題です
先月末に予約したPasori RC-390が本日届きました。 意外と早いですね。 …
ReVIEWを知ったのは、テクブの夏コミ「Effective Android」の制作に使用したと羊さんの記事を読んだからです。 http://d.hatena.ne.jp/hdk_embedded/20130810/1376148749 184ページを22名で書いたそうなので、WORDで書こうか、いやおれWORD持ってないし とか大変だったようです>< Effective Androidは開始40分で完売したのだとか>< http://togetter.com/li/547540?page=1 その日は仕事で行けなかったのですが、後日台湾の老師から譲っていただきました(^^) ReVIEWについては以下にまとまっています。 書籍制作フローを変える。「ReVIEW」という解。 http://kmuto.jp/events/page2012/page2012.pdf CUI初心者のためのReV
さきほど書いたiOSと違って、AndroidでのBLE対応に関しては、かなり限定的で資料も乏しい状況です。 新Nexus7でSDKのBLEサンプルを動かしてみた https://coriandre.seesaa.net/article/201308article_1.html で書いたようにAndroid4.3(API18)からBLEをネイティブ対応したので、Nexus7(2013)であればSDKを使ってBLE対応の開発が可能です。 ただ、まだ調査中なのですが、SDKのAPIはCentralのみでPeripheralのためのAPIがなさそうです。 事前のGoogleの発表だとAndroid端末間でBLEを使用しての通信は出来ないとのことです。 そのため対向として、ブルタグのような機器か、iPhoneのBTLE Central Peripheral Transferのようなものが必要になるか
BLE関連の仕事してるので調べたことをまとめておきます。 BLEはiOSの場合、iPhone4S以降であれば、CoreBluetoothを使用して実装ができます。 そのためか、資料、サンプルともに豊富です。 CoreBluetoothについては以下のレファレンスを参照して下さい。 http://developer.apple.com/library/ios/documentation/CoreBluetooth/Reference/CoreBluetooth_Framework/_index.html ●資料、ノウハウ等 1、 iOSアプリ開発者のための Bluetooth Low Energy体験講座 http://www.slideshare.net/reinforcelab/20130322-btle 上原昭宏さんによる講座の資料、非常にためになります。 Bluetoot Low E
BLE(Bluetooth Low Energy)が流行ってきました。 実は仕事でも案件があるので、色々調べてるのでその結果をまとめておきます。 スマートフォンのBLE対応状況 1、iPhone CoreBluetoothライブラリが提供されているのでこれを使って実装が出来ます。 対応機種はiPhone4S以降です。 以下のサイトが良くまとまっているので一読をお勧めします。 iPhoneアプリでBluetooth通信を使うための基礎知識 http://www.atmarkit.co.jp/fsmart/articles/ios_sensor04/01.html サンプルは以下が参考になります。 BTLE Central Peripheral Transfer http://developer.apple.com/library/ios/#samplecode/BTLE_Transfer/I
今更ですが、Google Maps Android API v2が2012年12月3日にリリースされたそうです。 その辺は@NkznさんがはAndroid Advent Calendar 2012 (裏) でまとめてくれています。 世界の中心でGoogle Maps Android API v2に喝采を送る 単純に仕事でMaps APIを使ったAndroidアプリを作ることになりそうなので、色々調べ始めました。 V1とV2とはクラス名からしてまったく別で互換性もないので、V1は捨てて最初からV2を学んだ芳が良さそうです。 V1とV2の違いは以下を参照 Google Maps Android API v2 の v1 からの変更点メモ こんな時に参考になるのは、公式サイトとサンプルプログラム ということで 公式サイトは https://developers.google.com/maps/do
休みの日にUbuntuのディスクを整理して使ってないファイルをさっくり消して、JBの最新ソースを取ってこようとしたらなぜかエラー error: Exited sync due to gc errors repoが古いから.repo/repo/repoを~/binにコピーしろってメッセージが出たのでコピーして再実行してもダメ https://groups.google.com/forum/?fromgroups=#!topic/repo-discuss/tnIWemm8M6k によると The latest version of repo now requires Git 1.7.2 or newer, as that is when the -c flag was introduced. だそうです。 $ git --version git version 1.7.0.4 確かに古い $
OESFからはオンライン上でAndroidのソースコードの検索サービスが公開されています。 https://sites.google.com/site/devcollaboration/codesearch AOSPが公開されて、ほぼ翌日くらいに追加されます。 恩恵を受けている人も多いでしょう。 当然オンラインじゃないと使えないのと、Android以外の検索にも使いたいのでローカルでの構築をしてみました。 OpenGrokというソフトウエアを使って実現しているので、インストールとソース解析をしてみます。 OpenGrokのインストールと設定については以下が詳しいです。 http://sakplus.jp/2010/05/28/opengrok http://yamagu.mo-blog.jp/weblog/2011/03/opengrok_5625.html 1、必要なもの ・jdk6(a
前回はバイナリを焼いただけですが、ソースからビルドしてみました。 手順は http://releases.linaro.org/12.08/android/leb-panda/ とそのページの下の linaro_android_build_cmds.sh の中から抜粋して実行しました。 1、ソースコードのダウンロード ・環境変数の設定 export MANIFEST_REPO=git://android.git.linaro.org/platform/manifest.git export MANIFEST_BRANCH=linaro_android_4.1.1 export MANIFEST_FILENAME=staging-panda.xml export TARGET_PRODUCT=pandaboard export TARGET_SIMULATOR=false 環境変数を設定して
Google I/O 2012でJelly Bean(4.1)が正式発表されました。 どんな機能があるのかを知るためには、以下が参考になります。 ・Google I/O 2012 基調講演(キーノート1) ・セッション:What's New in Android ・Android 4.1 for Developers まずは、Android 4.1 for Developersをさっくり翻訳してみました。 ●注意 超直訳です。(^^; レイアウトが大変なので写真は外してテキストのみです。 make, let, canニュアンスは違うのでしょうが、めんどいのでcan(できる)で統一 ○○するところの、△△である。冗長で書きずらいので、途中でぶった切って、後ろから注釈するような書き方にしました。 オリジナルには番号はありませんが、階層というかグルーピングして理解しずらいので勝手に番号振りました
前に偶然見つけたページですが、電源ONから起動までが良くまとまっています。 http://www.androidenea.com/2009/06/android-boot-process-from-power-on.html ざっくりですが翻訳してみました。 電源ONからのAndroid起動プロセス モバイル・プラットフォームや組み込みシステムでは、デスクトップ・システムに比べていくつかの相違点を持っているので、これらがどのように最初に起動してブートするかについて、この記事ではAndroid携帯の初期ブートステージについての詳細を説明します。 我々はいくつか以前の例で参照としてBeagleBoardを使用しているので、いくつかの特定のものは同様のシステムに関連しています。 1.電源ONそしてBootROM codeの実行 CPUの電源投入時には初期化が行われていない状態です。内部クロックは
Twitterで良いページがあることを教えてもらったので、軽く翻訳してみました。 元ページは http://omappedia.org/wiki/Bootloader_Project Bootloader Project OMAPブートローダ概要 いくつかの段階のブートローダがあります、そしてそれぞれのブートローダはOMAPプラットフォーム上で異なるレベルの初期化を実行します。それは最終的にファイルシステムをロードして実行するためです。 この図はROMコード、x-loader、u-bootそしてカーネルのブートシーケンスを示しています。 そしてそれぞれの段階は次の段階でロードと実行が出来るように十分な設定を実行を行います。 Bootloader Projectは特にx-loaderとu-bootをカバーしています。コードの概要とどのようにコードを取得してビルドするかに関してです。 なぜ2つ
去年のGoogle I/Oで発表されたADK 色々楽しい用途が考えられますね。 とはいってもそもそも使える端末が限られています。 Android2.3.4以上、あるいは3.1以上だそうですが、ベンダーによっては塞がれてるようです。 確認するには $ adb shell pm list featuresを実行して feature:android.hardware.usb.accessoryが表示されればOK バージョンが対応していてもこれが表示ない場合は使えません。 手元の端末だと Galaxy s(Docomo版):NG(そもそも2.3.3だし) Nexus s:OK Galaxy Nexus(Docomo版):OK XOOM(au版):OK Galaxy NuxusとXOOMは feature:android.hardware.usb.hostも入っているのでホストモードでも動作する?
TinCan Tools のJTAG Debugger Flyswatter2が届きました。 7日に注文してPriorityMail(2番目に早い)で本日13日に届きました。 到着予定が6~10日と書いてあったので、早く届いたようです。 TrackingNumberが発行されており、昨日確認したら14時に税関を通過したのが分かっていたので 早ければ今日着くかと思ってたら、思ったとおりにお昼過ぎに届きました。 Flyswatterという単語は「ハエたたき」という意味です。 ちょっと変わってますね(^^;) 元はPandaBoard関連でちょっとした調べ物をしているときに以下の動画を見つけました。 http://youtu.be/8wK9q3XqnFY FlyswatterとPandaBoardを接続する説明用の動画、残念ながらデバッグなどの動作はありません。 Flyswatterは安価(49
気になる記事があったのでざっくり翻訳 JTAGを使ってのLinuxカーネルのデバッグ方法についての記事 原文はこちら http://www.eetimes.com/design/embedded/4207333/Debugging-the-Linux-kernel-with-JTAG JTAGによるLinuxカーネルのデバッグ Alexander Sirotkin 8/29/2010 1:31 PM EDT Linux関連の話題としてLinuxカーネルのトラブルシューティングのためのデバッガの使用は技術的なものだけではありません、それは政治的なものです。 Linuxは主にx86プラットフォーム上で開発されており、それはJTAGデバッグ機能を持ちません。そしてソフトウエアのみのカーネルデバッガは複雑で信頼性に欠けます。 このため、そして他の理由でLinus Torvaldsは、Ingo Mo
twitterでAndroidの起動に関する文章が紹介されていました。 http://www.huomo.cn/developer/article-b95a.html(中文) なかなか良い資料だったのでざっくり翻訳してみました。 中文と途中から英文でしたが、何とか大意は取れました。 ↓以下は中国語で火魔网の記事を翻訳しましたという説明(念のため) --------------------中文-------------------------- 你好,这个文件不是我写的,翻译成而已。 原文是火魔网(www.huomo.cn)的[android启动流程] http://www.huomo.cn/developer/article-b95a.html 这个文件的内容很好,我想给日本朋友介绍一下。 所以翻译成日语。 -----------------------------------------
第14回 V7から始めるUNIX講座 復習とまとめ(パイプ) 前回の補足というか余談 System360ではアドレスは24bitしかなかった。データは32bit 上位の8ビットをタグに使っていたりしたが、ハードウエアが変わったらプログラムが動かなくなった。 68000でもアドレスは24bitしかなかったので、上位の8bitをタグに使ったりしていたプログラムがあったけど、それは68020になったときに動かなくなった。 →あるものは使うというのは共通のようです(^^;) シグナルを送る命令が「kill」というのは →おそらくsignalという機能はプロセスを殺すためだけにあったのだろう。その後に色々な種類が追加されたと思われます。 signalは実行中のシステムコールを中断することがある。そのときシステムコールはEINTRを返す。 →なのでシステムコールを呼ぶような処理を書くときはEINTRが
SDカードからブートする時、OMAP3 Boot ROMコードは、X-Loaderを探すためにSDカードを”MLO”という名前で検索するでしょう。 このSDカードからブートするために、SW4をSD/MMCブートに設定して下さい。 SW4 = 00100111 (ハイからローへ、即ちSW4.1 = 1) 1はスイッチが"On"を示す。 EVMのUART 1/2に接続するUARTターミナルアプリケーションは、ボードブートアップとしての出力を映すでしょう。 Texas Instruments X-Loader 1.45 (Mar 19 2010 - 19:44:19) Starting X-loader on MMC Reading boot sector 212504 Bytes Read from MMC Starting OS Bootloader from MMC... Starting
先週から始まった、 V7から始めるUNIX講座、UST中継しますが保存しないので記憶および視聴者の方のつぶやきを元にまとめながら、疑問に思ったことを書いていきます。 メモ書きなので系統だった書き方になっていませんがご容赦を はじめに カーネルソースは/usr/sysの下 総ステップ数は25KSくらい 1、SWAPとPagingの違い UNIXでいうところのSWAPとPagingの違いについて ●SWAPはメモリからプログラム全体をハードディスクに追い出す。 そのため、完全にプログラムを実行できる(メモリ上)、できない(HD上)のいずれかになる。 (補足) Lions本によれば、proc構造体のp_addrにより以下のように判断できるようです。 メインメモリ内:ブロック番号 HD内:ディスクレコード番号 ●Pagingは、プログラムをPageと呼ばれる単位(4KB)に分割して、使っていない(
先々週から始まった、V7から始めるUNIX講座 まだまだ知識不足ですね。 第2回目が始まる前に30分ほど復習の時間をとっていただけましたので、メモを書いておきます。 第1回のまとめは以下参照 https://coriandre.seesaa.net/article/201011article_7.html ●SWAP、Paging SWAP、Pagingについては問題なし 仮想記憶を実現するには、ハードウエアサポート(MMU)が必要になる。 (余談) SUN1は68000を使っていたが、68000はMMUを搭載していない。 どうやって仮想記憶を実現したかというと68000を2つ搭載していて 1つめのCPUがこけたら2つめのCPUで復旧するという方法で実現していた。 SUN1について http://ja.wikipedia.org/wiki/Sun-1 68000の仮想記憶については以下の「
UbuntuにAndroidアプリの開発環境を構築するところまでいったので、次は実機の接続に関して書いておきます。 ●Windowsの場合 Windows版なら、AndroidSDKの配下のusb_driverの下にドライバがあるので接続してウイザードが起動したら、ここを指定してやれば基本OKです。 Galaxy sは別途kiesというツールを入れないとドライバ入らなかったです。 以下参照 https://coriandre.seesaa.net/article/201010article_11.html ●Ubuntuの場合 Ubuntu(Linux)には、デバイスドライバは特にありません。 ただ、Ubuntuでは外部のデバイスと接続するには、デバイスファイルが必要です。 /dev/xxxxxxxxってのです。 デバイスファイルは手動でも書けなくはないですが、カーネル2.6以降は新しいデ
えっと、普段は64ビットマシン(Windows7)でAndroidのフルビルドとかやってます。 VWMWare Player3.1.2にUbuntu10.04をゲストOSとしてインストールして環境構築してます。 当初40GBほど仮想ディスクを割り当てたのですが、あっという間にディスクが減ってきます。 残り20%:8Gほど。8GBぽっちだと、repo syncでソース取ってくるくらいなら良いですが、Makeしたら間違いなく足らなくなります。 ということで仮想ディスクのサイズ変更をしたいなと、 仮想マシン→仮想マシンの設定 ハードディスクのユーティリティで増やしても、Ubuntuにログインしてdfしても、あれ容量増えてない。 調べてみると、VWMwareで設定変更しても、それはゲストOSに反映されないので、パーティションツールとか使って広げてねと。 う~ん、けっこう悩みました。色んなサイトに書
突然仕事でAndroid NDKを使うことになりました。 元々別の環境で動作していたC言語ライブラリをAndroid用に修正して再コンパイルしてユーザに提供。 実行環境はユーザ先にしかないので、ライブラリの検証はユーザ作業。 特定の機能が動作しないとの問い合わせがあったので調査することになりました。 といってもライブラリしかないので呼び出し元が必要です。 なので、以下のように呼び出してやって、ネイティブコードからC言語ライブラリの 実行結果(API呼び出しのリターン値)を返して、機能が動作しているかの確認をする感じです。 Androidアプリケーション(画面:Java言語) ↓ ネイティブコード(パラメータを設定して、C言語ライブラリを呼び出し:C言語) ↓ C言語ライブラリ(デバッグ対象) 現在時点で、Android NDKの版数はr4bです。 ネットで情報を探すと、古いものが多いですね
次のページ
このページを最初にブックマークしてみませんか?
『coriandre.seesaa.net』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く