WiimoteLibでバランスボードの値を取得してたんですが、なぜか値が更新されない・・・
SetLEDでLEDのON/OFFはできます。
以前はBluetoothスタックの問題で接続したりしなかったりで悩みましたが、
安定してつながると思ったら別の問題が。。。
再接続はこちらのおかげで解決しました。
http://tyche.pu-toyama.ac.jp/~a-urasim/wiimote/
そこでいろいろググってみると、似たような問題を発見!
http://wiimotelib.codeplex.com/discussions/43873
読んでいくと・・・ん?
電池切れ?
というわけで早速電池を入れ替えてみると、ばんばん値が上がってきました。
あ~時間もったいない。
普段通りAndroidアプリを実機テストしようとして実行すると
Installation error: INSTALL_PARSE_FAILED_NO_CERTIFICATES
というエラー。
その下に
Error generating final archive: Found duplicate file for APK: AndroidManifest.xml
とあったので
ん~見たことあるなぁと思ったら、
アプリに組込むJARライブラリをエクスポートするときにAndroidManifest.xmlを
含んでエクスポートしちゃってました。
JARライブラリにも呼び出し元のアプリにもAndroidManifest.xmlがあるので
duplicate(重複)
ということで。
このエラーもう何回も見てる気がする・・・
というわけで書いときます。
Installation error: INSTALL_PARSE_FAILED_NO_CERTIFICATES
というエラー。
その下に
Error generating final archive: Found duplicate file for APK: AndroidManifest.xml
とあったので
ん~見たことあるなぁと思ったら、
アプリに組込むJARライブラリをエクスポートするときにAndroidManifest.xmlを
含んでエクスポートしちゃってました。
JARライブラリにも呼び出し元のアプリにもAndroidManifest.xmlがあるので
duplicate(重複)
ということで。
このエラーもう何回も見てる気がする・・・

というわけで書いときます。
AndroidでAsyncTaskでスレッドを作って動かすと以下のエラー。
Caused by: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
Caused by: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
どうもスレッドからUIアクセスしようとしてる??
しないように気をつけてるんだけど。
と、思ったらしれっと
Toast.makeText(呼び出し元Activity, "hoge", Toast.LENGTH_LONG).show();
とToast呼んでました。
確かにUIだわ・・・。
凡ミス

Androidアプリでユニットテストを久々にしようと思って、
テストプロジェクトをつくり、実行すると以下のようなエラーが出た
なんでだ??
ググっても情報がないので確認してみると、
実行→JUnitテスト
をしていた。
正しくは
実行→Android JUnitテスト
標準のJUnitテストじゃないからか。
結構ハマッたので備忘録として残します。。。
テストプロジェクトをつくり、実行すると以下のようなエラーが出た

java.lang.NoClassDefFoundError: android/test/ActivityInstrumentationTestCase2
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClass(RemoteTestRunner.java:693)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClasses(RemoteTestRunner.java:429)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: java.lang.ClassNotFoundException: android.test.ActivityInstrumentationTestCase2
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 18 more
なんでだ??
ググっても情報がないので確認してみると、
実行→JUnitテスト
をしていた。
正しくは
実行→Android JUnitテスト
標準のJUnitテストじゃないからか。
結構ハマッたので備忘録として残します。。。
Android3.0以降のエミュレータの遅さもHAXでMacでなら爆速になったので、
便利になりました
しかし、普通にRunを走らせると
[2013-01-09 10:06:03 - hoge] Launching a new emulator with Virtual Device 'AVD4.1.2'
便利になりました
しかし、普通にRunを走らせると
[2013-01-09 10:06:03 - hoge] Launching a new emulator with Virtual Device 'AVD4.1.2'
[2013-01-09 10:06:14 - Emulator] HAX is working and emulator runs in fast virt mode
[2013-01-09 10:06:16 - hoge] New emulator found: emulator-5554
[2013-01-09 10:06:16 - hoge] Waiting for HOME ('android.process.acore') to be launched...
と出た後にdisconnectが出る
うーん、と思ってデバッグ構成や実行構成(英語だとDebug ConfigurationsかRun Configurations)をひらいてそこから実行するとちゃんと繋がる
とりあえずこれでいけるのでしばらくは使えそう。
そういえばSubclipseのヒストリー更新も最初の取得は更新ボタンではダメで、
プロジェクト右クリックのチームーヒストリーの表示をするとちゃんと出る。
※追記
実行の構成の「バックグラウンドで実行」をはずすという解決方法もあったけど、
結果的に以下の方法で復旧しました。
window -> Show Views -> device -> view menu -> reset adb
これを行うと以下のようなエラーが出ますが、無事接続できました。
[2013-01-10 13:40:04 - DeviceMonitor] Adb connection Error:EOF
久々にeclipseをたちあげてAndroidアプリ作ってると、
デバッグ時にLogCatの時刻が??:??、PID、TID、タグが全部??になってる
はてな?
ググってみるとADKのアップデートをしないとダメとのこと。
そしてアップデートをがっつりすると今度はLogCatのところで
ビューを作成できませんでした: プラグイン "com.android.ide.eclipse.ddms" は、クラス "com.android.ide.eclipse.ddms.views.LogCatView" をインスタンス化できませんでした。
と見慣れたメッセージが。
eclipseフォルダのeclipse.exe -clean.cmdを実行して、無事復旧。
アップデートはこまめにしないといけませんね
デバッグ時にLogCatの時刻が??:??、PID、TID、タグが全部??になってる

はてな?
ググってみるとADKのアップデートをしないとダメとのこと。
そしてアップデートをがっつりすると今度はLogCatのところで
ビューを作成できませんでした: プラグイン "com.android.ide.eclipse.ddms" は、クラス "com.android.ide.eclipse.ddms.views.LogCatView" をインスタンス化できませんでした。
と見慣れたメッセージが。
eclipseフォルダのeclipse.exe -clean.cmdを実行して、無事復旧。
アップデートはこまめにしないといけませんね

NSRangeExceptionのエラーがどうしても取れなくてハマった
起動時にmain関数で以下のエラー。
Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayI objectAtIndex:]: index 3 beyond bounds [0 .. 2]'
久々にObjective-C触ったので勝手が分からなかったが原因判明。
StorybordでTableViewの数を変えたときに、
Table Row SectionのRowsは変わってるんですが
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return tableRow;
}
をしてるところでTableセルの数が減らせてなかった。。。
ハマったので書いときます

起動時にmain関数で以下のエラー。
Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayI objectAtIndex:]: index 3 beyond bounds [0 .. 2]'
久々にObjective-C触ったので勝手が分からなかったが原因判明。
StorybordでTableViewの数を変えたときに、
Table Row SectionのRowsは変わってるんですが
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return tableRow;
}
をしてるところでTableセルの数が減らせてなかった。。。
ハマったので書いときます

新しいPasoriのRC-S380に変えてから、
PC起動時に毎回
「FeliCaランチャーの初期化に失敗しました。
FeliCaランチャーを終了しますか?」
というメッセージが出ていたので復旧しました。
いろいろやってみましたが、以下の方法が最も確実
1.FeliCaポートソフトウェアリムーバーでとりあえず全部削除
2.NFCポートソフトウェア(旧FeliCaポートソフトウェア)をインストール
これで無事復旧しました
FeliCa Proxy ServiceからNFC Proxy Serviceに変わってたりと
いろいろ悩みましたが、解決しました
PC起動時に毎回
「FeliCaランチャーの初期化に失敗しました。
FeliCaランチャーを終了しますか?」
というメッセージが出ていたので復旧しました。
いろいろやってみましたが、以下の方法が最も確実

1.FeliCaポートソフトウェアリムーバーでとりあえず全部削除
2.NFCポートソフトウェア(旧FeliCaポートソフトウェア)をインストール
これで無事復旧しました

FeliCa Proxy ServiceからNFC Proxy Serviceに変わってたりと
いろいろ悩みましたが、解決しました

System.TypeLoadException:
メソッド 'hoge' に実装がないため (RVA なし)、アセンブリからの型 'hogeclass' を読み込めませんでした。
というエラーが出た
以前C++で作ってたDLLに関数を追加して、C#アプリから呼びだそうとしてる時です。
■解決
DLLを呼び出す時にクラス内で
というエラーが出た

以前C++で作ってたDLLに関数を追加して、C#アプリから呼びだそうとしてる時です。
■解決
DLLを呼び出す時にクラス内で
[DllImport("hoge.dll", EntryPoint = "hogeMethod", CharSet = CharSet.Ansi)]
private extern static int hogeMethod(ref IntPtr hogehoge);
とかくところで、DllImportのEntryPoint名が間違っていた。
ここ間違えるとこんなエラーが出る
ちなみにエントリーポイントがありません、ってエラーも出るけどそれも同様
とかくところで、DllImportのEntryPoint名が間違っていた。
ここ間違えるとこんなエラーが出る

ちなみにエントリーポイントがありません、ってエラーも出るけどそれも同様


