ラベル Android の投稿を表示しています。 すべての投稿を表示
ラベル Android の投稿を表示しています。 すべての投稿を表示

2021-11-20

PlatformException(network_error, com.google.android.gms.common.api.ApiException: 7: , null, null)

 表題のようなエラーが出た場合は、ネットワークにうまく接続できてないというのが原因です。解決策としては

  • 端末(またはエミュレーター)がネットワーク接続できているか確認する。
  • Proxy設定を確認する(エミュレーター、Android Studio本体)
で試行錯誤するしかないでしょう。おちラボでも時々このエラーに遭遇することがあり、悩めるところであります。



2013-12-10

Eclipse:Android SDK Managerや Android Virtual Device Managerのメニューない場合の対処法

Android関係のSDKやプラグインを入れたのにも関わらず、メニューにそれ関係の項目が表示されていない場合があります。別にインストールに失敗したわけではありません。表示されていないだけです。
  • Windowメニューの Customize Perspectiveを選択
  • Command Groups AvailavilityからAndoroid関係の項目を選択
とすることで、表示されます。



2013-12-06

Android:メインスレッドからはネットワークアクセスできない ~android.os.NetworkOnMainThreadException~

公知のことかもしれませんが、個人的にめちゃめちゃハマってしまったトラブルなので、メモ書きです。
Androidのアプリから、クラウドのデータベースに接続しようとしてエラーが発生。なぜか?SDKの問題?エミュレータの設定か何か????と試行錯誤した結果、
  • Android3.0以降では、メインスレッド(UIスレッド)でネットワーク処理ができない
という仕様が問題だったことが判明。解決方法は、
  • StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().permitAll().build());を追記する
  • AsyncTaskにより別スレッドで処理をする
ということらしい。後者のほうがオススメらしいですが、そのやり方は後日。


2012-11-15

Android:Activity not started, its current task has been brought to the front

Androidプログラムのコンパイルをしている最中、
Activity not started, its current task has been brought to the front
なる意味不明なエラーが発生。これは、ソースに変更が無い状態で再コンパイル処理をするとこのようなエラーが出ます。エラーというより、注意みたいなもんですね。


2012-11-01

Android: OpenCVのサンプル”image-manipulations”でコンパイルエラー

Android用のOpenCVサンプルプログラムで、インポートしたimage-manipulationsプロジェクトがコンパイルエラーを起こす場合があります。その原因ですが、
ImageManipulationsActivity.javaの拡張子に変なゴミがついている
というしょうもないバグなので、拡張子を.javaに直してください。


Android: SQLiteでPrepared Statementを使う

AndroidのSQLiteで、いわゆるPreparedStatementを利用したSQLを利用する方法についてのメモ書きです。 下記では、DatabaseHelperクラスを利用しています。
SQLiteDatabase db = databaseHelper.getWritableDatabase();
SQLiteStatement stmt = db.compileStatement("INSERT INTO user(name, age) VALUES(?, ?)");
stmt.bindString(1, name);
stmt.bindLong(2, Long.parseLong(age));
stmt.executeInsert();
ちょっと独特の表現なので注意してください。また値を割り当てる時は、StringやLongなど少しのクラスしか対応してませんが、intの値をbindLongに当てはめてもうまくいきました。

2012-10-19

Android: ListActivityを使う

Androidアプリにおいて、リスト表示のUIには
  • ListView
  • ListActivity
のいずれかを利用する方法があります。どちらも動作速度的には違いはないようですが、単純なリスト表示だけのUIを用意するのであれば、後者のほうがコードがすっきりするため、ListActivityを用いるのをオススメします。

クリックイベントのとり方
onListItemClickメソッドをオーバーライドするだけでいいです。
@Override
protected void onListItemClick(ListView listView, View v, int position,long id) {
  super.onListItemClick(listView, v, position, id);
  System.out.println(position+"番目押した");
}

リストの更新
 更新対象となるリスト内の行の位置から、表示内容を管理しているListのitemを取り出して修正し、最後にadapterのnotifyDataSetChangedメソッドを呼べば更新されます!例えば以下の様な感じ。
 item=list.get(position);
 item.setText("30");
 adapter.notifyDataSetChanged();
参考URL



2011-11-25

Android:--no-crunchのエラーが出た場合

Androidアプリをコンパイルしている時に、以下のようなメッセージが発生。
ERROR: Unknown option '--no-crunch' 
crunchオプションとかなんだろ?、、、とか悩んでましたが、てっとり早い解決策は、ADTのアップデート。ADTのアップデートは必ず、Android SDK Managerから行うこと。しょうもない問題だったけど、このことになかなか気づかなくて苦労しました。

2011-06-03

ゼミ勉強会 ~Kinect, Android~



今日は、ゼミで勉強会を開催しました。Kinect と Andoridのプログラミングについての調査報告会ということで4年生3名に発表してもらいました。
こういうゼミは、実は今までやっていませんでした。それはいろいろ理由があったのですが、今年から最低月に1回はやっていこうかなと、、、(これもいろいろ理由ありで)

昨今の就職難に伴い、我がゼミ生も就活は苦戦中。ただ、最近思うのは、就活優先で時間をつぶすというのは非常に勿体無いということ。就活優先は否定しませんが、かと言ってゼミはどうでもいいわけではなく、卒研をする中で学べること、、、いろいろあると思います。こういった会は、就活中の者にとっては負担が大きいかもしれませんが、やれる範囲の中でいいので、取り組んで欲しいなと感じてます。

さて今回の勉強会、はじめてにしてはまずますというところでしょうか。プログラミング経験が多くはないですから、プレゼンでするべきことがちょっとズレてる点も見えましたが、まあそれは気にしない。何よりも、ゼミ生でそれぞれが調べている内容を共有して意見交換できたのがよかった気がします。各自のテーマはばらばらですが、技術的な内容というのは共通することもありますし、将来的に参考になる可能性もあるので、今後もいろいろ調べさせようかと思います。

2011-05-31

Androidの画面をPCの画面にミラーする方法

Androidで開発したソフトを、プレゼンテーションで紹介したい時がありますよね。どうやったらいいか、、、良いソフトがあります。
これをインストールすれば、PCの画面に実機の画面がリアルタイムに反映されます(1つのWindowとして)。
注意点は、Android SDKのadb.exeにパスが通ってないといけないので、
  • パスを通す
  • adb.exeがある場所にこのファイルを置く
のどちらかをする必要があります。また、実行時には -a コマンドを打つことで色が問題なく投影されるはずです。実行コマンドは
  • java -jar asm.jar -a 
でOKです。


2011-05-25

Androidでのサウンドファイル再生を試みた

表題のとおりAndroidで音声ファイルの再生を試みたのだが、しょうもないところでつまづいたのでメモ書き。

エミュレーターの設定
サウンドファイルを再生するには、
  • エミュレータオプションで –useaudioを指定する
といった記述がネットで見られるが、これはなくてもいい感じ。記事が古い?エミュレーターのハードウェア設定では、Audio PlayBack Support という項目があるようだが、デフォルトでYesになっているらしい。いちおう僕は念の為にしてしておいたけど。

再生の手順
基本的には下記の処理でオッケイということになる。
MediaPlayer mp = MediaPlayer.create(this, R.raw.????);
 mp.prepare(); // 準備(ここは注意点。後述の説明を読む)
 mp.start(); // 再生
ただ、prepareメソッドでちょっとハマった。最初、この記述でプログラムを動かすと予期せぬエラーがでて再生できない。リソースの読み取りタイミングに問題があるのかなーとか思ってたら、どうやらprepareメソッドには次の注意点があるようだ。
  • 上記のようにcreateメソッドをつかってMediaPlayerのインスタンスを生成した場合、既にprepareの状態になっている。この状態でprepareメソッドを呼んではいけない
  • MediaPlayerクラスのインスタンスを new することで生成した場合は、prepareメソッドを呼ばなければならない。
ということらしい。というわけで、上述のプログラムでは、2行目は必要ないということになります。


2011-04-19

Androidの開発環境を構築する~ SDK,AVD設定編 ~

このページのコンテンツは古いので無視してください

Androidの開発環境に関する覚書です。とりあえず、SDKとAVDの設定について

1. Android SDKをインストールする
まず、公式サイトよりSDKをダウンロードします。
http://developer.android.com/sdk/index.html
zip形式のファイルがいいかもしれません。ファイルは展開し、適切な場所に保存してください。

2.SDKManagerの起動
SDKの中にSDK Manager.exeというファイルがあるのでそれを起動します。すると、各種SDKがダウンロードされます(この処理はかなり時間がかかりますのでそのつもりでお願いします)。

3.仮想デバイスの設定
Andoridの開発では、Androidの仮想マシンをPC上に用意することになります。AndoridはiPhoneと異なり様々な種類のハードやOSのバージョンが存在します。それを事前に構築しておく必要があります。起動したSDKManagerにはAVDManagerの機能もあり、そこで仮想デバイスを設定します。






Vistual Deviceを選択し、【New】ボタンを押すと下記のとおり設定画面が出ますので、適当に(いやほんとはターゲットマシンを明確にする必要があるかと思いますが)設定します。




以上で、SDK周りの設定が終わりました。あとは、開発環境でのプラグイン設定です。それは後日の記事で紹介します。





2011-04-05

第2回 Android Hackathon in Kyoto 開催のお知らせ

京都GTUG(Google Technology User Group)主催の第2回 Android Hackathon in Kyoto が5月に開催されます。案内はこちらです。

今更言うまでもなく、AndroidはスマートフォンOSとして急速に普及しており、教育システムのプラットフォームとして無視できません。本ラボでも、Android関係の研究テーマを今年の卒論でやろうかと検討しており、絶好の機会かなと思ってます。
京都GTUGは、私もいちおう名ばかりスタッフとして協力してますので、スケジュールの都合が合えば参加&協力する予定です。