Android で YOLP

Yahoo Map を Android で使えるようにできる特集があったので
メモしてみました
YOLPで挑戦~Android向け簡易道のり測定アプリを30分で作る!
JavaScriptからGeolocation APIとして利用するには
YOLP Hacks: APIの使い方 ~現在位置の常時表示/地図をなぞって距離を計測
が参考になります
最近では
Open Street Mapが人気なので、こちらも調べてみます

Android と ipod touch アプリ追加

最近は仕事が忙しいため、外出中から
いろいろと操作できるように、携帯可能な
Android と ipod touch のアプリを充実させることにしました
いままでは、ポイントサイトやアンケートサイトは
自宅に帰ってから行っていましたが、さすがに時間的に空き時間にすませておきたいので
Android にパスワード管理アプリを追加しました
今回追加したのは、KeePassDroid
このアプリは Linux でもでています
そして、パスワード管理にはこれを使っています
もうひとつ、ipod touch に追加したのが、
nPOP for iPhone
無料の windows版もありますが、パソコンを持ち歩かなくても使えるので
これを使うことにしました

Android上で動作する開発環境「AIDE」

イマドキのIDE事情 (126) ついに登場! Android上で動作する開発環境「AIDE」

Android上で動作する開発環境「AIDE」
について取り上げられていました
これで、Android 端末そのものでアプリ開発などができるように
なってくるようです
ただ、どのくらいのものが作れるのかはまだ調べている途中なので
また情報が入り次第掲載してみようと思います
android アプリ開発とは別に
公開鍵認証の使えるアプリなど、サーバー管理に使うアプリについても調べてみました
android サーバー管理と検索するとでてきます
最近では安価な値段で AmazonEC2 なども使えますし
レンタルサーバーなどのアプリもでてきています
以前はノートパソコンのみでしたが
電車の中で操作するにはスマートフォンのほうが使いやすいと思いますので
緊急のこともかんがえて、いれておこうと思います
サーバー管理用 Androidアプリ
に載っていましたので、いくつか入れてみました
得に Overlook Fing を使うことが多くなりそうです

スマートフォンアプリ作成の参考サイト

スマートフォンアプリには、
App Store などを使い、端末にインストールする
ネイティブアプリ
そして、サーバーサイドで設置してブラウザで動かす
WEBアプリがあります
今日の参考サイトは、Web アプリ作成のほうです
Web編:HTML5やjQuery Mobileなど スマホWebアプリ開発に役立つ記事33選
最近では、HTML5と jQuery Mobile がメインとも言えます
あとは java script とか
最近学習中の Facebook アプリも PHP もしくは Java Script
が多く使われます
現在、AmazonEC2 でサーバーを構築中ですが
完成したら、こちらにアプリを実験的にいれてみようと思います

最新 Android SDK には Eclipse

今回 Android SDK をアップデートしたところ
エラーになりました
エラー内容は
Cannot complete the install because one or more required items could not be found. Software being installed: Android DDMS 16.0.1.v201112150204-238534 (com.android.ide.eclipse.ddms.feature.group 16.0.1.v201112150204-238534) Missing requirement: Android
DDMS 16.0.1.v201112150204-238534 (com.android.ide.eclipse.ddms.feature.group 16.0.1.v201112150204-238534) requires ‘org.eclipse.ui 3.6.2’ but it could not be found
エラーログにあるように
Eclipse のbばバージョンが古いのが原因でした
今までは Galileo をつかっていましたが
これは ver 3.5
Synaptic でインストールも試したのですが
こちらも同じため
eclipse-jee-indigo-SR1-linux-gtk.tar.gz
から
eclipse-jee-indigo-SR1-linux-gtk.tar.gz
をダウンロードして使うことにしました
これで、無事に eclipse で ADT プラグインが使えるようになりました
Android は Linux のように
オープンソースで開発が早いのですが
Fedora
のように安定しないのが欠点です
ただいずれCentOS のように安定したOS
になると思いますが
それまでは開発や実験要素が多そうです

eclipse を synaptic でインストール

Android 開発をネットブックで行っていて
久しぶりに android sdk のアップデートをしたら
eclipse 起動のときにエラーがでてしまい、開発環境が使えなくなりました
いろいろと対策をおこなったのですが、残念ながら
解決には至らなかったため
一度 android SDK と eclipse を消すことにしました
両方ともソースからのインストールでしたので
展開したディレクトリを
rm -rf bin/android
rm -rf bin/eclipse
で消去し
.bashrc
に記述してあった
android と eclipse へのパスを消しました
今回、新たに Android SDK をダウンロードしたのですが
ディレクトリの構造が変わっています
展開したときに
以前
android-sdk_r08-linux_86.tgz
のときには
android-sdk-linux_86
でしたが
今回ダウンロードした
android-sdk_r16-linux_86.tgz
では
android-sdk-linux
になっていました
とりあえず、.bashrc へ android sdk へのパスを記述
続いて
Eclipse を
sudo synaptic で起動してから
検索で eclipse を入力し、インストールします
最近はネット回線が遅いため、おそらくeclipseを
インストールして終わりそうです

Could not find YouTubeSearchAPIs.apk!の対処(未解決)

YouTube アプリでライブラリを利用するように変更したところ
エラーになってしまうため、解決するために情報収集してます
Android】「Could not find *.apk」のエラー対処
を参考に対処してみました
まず、debug.keystore を探さないといけないので
sudo find /home -name debug.keystore
でファイルを検索
$HOME.android/debug.keystore
に存在するので、これを元に対処
find コマンドは、システムからファイルを検索できるコマンド
使い方は
どこにあるか分からないファイルを検索
を参考にしてみました
rm -f .android/debug.keystore
でファイルを削除
次に、Eclipse で
Project > Clean を実行
どれを消すか聞かれるけど、とりあえず全部消してみるので
clean all projects
を選択してOK
しかし、これでもダメ
とりあえず、サンプルをインポートして実行するには問題ないのですが
自作のほうや、インポートした変更前のサンプルを改造すると
エラーになります
ソースなどを眺めて、解決策を調べてみます

android アプリのバージョンアップ

Android アプリの開発において
バージョンアップする方法についてのメモです
Android アプリを開発して、バージョンをあげるには
AndroidManifest.xml を編集します
編集するのは
android:versionCode=”1″
android:versionName=”1.0″
の部分
android:versionCode=”1″
は、Android システムに向けての情報
バージョンアップするときには、この数値を1ずつあげていきます
android:versionName=”1.0″
こちらは、ユーザ向けの情報
よく、ダウンロードするときに ver1.0 とか
ver1.1 とか書いてあるところにあたります
これらを修正して、再度アップロードすれば、
バージョンアップしたアプリの公開なのですが
新しく公開したときことは異なり、バージョンアップしたときは
新規アプリ扱いにはなりませんので
自分でマーケティングする必要があります
最近だと twitter, facebook で告知するといいのかもしれません

Android でライブラリプロジェクト

ソースコードをコピーするとプロジェクト間でコピーする前後で
機能差、バグ、バグの修正など、それぞれのバージョンで違うという状況が発生する
この場合、共通クラスを修正すると
他のプロジェクトにも繁栄するという面倒な作業が…….
これを一ヶ所にまとめれば、非常に効率的になる
というわけで
ライブラリプロジェクトを作成して
共通クラスをコピーしなくても使えるようにする
まずは、今回作成したYouTubeSearch プロジェクトに対してライブラリを適用
新規プロジェクトを作成して
プロジェクト名は
APILIBs
create acrtivity のチェックはいらないのではずして
build target は android 2.2
package name にはnet.linuxliker.APILIBs
テストもしてみたいのなら
JUnit テストプロジェクトも作成する(ただし、こちらはまだできていない)
とりあえず、できたら、プロジェクトのプロパティの設定
プロジェクトを右クリックして
Properties を選択
Android をクリックし、右側画面の下側にある
is Libray をチェック
Apply を押して適用します
liblary.png

パーミッション設定忘れに注意

Google Android WebAPIプログラミング入門
を読みながら、Youtube アプリ作成の勉強してます

今回、単純なエラーをしていました
JUnit Test を行っていましたが
Run As > Android JUnit Test を実行したとき、
エラーがでて、かなり考え込みました
JUnit のエラーログには
at net.linuxliker.data.test.FeedFactoryTest.testCreate(FeedFactoryTest.java:17) at java.lang.reflect.Method.invokeNative(Native Method) at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169) at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154) at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:520) at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1447)
となっていて、調べると
assertEquals(iRet,HttpStatus.SC_OK);
に問題があるということだったので、ソースを見ましたが
問題になりそうなところがありませんでした
しかし、よくよく考えてみたら、
AndroidManifest.xml
のパーミッション設定で
<uses-permission android:name=”android.permission.INTERNET”></uses-permission>
を追記するのを忘れていました
この権限をつけないと、アプリはネット接続することができません
これが原因でした