プログラム

プログラム作成に関する記事

2011年5月16日 (月)

Serviio DLNAとSynology DS111

いろいろ情報を探していたら見つけた

JavaベースのServiio DLNAというDLNAメディアサーバと、それをSynology社の1ベイNAS DS111(2ベイのDS211というのもある)に載せるというblog記事

DS111のスペックをみると、CPUは1.6GHzとかあるので、ATOMプロセッサなのかな?と思っていたら、blog記事の方に出てくるダウンロードしたファイル名を見てみると「ARM」という文字列が...
どうやらMarvell Kirkwood ARM搭載らしい。


よく見てみると、Synologyは日本語ページもある模様。
先日、ビックサイトで開催されたDSE2011にも出展していたり、amazon.co.jpで販売開始してたりするようです。

値段はDS111が15,800円というのは、まぁまぁ、といったところかな

| | コメント (0) | トラックバック (0)

2010年12月13日 (月)

Androidの着信関連

電話があったら、自動着信して、それをSIP経由で外部に飛ばす、なんて仕組みは作れないだろうか、と調査中。

android-notifier
Wifi/Bluetooth経由でAndroid端末に来た着信のお知らせをLinux/Windows/Macで起動しているアプリに通知するというソフトウェア
オープンソースなので、改造が可能そう


tCallBlocking
「一度電話を取ってから切断する」なんて設定ができるようなので、仕組み的には自動着信は大丈夫そう?

ブラウザからのアプリ起動
まぁ、直接は関係ないけど

・muddy brown thang: Linux上で動くSkype用のbotを作る方法
・橋本商会: skype-socket-gatewayを作った
skypeボットの作り方。

| | コメント (0) | トラックバック (0)

2010年11月15日 (月)

apkとodex

Android端末で/system/appを見てみると、apkという拡張子のファイルとodexという拡張子のファイルが見つかる。

で、odexとは何か?を調べた

SC3WO06Aさんのblogより:de-odexing
8796.jp管理日誌より:[Android] deodexをしてみよう

ようは、通常はapk内に含まれるdexという拡張子のファイルをサポートするのがodexファイル。
ただ、odexがあると、apk内にdexというファイルは不要なので、システムとしては容量削減のためapk内のdexを削除することが多い。
このdexが削除されているapk内に、odexファイルからdexファイルを生成し戻す、という手順がdeodexというもの。

で、なんでdeodexしたいかというと、プレインストールソフトを、他のAndroid端末で使ってみたいから、というものだったり・・・

| | コメント (0) | トラックバック (0)

2010年10月28日 (木)

マンガをAndroidで見るには?

マンガをAndroidで見るには?

Droid Comic Viewer
画像形式: JPEG, PNG, BMP
アーカイブ形式: CBZ/ZIP, ACV, CBR/RAR
言語: English, French, German,Italian, Polish, Portuguese, Spanish

かなりいろんな機能が搭載されているビューアー。
特に各種操作をカスタマイズできる機能がすごいと思う。
以前はACV(Android Comic Viewer)と名乗っていた。

独自のACV形式でRobot Comicsというところで英語コミックを販売している。また、Android以外にもiPhone/iPadNintendo DSi用にも提供されている。
ただ、基本的にはACV形式およびコミック毎のアプリ化はRobot Comicsに委託することになる。
とはいっても、ACV形式の書式はZIP形式+comic.xmlで、Introduction to creating comics for Droid Comic ViewerACV 2 format specificationに詳細がある。
xmlでは読み終わった後に次話を開いたりする設定ができるようだ。

COMICROID
画像形式: PNG, JPG, BMP, GIF
アーカイブ形式: zip, rar, cbz, cbr, lzh
言語: English, Japanese, Chinese

日本人作者が作成しているビューアー


Androbook
画像形式: 内部的にはJPG
アーカイブ形式: アプリ化(apk)されているので内部的にはzip
言語: 日本語

日本人作者が作成しているコミックアプリ作成ソフト?
ビューアーとしての機能はかなり低レベル。
JPG画像をzipで固めて、アップロードすればアプリになり、それをAndroidMarketで公開できる。
という点のみ、見るべき点がある。


| | コメント (0) | トラックバック (0)

2010年10月21日 (木)

QVGA端末のAndroid Marketに出てこないアプリの検証

androbookで作り、Android Marketに掲載されている作品が、QVGA端末のMarketに出てこない件について調査。

マニフェスト問題だろう、というあたりはあったので、とりあえず適当にandrobookで作り、apk入手。

# apktool d パッケージ名

で、展開して、AndroidManifest.xmlの内容を確認。

想定通り、supports-screens設定がされていない。
参考: Y.A.Mの雑記帳: Android multi screen 対応 より

<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:anyDensity="true" />

とりあえず、AndroidManifest.xmlを編集して、上記を追加。
あと、「android:versionCode」の値を増やして更新版であることを認識させる。

次に、「apktool b ディレクトリ名 新apk」でapkファイルを作ってみる。
でも、このapkファイルは署名してないということで、marketにアップロードできなかった。

じゃぁ、日本語リソース追加手法と同様にすればいいのかな?
ディレクトリ名/build/apkにあるAndroidManifest.xmlとresources.arscだけ置き換えればいいかな?と思ったので・・・

「apktool b ディレクトリ名」でbuildディレクトリを作ったあと、
「zip -u 元々のapkファイル名 -0 AndroidManifest.xml resources.arsc」を実行してみる。
あと、Android Marketにアップしてみたらzipalign実行しろと言われたので「zipalign -v 4 元apk 新apk」。


で、これでできた新apkファイルをアップロードしてみると、ちゃんとQVGA端末のMarketで出てくるアプリができあがった。


でも、このapkファイルをインストールしようとしたら、「Unknown reason: -102」というエラーでインストールが失敗しましたけどね。

まぁ、ここによると改変したのが原因っぽいエラーコードになってますね

102: Installation failed: Invalid package.
The application cannot be installed properly because some of the package contents are invalid or missing.


とりあえず検証自体はできたので、okかなっと
-------------------------------------------------------


で、もうちょっと、ちゃんとしてみようかな?と思って、継続

/usr/java/jdk~/bin/keytool -genkey -v -keystore my-release-key.keystore -alias 名前 -keyalg RSA -keysize 2048 -validity 10000

でkeyを作成。
そのあと、
apktool b ディレクトリ名 apk名
でapkファイル作成

その後、
/usr/java/jdk~/bin/jarsigner -verbose -keystore my-release-key.keystore apkファイル 名前
でapkに署名

そのあと、jarsigner -verbose -verify apkファイル名で検証
で、zipalignで整えてMarketにアップロード。

・・・いままでの署名と違う、と言われる


仕方がないのでもうちょっと手を入れる
どうせなので、アプリケーション名も自分のにしちゃえ

・AndroidManifest.xmlのpackage=を自分の独自のものに変更
・smaliディレクトリ内部にあるディレクトリ構造を、上記の自分独自のものに変更
・「~.smali」ファイル内にあるpackage名の部分をsedを使って置き換え
・apktool bでapk作成
・jarsignerで署名
・zipalignで最適化

・・・パッケージファイルが無効です。ですか・・・

もしかして「net.~.androbook.001」なんてパッケージ名が不可?
「net.~.androbook.book001」という名前で再チャレンジ→インストール成功!!

| | コメント (0) | トラックバック (0)

2010年10月 7日 (木)

App Inventorについて調査中

App Inventor Idea Book より


大きすぎる ImageSprite 画像の縮小
画面に収まらない画像が自動縮小されるが、その法則性について


カメラの起動
カメラで撮った画像を、ファイル選択で選択して表示する例
これは古いやりかた

Camera Test
カメラで撮った画像を直接貼り付ける例


Googleのフォーラムより
TidyDBを使う例


| | コメント (0) | トラックバック (0)

2010年8月24日 (火)

WSHでプログラムの標準出力を取り込む

netshコマンドでIPアドレスを設定した時、その出力結果をファイルに保存したいと思った。

=====================================================
Set debugfso = CreateObject("Scripting.FileSystemObject")
Set debugf = debugfso.OpenTextFile("c:\\debug.txt", 8)
NETSHCMD = "netsh interface ip set address ~"
Set ObjExec = WshShell.Exec(NETSHCMD)
Do While objExec.Status = 0
 WScript.Sleep 100
Loop

If Not ObjExec.StdErr.AtEndOfStream Then
 set Results=ObjExec.StdErr.ReadAll()
 debugf.WriteLine(Results)
ElseIf Not ObjExec.StdOut.AtEndOfStream Then
 set Results=ObjExec.StdOut.ReadAll()
 debugf.WriteLine(Results & " ")
End If
Set objExec = Nothing

debugf.Close
=====================================================
これだと、エラーになった。
具体的には「set Results=ObjExec.StdOut.ReadAll()」の部分。


以下の様に変えたらうまくいった
=====================================================
Set debugfso = CreateObject("Scripting.FileSystemObject")
Set debugf = debugfso.OpenTextFile("c:\\debug.txt", 8)
NETSHCMD = "netsh interface ip set address ~"
Set ObjExec = WshShell.Exec(NETSHCMD)
Do While objExec.Status = 0
 WScript.Sleep 100
Loop

Do While Not ObjExec.StdErr.AtEndOfStream
 debugf.WriteLine(ObjExec.StdErr.ReadAll)
Loop
Do While Not ObjExec.StdOut.AtEndOfStream
 debugf.WriteLine(ObjExec.StdOut.ReadAll)
Loop
Set objExec = Nothing

debugf.Close
=====================================================

| | コメント (0) | トラックバック (0)

2010年1月21日 (木)

Felicaドライバとかいろいろ

・ドライバ編
RC-S330,RC-S320シリーズ,RC-S310/J1C,RC-S310/ED4C用ドライバ
RC-S310/ED3,RC-S310/ED2用のドライバ
IOデータのぴタッチ USB2-NFC用のドライバ(注:Sonyパソリシリーズと構造が違うので、この製品に正式対応していない限り、アプリが動きません)

・アプリ編
SONY公式で認定しているアプリリンク集
Justsystem社アプリ集
FeliCa2Moneyというカードの精算ログを集計するソフト(Felicalibの応用例)

・ログイン
電机本舗ってところで、PeopleLogOn Freeware版ってのがあるけど、2009年3月以来放置されてるっぽいので、紹介は無し。

| | コメント (0) | トラックバック (0)

2009年9月 8日 (火)

OpenSocialを調べる

OpenSocialというか、mixiアプリを作るので調査中

・本山のデベロッパーガイド
・スパイスラボのラボブログ: OpenSocial JavaScript API について調べる
・typea.infoのmixi アプリ データの永続化

・goo Developer's Kitchenのアプリデータを更新、取得、削除する

| | コメント (0) | トラックバック (0)

2009年7月21日 (火)

adesでandroid その2

WILLCOM adesでAndroidを動かす遊びについて、最近の状況です

New!: Windows PCとUSBケーブルでつなぐことによって、以下が行えるようになった。
・ネットワーク接続!
・Android SDKのadbコマンドが使える!!
・adb installができるので、ソフトウェアがインストールできる!!!
・simejiを使って日本語変換もできた!!!!


なぜ?
Android用のLinux kernelをコンパイルする際に「USB Gadget」の「Ethernet Gadget」を「RNDIS」でコンパイルする。
そうすると、Windows上で「RNDIS/Ethernet Gadget」というデバイスが認識される。
ドライバは、いろいろ入手先がある。

現状、コンパイル・設定方法等はnenecom houseが一番まとまっている。


ちなみに、うちの場合、ades上でlinuxを起動する前にUSBをつないでおかないと、ちゃんと認識しませんでした。

| | コメント (0) | トラックバック (0)