Androidプログラミング質問スレ Part26
2get記念。 ゲームのランキングシステムはどうやって作るんでしょうか。 教えてエロくない人。
サーバー側もandroidでやるつもりなの?
>>3 単純に全世界どこにいてもゲームのスコアをサーバー上で読み書きできればなんでもいいです。
>>4 鯖側はスレ違いなのでおいとくとして、読み書きが実装できたら鯖側で読める形で暗号化して投げればok
一定時間しか有効じゃないキーを含めとくのが定石
コードは客側なので難読化が関の山だけどね
きっちりやるならユーザ登録型にしてログイン認証を作る必要も出てくる
この辺サボると面白半分でありえないスコア投げられて荒れて終わります
いいな
>>5 うおーありがとうございます
持ってる参考書にも載ってなくてググってもいい情報がヒットしなくて・・・
とりあえずもらった情報を元に一から頑張ってみまさ(`・ω・´)
別々のクラスでそれぞれの変数が参照した時点で持っている値をやり取りする方法というのはありますか? 定数かメソッド、または変数でも初期値の参照しか見当たらなかったので、、
>>8 マルチスレッドの話?ならvolatileとか調べると幸せになれるかもと思ったけどそういう話じゃなさそうな…
static変数をご存知ないとかかな?
インスタンス間のやりとりなら単にpublicにするかゲッターセッター使えばいけるだろうし
ありがとうございます。 前にも質問した話なのですがビュークラスで得たタッチ座標を別のクラスで使いたいのですが ゲッターとか真似てみたのですがnullしか帰って来ず、staticだと固定値になって座標を入れられなくなってしまったのです もう、テキストを介してやろうかと思っている状況です 頂いたキーワードでもうちょっと調べてみます。
class Globals { public static int X, Y; } これでグローバル変数ができる ウンコなやり方だけど勉強する気が無いならこれでいい
>>10 staticで固定値にはならんでしょ
privateになってるとかstatic finalになってるとかじゃないのん
finalですね
>>10 どこで使う気か知らないけど共通で参照出来る場所、もしくは参照を渡す方法があるはずだけどな
15 :
デフォルトの名無しさん :2012/10/12(金) 19:24:12.59
Android SDK をダウンロードしたときに入ってるナビってソースコード見られる方法ありますか?
googleに入社する。
特定のパッケージ名のプロセスを殺したいのですが、どのようにすれば良いのでしょうか。
>>11 試したと思ってたんですが行けました、ありがとうございました
ウンコがついたままだと気になるのですがうんこじゃない方のキーワードとかありますか?
privateをsetAccessibleで解除するとかはウンコのままですか?
>>12-14 finalですね、すみません
>>18 強いて言えば、煽りでなくあなたが何が問題になるのか分かってないのが唯一残ってるうんこ
パッケージプライベートなら問題ないと思うけど、うんこ拭いたいならなんか本買った方が早いんじゃねーかな
effective JAVAでも買って、わからん用語片っ端ネットで補うだけでもだいぶ違うと思うよ
人 (__) 本屋行ってきます (__) (´⌒(´⌒ (・∀・ ) (´⌒(´≡ O┬O ノ` ≡≡≡(´⌒;;; ◎┴し-◎ (´⌒(´⌒;;
今からかよ
>>18 >>14 でも書いてるけど、結局はどこから何を見たいかなんだよ
お互いを参照できてるんだったらprivate変数をget/setでやり取りで十分
今、初のAndroidアプリを作成しようとしている初心者です、助言お願いします。 画面より大きい画像を背景に置いて、スクロールで移動できるようにしています。 RelativeLayoutを使って、その背景画像の上にさらに画像1、画像2・・・複数の画像を並べて置いて それをタッチした際にToastでタッチした画像の情報を表示するようにしています。 ACTION_MOVE時に移動の値が1より小さい時は、画像1をタッチする処理と判断し 1以上のときは、スクロールする処理を行っていますが、画像1の上をスクロールすると Toastが表示されてしまいます。 スクロール時にToastが表示されるのをできるだけなくしたいのですが、 スクロールの処理とこの画像1をタッチする処理を分ける方法って何かないでしょうか? よろしくお願いいたします
処理の詳細分からんとなんともいえんけど 単純にイベントごとの移動量じゃなくて ACTION_DOWNが発生した位置からの距離とかにすればいけるかもな
画像にonclicklistener付けてクリックイベントはそっちで拾うとか
26 :
17 :2012/10/13(土) 12:27:29.17
別プロセスを終了させるのに以下のように書きましたが、終了せずにリスタートがかかっているようです。 タスク管理ソフトのように終了させるにはどうすれば良いのでしょうか。 Android4.0を想定しています。 ActivityManager activityManager = (ActivityManager)getSystemService(ACTIVITY_SERVICE); activityManager.killBackgroundProcesses(PackageName);
プロセス側で再起動するようにしてるんじゃないの?
なぜかできません。教えて下さい。 float fl[]={0.5, 0.02, 0.4, 0.3};
29 :
17 :2012/10/13(土) 14:33:37.69
>>27 テストの対象は通常のアプリです。タスクマネージャ系のアプリでは終了することを確認しています。
やり方としては間違っていないということでしょうか?
>>28 fをつけなきゃdoubleだからとかそんな単純な話じゃないよな?
31 :
デフォルトの名無しさん :2012/10/13(土) 14:41:49.47
ただこれだけのシンプルなコードなのですが保存されたファイルでは bufferの内容に関わらず全て0が設定されてbufferのサイズ分だけ保存されてしまっています。 bufferの内容が正常なことはデバッグで確かめています。 また権限も取得しており、ファイル保存自体はエラーも吐かずに行われています。 PC上で同じコードを動かすとそのままbufferの内容がファイルに保存されています。 FileOutputStream fos = new FileOutputStream(path); fos.write(buffer); fos.close();
33 :
デフォルトの名無しさん :2012/10/13(土) 15:37:18.20
ボタンを押すと、xmlで定義したレイアウトを追加表示させたい。 ボタンは複数あるので、switch文で処理を分けてる。 case R.id.button: LinearLayout layout = (LinearLayout) findViewById(R.id.layout_main); View view = getLayoutInflater().inflate(R.layout.hoge, null); layout.addView(view); 実行すると、一瞬だけレイアウトが追加されるのだが、 元の画面にもどってしまう。 誰か助けてください。
初心者でsが教えてください。 surfaceview上のイベントで、サーフェイスビューを終了して且つ別アクティビティに移動するにはどうしたらよいですか?? A.java B.java C.java 上記の3つのクラスファイルがあって、 A:メインのアクティビティ B:サーフェスビューを呼び出すアクティビティ C:サーフェスビュー(ゲーム処理) となっており、 C実行中にある条件化で画面タッチするとB、Cを終了して、Aに戻ってほしいのですがやり方がわかりません 誰か教えてください。
>>34 教えて欲しいのか? しょうがないやつだな。
onActivityRrsultでCを呼んでsetResult,Bに戻って結果によって即finishしてみろ。
ほら、さっさとやりなさいよ。
TYPE _ORIENTATIONとgetorientationで得られる数値が違うのですがなぜでしょうか?
>>36 単位の違い。今までのは360°で、今のは2πラジアン。
Math.toDegreesしてみたら。
OpenGLを使ったアプリを見よう見まねで作ってみたんですけど 20分ぐらい放置するとエラーが出て強制終了します。 eglLockWindowSurface: failed to map the memory for fd=53 offs=6500352 egliSwapWindowSurface: oglSwapBuffer failed threadid=9: thread exiting with uncaught exception (group=0x4002d560) (Worn 黄色の文字) FATAL EXCEPTION: GLThread 10 java.lang.RuntimeException: eglSwapBuffers failed: EGL_BAD_ALLOC at android.opengl.GLSurfaceView$EglHelper.throwEglException(GLSurfaceView.java:1080) at android.opengl.GLSurfaceView$EglHelper.swap(GLSurfaceView.java:1038) at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1367) at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1118) と出ますが何が原因だと考えられますか?
>>23 まだ見てるかな。
タッチイベントの振り分け方がよく分からない、作るのが面倒とかなら、
GestureDetectorだったか使ったほうが楽じゃないかい。
そうしたら、
画面を「タップ」(DOWNイベント後、UPイベントが来るまでにMOVEした値が閾値以下)したときにタップイベント、
移動した値が閾値以上だったらスクロールイベントっていう風に処理の振り分けをやってくれる。
他にも色々あるけど詳しくはggr。
同じ処理を自分で書いても良いけど、
5点タッチを複雑に使いこなすとかじゃなければGestureDetectorで必要十分だと思うんだ。
どうしても「タッチ(タップに非ず)」したときにToastを表示したい、でもスクロール時は云々、
というなら無理ゲだと思う。
スクロールさせる前に必ずタッチ(つまりDOWNイベント)が来てしまうから。
回答が何か勘違いしてたらゴメンね。
>>32 その情報だけ書き込んでも
「そうですか」って言われて終わりだろうがw
もうちょっとこう、自分がその質問されたらどう答えるかって考えろよ。
で、解決方法が知りたければ、現象が再現する最小のプロジェクトを作ってどこかにアップすれば、
心優しい人が解析してくれるかもしれない。
正直言ってその内容だけだと原因がさっぱり分からんので。
ごめんね、役に立てなくてごめんね。
エミュの動作が速くなったり遅くなったりするんですが どうすればいいですか?
43 :
デフォルトの名無しさん :2012/10/14(日) 09:35:24.37
AIDEってすごいな。PCなくてもandroidのスマホやタブレットだけで開発ができちゃうんだ。 実機をつかった開発の場合、 1.PCの準備をする→Eclipseを立ち上げる→スマホにつなげる→コーディングしてビルド→アプリを転送→実行 っていう手間がかかるけど、AIDEの場合だと 2.スマホ/タブレットの準備をする→AIDEを立ち上げる→コーディングしてビルド→実行 なにより、Eclipseのある環境っていうのは家とかノートPCとかだからそれがいらないという違いはでかい。 あと、gitやdropboxとの連携もなにかと便利。
いやいやあきらかに効率悪すぎるだろ・・・ 打つのも面倒だしビルドも遅いし、PCでやるのが一番いいだろ
準備の手間なんかコーディングの手間に比べたら誤差だしな
Eclipseから得られるジャンプやスニペットやら様々な恩恵が一切ない スマホだと画面小さくて効率悪い わざわざ外でタブレットでやるくらいならノートにEclipse入れたほうがいい ソフトキーボードでコード打つにはダルすぎる ビルドなどのレスポンスはスペックに左右されるとこが大きい AIDEは緊急用であってわざわざそれ使って作るのはアホかと・・・ AIDEがすごいのはすごいんだけどね。。
JNIを利用してネイティブ側とバイトデータをやり取りしようとしているのですが上手くいきません jbyte* bytePtr= env->GetByteArrayElements(buffer,0); ※ここで(3c,4f,1,0)をbytePtrに設定、ネイティブ側でデバッグしてその通りのバイト値が入っていることを確認 env->ReleaseByteArrayElements(buffer,bytePtr,0); このあとjava側に返却された直後のbufferのバイト値を見ると(14,4f,1,0)になってしまっています。 バイトオーダーに不整合が起こるならともかく1バイトだけ3c→14に変わってしまう理由が見当も付きません。 どうしたらネイティブ側で書き込んだ値とjava側で参照される値を一致させられるのでしょうか?
音声入力に特化した言語とか出てきたりして。 俺「表示 こんにちは世界」 ↓ 「Toast.makeText( context, "Hello World", Toast.LENGTH_LONG ).show();」
>>36 で質問したものです
度数法で獲得しても第三引数のみ値が違います。
typeでは軸の傾きを獲得しているようですがgetでは軸の回転具合を獲得していると考えたのですが正しいでしょうか?
typeの場合は軸の傾きなので第一第二引数の和が90を越えません。
>>49 getOrientation()は確か回転行列からピッチ、ロール、ヨーの回転角度を得るだけ
そして常識かも知れないけど後者の3軸の回転量から回転をとらえる古典的な方法は
回転の順番で結果が変わってしまったり、ジンバルロックを引き起こすなどの問題が多々ある
サービス的にある機能だけど適切な回転行列が取得出来ているのにわざわざそんな変換をする必要性は薄い
三次元の回転は最初からクオータニオンで考えるほうが結局楽
>>35 ありがとうございます
なんとか実装できました
ウヒョー
>>50 有り難う御座います
やりたい事はローカル座標系からワールド座標系への変換です。
四元数にgetの方で得た三つの数値を使うということでしょうか?
53 :
デフォルトの名無しさん :2012/10/14(日) 23:08:17.12
エクリプス起動したまま寝ちゃったら 朝にadbが起動停止したみたいなメッセージが出てて 再起動してもクリーンしても 起動キャンセルで実機確認できなくなっちゃった
adb kill-server
>>52 何をしたいのか良く分からないけど
getOrientationに渡す行列に既にその前に取得した端末の姿勢を示す回転行列が入っている筈
どうしてもx軸の傾きだけ欲しいとかならともかく
端末の傾き分だけモデルを回転させるとか力の方向を回転させるとかなら
その回転行列をそのまま用いれば良いということ
クォータニオンだけだと鉛直方向をうまく扱えないから、行列があるならそれをそのまま使ったほうが無難だと俺も思う
並進を一緒に扱えない、ならわかるが、鉛直をうまく扱えない、とは?
回答有り難う御座います 加速度がローカル座標系なのでそれをワールド座標系に変換したいです。 回転行列の扱い方がわからなかったので敬遠してましたが勉強してみます。
アプリの販売価格変更について質問お願いします。
現在あるアプリを100円で販売しているのですが、120円に価格を上げたいと思ってます
で、デベロッパーコンソールでデフォルトの価格を100円⇒120円に変更して保存しました
http://gyazo.com/5ea90d5c6c15d779a707869e580712c9 デベロッパーコンソール上では変更価格が反映されているので
これで価格変更できると思っていたのですが、Google Playでの販売価格が一向に変更されません(100円のまま)
アプリの販売価格を変更する場合、上記の作業以外に何か必要なのでしょうか?
どうぞよろしくお願いいたします。
60 :
デフォルトの名無しさん :2012/10/15(月) 19:17:53.16
有料話が出たので便乗 アプリが売れた時の代金を受け取る口座ですが、郵便貯金は利用できますか? 銀行名はローマ字読みすればいいのでしょうか?
ローカルファイルをFileクラスで読み込みたいのですが、 "/data/data/パッケージ名/files/"+ファイル名でないと開けません。 このパスをハードコーディングしたくないのですが、 "/data/data/パッケージ名/files/"の部分を取得する方法ないでしょうか。
>>64 Context#getFilesDir()
ニアレストネイバー法で画像を拡大描写したいのですが検索方法が悪いのかやり方が分かりません 教えて下さい
Bitmapの表示に Paintとnullどちらでも使えるのですが、なぜですか? どちらを使うべきですか?
Bitmapに適用できるPaintはアルファとかアンチエイリアスとかくらい 使う必要がなければnullでいい
WebViewのcanvasクソ遅いな ゲームに使おうと思って試したけど全く話にならんわこれ
>>70 頑張ってると思うけどなcanvas。凄い時代になったっつーかwでもまあ無料は効かないな
まあ、ゲームなら素直にさくっとGLESかSurfaceViewでやっとこーぜなもし
軽いしバッテリー持つしでみんな幸せ
html5を使えばマルチプラットフォームで云々
AdobeAir信者がくるぞー
僕はunityちゃん!
75 :
デフォルトの名無しさん :2012/10/16(火) 12:20:39.87
アプリっぽいもの出来たんで広告入れたいんだが おすすめってある?
huluのandroidアプリを対応機種以外にインストールして起動するとハネられるんだけどどうにか対応機種以外で使うにはどうすればいいでしょうか? アプリ側はandroidのどこを読んで機種を判別しているのでしょう? build.propを他対応機種のものに書き換えてもやっぱりハネられるので別のところだと思うんですが
すれ違いすぎ
>>76 聞いた場所が悪かったな。
ここの奴らにはわからないよ。
>>78 さんでも結構です!知ってたら教えてください!
本体側の設定はAndroidプログラミングには関係のないこと このスレ的には、apkを解凍してマニフェストを書き換える
>>80 おそらくManifestファイルは関係無い
82 :
デフォルトの名無しさん :2012/10/16(火) 16:23:52.90
AndroidでMedibaを実装しようとしていて、 MasAdView mad = null; mad = new MasAdView(this); とやると、java.lang.NoClassDefFoundError: mediba.ad.sdk.android.openx.MasAdView というエラーが出るのですが、どうしたらいいのでしょうか? よろしくお願いします。
広告用のライブラリーの設定で、exportにチェック入れるか、libsに置くようにする
84 :
デフォルトの名無しさん :2012/10/16(火) 16:27:32.38
いえいえ
【韓流】ブームがいきなり終焉!? K-POP「江南スタイル」がYouTubeランク外に消える“珍事"が勃発[10/16]
http://awabi.2ch.net/test/read.cgi/news4plus/1350366216/ 992:<丶`∀´>(´・ω・`)(`ハ´ )さん :2012/10/16(火) 16:30:03.73 ID:kdSMXng1
★まとめ★
1:チョーセン人が不正で異常な閲覧数を稼ぎレディガガ記録を抜く
2:気づいた奴が4ch(アメリカ版の2ch)で暴露
3:「アイツら本当にうぜーな」と4chねらーが PSYのwiki(英語版)で死んだことにする
4:チョーセン人かその関係者がwiki(英語版)での死亡を直す
5:4chねらーが PSYのwiki(英語版)で死んだことにする、チョーセン人が直す(無限ループ)
6:「こりゃ祭りだ」と4chねらーがYoutubeに”お悔やみ”(RIP)を書き込む
7:「物足ねーな、Koreanが嫌うことって何だ? 日本を褒めることか!」と4chねらー考える
9:「PSYは最高の日本人、死んで残念」「J-POP最高!」などの書き込みが始まる
10:おそらくアメリカ留学中のタイ人やマレーシア人がFaceBookで母国に拡散
11:タイ語の書き込みまで出てくる
12:「◯◯人の私もPSYのファン」というネタで意味もなく国名を目立つように書く
13:火星、木星、天国からもメッセージが届く
14:Youtube再生数より視聴時間重視に変更後ランキング1位から圏外に ←今ここ
Android NDKでJNIを使ってみようと思い、ネイティブ側で生成した文字列をAndroid側に渡して表示させる簡単なプログラムを解説サイトを見ながら作ってみたのですが、文字列を生成するcppの中でいくつかエラーが出て、消し方が分からず途方に暮れています。 #include <jni.h> #include <string.h> #include <com_example_hellojni_PrintTextActivity.h> JNIEXPORT jstring JNICALL Java_com_example_hellojni_PrintTextActivity_getTestStringFromNative(JNIEnv* env, jobject obj) { return env->NewStringUTF("from Native Code String"); } エラーの内容はjni.hとstring.hが解決できない、というものと、JNICALLとJNIEnvとjobjeectが解決できないというもの、そしてNewStringUTFが解決できないというものです。 ビルドするときはなにも警告はされませんでした。 Javaみたいに不備は全部コンパイル時に教えてくれるというわけではないのでしょうか? 21:13:39 **** インクリメンタル・ビルド of configuration デフォルト for project HelloJNI **** "C:\\downloads\\notInstall\\android-ndk-r8b\\ndk-build.cmd" all "Compile++ thumb : hellojni <= hellojni.cpp In file included from jni/hellojni.cpp:1:0: C:/downloads/notInstall/android-ndk-r8b/platforms/android-14/arch-arm/usr/include/jni.h:592:13: note: the mangling of 'va_list' has changed in GCC 4.4 SharedLibrary : libhellojni.so Install : libhellojni.so => libs/armeabi/libhellojni.so 21:13:41 Build Finished (took 1s.779ms) C/C++を初めて触ったので見当違いなことを書いてるかもしれないのですが、 分かる方いたらよろしくお願いします!
とりあえずNDKについてるサンプル動かしてみたら良いんじゃないかな
ビルドできてれば問題はない CDTのエラーの謎は俺もよくわからん
素早い回答感謝です!
>>88 いまeclipseの既存コードからのプロジェクト作成でAndroid NDKに付属しているhello-jniのサンプルをインポートしてみたのですが、
このプロジェクトはまったくエラーがないですね……!jni.hをインクルードしている行も警告なしです。
なにが違うのか調べてみます!
>>89 そうなのですか……ただこれだとAndoridアプリケーションとして実行したときにeclipseから「エラーを直して実行しなおしてください」と怒られてしまうので出来ればなんとかしたいところです……
ネットで調べたのですが(調べ不足かもしれないのですが)エラーがある状態で強行する術はなさそうですし……
・最近、若い女性の間でも右寄りの思想に傾倒する女子が急増している。
「K-POPや韓流ドラマは絶対視ない!」、「韓国は国ぐるみで間違った歴史を教えて、日本を悪者に仕立てている。
許せない!」、「尖閣諸島や竹島は絶対に日本のもの!」、「中韓とは断固国交断絶!」「広告代理店やマスコミが
朝鮮人と結託して、日本人に反日的な感情を植え付けようとしてる!」……などと語気が荒く語る女性が少なからず
存在するのだ。
しかも、彼女たちはいわゆる”普通の女子”。流行やブランド品を好む、 “スイーツ系女子”の相田多喜子さん
(仮名・33歳・会社員)はこう話す。
「韓国製のコスメや食品はもちろん、韓国と業務提携、協賛している日本企業の製品も購入しないようになった」
発端は知人に紹介された「2ちゃんねるまとめブログ」だという。
「それまで2ちゃんねるに関心がなかったのですが、中国や韓国の実態を伝える書き込みを初めて読んでショックを
受けました。韓流芸能人が韓国で日本を悪く言っていること、韓国の性犯罪率の高さ、商品にウジが混入すると
いった企業の衛生管理のずさんさなどを知り、さらにネットで勉強するように。日本のマスコミが偏った報道しか
しないことを知りました」
彼女たちの多くが、ネットを通して”真実”にたどり着き、日頃感じていた矛盾が解決したと語る。
それは、いわゆる「ネトウヨ」とは違うのか……?
「違います。私たちがしているのは日本人として当たり前のこと。許してはいけないことを許したくないだけ」(竹中さん)(抜粋)
http://nikkan-spa.jp/312054
92 :
90 :2012/10/16(火) 23:13:11.70
設定でC/C++のコード解析のチェックボックスを全部オフにすることで エラーを全部無視できました!
93 :
デフォルトの名無しさん :2012/10/17(水) 15:16:34.55
Android.mkについて教えて下さい。 packages\app\AAA(自作フォルダ)\BBB(自作フォルダ)\jniの中にjniソースを入れようとしています。 jniソースからsystem\CCC(自作フォルダ)\DDD(自作フォルダ)内に有るCヘッダを参照しようとすると、 Android.mkにどのように記述すればよいでしょうか?宜しくお願い致します。
LOCAL_CFLAGS += -Isystem/CCC/DDD とかじゃだめか?
その前にsystemはどっから出てきた。
BACKキーで終了してからすぐに起動するとエラーで出るんですがどうすればいいですか? たぶんスレッド終了するまで時間がかかってエラーが出てるような気がするのですが スレッド終了とBACKキーの連動がわかりません ネットや書籍もくまなく調べましたが載っていません
>>96 連動してません
停止させる必要があるなら自分で停止させてください
>>96 onPauseなりonStopなりonDestroyなりでスレッド止めなきゃだめだよ
その場でjoinするもよし
joinするだけのスレッドを起こすのもよし
ソレ以上の詳細はスレッド処理の設計に関わるから一概には言えないな
99 :
デフォルトの名無しさん :2012/10/18(木) 04:39:22.36
日本語とか環境依存文字使って書いた テキストビューの文字って 日本語環境のない海外の端末で表示されますか?
100 :
デフォルトの名無しさん :2012/10/18(木) 05:08:53.14
つくづくHDDがいかれたのが悔やまれる
すいません、javaでgetattrみたいな事はどうやってやればいいのでしょうか? "Theme_Light"という文字列があったとして、これから「android.R.style.Theme_Light」の値を取得したいのです。
>>99 「フォント」って聞いたことある?日本語フォントが存在しない環境で
日本語テキストが表示できるはずなかろう
それとな 一部の環境でのみ表示できて 異なる環境では表示できない文字
のことを「環境依存文字」っていうんだぞ
>>101 Resources#getIdentifier()
>>103 おお、まさに欲しかったのこれです、ありがとうございます!
>>96 backキー押した直後に速攻で再起動すると
onDestroyの処理が終わってないうちに、再起動処理が進むことあるよ。
onDestroyでリソースの解放とかしていると、再起動してアプリが実行している最中に
解放処理が走って、リソースが見つからないエラーになることはある。
>>96 どこでどんなエラーが出てるのかきちんと把握したほうがいいと思う
>>105 onDestroyで1分sleepする処理を入れて再起動させてみたけど
onDestroyの終了を待ってから再構築→onCreateって呼ばれてるみたいだけど
異なるActivityでの話?
回答への質問で横槍だけど気になったので
107 :
デフォルトの名無しさん :2012/10/18(木) 14:40:36.95
>>102 フォントセットがアプリ内に内包されるのか
機種に依存するのか
極めて技術的な質問したのに
フォントファイルについてドヤ顔で語られちゃった
そりゃエスパーでも無理だわ
>>107 内包されるとしたら、同じデータがアプリごとに保存される事になる。
そんなアホな設計するわけ無いだろ。
110 :
デフォルトの名無しさん :2012/10/18(木) 15:04:15.30
設計とか言い出したよw なんもわかってないくせにw
OpenGLのテクスチャ的な考えなんだろうけど、>99からそれがわかる奴なんていないだろ
まあ、フォントをアプリに組み込むことは可能だよ
>>110 草生やすヤツw
なんもわかってないくせにw
なんだ知ったかぶり厨か
FrameLayoutにImageViewを乗せて、 フリックされたら、イメージがそこまで動くという簡単なプログラムなのですが、 意図したような動作にならなくて困ってます。 public boolean onFling(MotionEvent e1, MotionEvent e2, float arg2,float arg3) { //画像の現在の位置 img2(ImageView) int imgX = (int)img2.getX(); int imgY = (int)img2.getY(); //移動先の位置 int simgX = (int)e2.getRawX(); int simgY = (int)e2.getRawY(); TranslateAnimation trans = new TranslateAnimation( Animation.ABSOLUTE,imgX, Animation.ABSOLUTE,simgX, Animation.ABSOLUTE,imgY, Animation.ABSOLUTE,simgY); trans.setDuration( 2000 );//2秒かけて移動する。 AnimationSet set = new AnimationSet( false ); set.setInterpolator(new DecelerateInterpolator()); set.addAnimation( trans ); set.setFillAfter(true); img2.startAnimation( set ); } 最初の位置からフリックした二番目の引数の座標まで 移動する・・・と思っているのですが、意図した動きになりません。 アドバイスをお願いします。
onFlingってフリックした勢い渡って来てると思うけど、それ使ってる?
サービスがシステムによって強制終了させられる(また再起動される) このことを意図的に起こすことって可能ですか? 出来ればエミュレータで、、、 強制終了させられちゃったときの動作などの確認をしたくて質問しました。
>>116 フリックもう少し調べてみます。
ありがとう
.getX()、.getY()で取れる座標って現在の座標じゃないのか・・・
>>105 onDestroyにSleep入れればいいのかな?
120 :
デフォルトの名無しさん :2012/10/18(木) 19:14:12.27
アプリ内課金でポイントを買わせたいのですが、 アプリ内課金→自動でポイント寄与というのはアプリ内のプログラミングで出来るものなのでしょうか?
無理
>>120 できるけどおすすめしない。
サーバ側で管理したほうがいい。
不正な手段で増やされたら対応できないもんな
購入結果がストアアプリから自分のアプリに通知されるときは暗号化されてるんだけど、 その暗号化されたのをそのまま自分とこのサーバに送って、サーバ側で復号化するのがオススメ アプリ上で復号化=アプリ内に公開鍵を置くってことなんでクラックに弱くなる
>>120 apkを解凍してソースを書き換えられるぞ
googleはせめてセキュリティに関わるAPIくらいネイティブ側に公開して欲しいわ 何で頑なにJavaオンリーなんだよ ソースコード復元されるから意味ねぇ。。。
まあJavaなら楽勝でバイパスできるからな どんな対策しようがそれだけはどうしようもない
C→手間暇かけてバイナリの機械語解析してクラックすることは可能 Java→一瞬でソース復元されて自由に改竄される、下手したらツールで認証だけ自動解除 この両者の差はデカいよ
起動しているアプリの終了方法なのですが、現在System.exit(0);にて終了処理をしております。 ですが、稀にガベレージコレクトが上手くいってないようで終了後に再度起動しようとするとエラーが発生して起動に失敗します。 再度起動しようとすると問題なく動作はするのですが、何か良い方法はありませんか・・・?
exitは非推奨。アプリに合わせた正しい終わり方すればいいよ。なんのアプリをどう実装してるかわからんから具体的には何も言えない
>>133 finish()してもプロセス残ってるのでexitしてましたが、プロセスが残ってるのは別に動きとして問題無いようなのでfinish()に変えてみます。
どうしてみんな 「プロセスが残っているからkillしたい」 「プロセスが残るからexitで終了させてる」 ってしたがるんだろうな Androidの開発で最初に知ったのは、 プロセスはOSが「終了させる必要があったら」勝手に終了させるから、 細けぇことは気にスンナ!だった あとアプリケーションとプロセスの寿命は一致しないとか
ゲームみたいなどうせ起動に時間がかかるアプリだと キャッシュしててもほとんど意味無いから、きれいに終了するようにするのもいいと思うよ
>>135 初期のころのバッテリーのもたなさの原因が
裏で動いてるアプリだったりしたせいもあるだろうな
>>135 タスクキラーアプリが需要あるのと同じ心理かもなあ
メモリこまめに解放されても、キャッシュ効果潰されるだけだしバッテリー的にも速度的にも逆効果だろとか思うんだけど
いや、俺もwin9xで無意味にデフラグ画面見続けてたことあるので気持ち分からんでは無いんですけども
もしネイティブコードでメモリやリソースをリークさせてたら、プロセスが残ってる限りそのまま? そうだったら、NDK使ってる場合は十分意図的にキルする理由になるな
>>135 Javaヒープのlimitが厳しかったから。
ヒープの断片化を無視できないケースではexitしたほうが安定する場合もある
>>139 それはJavaでリークさせても同じだなあ
4.0にアプデしたらたまに強制終了になるんだが何が原因?
お前が原因
そうだそうだ
>>120 です。遅くなりましたがレスありがとうございます。とても参考になります。
やっぱりアプリ内だけではセキュリティ面に問題ありなんですね。
出会い系アプリのような、ポイント制で利用できるサービスとアプリを連携させたいのですが、
実装するにはどのようにすればいいのでしょうか?質問ばかりで申し訳ないです。
(やりたいのは出会い系サービスではないです)
どのようになんて幅広すぎですよね、すみません。 考えていたのは、サイト内でシステムを作って(php)それをアプリ内のwebブラウザで表示して… と考えていたんですけどそれならアプリにする意味ないですよね。 そこで出会い系アプリのようなポイントはアプリで…という構造にしたいのですが、サーバーとアプリのやり取りがイマイチどのようになっているかわからなくて。 もしわかる方がいたら教えて頂きたいです、お願いします。
ムカついたので断る
149 :
デフォルトの名無しさん :2012/10/19(金) 14:38:24.23
Android.mkについてご教授願いたく。 JNIのビルドをするのにAndroid.mkだけでは不足ですか? フォルダ構成として、jni/res/src/Android.mk/AndroidManifest.xmlは同階層。 ここの、Android.mkではLOCAL_JNI_SHARED_LIBRARIESにてJNIのLOCAL_PACKAGE_NAME を指定しています。 jni配下はJNIソース(.c)とAndroid.mkを置いています。 しかしながら、jni配下はコンパイラから完全に無視されているように見えます。 【エラーログ】 make: *** `out/target/product/generic_x86/obj/APPS/Test_intermediates/package.apk' に必要なターゲット `out/target/product/generic_x86/obj/lib/testJNI.so' を make するルールがありません. 中止. 【アプリの.mk】 LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE_TAGS := eng LOCAL_SRC_FILES := $(call all-java-files-under, src) LOCAL_PACKAGE_NAME := test LOCAL_JNI_SHARED_LIBRARIES := testJNI LOCAL_REQUIRED_MODULES := testJNI include $(BUILD_PACKAGE) 【JNIの.mk】 LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := testJNI LOCAL_SRC_FILES := testJNI.c LOCAL_MODULE_TAGS := eng include $(BUILD_SHARED_LIBRARY)
サンプルプログラム見ると Paint p = new Paint();などは、メゾットごとに書かれてますが、 クラスに書き込んだほうが、クラス内のメゾッドで共通的に使えるのに なぜそうしないのですか? そうしない理由があるのでしょうか? 全然わかりません。
サンプルだから、でしょ
>>149 親ディレクトリに Android.mk があったら子ディレクトリの Android.mk は自動的には取り込まれない
include $(call all-makefiles-under,$(LOCAL_PATH))
とか
include jni/Android.mk
でもいいけど明示的に include しないとだめのはず
なぜTouchEventは、ArrayListを使って数値を取り出さないといけないんですか? そうしないとエラーが出やすいんですか? 全然意味が分かりません。助けてくださあい。
?
?
157 :
デフォルトの名無しさん :2012/10/20(土) 01:38:59.30
質問があります。 今、作成しているアプリは、ButtonやTextView、その他をテーマを作成しカスタマイズして表示しています。 ボタンのテキストに影を付けたいので、android:shadowColor, android:shadowRadiusなどを指定して影を表示しているのですが、 ボタンを押した時と、押さないときで影の表示を制御したいのですが、やり方がわかりません。 <style name="button1" parent="android:style/Widget.Button"> <item name="android:shadowColor">@color/button_shadow_blue</item> <item name="android:shadowDx">0</item> <item name="android:shadowDy">-1.0</item> <item name="android:shadowRadius">0.1</item> </style> のような指定をしているのですが、ボタンを押した時とその他のときで影を有無を制御できますか? ちなみに、ボタンを押していないときは影を表示させないようにしたいので、shadowColorのところにselectorを 指定して、押されていないときは影を透明にするようにさせたら、実行時にエラーが出ました。 shadowColorにはselectorは指定出来ないようです。。
詰めたのものは本数に入りますか?
自分で調べろゴミ
みんなはバージョン管理システムとか使ってるの? 昔VisualSafeとか使ってて便利だったんだけど エクリプスでも同じようなの使えるのかな?
バージョン管理でぐぐれ
時々エラーが出るんですけどどうすればいいですか?
VisualSourceSafeとか不便過ぎる。
>>161 Subversionつかってる
Gitの人も多いんじゃないかな
リポジトリはBacklogって100Mまで無料の国内サービス使わせてもらってる
もっと良い物有るのかな?
日本語で無料なのが気に入ってるんだけどさ
gitってよく調べててたどり着くこと多いけど あれってソースとか全部公開しちゃうわけ?
168 :
デフォルトの名無しさん :2012/10/20(土) 16:29:16.47
GalaxyTab(Android2.3)とNexus7(Android4.1)でアプリの見た目が異なります。 具体的には、画像の大きさがGalaxyTABのほうが1.5倍くらい大きいです。 どちらの機種もhdpiな機種なので、画像はres/drawable-hdpiにも入れています。 同じような大きさで表示したいのですが、どうしればいいですか?
>>167 もしかしてgithubのことを言ってる?
gitはlocalで使ってる。
gitとgithubって違うの?
>>171 githubはgitリポジトリのホスティングサービス。
174 :
デフォルトの名無しさん :2012/10/20(土) 21:06:18.12
progressdialogのnegativebuttonとかpositivebuttonを押しても閉じないようにするにはどうしたらいいですか?
gitでbitbucketがいいよ、非公開に出来るし
176 :
デフォルトの名無しさん :2012/10/21(日) 08:31:20.21
6日前に更新されたHoloEverywhereを入れると Error: No resource found that matches the given name: attr 'selectableItemBackground'. とエラーが出ますどうしたら良いでしょうか?
179 :
デフォルトの名無しさん :2012/10/21(日) 14:17:46.31
>>178 そのサイトはみてたんだけどabsをadsと見間違えてadmobのバージョンが4.2以上じゃないとだめって勘違いしてた
調子いいときはずっと出ないんだけど たまに予期せぬエラーが出るのよ これは放置でいいのかしら?
181 :
デフォルトの名無しさん :2012/10/21(日) 14:22:41.96
エラーの内容にもよるだろ
画像をタッチしたとき、場所ごとに異なる処理をさせたいのだけど、
座標で細かく場合分けしてするしか方法が思いつかない。
なにかいい方法ありますか?
やりたいことは地図を表示して、タッチした県とか市とかごとに別々のメッセージを表示する、みたいなことです。
境界が複雑だから座標を細かく見ていったらキリがないし、でもあんまり妥協もしたくないし。
cssとjQueryで作ったという↓みたいのが出来るとうれしいです。
http://winstonwolf.pl/clickable-maps/europe.html
簡単な方法だと よういするもの 1. ユーザーに見せる画像とは別に、単色で領域を塗り分けた画像 2. 色とメッセージの対応表 やりかた タッチされたらその座標の色を1から取得する その色に対応するメッセージを2から取得する
google mapsをstartActivityForResultで呼び出しても、Backで戻られた時にonActivityResultが呼ばれない気がするのですが なにか方法があるんでしょうか?
186 :
デフォルトの名無しさん :2012/10/21(日) 21:21:21.06
HoloEverywhereの最新版でForceOverflowを使うにはどうしたら良いの?
>>184 ありがとうございます!
なんとかなりそうですので、やってみます。
いえいえ
189 :
デフォルトの名無しさん :2012/10/22(月) 09:17:13.06
画面を表示するとき、動的に View の位置とサイズを設定したいんですが、 onCreate で View#layout を呼んでも反映されません。 onWindowFocusChanged なら上手くいくこともありますが、 タイミングによるのか上手くいかないこともあります。 ググってでてきた ViewTreeObserver#addOnGlobalLayoutListener を使ったら上手くいったんですが、 これでいいのかもいまいちよく分かりません。 画面を表示するときに View の位置を変えたい場合、どうするのが一番いいでしょうか。
SQLiteのqueryの第7引数には ORDER BY 条件を指定するのは分かりますが どのように書けばいいのですか? order by name desc ではうまく読み込んでくれません
public static voidって何ですか?
>>190 name desc
>>191 メソッドの性質を指定している
public…クラスの外から見える
static…インスタンスを必要としない
void…戻り値はない
フルスクリーンフラグについて質問です Android4.1環境にてMXプレイヤーの動きを見ていると アプリの上にステータスバーとナビゲーションバーが存在していて しばらくするとスライドして非表示になります 普通のアプリではステータスバーとナビバーが格納された後に アプリのレイアウトが全画面に引き伸ばされてガクッとしてしまいます システムUIをオーバーラップさせるような方法はどんなコードなんでしょうか?
195 :
デフォルトの名無しさん :2012/10/22(月) 12:42:47.47
わかりません 他をあたってください
196 :
149 :2012/10/22(月) 13:22:42.12
197 :
デフォルトの名無しさん :2012/10/22(月) 16:27:56.53
全く何の知識もない状態からアプリ作りたいんだけど何から勉強すれば良い?
JavaのSDKをインストールしてサンプルプログラムが コンパイルできるまでが最低限のライン。
金を持って本屋に入門書を数冊買いにいけ
ソースが大きくなってきたのと閲覧を良くする為にclass分けしています。 // public class main_Activity extends Activity{ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Test t = new Text(); t.setText(); } public putText(String s){ TextView.setText(s); } } // public class Test extends main_Activity{ public setText(){ super.putText("ABC"); } } ざっくりの参考ソースですが、この様なTest子クラスから親元の呼び出し(TextView等)はどの様にすべきでしょうか? 現在、実行するとエラーで強制終了してしまいます。
>>200 あ〜〜〜、ソースが見にくくなってしまった。
全角スペースにしてみました。
//
public class main_Activity extends Activity{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Test t = new Text();
t.setText();
}
public putText(String s){
TextView.setText(s);
}
}
//
public class Test extends main_Activity{
public setText(){
super.putText("ABC");
}
}
誤字は置いておいたとして、Activityをnewしちゃダメだろ
>>202 ちょっと間違い
訂正:
Test t = new Test();
誤:
Test t = new Text();
Activityをnewは、してないと思っとりますが・・・
>>203 TestはActivityのサブクラスでしょ
>>204 そうやるんですね。。。 orz
いままでC++やC#なんで、Javaとかやってなくて微妙に
勘違いしていたようです。
>>205 やっと意味が分かりました (>_<)!
>>204 いまテストして動きました。本当に感謝です♪
Javaっぽい書き方だw Androidでわざわざクラス作ってなんかやるっていうのやったことないわ
内部クラスで分けても、ぶっちゃけ行数減らないしね…
このスレ優しい人多すぎだろ
Java初心者スレに誘導したいわ
>>194 予想だけど、動画画面はserviceからsystem_alertレイヤ辺りで出しつつ、その下のapplicationレイヤのActivityが出たり引っ込んりしてんじゃね?
ボタンを押すと1個ずつカゴにモノが増えていって それらの要素を4種類くらい(上・真ん中・下等)に仕分けするアプリ作りたいんだけど 使えそうなUIていうのかな? おすすめありませんか?
>>212 情報ありがとうございます
すごい荒業トリッキーですね……
実際にアプリ動かして動きを見たわけじゃないけど
アクションバーはオーバーレイに出来るし
アクティビティより大きなViewを表示させてればナビゲーションバーが引っ込んでもかくかくしたりしない気がする
と思ったけど、アプリの権限見るとシステムオーバーレイ使えるようになってるから
>>212 で正解かもね
216 :
デフォルトの名無しさん :2012/10/23(火) 15:33:56.43
環境にJNII/Fをいれ、下回りのサービスとのやり取りを考えております。 しかしながら、JNIの動作がうまくいかず困っています。 環境にアプリ、JNII/Fを入れビルドし、アプリを動作させると、 下記エラーが出ます。 色々、検証しているのですが、全くもって解決しません。 何か良い知恵、ヒントがございましたらご教授ください。 【エラー内容】 java.lang.UnsatisfiedLinkError: Couldn't load libjni_pdmonitoring find library returned null システムロードに失敗しているみたいです。
JINII/Fって何ですか?
マルチポストすんなよ桂
じゃヴぁねいてぃぶいんたーふぇーすいんたーふぇーす
問題の切り分けが出来ないってこと??
うん
エラー的には*.soがないって言ってるっぽいけどな
223 :
デフォルトの名無しさん :2012/10/24(水) 00:41:53.25
カメラのシャッター音について困っています。 camera.takePicture()を利用すると、でかい音が鳴るのが普通なのに GALAXY NEXUS(android4.0.4)では、激小さな音しか鳴らないという現象がでています。 これがNEXUSのせいなのかandroid4の仕様なのか知りたいのですが機種を揃えることは出来ないので 調べる余裕のある方、ちょっとtakePicture呼んで音がでるかどうか教えてもらえると助かります。 システムライブラリの動作なのでバグとかそういうレベルの話ではないのですが、 自分で音を出すにしても機種で回避するべきか、バージョンで回避するべきかを明確にしておきたいという訳です。 アンドロイド公式では、takePictureを呼んだ際にonShutterCallbackで音を鳴らせって書いてあるんですが android2系の頃は、自分で音を鳴らさなくても勝手に音がするのが普通でした。 宜しくお願いします。
>>223 撮影時にシャッター音が鳴るのは国内メーカーの自主規制だから
アンドロイド公式の資料なんてあてにならないです
要するにハードウェアメーカの設計依存ってことね。
226 :
デフォルトの名無しさん :2012/10/24(水) 08:42:56.63
脳かな
>>225 ハードウェアじゃないよソフトウェアで音を出してるけど、制御出来ない部分
海外の端末だとメディア音量とリンクしてたりする
apkは簡単にデコンパイル出来て簡単に改変出来ると聞いたんですが本当ですか?
windowsのexeも簡単に解析して改変できますよ
listviewのfooterって必要? 結局リスト項目全部表示するんだし、 なんかマドロッコシイだけで意味ないよな… 何か利点ある?
ひつようにおうじてどうぞ
XMLでレイアウトを組んで 文字や画像を拡大表示してから又元のサイズに戻すと(漢字拡大や写真拡大鏡、ルーペみたいな機能をつけたい) 4.x系の端末では拡大した要素が一番大きい時のベースラインに固定されてしまいます。 でっかくなった分だけ下に下がって表示されてしまいます。 常に一番上に表示させたいんですが、どうすればいいですか?
AudioRecordで音声録音したいんだけど、マイク感度ってどうやって調整するの?
androidSDK逆引きハンドブックのSECTION-95が上手くいかない 実行して画面長押ししても出てこない 誰か教えて下さい
236 :
デフォルトの名無しさん :2012/10/24(水) 23:01:22.59
嫌です
privateって何のためにつけるの?
privateにしたい時じゃね?
239の回答ワロタw
ステータスバーの長さpxを弾き出す方程式教えてください!
243 :
242 :2012/10/25(木) 12:03:12.78
長さでなく高さです教えてください!
244 :
a :2012/10/25(木) 16:51:33.44
簡単に取得できる方法があるなら、俺も知りたいところ。 俺の場合は、fullScreenの画面の高さ−ステータスバー出現時の画面の高さ で算出している。 注意すべきは、LayoutParams.FLAG_FULLSCREENフラグを消去したタイミングで ステータスバーが消えたことにならないので、引っ込むタイミングを待ってから 画面サイズを取得する必要がある。
>>240 パッケージの中と外の意味が分かりません。
1つのパッケージの中にたくさんのJAVAファイルを組めるのは知ってますが、
パッケージの外となると、別のアプリとしか解釈できません。
アプリとアプリでアクセスするんですか?
マルチタスクみたいなことをするんですか?
全然意味が分かりません。
補足 >アプリとアプリでアクセスするんですか? 可能です。そういうアプリも実在します。 >マルチタスクみたいなことをするんですか? 可能です。そういうアプリも実在します。 >全然意味が分かりません。 分かる為の努力をしましょう。
Android4.0でWidgetを作成しonDeletedを呼ぶ処理が必要なのですが onDeletedが呼ばれないようです onEnabledとonUpdateは呼ばれます widgetをホーム画面から削除してもonDeletedとonDisabledが呼ばれないようです onDeletedを呼び出すのにAndroidManifestなどに必要な項目などはありますか?
250 :
デフォルトの名無しさん :2012/10/25(木) 20:20:55.03
問題に対する純粋な質問ではないです、すみません。 カメラをインテント起動して撮影した画像を得るプログラムを書いたのですが、 画像のUriが取れなかったり、画像の向きがおかしかったり、と散々な目に合いました。 こういった典型的なハマりポイントを回避するためのライブラリ的なものを どなたか公開されていたりしないのでしょうか?ご存知でしたら教えてください。
251 :
249 :2012/10/25(木) 20:27:17.84
>>249 自己解決しました
reciverのandroid:exportedがfalseになっていたようです
アホすぎる俺、、、
252 :
デフォルトの名無しさん :2012/10/25(木) 21:46:27.73
君は俺ですね わかります
Preferences使って設定処理を作っているんですが、eclipseがワーニングを出しまくります。 動作自体に問題は無いのですが、コード上に赤線が出て気持ち悪いです。 消す方法(正式なコーディング?)はどうすれば良いのでしょうか? 【コード例】 1:public class PreferencesSetting extends PreferenceActivity { 2: @Override 3: protected void onCreate(Bundle savedInstanceState) { 4: super.onCreate(savedInstanceState); 5: addPreferencesFromResource(R.xml.setting); 6: } 7:} 【ワーニングメッセージ : 5行目】 メソッド addPreferencesFromResource(int) は型 PreferenceActivity で使用すべきではありません
254 :
242 :2012/10/26(金) 00:12:34.23
>>244 ありがとう!
でもフレームワーク的にその方法では算出出来ない、、、。
例えばdensity(highやlow)とdpi値で割り出せる様な法則はない様ですね、、、、残念。
Images.Media.EXTERNAL_CONTENT_URIだとSD全体から探すのですが、検索するディレクトリを限定する方法はありますか?
Dialogそのものにタッチイベントを設定する方法ってありますか? やりたいことはDialogを開いて、その上のどこででもタッチしたらそのダイアログを閉じるように したいのですが、イベントの設定方法がわかりません。 Dialog上のLinearLayoutや貼り付けているImageViewにイベントを設定してとりあえずやりたい動作は できてるんですが、もっとスマートな方法があれば教えていただきたいです。 Dialogを継承して自分でクラスを作るとかしか無いでしょうか・・・?
Dialogのオーバーライドを自分で作るしかないかも
>>254 標準の高さは決まってるけど端末ごとにカスタマイズされてるかどうかが定かではない
アクションバーの高さはdimensに値あるし
2.3では出なかったけど4.0にしたらたまにヌルポがでるようになった デベコンのエラーログのスタック追跡で(hoge.java:45)の数字は行番号だよね? だとするとある変数がヌルポみたいなんだが 考えられるのはfinalかprivateの修飾子ぐらいなんだが なんか他に変ったことある?
finalもprivateも変わってないが……
>>259 finalだろうがprivateだろうが、nullが入ると言うことは初期化できてないとか、エラーチェックしてないとかだろ。
>>253 3.0 以降はフラグメント (PreferenceFragment) を使うやり方が推奨される
>>261 そうなんだけど4.0にアプデしたら急に出るようになったわけで
>>263 じゃあその原因を調べろよ
finalやprivateが怪しいなんていってたらいつまでも分からんと思うが
ぬるぽが出るからnullが入ってるのはわかったけど なんで4.0にしたら出るのかがわからん thowsするからもういいけど
初期化の処理をちゃんと見ろよ
4以前のときは小人さんが初期化してくれてたんだよ。 きっと。
throwしても落ちるだろ…
これで初期化されてるよね public class SampleService extends Service { private static String HOGE = "samplehoge"; @Override public void onStart(Intent intent, int startId) { super.onStart(intent, startId); 略 if(HOGE.equals(intent.getAction())){ //この行でぬるぽ 処理 } } サービスで常駐してるからそのへんにも原因がありそうな気もするが
intentがnullなんだろ
そうかintentがnullか スーパークラスのコンストラクタがnullってことか どうもです^^
違う、ドキュメント位読め
あ、コンストラクタじゃなくてonStartの引数か
引用 ServiceクラスのonStartメソッドはdeprecated(非推奨)に指定され、Android2.1以降では使うべきではないメソッドになってしまいました。 実際にAndroid2.1以降ではonStartメソッドが呼ばれないことがあります。 代替メソッドとしてonStartCommandメソッドが用意されましたが、Android1.6にはonStartCommandメソッドがありません。
アホすw
これが答えだな onStartCommandメソッドを使う上で特に注意することがあります。 サービスはOSによってrestartされることがあるのですが、restartされたときに呼ばれるonStartCommandメソッドの引数 intent は null です。 (return START_STICKY; と指定した場合) Android1.6とAndroid2.xとでは、restartされたときの引数の内容が異なります。
278 :
デフォルトの名無しさん :2012/10/26(金) 14:32:23.40
お前らが参考にしてる本ってどんなの?
280 :
デフォルトの名無しさん :2012/10/26(金) 15:41:22.99
ネットとか断片的な素人情報しか落っこちてねえだろ
developer.android.com と Android のソースがあれば十分
上のonStartが云々もソースのコメントに書いてあることだしな
これあれだ、ぐぐってたどり着く情報がもう古いんだよ ちょっと前までは使えたのに今は非推奨になってるとか 記事やサイトはそのままになってるのが多いからねえ このスレの情報が最先端だなw
>>281 本来は、そうなのだろう。
でも、多くの時間を使って試した経験を、断片的だろうが何だろうがネットに吐き散らしてくれた
先人の知恵を使わない手は無いと思うが。
ListViewの項目の中にボタン1個入れると、ボタンは反応するけど、それ以外の所を押しても色が変わったりしせず無反応になりました。 ボタンとリスト項目の背景で分けてクリックを受け取るにはどうしたらいいんでしょうか?
2chブラウザを作ろうと思ってるんだが 2chの板一覧取得とかってどうやってるんだ? まさかソースに直書きなわけないし、発想が出てこない俺は向いていないのだろうか・・・
ちゃんと仕様を公開してんだから読めよ・・・
>>286 この質問、もう何度目かね
テンプレにでも入れたらいいんじゃないかと思う
俺もはまったしw
確かボタンに
android:focusable="false"
とかする必要があった気がする
サービスでブロードキャスト(ACTION_POWER_CONNECTED)を受け取っていましたが、 途中でシステムに殺されて受け取れない期間が出てきてしまいます。 取りこぼし無く受け取る方法はありますか?
SDカードのパスを正確に特定する方法を教えてくれ getExternalStorageDirectoryで取れない端末はどうすりゃいいんだ?
evo 3d root取得済み アプリからrebootをかけたい。 Runtime.getRuntime().exec(new String[]{"/system/bin/su","-c","reboot now"});等 してみたけど再起動がからない。 adb rebootはうまく動いた。分かる方いませんか
パノラマ写真を利用してストリートビューみたいなアプリを作ろうと思ったんだが 既存のパノラマ写真撮れるアプリで撮った画像とか利用したら著作権的に問題とかある? パノラマ写真撮る方法とか一から組めるきせんのよな
>>296 そのアプリのライセンス読んでないけど、そのアプリで生成しただけなら著作権は関係ないでしょう。ストリートビューといえば肖像権の方が気になる。共有しなければ平気なのかなぁ。
Androidで使用しているメニューアイコンなんかのPSDファイルを入手できるところを誰か知ってたら教えて ソースには入ってないよね……?
300 :
デフォルトの名無しさん :2012/10/27(土) 11:43:27.74
ソースに入ってるが馬鹿には見えない
ソースを示せよ
>>299 やっぱりベクター画像じゃないと編集しずらいよ
よくゲームなどで 輪郭がぼやけるように輝いてる画像を使ってるのを見ますが あれどうやるんですか?
まず気をためます
次にその気を放ちます
306 :
片山博文MZボット ◆0lBZNi.Q7evd :2012/10/27(土) 14:53:08.58
ソースじゃなくてSDKの方に入ってる
SDKのソースに含まれている。
ソースじゃないってば SDKのパス\platforms\android-**\dataの下 ソースは SDKのパス\sources\android-**の下
>>298 だけど質問に誤りが…
正しくは画像の元となったベクター形式のファイルが欲しいってことです
>>306 そんな便利なのあるんだね
試してみる
312 :
デフォルトの名無しさん :2012/10/27(土) 17:39:23.01
onSingleTapUpって反応遅いんですか 連打検出したいんですが
SDKのAndroidのソースに含まれている。 これでいいか? SDK自体のソースってのもあるのか。
端末によって画面の向き(orientation)の決め方は違うのでしょうか? 画面幅(ピクセル数)の広い方が垂直時に縦と定義されるのでしょうか?
portrait/landscapeだから縦長/横長と解釈すればいいんじゃないか? 端末にとって自然な方向がどっちかとは関係ないでしょ
>>315 縦と横じゃなくてportraitとlandscape
長い方を縦にするのがportrait
>>316 >>317 素直に長い方がportraitなんですね
タブレットとか横向きスタイルがデフォルトだったりするので
どうなってるのかなと思いました
でもそんな所で各社仕様が違ってたら破綻するからあり得ないですね…
>>314 俺の言うソースにはリソースも含まれている。
つまりそれをビルドする時に使うとこから取ってこい。ってことだ。
>>319 ライセンスまで代わりに読んでやる気ないけど、再配布でなくユーザーがインストールするなら問題ないことが多い。心配なら法務部か弁護士に相談したら。
>>320 それはSDKのソースじゃなくてAndroidのソースだろ
>>314 aiファイルが入ってることを確認しました!
ありがとう!
>>321 如何せんまだ学生なもんで
教授とかに聞いてみます
>>326 聞くなら特にツボとか絵とかも聞くのを忘れないで。
極端に言えばゴッホ作「ひまわり」の絵画が飾ってある壁を写した時とかな。
例えは極端過ぎたけど世の中には変なのが〇百万とかあるからなぁ。
屋外は公、屋内は私って考えもあるしなぁ。
328 :
デフォルトの名無しさん :2012/10/27(土) 22:25:16.81
Notification notification = new Notification( R.drawable.icon, null, System.currentTimeMillis() ); PendingIntent pi = PendingIntent.getActivity(this, 0, new Intent(this,SubActivity.class), 0);//ここでぬるぽ notification.setLatestEventInfo(this, this.getString(R.string.app_name), "実行中", pi); notification.flags = notification.flags | Notification.FLAG_NO_CLEAR | Notification.FLAG_ONGOING_EVENT; notification.number = 0; Serviceの中で上記のようにするとコメントのところでぬるぽが出ます どうすればうまく動きますか?
>>328 if(pi!=null){}の中にプログラムを書くといいよ
>>328 その行でぬるぽになる要素ある?
そこで呼び出してる何かの中じゃなくて?
332 :
デフォルトの名無しさん :2012/10/28(日) 10:04:14.15
>>330 ログはこんな感じです
10-28 09:29:38.549: E/AndroidRuntime(19347): FATAL EXCEPTION: main
10-28 09:29:38.549: E/AndroidRuntime(19347): java.lang.NullPointerException
10-28 09:29:38.549: E/AndroidRuntime(19347): at android.content.ContextWrapper.getPackageName(ContextWrapper.java:120)
10-28 09:29:38.549: E/AndroidRuntime(19347): at android.content.ComponentName.<init>(ComponentName.java:75)
10-28 09:29:38.549: E/AndroidRuntime(19347): at android.content.Intent.<init>(Intent.java:2704)
...
それとIntentの第2引数(SubActivity.class)を指定したところでエラーが起きてるみたいです
エスパーすると、SubActivity.classを作成してないとみた
334 :
デフォルトの名無しさん :2012/10/28(日) 11:06:23.49
MainActivityからは起動できたのでそれはないです Serviceからやると出来ないんです
>>334 例えばActivityとかで
MyService service = new MyService();
とかやって、動かそうとしてない?
もしくは、上記のコードをServiceのコンストラクタで実行しようとしてるとか?
>>335 そういう使い方はしてませんが
aidlでMainactivityからはうごかしてます
百歩譲って実行時例外だとしてもClassNotFoundException。
>>336 何にしても
>>328 の情報だけじゃハッキリしないし、
本気で解決したいなら、そのエラーを再現できる最小のコードを
(部分的にではなく)提示してみたら?
Binder経由で呼び出した先でthisでコンテキストにはアクセス出来るの?
Bluetooth(SPP)の開発やっている方いますか? クライアント部の処理なんですが、データをreadする際にごくまれに1,2ビットほど データを取りこぼす様です。取り込むビット数そのものは合っています。 windowsでクライアントソフトを作って動かすと問題ないのでandroid側が要因のようです。 だれかこの様なことが起こった方は居られませんか?
ServiceでMediaPlayer鳴らしてるんですが、 Android4.1で最近使ったアプリ一覧でスワイプして消すと、音楽が止まってしまいます。 実行中の通知は残ってます。 既存の音楽アプリではこういうことしても鳴ったままです。 何か工夫がいるんでしょうか?
NavigationBarの表示位置を指定する事はできないのでしょうか? 画面はlandscapeで横長に表示しているが、NavigationBarは右端にでている、という風にしたいです。 7インチ端末のlandscapeでできるだけ画面を広く使いたいのです。 ハードウェアボタンがない場合NavigationBar自体を消すことはできないみたいなので、少しでも小さく表示できればと思っています。
>>328 335さんの指摘であってると思う
Service.onCreate()が実行される前にIntentを作成すると同じエラーになる
Unable to instantiate service com.example.〜service
ってNullPointerExceptionのメッセージが出てないかな?
class 〜service extends Service{
// PendingIntent pi = PendingIntent.getActivity(〜〜); // ここで初期化しない(ここエスパー部分)
PendingIntent pi; // 定義するだけ
public void onCreate() {
pi = PendingIntent.getActivity(〜〜); // ここで初期化
}
}
とかやって回避できないかな
345 :
デフォルトの名無しさん :2012/10/29(月) 07:51:12.71
>>339 今日帰り次第上げます
>>344 serviceを起動させてから接続するようにしています
serviceが起動させていてonCreateが呼ばれないということはあるのでしょうか?
>>345 外部からserviceのメソッドを呼んでもcontextにはアクセス出来ないってば
サービスでonStartCommandを書くと@Overrideを消せって言われるんですけど 消せば動くんですが以前のonStartで書いた内容が表示されないです。 で省略していたonCreateをonStartと同じ内容にすれば表示されたのですが 今度はコンストラクタのintentが使えず困りました。やれやれ。
348 :
デフォルトの名無しさん :2012/10/29(月) 13:02:13.81
>>346 ちょっと変えて外部から変数を変えること条件分岐しようとしたのですが変数が変わらないです
変数も変えられないのでしょうか?
349 :
デフォルトの名無しさん :2012/10/29(月) 13:10:39.23
eclipseのコンパイラ準拠レベルっていくつにしてる?
onStartCommandがオーバーライドできません どうすればいいですか
自己解決しますた
aidlってステートフルなの?
354 :
328 :2012/10/29(月) 16:18:22.40
aidlの使い方を間違っていただけでした スレ汚しをしてすいませんでした
aidlってプロセス間通信の為の物だから、普通は使うこと無いよね
報告ありがとう そして、どんまい。頑張れ。
個人ブログとかに書いてあるけど公式リファレンスに 載ってないようなインテントのアクションとかどこで調べればいい?
359 :
デフォルトの名無しさん :2012/10/29(月) 23:53:00.40
〜TestService〜 AsyncFiler af; af = new AsyncFiler(this);* af.execute(params); public void results(String result){ ... } 〜AsyncFiler〜 TestService _ts; public AsyncFiler(TestService ts){ _ts = ts; ... } @Override protected void onPostExecute(String result) { _ts.results(result); super.onPostExecute(result); } ---------------------------------- こんな感じでServiceからAsyncTaskを呼び出して処理が終わったらServiceに送るという事をしたいのですが*のところで *** Uncaught remote exception! (Exceptions are not yet supported across processes.) java.lang.ExceptionInInitializerError が呼ばれ強制終了します afは何回も初期化されるのでAsyncTaskの処理をService内で待つことが出来ません なので上記のようにしたいのですがどうしたらうまく動きますか?
エラーの内容見る感じServiceを渡して結果を貰うところ以外に原因があると思うよ 個人的にはServiceを直接渡すんじゃなくて、Callback用のInterface作ってそれを渡す方が好みだけど
361 :
デフォルトの名無しさん :2012/10/30(火) 00:53:46.81
スレッドの中でループをまわしているのですが、その中でViewの押下状態をひろうことはできないでしょうか? isPressedというメソッドがそうかなと思ったのですが反応しません
362 :
デフォルトの名無しさん :2012/10/30(火) 01:01:16.14
onTouchEventでdownの状態保持しておけばいけそうですね。
>>361 は無視してください
4.0にしたら不具合が多すぎる 変更点の一覧みたいなのない?
マルチタッチでmatrix使って画像を拡大してその画像が画面におさまってるかどうかってどう判別すればいいですか? scaleから拡大後のサイズはわかるんだが画面に画像のどこまでがおさまっているか知る方法がわかりません。 やりたいことは画面に見えてる部分だけを別画像として切り出したい。
Viewの大きさ分かったら算出できるっしょ
>>363 どんな不具合だ?ゲームとかか?
おれんとこはツール系ばかりなので割と素直にコード使い回せてるがな
ICSで起動時パーミッション必要な点と、ハードキーない機種で適宜ロープロ制御するくらいでそれ以外は修正なしだぜ
まあ、HTC Jがへんな三点アイコン出して居座るのとか無視してる要件もあるがね
367 :
デフォルトの名無しさん :2012/10/30(火) 06:14:58.91
すいません、少々聞きたい事があるのですが 例えばアクティビティは1つだけ、MainActivityがあり、レイアウトもセットしてあります。 そこの処理をAという別クラスで管理しようと思い、ListViewやspinnerのリストへの動的な入力もAというクラスでさせたいと思っています。 そうすると、このAというクラス内からMainActivityにセットしてあるListViewやSpinnerの //ArrayAdapter<String> la = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, ListArray); このようなアダプターの場合でいうthisには何を入れればいいのでしょうか? というかこういう処理を別クラスに持っていくって考えがそもそも間違っているんでしょうか・・・。
クラスのコンストラクタでContextを受け取るのがふつう そのContextをフィールドに入れておいてそれを使う アクティビティからそのインスタンスを作るときにthis(つまりそのアクティビティ)を渡す
eclipseをアンインスコして最新バージョンを入れたいんだけど アプリのファイルはどこかにコピーして新しいバージョンでインポートすれば大丈夫だよね? それで著名してapk出力してちゃんとストアでアプデできる?
workspaceフォルダはそのままでeclipseだけ入れ替えればいい プラグインの関係で多少おかしくなったりすることもないこともないけど その場合新しいワークスペース作ってプロジェクトをインポートすればいい
372 :
デフォルトの名無しさん :2012/10/30(火) 23:57:54.67
ServiceをDDMSを使って殺すとOnDestroyが呼ばれず再起動もしないのですがこれはDDMSを使う以外に起こりうることなのでしょうか?
タスクキラーにやられたりエラーで突然逝ったり 正しい終了処理が行われないまま終了なんて日常茶飯事ですよ まったく何の保障もないと考えたほうがいい
374 :
デフォルトの名無しさん :2012/10/31(水) 00:04:45.91
serviceで実行中のnotificationを出してる場合強制終了されると残るんだけどどうしたらいい?
Javaのファイナライザやfinally節すらもプロセスが逝ったら呼ばれないままだよ
376 :
デフォルトの名無しさん :2012/10/31(水) 00:05:44.27
出してる場合→出してるから
>>365 matrixで処理した場合Viewのサイズは変わりません。
ですからScaleを元のViewのサイズにかけて拡大後を知れるだけです。
取れたら苦労しません。
>>378 Viewが表示されている場合、サイズが取れないことはありません
表示している画像のサイズも分かります
表示の倍率もプログラム側で制御しているので当然分かります
でも画像を表示表示し切れてるか分かりません
なんで?
Viewと画像の違いも分かってないのか?
2.xまでのビューのアニメーションの仕組みはレイアウトに影響しない、 つまりビューのプロパティにも影響しない事のほうが多い
>>364 >画面に見えてる部分だけを別画像として切り出したい
画面と同じ大きさのbitmapつくって、そこに描画するcanvasを作って
後は全く同じように描画すればいいんじゃないの
画面と多少大きさが違う場合でもやることは概ねおんなじ。
描画先にあわせてスケールと位置を調整する行列を作って、
それを表示に使った奴と合成すればいいだけ
それが分かれば苦労しません
画面の大きさがわかる 画像の大きさもわかる 拡大後の大きさもわかる もう答え出てんじゃね?
GridViewでアイテムが今何行か取得する方法ありますか?
Android4.1.2(Nexus7)で、MediaPlayerで音楽をネットからストリーム再生中に、 電源押すか一定時間経過でスリープになると、数秒後に停止してしまいます。 どうしたらスリープ中でも再生され続けますか? その時のLogCat W/MediaPlayer(14947): info/warning (703, 0) I/MediaPlayer(14947): Info (703,0) W/MediaPlayer(14947): info/warning (701, 0) I/MediaPlayer(14947): Info (701,0) Wi-Fi詳細設定の スリープ中にWi-Fi接続を維持 常に使用にチェックしてます
386 :
デフォルトの名無しさん :2012/10/31(水) 23:15:33.53
FrameLayoutでView1、View2を重ねているのですが、View1に触れているとき、View2の onTouchEventが取得できません。なにか方法はないでしょうか?
インストール後の最初の起動時に注意事項などを通知したいのですが「インストール後の最初の起動時」であることはどこから取得できるのでしょうか?
>>387 逆に考えろ
表示し終わったらどっかに値を保存しておけ
そして表示前にその値があるかどうかで判定
リワード広告から飛ぶアプリって最初の起動でどっかに一旦飛ばされるよね あれもフラグをプリファレンスかどっかに記録してあるのか
先日やっとnexus7を購入し晴れて4.0以降のosを手に入れたのですが、 過去に作成したopengl2D描画しているゲームで、最初は描画されるのですが、なぜか途中から真っ暗。 一度スリープして、復帰させると一瞬復活後、上半分が描画されない状態です。 原因がわからないのですが、仕様変更なのか、なにかのプロパティーをONにする必要があるのでしょうか。
>>386 View1のonTouchだったかでfalse返したら良いんじゃない?
サービスアプリでGCされると最初に呼び出されるのは onDestroyですか?それともonCreateっでしょうか?
393 :
デフォルトの名無しさん :2012/11/01(木) 21:18:01.97
View1とView2があります。View1を最初にタッチにします。 このときView1のonTouchEventが発生します。View1をタッチしたままView2をタッチします。 このときもView1のonTouchEventが発生します。View2のonTouchEventは走りません。 これをView2の方にも発生するようにしたいのですがどうすればいいのでしょうか?
>>393 双方を囲うビュー作ってそちらでマルチタッチさばくのが手っ取り早いかと
395 :
デフォルトの名無しさん :2012/11/01(木) 21:31:06.57
>>394 なるほど。それはViewの座標とタッチした座標を比べてViewにタッチしているのか判定するということですよね?
>>395 うん、最短解かわからないけど実際にやったことあるので。
レイアウト後のview要素の座標取得も難しい事はなかったので、メソッドにくくればすっきり書けます。
とはいえ雑魚デベロッパーの言う事ですので、もしもっと良い方法とか見つかれば教えて頂ければ幸いw
view2を上に持ってくるとか
ViewFlipperを使ってフリックしてViewを切り換える時に Viewの内容を更新して切り換えるのはUIとしておかしいかな?
399 :
デフォルトの名無しさん :2012/11/02(金) 00:10:51.72
notificationにアイコン+数字で表示させたいのですが今表示されているnotificationのアイコンの数字を取得する方法又はnotificationがクリアされたことがわかるイベントなどはあるのでしょうか?
400 :
デフォルトの名無しさん :2012/11/02(金) 00:22:30.94
viewpagerを使って、フリックをさせているんだけど、viewpagerを使ったviewだけフルスクリーンにならない(イメージがセンターに来て上下に隙間ができる)だけど、イメージを上にぴったりくっつけるにはどうしたら良い? 分かる人教えてくだされ。
Httpでサーバーからファイルを落として雇用としているのですが、
2.3.xの端末ではできていたのですが、4.0.xの端末で動かすと動きません。
下のような最低限のコードで実験したのですが、executeを行った時点で
エラーが起こっていました。
このほかに「HttpURLConnection」を使って同じようなことをしたのですが、
コネクションを張ろうとした時点でエラーが起こってしまいます。
4.0.xではなにか設定などが必要なのでしょうか?
教えていただければ幸いです。
HttpGet method = new HttpGet( "
http://www.hogehoge.com/hoge.text " );
DefaultHttpClient client = new DefaultHttpClient();
method.setHeader( "Connection", "Keep-Alive" );
HttpResponse response = client.execute( method );
int status = response.getStatusLine().getStatusCode();
if ( status != HttpStatus.SC_OK ) {
throw new Exception( "" );
}
すみません、NDKで質問です。 Nexus7でNDK r8bのサンプル(native-activity)を実行しようとしたのですが、 問題が発生したため、NativeActivityを終了します。 というエラーが出てしまいます。 どなたかNDKのサンプルをNexus7で実行できた人いますか?
>>401 なんてエラーか知らんが、3.0あたりからUIスレッドで通信しようとするとエラーが出るようになった。
StrictModeだったかでググればでてくるはず。
>>401 シロートだけど、メインスレッドで通信すると落ちるんで別スレッドでやってみたらどう?
>>398 同じ画面てこと?
普通は更新ボタンをつけるんじゃないか
408 :
398 :2012/11/02(金) 12:13:32.95
>>407 アプリの初回起動時にViewFlipperの各Viewの内容をあらかじめ取得しておいて
フリック時にはViewの遷移のみ、Viewの更新は更新ボタンで、というのが普通なのかな?
今の自分のやり方だと、
初回起動時に表示するViewの内容だけ取得しておいて
フリックした時に遷移先Viewの内容を毎回更新して切り替えてる
(初回起動を可能な限り早くしたかったのと、フリック切り替えに要する時間が
500ms以内だったのが理由だけど、切り替え時にちょっともたつくという声もあったり…)
menu.add(Menu.NONE, MENU_ID_MENU1, Menu.NONE, "Menu1"); 一度メニューに設定した文字を別のに置き換えるにはどうしたらいいですか? 追加はあったんですが任意の置き換えというのがみあたりません
BACKキーで終了後すぐ起動するとエラーが出ます エラー内容にOutOfMemoryが含まれていたので おそらくBitmapが破棄されずに再起動しているせいだと思います どうすればBACKキーでBitmapを破棄できるんですか?
>>410 onDestroyに書くのじゃだめなの?
>>408 ああ、そういう意味か
フリックでの遷移先のViewが可変じゃないなら毎回更新する必要は
ないから、最初の1回だけViewを作成すればいいよね
あとは、非同期で遷移先のViewを作成するとかかな
GCされたときってonDestroyは動くのでしょうか?
いいえ
はい
はいじゃないが
どっちですか?w
自分で確かみてみろ
>>411 onDestroyはBitmapを定義したクラスの外なので
破棄のコードが書けないのですが
どうすればいいんですか?
401の質問をした者です。 確かにメインのスレッドで通信をしていたことが原因でした。 別のパターンで実験したときもASyncスレッドで実行していたのですが、そちらでもダメでした。 通信処理をIntentServiceで行うようにしたところ無事通信が成功することができました。 ヒントを頂いたおかげで解決できました。 ありがとうございます。
423 :
398 :2012/11/03(土) 01:04:06.53
>>412 最初の1回が一番すっきりする
今度は起動が遅いと言われるけど…
どっちにするかもう少し検討してみる
次に切り替えることが可能なViewだけ生成する
GridViewのアイテム(ImageView)にオーバーレイで別のビットマップ画像を合成したいんだけど どうやってやればいいでしょうか?RelativeLayoutでImageViewを重ね合わせるしかないでしょうか?
>>425 ImageViewのonDrowをオーバーロードすれば、表示するときの処理を自由に作ることも可能。
画像の重ね合わせを何度も使うし、画像によって細かい修正や表示の変更をする場合は、
そんなViewを自作しとくと便利だよ。
ただ単純に重ねるだけならRelativeがたぶん一番楽
>>426 ありがとうございます。onDrawでカスタマイズ出来るんですね。
単純に重ねるだけだったので今回はRelativeLayoutでやる事にしました。
アプリにyoutube動画を埋め込む方法ってある? youtube再生はWebViewになっちゃうのかな?
429 :
デフォルトの名無しさん :2012/11/03(土) 20:09:53.97
a=a+1とa+=1のどちらを使うほうがいいんですか? a+=1だと、たまにa=+1と書いてしまいそうで危険なんですが
a++を使え
a+=1 この書き方あんまり見たことないな 他人が見てわかりやすいのは a=a+1かa++だな
1っていう直値は避けるべき なのでa++
a++ より ++aのが高速とか偉い人が言ってた
後置きインクリメントで式の値が使われてなければ インクリメント前の値をキャッシュしないとか小学生でも思いつく初歩的な最適化だぞ 実際全く同じコードになる
これって関数呼び出しで変わってくるんだよ a=b=0 hoge(a++) hoge(++b) hoge(int n){ print a } で、一回目は0が出力されて、二回目は1が出力されるよ だと思ったCは、、、、w
ここはプログラミング入門全般スレですか?
>433 1っていう直値は避けるべき なのでa++ どういう意味?興味がある。 a++と書くのであれば、インクリする数値は1以外あり得ず、 直値のデメリットは無いと思うが?
1や0はマジックナンバーとは見做さないのが普通
そんな普通は無い
>>441 ありえないなんてありえない
>>442 なんでだよ
0と1はそんなに特別なのかよ
2と4も入れてやれよ
>>444 じゃあa++があるのにa++++やa++++++++がないのもおかしいと思わない?
>>445 何の話だ
お前の話の展開がおかしいなと思う
なんの漫才しとんのかとw
言語によっては++ないのもあるけど、使えるならインクリメントは++使うよね インクリメントしてるということが一目瞭然だし
++は+2と誤解しそうで怖い 暗号的な文は排除すべきだと思う };)とかも混乱する
>>449 突き詰めれば一理あるのかもしらんけど、現実問題としてはインクリメント使える現場でそんな事言う新人いたら、ただの経験不足のくせにナマ言うなと嗜めるべき場面でせう
プログラミング言語なんてpublicとかのキーワードも全部記号みたいなもんだろ
>>430 の文をよく読むと1足してるのは例えだと思う。
聞きたいのはインクリメントじゃなくて、加算の文法はどっちが良いかを聞いてるんだよ。つまり
private static final int hoge=2;
private int a=0;で加算する時に
a=a+hoge;かa+=hoge;のどっちが良いか聞きたいんじゃね?
ちなみに俺はa+=hoge派
>>452 そちらの方がaに加算してるのが明らかだよな
Android単体でアプリの開発できる統合開発環境みたいなのってある?
>>454 AIDEは必要最低限以下かもだが、補完もあるしよい。
日本語入力に難あり。
たぶんThreadの影響だと思うのですが、BACKボタンで終了させると 色々不具合が出ます。どうすればいいんですか? Handrarを使えばいいんですか?
その肝心の不具合書かなきゃ誰もわからんがなw
>>456 そんなぼんやりした説明で第三者が理解できるとでも思うのか?
ほとんど返事貰えないね。ここ以外で開発の質問できる所てStack overflowしかないの?
はい
知恵袋ってのもありますよ
StackOverflowに意味不明なエスパー質問投げて、日本人の技術力の低さを宣伝するのはやめてください
StackOverflowもお前はアホかとか余計なお世話じゃとか思う回答ばっかりだよね
下衆な回答も多いけど 優良な回答も多いからなぁ
StackOverflowって質問の趣旨を全く理解してない的外れな回答の割合が2chより高い気がする 自分と同じ問題にぶち当たってるスレッドを見るたびにイラッとする
>>456 onDestroyに処理書いたらいいんじゃないの?
どうせActivityが開放された後にそこにあったはずのオブジェクトでも参照してるんでしょ
エラー出てるんだったらスタックトレース見りゃめぼし付くだろ
Java初心者ですけどオブジェクト指向って クラス ・フィールド ・メソッド ていうのを組み合わせてプログラムを作っていくという概念でおk?
>>470 まぁ、ざっくり言えばそうじゃないかな
使いたいクラスのメソッドを使うためにオブジェクトを作って使っていく感じ
Android2.3.3を深く学ぶ為の書籍って何がいいでしょうか?
>>456 threadの終了処理はどうしているのか?
不具合というのは具体的に何のexceptionが発生しているのか?
重要な説明を省き過ぎだ。答えようがない。
>>472 書籍では浅くは学べても、深く学べない気がする。自分にあったものがいいんじゃない?
475 :
デフォルトの名無しさん :2012/11/05(月) 03:41:02.51
すいません、オプションメニューから選択したときにスピナーとかみたいな感じのを出させる方法ってどうすればいいんでしょうか?
履歴のタスクからラベル名を取得するコードを書いているのですが、 ショートカットのラベル名が空欄になっているものが存在しています。 ホームアプリ上ではラベル名が表示されていますが、下記コードだと空欄になります。 該当するアプリは「おサイフケータイ」のショートカット「おサイフケータイロック設定」です。 何か別の方法でラベル名を取得できるでしょうか? ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); List<RecentTaskInfo> recentTasks = activityManager.getRecentTasks(100, 0); for(RecentTaskInfo recentTask : recentTasks){ ResolveInfo resolveInfo = getPackageManager().resolveActivity(recentTask.baseIntent, 0); String name = resolveInfo.loadLabel(getPackageManager()).toString(); }
>>470 違う。
クラスを定義するのがオブジェクト指向。
>>470 上の人も書いてるけど。
フィールドは変数、メソッドは関数と置き換えられるから、それだけ取ってみたら手続き型言語と変わらないよ。
オブジェクト指向言語は対象をモデル化する=クラス化というところが本質かと。
480 :
デフォルトの名無しさん :2012/11/05(月) 11:21:56.15
情報ウィンドウに、リンクを張り付けるにはどうしたらいいでしょうか?
eclipseの進行情報のタブってどこで追加できるでしょうか? (コンソールやLogcatとかがある場所に追加したい)
ウインドウ→ビューの表示→進行状況
適用できるビューがありませんって出ました><
Android SDKがインストールできない!(忍法帳で、短い文しか許されないので、2回に分けて書きます) Windows7 Pro SP1 x64で、Java JDK1.7.0_09をインストール済み。 pathは、;c:\Progaram Files\Java\jdk1.7.0_09\binを追加して通してある。 インストーラ−版は、Javaが無いと言う。該当フォルダには有るのに。
>>484 コマンドプロンプト開いてjava って打って改行押したら何が出る?
あとpathは jdkとjre それぞれのbinを追加じゃないかなあ
menu.removeItem(Menu.FIRST+1); menu.add(Menu.NONE, Menu.FIRST+1, 0, "ABC"); この方法でメニューの文字列を変更すると、間髪いれずに2回ぐらい連続で行われると すぐにエラーになって強制終了されてしまいます。 数秒間をあけると問題なく動作したりします。 この動作は想像以上にメモリに負担がかかるんでしょうか? 不安定なくいつも同じ正常動作させるにはどういった工夫をすればいいでしょうか?
>>484 javaをちゃんとインストールしてインストール版からいれたらええよ。
ここ以外にAndroidプログラムのコミュニティみたいのってありますか?
>>486 Javaの使用方法の説明が長々と出ます。
C:\Program Files\Java\jre7\bin
にもパスを通しましたが、効果はありませんでした。
>>489 Javaはインストールされています。
インストーラ-板にバグがあって、インストールを認識できない事があるというサイトを見つけました。
解決方法を探してみます。
>>478 jsみたいに、クラスのないプロトタイプベースのオブジェクト志向なんてのもあるでよ
x86版のJava入れたけど、r20.0.3のSDKインストーラ-ではインストールできなかった。 e15のインストーラー版を残してあったので、こちらを使ったらすんなり行った。 Javaが無いというエラーメッセージもなく。
Nexus 7買ったついでに俺も今日から始めてみたけど同じところで引っかかったなあ find_java.batのjava_exeとjavaw_exeを手動でsetする方法をぐぐってみれ
LVLですが、有料登録したものでないと正常なチェックは出来ませんか? いまテストをするのに無料アプリとして登録、未公開状態なのですが、新しいADVにテスト用アカウントを紐付けているのですがallowにしか返って来ません。
メニューの表示処理って同期じゃないしねえ 表示しようとしてる間に次の表示処理が呼ばれる場合もありそうな気はする 詳細はエラー内容見ないと分からんけど とりあえず内容変更するだけなら menu.findItemかなんかでMenuItem取得してsetTitleすれば良い
502 :
デフォルトの名無しさん :2012/11/05(月) 21:36:06.36
>>476 ありがとうございます
trueを返した場合はmenuに要素を追加するだけで三点アイコンができるのでしょうか?
ウィジェットIDについて質問させて下さい。 AppWidgetProviderのonUpdateでサービス用IntentにウィジェットIDをputExtra 開始したサービスのonStartでgetExtras()しようとするとエラーになります 複数のウィジェットを個別に更新させたい時、サービスにウィジェットIDを送信、 それをサービスで受け取って処理…というのは間違えてますでしょうか?
最近のプログラマって環境変数知らない人がいるんだね。 会社にいてびっくりした。
自動でやってくれるからな
最近のプログラマはコマンドプロンプトすら知らないからな。
単なる時代の違いでしょう
Vプリカでデベロッパー登録してマーケットにアプリ登録する事できますか?
テストはどうやってる? 俺は個人だから適当に実機にインストールして 意図した通りに動けばOKにしてる Jenkinsとやらが流行ってるらしいけどどうなんだろう
510 :
509 :2012/11/06(火) 01:28:55.73
誤爆しました;;
>>507 環境変数知らないからパスが通ってないと説明しても理解できないらしい
世の中には偏差値が50くらいしかない人もいるのです
javaのインストールって直接SYSTEMフォルダにexeを置くんだよね そしてそれをjavaのインストール状況の判定に使われることがある、と スレとはあまり関係ない話すんません
OSインストールした事ないって奴
バスが通ってない田舎ですね わかります
>>513 偏差値が50以下は常に世の中の半数以上います
世の中には偏差値が何か解らない人もいるのです
BACKキー押しで終了すると次の起動に支障が出ます。(Out of Memry) プログラムは次の通りです。 public void run(){ while(フラグ){メインプログラム} } on Destroyに終了フラグを入れてThreadを抜けるようにしているはずなのに なぜか再起動がうまくいきません。 どうすればいいですか?
まずは本当にwhileループから抜けているのか確認するといいでしょう
>>519 runのなかでwhile回さずにrunを繰り返すようにすればいい
runのなかでwhile回すと重くなる
>>521 runの中でwhileすると重くなるんですか??
とても良い事を聞きました。
run内whileとrun繰り返しのFPSを算出してみます!
ちなみに、runを繰り返すってsurfaceViewを使ってる場合だと
surfaceCreatedで生成したスレッドのthread.start();を無限ループすれば良いですか?
GridViewにImageViewの画像を表示してるんですが、 クリックして指をスライドさせた時に移動先が同じ行だと長押し状態を保って、 行がずれるとクリック状態が解除されます。 クリックして同じ行方向にスライドさせてもクリック状態を解除させるには どうすればいいでしょうか?
みんなデザインの編集どうやってんの? EclipseでGraphical Layoutしていると、たまに暴走するしハッキリ言って 動作が不安定なんだけど。PC(OS別、CPU別に3種類試した)を変えても特に変わんない こんな環境じゃとてもじゃないけど、やってられないんだけど・・・ xmlベタ打ちしても結局は、レイアウトチェックにEclipse起動しなきゃいけないし
最近のプログラマってメモリが見えないんだってな。ポインタを説明しても理解してもらえない。
>>525 レイアウト確認用のプロジェクト作ってCUIからビルドして実機確認すれば良い
レイアウトは手入力でがんばる。 cssがあるhtmlよりは単純だし、 補完があるから多少忘れててもどうにかなる。 後はstyleとかAndroidライブラリにちょっとした入力量が少なくなるTipsを入れたりはしてる。
>>527 そんな面倒な事やっているの?
サンデープログラマー?には辛い作り方だな
WindowsPhoneからこっちにやってきたんだけど、開発環境が劣悪だよね
こんなんじゃ余計な時間がかかって、本業でない限りやってられんw
アプリを作りたいのであって、プログラムを作りたい訳じゃないんだけどな・・・
>>528 やっぱ手入力なんだw
とりあえず今は仕方がなく手入力しているんだけど面倒だwwww
>>530 まぁ、仕事でやってるが、手入力が一番確実なんだわ。
Androidライブラリとして、よく使うレイアウトとかポップアップとか、決めうちになる会社ロゴをそっちに組み込んだりすると、
マニフェストでフルパス指定するだけで使えるから工数は減るんだが、
サンデープログラマがやるには作業量増えてるように見えるからなぁw
プログラム上で動的にレイアウト変えたり 画面サイズが異なる端末でどこをスケーリングするかとか 色々考えてレイアウト組むと手入力の方が確実
手入力はまだしもCUIはねーわ クリーンかけたら結局重いし、利点が何もないだろ
>>521 run()の外のループってどうやるんですか?
まさかScheduledExecutorServiceとか複雑なのを使うんですか?
というかandroidアプリのレイアウトって,何を書くとどうなるのかわかりにくいと思うんだけど ほかの環境もこんなもんなんだろうか GUIのプログラムを作るのは200LX以来でよくわからない
WidgetアプリでAlarmManagerを使う場合画面オンオフで AlarmManagerを止めることはできると思いますが 今ホームが表示されているか判定して止めたり始めたりすることはできないのでしょうか?
>>534 普通にrunの処理の最後でまたrun呼べばいいんじゃないの?
finallyの中に書いときゃよくね?
>>536 ホームになったらブロードキャストを受け取ってアラームマネージャーを
止めたらどう
>>535 抽象化の概念がない人はそうかもね。
自分のデバイスだけで動かしてるといいよ。
Androidのレイアウトの開発環境サポートがウンコなのは事実だけどな MSの開発環境とか触ったら腰抜かすぞ
>>537 それってStackOverflowしない?
>>538 いえ・・そのホームになったかどうか判定する方法がわかりません
MSの開発環境ってウィンドウサイズ変わると使い物にならなくなるゴミ製造機のことか。
そのゴミすら満足に製造できないゴミよりはマシだけどな
Androidやってる人はiPhoneもやってる人多いけど、決まってAndroidのレイアウトはクソだって言うな 俺はiPhoneの事は知らんから分からんけど でもAndroidのレイアウトは分かり辛いと思う
どうせ動的に操作したくなるし、 xml開いたりクラス開いたりするの面倒だから、 xml使わずにクラス内に直で打ち込んでるけど、あんまよくないんだろうか?
Android→IphoneってやるとIphoneの方がくそじゃね 戻るボタンないから左上のボタンとか邪魔だよw
androidのレイアウトなんて慣れば簡単 htmlでレイアウト作るのと同じだよ
でもダメな点挙げてもそれだけなんだよね。
>>543 最新のxaml環境だと凄まじく生産性が高いよ
Windows Phone やWindows 8のストアアプリの開発すると今までは何だったんだって感じ
Android もiphoneも古すぎるw
xamlってそんなにすごいの?
>>542 シングルトンとかの考え方でいける。
ホームにスタティック要素を一個作っておいて、
レジュームでホームのスタティックをON
ポーズでOFF
後はサービスからこのスタティックフラグを確認すればいい
>>543 MS製ソフトの利用者の99%はフルサイズにして使うから無問題(kiri
勝手にプロセス殺される対策がめちゃくちゃめんどくせぇーー などの、愚痴や雑談を書き込めるスレってありますか?
勝手にって訳じゃないだろ。 ちゃんと通知はされてる。 一旦寝てまた起こすだけの簡単なお仕事。
assets に GZIP 形式の hoge.txt.gz を置いて getAssets().open() しても ないと怒られるのでおかしいと思って list してみたら、.gz が刈り取られた hoge.txt が存在しており、試しにパスを hoge.txt に変更したらリソースにも アクセスできました。 と言う事で特に困ってはいないのですが、この .gz を宜しく展開しているのは どこの作用なのでしょうか? Linux? Android?
4.0以降の端末でアクションバーだけでなくナビゲーションバーの後ろまで アプリを配置する方法ってありますよね? Nexus7標準の動画プレイヤーでそうなっているという事は 工夫しなくても元々そういう設定がありそうですよね…多分 しかし英語でググってもコードが見当たらない
>>558 おまえAndroidでプログラミングする資格ねーよ
でも確実にGCでオンデストロンが呼ばれるわけじゃないんだよね これがやっかいなんだよ
メニューの項目を一部消そうと思って menu.removeItem(Menu.FIRST+1); してみたんですが タイミングによって強制終了になってしまったりします。 正常に動作するときもあるので原因がわかりません。 これはどうなっているのでしょうか?
強制終了したらログを見るなりしてどこで何の例外が発生したのか調べる 大方ぬるぽじゃね
温めると画面が乱れるのはどの例外ですか?w
もういっそonDestroyとかいらなくね?
続き‐ログには特に出てなかったですが メニューを押すことでそのメニューを消す作業に行ってしまうのがまずいんですかね 一定数の待ち時間をはさんだんですがそれもダメでした メニューが完全に消えたのを確認して次に行くという書き方とかあるんでしょうか?
俺はメニューの動的変化は onPrepareOptionsMenu とか onCreateOptionsMenu とかの開く直前のイベントで全部やる 削除してしまうと後で元に戻すのが面倒臭いので基本的には setVisible(false) で非表示にするだけ
>>566 強制終了してログに出ないなんてことがあり得るのか?
>>567 なるほどonPrepareOptionsMenuでやるようにしたら強制終了は出なくなりました。
なぜ非表示でなく消去にしてたかというとメニューの文字を新たに書き換えてたからです。
いいヒントになりました どうもです(o_ _)o))
>>570 とりあえずログ見て何のエラーが出てるのか確認した方がいいと思う
>>571 原因は分かりました。
android.os.networkonmainthreadexceptionでエラーが出ていたのでこれをキーにググってみたら
http://d.hatena.ne.jp/Kazzz/20120131/p1 この情報に行き着きました。
AsyncTaskを使って非同期処理にしないとダメだったようです。
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().permitAll().build());
を使ってその場しのぎは良いみたいだけどこれはテスト用に使うべきで実装時には使わない方が良さそうと言うことで
AsyncTaskを使って非同期処理にしました。
おめでとう
>>561 gcでonDestroyが呼ばれないことがある、じゃなくて
gcでonDestroyは呼ばれないが正しい
>>556 通知なんてされないでしょ?
それにGCを起こさせるのはともかく
GCを止めることは不可能なはず
>>576 gcが呼ばれたからプロセスが殺されてるわけじゃないって
gcはgc、Androidのライフサイクルはライフサイクル、全然別物
>>577 デストロンならトランスフォーマーか仮面ライダーV3。
少なくとも戦隊物ではないな。
580 :
デフォルトの名無しさん :2012/11/07(水) 23:21:27.88
ViewPagerIndicatorとHoloEverywhere(+ ActionBarSherlock)を共存させたいのですがSherlockFragmentActivityを使うと強制終了するし、FragmentにSFragmentではonCreateViewが使えないので困っています。 参考になるサイトや共存させる方法を教えてください
どっちもソース公開されてるんだしなんとでもなるだろ
なんかgcの話になってるから質問するわ。 たまにlog眺めてて、ざっくりだけど GC/exなんとかが発生する時と GC/formallocっていうのが発生する時があって androidのガベコレはマークスイープだから2種類あるのかなって思ってるが、この認識は合ってる? それから、もう1つ質問。 メモリが苦しくなったら、activitymanagerがバックグラウンドプロセスをキルして、systemがgcを呼んでメモリを開放してる・・・つまりgcそのものにはプロセスキルの能力はないって思ってるんだけど、この認識は合ってる?
プロセスにSIGKILLを投げてくるLowMemoryKillerはカーネルのレイヤだろ 空きページが少なくなったらプライオリティが低いプロセスにSIGKILLを投げる dalvikがheapをsbrkか何かで確保して空きページが減るとSIGKILLが来る dalvikがgcしてもheapが増えるわけではないからgcでSIGKILLが来ることはなかろう
ファイルパスで質問です /sdcard/movies/hogehoge #001.mp4 このようなファイル名にシャープが含まれている動画をVideoViewに渡すと 「この動画を再生できません」とダイアログが表示され割り当てることが出来ません どのように対応したらよいのでしょうか?
>>584 file:// URL に変換する時にエスケープかける規則があるから調べてみれ
小さいプログラムなのに、どうしてもOutOfMemoryが出て困ってるのですが ひとつのBitmapにcopyで上書きしていくとメモリーがどんどん消費されるのでしょうか? 原因があるとしたらそれくらいしかわかりません
>>587 えすぱーしてみるけど、
bitmapを実はどこかで何度も作ってる。
秒速30フレームくらいの速度でファイルストリームにアクセスしてる。
実は1Mくらいの画像を使っている。
まぁ、大抵はこういう事をやっててメモリ食いつくしてる。
話的にゲーム的な物でも作ってるっぽいし、
使うリソースは全部一ヶ所のメソッドで呼び出すように書き換えてみると、
怪しい部分が見えてくると思う。
>>587 使い終わったらヌルを最初の変数に入れるといいよ
onCreate()内で AsyncTaskを使ってhttpからデータを取得する部分を分離しているのですが AsyncTaskの処理が終了してデータを取得する処理(AsyncTask.get())もonCreate()内で 書いているためせっかく非同期処理にしてもデータ取得するまで起動時に何も表示されずに画面が固まったようになってしまいます。 画面が描画を優先させてデータの取得はその後にさせたいのですが出来るのでしょうか?
AsyncTask#onPostExecute をオーバーライドして結果を処理すればよい get は不要
>>594 なるほど。できました。
onPostExecuteから呼び出し元のActivityの処理用のメソッドを呼び出して呼び出し元のActivityに渡してでやればよかったんですね。
バッテリー電圧取得で int volt=intent.getIntExtra("voltage",0); をString.valueOf(volt);でTextViewなどに表示する 単純なプログラムで質問です。 android2.3.3では正常に4ケタ(3890mV)を表示できるのですが 全く同じプログラムで4.1.2では上1ケタ(3)しか表示できません。 何が原因かわかる方いらっしゃいますか?
バックエンドで動いて、スクリーンショット取得→指定位置をタップ という事は可能でしょうか? ひたすらタップするスマホゲームをやっていて、自動化したいと考えています。
>>596 Battery Mixでも0Vとか表示してるから、そんなもんじゃねーの?
スリープ時でも、15分間隔でネットからニュース一覧取ってきて、 条件にはまる記事があるときは通知を出して、 ユーザがアクティビティを立ち上げた時ニュース一覧を表示。 上記実現したい時は AlarmManagerでgetBroadcastでレシーバ呼ぶようにして、 レシーバでは「非同期取得でHTTPで取る、パース、通知、キャッシュファイル書き込み」 アクティビティでは「キャッシュ読み込み、パース、表示」 っていう感じでいいんですか? アクティビティ上のボタンから直ちに更新したいときはどうしたらプログラムが冗長にならないですか?
3890mV=3.89Vだからintだと3になってんじゃね? floatで取れないのかな? 分からないのに適当な事言ってごめんね。
voltage levelを取得出来るけど それがmVなのかVなのかは元々規定されてないはず
>>601 floatで取ると0.0が返ってきてしまいます…
>>602 それは、ハードメーカーに任されるという事ですか?
ミドルウエアの問題?
>1. Eclipseのパッケージエクスプローラで右クリック。 >New->Project...->Android->Android Project from Existing Codeを選択。 >Root Directoryの「Browse...」ボタンを押下して、解凍したフォルダの中のlibraryフォルダを選択。 >「Finish」ボタンを押下して、インポートする。 >2. インポートした「library」で右クリックして、Android Tools->Add Support Library...を選択。 >Android Support Libraryを最新にする。 上記の手順でActionBarSherlockを導入しようとしたのですが手順2までやるとエラーが出てしまいます どうすればいいでしょうか? ソースを見ると 「Watson のメソッド onCreatePanelMenu(int, Menu) はスーパークラスのメソッドをオーバーライドする必要があります」 というようなメッセージが大量に出ています クリーンしたりAndroid Support Libraryを削除して再インストールしたりしても消えません 解決法教えてください よろしくお願いします
>>605 設定画面でJavaコンパイラ準拠レベルが1.5になってたら1.6に変更
>>606 書き忘れましたが1.7だったので1.6にしてもダメです
当然1.7でもダメです
勘違いしてました ecripceの設定じゃなくプロジェクトの設定なんですね プロジェクトの設定から1.6に変えたら解決しました ありがとうございました
いえいえ
Eclipseでの設定を使うか、プロジェクト個別の設定を使うか選べるっしょ
プログラムに直接関係無いんだけど、コンバージョンってadwords経由じゃないと計れないのかな。 google playから直接購入が何人、サイト経由で購入が何人ってデータが欲しいんだけど・・。
サンプルプログラムを出して誰か持ってる人 これをどれどれの機種で動作確認して下さい という機種お願いスレがあったらいいなあ
ウィルス配布されそうで怖い。検証機買おうぜ。
ソース貼れば良いのでは
ターボブーストでエミュを動作させれば、少しは速くなると思うのですが ターボブーストでエミュを動作させるには、どうしたらいいんですか?
ハイスペックのPCを買う
現在画像をメンバ変数で持って new Bitmap[] { BitmapFactory.decodeResource(res, R.drawable.00), .... R.drawable.19) }; な感じで読み込んでbitmap[x]みたいな感じでパラパラ漫画ふうにループで画像表示しています これを20枚の画像を1つの横長な画像にまとめてしまい、Rectかなにかで始点、終点を指定して 部分的に表示するようにした場合処理の軽さ等、メリットデメリットはどこまであるでしょうか?
>>617 webでよくある手法だね
たぶんandroidではでかい画像読み込もうとするとメモリ不足になると思う
メリットはないんじゃね
画像をつなげるのも面倒だし
ちょくちょくBitmapの話が出てくるけど アプリ終了時にBitmapオブジェクトにnullを設定するのと 何もせず終了するのでは開放タイミングとか違うのかな?
>>618 結局全部のビットマップを読み込んじゃってるっぽいからメモリの使用量はそう変わらないんじゃ?
まあ、利点もないだろうけど
そもそもBitmapにnullを入れればOKってのが間違い
アプリ終了時の話ならnull入れようが入れまいが関係ないし 実行中でもnullを入れればすぐgcがかかるわけでもない。
>>617 そんなこと聞く前に試せよ。
おまえのパラパラ漫画なんてみたくねーんだよ。
パラパラ漫画程度なら1枚ずつ読み込んで表示してはrecycleしろよ。
recycleでもうまく開放してなくね? 画像3、4枚でメモリ不足エラーでたことある nullを代入することでエラーでなくなったけど
recycleは「もう使いませんよ」って通知するだけで実際にクリアされるわけじゃないし nullを代入しても、別のところで参照(ImageViewにセットしてる場合とか)してる場合はそのまま残る
じゃあどうすればいいの?
笑えばいいと思うよ
なんでBitmapってimmutableなんだろうね? 新しく作るのはコストがかかるし、解放はなかなかされなくてメモリ不足になるしで、 俺はいつもNDKから中身を直接書き換える方法で同じBitmapを使いまわしているんだが ぶっちゃけ面倒くさい
いやいやsetPixelとかsetPixelsとかあるだろ
>>626 ImageViewにセットしてる場合はちゃんとsetImageBitmap(null)みたいにしてクリアする
SurfaceViewでDrawtextするとフォントのサイズがピクセルになってしまうのですが、 これをspとかdpにする事は出来ないのでしょうか? 解像度が違いすぎる端末で表示すると残念な結果になってしまいます・・・
spやdipからpxに変換できるからがんばれ
でも実際にnullを代入すると次の瞬間にはもうメモリ使用量が一気に減ってる。 ネイティブヒープをログに出しながら試してみると、毎回nullを入れる重要さがよく分かるよ。 ただ、パラパラ漫画のような、毎秒5枚くらい読み込み→描画→null代入とかは 読み込みにかかる時間がどうなのか分からんから何とも言えんね。
使い方次第
https://groups.google.com/forum/?fromgroups#!topic/android-group-japan/O8rkKrvCehc みなさんはこういう状況の時どうしていますか?
自分もこの人と同じ事をやろうとしたときにActivityのクラスがMainActivityの時に
受け取る側のクラスでは
(MainActivity mainActivity)として引数を受け取っています。
こういうときにはContext型のオブジェクトでは駄目なメソッドを使う場合どうしてもActivityを渡すと思うけど
Contextを渡す場合にはthisで渡すとメモリリークの恐れがあるからgetApplicationContext()メソッドを使うように言われているけど
Activityを渡すときにはそれ用のメソッドが無いみたいだから仕方が無くActivityを渡しているけど
Activityでもメモリリークの恐れがあるでしょうから心配です。
というわけでActivityを渡す場合、みなさんはどうしていますか?
すまん。url踏んだが何も表示されんかった。 こういう状況とはどんな状況?
俺,気にせずAsyncTaskにActivity渡しちゃったりしてる AsyncTaskが終わればその参照も消えるよね?
AsyncTaskLoaderが便利だよ
640 :
デフォルトの名無しさん :2012/11/11(日) 00:44:43.89
リストの上と下の部分の色を変えたいです。 画像で赤で囲ってる部分だけがどうしても白くなってしまうんですが 黒に変えるにはどうすればいいですか? 色々試したんですがダメでした・・・ uproda.2ch-library.com/5992136hf/lib599213.jpg
>>639 現段階で2系を切り捨てるならいいけど。
自分だけが使うアプリで配布しないならそれでも可だね。
日本の場合、去年の端末なんてやって4.0になり始めた感じだし
今年発売の端末だけを視野にいれるだけではダメ。
そういえば俺、アプリ作るときには使うSDK(Build SDK)は最新のバージョン(現在ならAndroid 4.1.2-API 16)を使って
動く最小バージョンのSDK(Minimum Required SDK)は今ならAndroid 2.2(API 8)にしているな。
で今まで作成している段階で使ったことのないクラスを使う場合、2.2で使えるかチェックするようにしている。
642 :
デフォルトの名無しさん :2012/11/11(日) 04:12:48.69
PhoneGap(現Cordova)使ってる人いませんか? サンプルのとおりなはずなんですが、メニューボタンについて イベントリスナー登録すると、option選択した際に画面が暗くなって そのまま返ってこなくなっちゃうんですが。。。
PreferenceActivityのアイテムをクリック →ProgressDialogを表示(と同時に裏でデータ取得処理) →ProgressDialogを消してデータ取得結果をAlertDialogで表示 上記のように、データ取得処理を行っている間だけProgressDialogを 表示させたいのですが、AsyncTaskで実装するとしたら 表示して一定時間経ってから消す方法しかないでしょうか? 何か他にうまいやり方があればヒントをください。 よろしくお願いします。
>>643 フラグでもたてといて、asynctask内でwhileループさせておいて、データ取得完了時にフラグ落としたら?
>>641 Support Package使えば
2系でもAsyncTaskLoaderとか使えるんじゃないのかな
俺はIS01使ってるから,いつも1.6で動くように作るけどw
>>641 645
639だけど
support.v4にAsyncTaskLoaderも入ってるから
2はもちろん1.6でも使えるよ。
普通のAsyncTaskに結果返すinterfaceつければ support.v4使わなくても疑似的にAsyncTaskLoader的なものができるよ support.v4んだと起動させるまでの準備やらFragmentじゃないとだめだったり面倒だし
649 :
デフォルトの名無しさん :2012/11/11(日) 14:22:52.17
ゲームを作ってるんですが 最初のアクティビティからゲーム画面のアクティビティに 遷移するときに、ビットマップデータを読み込んでる時に画面をタッチすると ちゃんと遷移できているのですが、「アプリ名(ゲームACTIVITY)は応答しません。」とでて強制終了か待機の 二択がでてきます。待機にするとポップアップ?が消えてゲームができるのですが、 なぜこれがでてくるのでしょうか・・・どなたかお願いします。 ちなみにビットマップデータ読み込み中に画面タッチしなければ普通に何事もなく遷移します。
>>648 結局Support Packageを使う場合めんどくさいからね。
すでに一通りできあがっている物に対して機能追加で
画面の一部のみを切り換えようと調べていたらFragmentならできるみたいと分かったけど
3.0以降でしか使えないからSupport Packageでやろうと思ったらSupport Packageの場合は
FragmentActivityをスーパークラスとして使わないとダメって分かって使うのやめた。
すでにListActivityをスーパークラスとして使っているのにFragmentActivityをスーパークラスとするなら
ListViewの部分の書き直しをする手間がめんどくさくて
ほとんど同じで切り換えたい所だけを変えたレイアウトファイルを用意してsetContentViewで切り換えたよ。
(ネットで調べてみたら3.0以降はインターフォースとしてonFragmentListClickedListenerを指定すればいいだけみたい。)
この差だけでだったけどSupport Packageめんどくせーーーーと思ったよ。
>>649 そういう読み込みに時間がかかる処理は非同期にするなりして対処しないとダメ。
652 :
デフォルトの名無しさん :2012/11/11(日) 14:31:25.18
>>651 コメントありがとうございます。
まだ初心者なので非同期についてよく分かりませんが、調べてみます。
androidのゲームって何のエンジン使うのが一般的なの? iPhoneへの移植はスクラッチ製作なのかな。
>>653 マルチプラットフォームならUnityでも使えばいいんじゃないの?
ただしUnityは無料で使えるけどAndroidのライセンスは$400かかる。
それと
Unity Proと組み合わせてAndroid Pro使えば$1500+$1500で$3000かかるけど。
なんか春先にiOS,Androidのライセンスを無料で提供し事がある。←俺はこれ乗り遅れて気がついたら終わっていたorz
アプリ開発初心者なんだが、デバッグしようとするとEclipseに 「Source not found.」って出る時があるんだがこれどうやって対処したらいいの?
デバックじゃなくて実行してlogcatを見るんだ
>>656 logcat見ても赤字大杉ワロチ
どう見りゃいいんだ?
見るんじゃない、感じるんだ!
Don't think, feeeeeeeeel!
任意のMP4ファイルの解像度を取得するにはどうすればよいでしょうか? プロバイダーから教えてもらうとしましたが MediaStore.Video.Media.RESOLUTIONはnullで返されてしまいました…
LogCatの緑文字と黄色文字は無視していいんですか?
bluetoothにつながってるヘッドセットとかにATコマンドを送りたいのですが やり方わかる人教えてください。 やり方が乗ってる本や雑誌だけでもわかるとうれしいです
>>662 そもそも、そのヘッドセットはシリアルのプロファイルで接続できるのか?
>>661 色じゃなくてレベルでみてみなよ。
664 :
662 :2012/11/11(日) 22:39:56.53
>>663 正確にはハンズフリーで、接続だけしても通話状態にならないので
擬似的にCIEVやRINGを送って通話もどきにしたいのです
二重アクセスっていかんのか
666 :
デフォルトの名無しさん :2012/11/12(月) 17:58:57.38
実機テストをすると「(クラスが)予期せず停止しました」と出て強制終了してしまい logcatを見るとglGenTextures()の部分がNullPonterExceptionと出てしまうのですが これは参考書通りのやり方のはずなのですがなにがだめなのでしょうか? int[] textureIds=new int[1]; gl.glGenTextures(1,textureIds,0); //ここにNullPointerExceptionが発生! textureId=textureIds[0];
>>666 > int[] textureIds=new int[1];
こんな書き方できましたっけ?(試してないけど)
int textureIds[]=new int[1]; じゃないの?
glがNullだって可能性はないの?
>>667 よ、お前はjavaで配列使ったことがないのんか
まあglがnullなんだろうな。
671 :
デフォルトの名無しさん :2012/11/12(月) 21:34:48.50
>>669 サイト通りにGLSurfaceView.RenderスレッドからGL10クラスのインスタンス(gl)を
作ったのですが消えません。
他にはどういった可能性が考えられますか?
LogCat見てるだけまだマシなケースだな。 次はデバッガで変数確認することを覚えるんだ。 eclipse使ってコード書き、デバッグまで一通りのやりかた 解説した書籍なりサイトは無いのかね。
ぬるぽがでてるんなら普通にデバッグしてよ
みんなデバッグモードでデバッグしてるの? 普通に実行してlogcatの赤字見れば十分じゃね?
場合による、
>>666 だとglがnullとしか考えられないからglの初期化のところ見直せばいいけど
必要なときに必要なだけ使えば良い、ただそれだけ
678 :
デフォルトの名無しさん :2012/11/12(月) 23:18:39.02
ここで聞くべきかどうか迷いはしますが、Eclipse4.2 Juno Pleiades All in Oneを使ってるんですが レイアウトいじってるとxmlのソースコードがバグる?というかコードが消えたり未表示されたりって変な状態になるんですがこれが話にあがってる不具合なんでしょうか? 普通にGUI的な編集しててもパラメータを切り替えられなくなったりするし・・・。
>>678 そのやつってはじめからにいろんなプラグインが入ってるバージョンでしょ
英語のDLサイトからEclipse IDE for Java Developersに
日本語プラグインを後から入れて使ってるけど別に不具合ないな
毎度お世話になっております。 センサーの値を取得するのってonSensorChangedメソッドを通す以外に方法はありますか? 加速度センサや地磁気センサの値を取得する場合、Webで探したサンプルだと大抵、 onSensorChanged(SensorEvent event) メソッドの中で event.values.clone(); みたいな感じで値を取得しているようですが、 ボタンを押したタイミングでセンサーの値を取得するみたいなことはできるんでしょうか。 onSensorChangedがしょっちゅう呼ばれてるんだから、その時に値をとっておけば 良いだけの気もするのですが、モヤモヤしております。
getRunningAppProcessesやgetRunningServicesで取得できる一覧で 常駐アプリやシステムに使用されているかどうか見分けるにはどうすればいいでしょうか?
>>678 なんか定期的にその話が出るね。何でだろう?
例えばtextViewとimageViewを入れる時にどうやってる?
@textView追加→imageView追加→textView詳細設定→imageView詳細設定
AtextView追加→textViewのテキストを設定→imageView追加→imageViewのdescriptionを設定→textViewとimageViewの詳細設定
@とAどっちの方法でやってる?
ちなみに@のやり方はlayout.xmlがバグる原因になるやり方でAが正しいやり方。
自分のサービスが今何してるか知るために、 サービスのクラスの中にstatic変数作って、サービスがこれに状態を代入して、Activityから読み取っても安全ですか? それともStickyなBroadcastを使うべきですか? いずれにしても状態が変化したときサービスがBroadcast送ってActivityに表示し直させるし
logで出した方が何かと便利だと思う
>>683 安全ですよ
StickyなBroadcastはなんかパーミッションが要るっすよ
インテントフィルタについて教えて下さい。 例えば、サービス内でaddAction(Intent.ACTION_BATTERY_CHANGED)でバッテリー残量の通知をセットした場合、 その直後にBroadcastReceiverが呼ばれています。 これは、ACTION_BATTERY_CHANGEDを設定すると、その直後にシステムから通知が来る、という認識でいいのでしょうか?
自己アプリ内だけでやり取りするなら、broadcastじゃなきゃ実装できないことって実は結構少ない ぶろーどきゃすとの真骨頂は別アプリとも連携する事が出来るという部分だし。 にしても、なんだか分からないけど、Androidって開発に手間かかるね。 もっとスピーディーに開発が出来てもいいと思うんだけど
>>686 はい
ACTION_BATTERY_CHANGED は sticky broadcast であり、 sticky broadcast はそういう動作をします
なんか新バージョンで エミュが早くなったとか言ってたけど 全然早くなってないよ? どういうこと?
AMD使ってるとか?
IntelHAXM入れてみた?
>>690 やっぱりAMDはだめですか?友人のi7だと早いのに、おいらのAMDでは3倍くらい時間がかかるw
あと、アイコンクリックしても、AMDだと反応遅いし、eclipseも立ち上がるのに時間がかかるような…
そもそもその高速化自体がインテルの寄贈によるもので、ATOM機のエミュが劇変したって話じゃなかったかな 実機デバッグで
string.xmlにフランス語を使うとエラーが出ます フランス語は使えないのでしょうか?
utf8じゃないんじゃね?
697 :
686 :2012/11/13(火) 21:14:33.84
ありがとうございます。 という事は、例えばACTION_BATTERY_CHANGEDとウィジェット内のボタンタップ機能を備えたサービスの場合、 ボタンタップ時にウィジェット上の画像を変更したりなど、アクティビティを起動せず処理をしたい場合、 タップ→サービスのonStart()が呼ばれる→インテント再登録で結果的にACTION_BATTERY_CHANGEDの通知も来る という動きになって、ボタンタップとACTION_BATTERY_CHANGEDがワンセットになってしまうのは必然という事でしょうか?
質問です。 仕事でActionScript3.0を長いこと扱ってて、今AndroidSDKを勉強中です。 んでAndroidで2Dゲームを作ろうと思ってるんですが 2Dゲーム作るならsurfaceviewで十分なのか、 それともOpenGLesでやったほうがいいのかどっちなんでしょうか?
700 :
デフォルトの名無しさん :2012/11/13(火) 22:19:02.05
>>698 俺もAS3.0から来たけどOpenGLの方が速くてOpenGLで作ってた
701 :
デフォルトの名無しさん :2012/11/13(火) 22:35:57.46
VBOで高速化しようとしたらGLESはQUADがないからTRIANGLES使わないと一括描画できないと知って脱力した。 オブジェクトもテクスチャも半分ずつしか描けずそれでいて必要データ領域も1.5倍。 なんかいい方法はないものか。
優秀な出来合いのゲームエンジンを使う
Unityとか
2Dくらいならなんとかなるが、本格的な3Dを一から作るのはどう考えても無駄だよな Unity買って浮いた時間でバイトすれば余裕でお釣りがくる
>>700 ありがとうございます。
オライリーのOpenGLESの本買って始めてみます
706 :
デフォルトの名無しさん :2012/11/14(水) 01:26:40.60
質問です 配列AとBがあり長さがA≧B、A>0、B≧0です 配列Bに入っているものは必ず配列Aにも入っています このとき配列Bに入っている値を配列Aからすべて削除するならどのようにすると効率的でしょうか?
普通に2重forぐらいしか思いつかない
入れるときにリンク張っとくとか
Bをmapに突っ込んで Aでループしてmapにあれば削除
710 :
デフォルトの名無しさん :2012/11/14(水) 08:53:35.23
すごい初歩的なミスだと思うのですが、ぐぐってもよくわからないので教えて下さい。 プログラムを書いてEclipseから実行(実機に転送)しようとすると以下のエラーになります。 Eclipse上でコンパイルエラー等は起きていません。 ぐぐるとAndroidManifest.xmlの記述ミスが原因という説明が多いですが、AndroidManifest.xmlはサンプルをコピペしたものです。 AndroidManifest.xml以外ではどのような原因が考えられますか? W/dalvikvm(20948): Unable to resolve superclass of Lfoo/bar/HogeActivity W/dalvikvm(20948): Link of class 'Lfoo/bar/HogeActivity;' failed D/AndroidRuntime(20948): Shutting down VM W/dalvikvm(20948): threadid=1: thread exiting with uncaught exception (group=0x40ad4228) E/AndroidRuntime(20948): FATAL EXCEPTION: main E/AndroidRuntime(20948): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{foo.bar/foo.bar.HogeActivity}: java.lang.ClassNotFoundException: foo.bar.HogeActivity E/AndroidRuntime(20948): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2110) E/AndroidRuntime(20948): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2229) ・・・・・・
>>710 コピんな、ちゃんと自分のアプリに合ったマニフェストファイルを作れ
>>706 効率的かどうかは分からないけど、すっきりなやつ
String[] 配列A = {"a","b","c","d","e"};
String[] 配列B = {"b","d"};
String[] 結果;
ArrayList<String> 作業領域 = new ArrayList<String>();
作業領域.addAll(Arrays.asList(配列A));
作業領域.removeAll(Arrays.asList(配列B));
結果 = 作業領域.toArray(new String[0]);
だれか知恵を拝借したく・・・ 現在、tabを使って複数のActivityから一か所の通信プログラムのデータを 取り込みたいと思っています tab起動と同時に通信プログラムは起動して、Actibityは個々に起動し通信 データ取得を行います また通信プログラム内において、エラーダイアログ等も表示します 現在、通信部はtab起動時にServiceで接続起動していますが、接続エラー等の ダイアログが出せなくて困っています そこでServiceはやめて、tab内に通信部を組み込んでhanderで接続してみようと 思いましたが、その際複数のActivityからhandlerで接続はできますか? もしくは他に良い方法は有りますでしょうか?
質問です 例えばアクティビティAのフィールドに // プリファレンスのキー private static final String KEY_HOGE = "key_hoge"; という変数がある場合 その他のアクティビティで共有するにはどうすればよいでしょうか? KEY_HOGEのまま使いたいのですが Define.java (public class D { private static .... }) D.KEY_HOGEという方法しかないでしょうか? よろしくお願いします。
715 :
デフォルトの名無しさん :2012/11/14(水) 11:52:09.03
わかりません!
>>714 クラスで定義するか、strings.xmlで定義するかご自由に
>>714 静的インポートとかの話??
private宣言かつD.KEY_HOGEでどうなっているやら
publicにしろ
719 :
714 :2012/11/14(水) 13:05:35.63
HOMEボタンを押すと、なぜかアプリが終了してしまいます。 作り始めは終了しなかった(回帰できた)のに、わけがわかりません。 アプリの容量が大きくなるとHOMEボタンでも終了してしまうのでしょうか? 原因は何が考えられるか教えて下さい。
>>720 onPauseの中に終了処理書いてるんじゃないの?
>>596 ですが
android4.2で4ケタ表示に戻りました。
やっぱりOSのバグだったようです。
723 :
649 :2012/11/14(水) 16:22:12.77
649です。 非同期処理についてはできたのですが、メモリの問題で ゲームの移り変わりごとに画像を読み込むようにしたいのですが 読み込みに時間がかかり、少しだけゲームが止まってしまいます。 ゲームをとめずに、裏で次の画像の読み込みをする方法はないでしょうか? 例えばテトリスでレベルがあがった時に 背景を変えるために、前のレベルの時のうちに次のレベルに対応する 背景画像を読み込みたいのです。
ImageButtonをトグルボタンみたいにしたいと思い, ImageButton b = (ImageButton)findViewById(R.id.ImgButton); b.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent e) { if(e.getAction() == MotionEvent.ACTION_DOWN) return true; if(e.getAction() != MotionEvent.ACTION_UP) return false; if (isPressed) { b.setPressed(false); } else { b.setPressed(true); } isPressed = !isPressed; return true; } }); のように自分で管理したら(isPressedはboolean変数です)それなりに動いている ようなのですが,メニューを出したりダイアログを出したりしてActivityからフォーカスが はずれるとpressed状態を忘れてしまうようで困っています. 何かいい解決策はないものでしょうか?
素直にToggleButtonを使えよ
>>724 isPressedは何処で定義している?(isPressedのスコープを知りたい)
>>725 それも考えたんですが……ToggleButtonにアイコンとか置こうとすると,結局全部のボタン状態の
画像を用意しないといけないですよね? そうすると他の部分を合わせないといけませんし……
>>726 このボタンがあるActivityのメンバ変数です
質問です。 ウィジェットを作成しているのですが、AppWidgetProviderのonDeletedとonDisabledが 急に呼ばれなくなってしまいました。 Android1.5では上記不具合があったようですが、当方は4.0.3で作成しています。 急に、というのは、ずっと問題なくonDisabled等が呼ばれていて、サービスの終了処理など出来ていたのですが、 1ウィジェットに2サイズ入れようと思い、AppWidgetProvider×2、サービス×2にした辺りから発生した気がしています。 ただ、それぞれちゃんと独立してサービスの処理やインテント受信も行えているのに、onDeletedとonDisabledのみ 呼ばれなくなったという感じです。 問題を切り分けようと、サービスを1本に戻したりしてみたものの、それでも解決できず 何か原因となりそうな事象がないかお聞きできれば幸いです。
widgetIDがかぶってるんじゃない
730 :
728 :2012/11/14(水) 18:38:20.86
>>729 いえ、AppWidgetProviderのonUpdate時にトーストでWidgetIdを表示させているのですが、
貼りつけるごとにちゃんと+1のIDで生成されているんです。
また、複数貼りつけなくても、単独で1つ貼りつけて削除、としてもonDeletedが走らないです。。
予想だけどWidgetIdの生成はウィジェットを1つ作るごとに生成されるわけだから (ゆえに同じウィジェットが複数設置できる) 1つのウィジェットにサービス2つ乗せても同じIDが使われてるような気がする だからといってonDeletedが動かないという理由はわからんけどね
732 :
729 :2012/11/14(水) 19:35:22.88
解決しました!!
消去法で色々試していたところ、マニフェストファイルの警告を消すために
レシーバのタグ内に「android:exported="false"」を入れていたのですが、
これを外すとonDeletedが呼ばれるようになりました。
サービスタグの中に入れておくのは問題ないようです。
ただ、元々この命令を入れていてちゃんとonDeletedも呼ばれていた事を考えると、
1パッケージの中に複数サービスが実装されていると上記が影響してくるのかなとか思ったり。
はっきりした原因は分からないのですが、とりあえず参考まで。
>>731 ありがとうございます。
当方、1ウィジェットに複数のレイアウトで作っているので、それぞれの種類のウィジェットごとに
別サービスとして動いていると思われます。
>>733 うーん,staticは付けても変わらないです
というか,その変数の値は,別にメニューやダイアログを出しても変わらなくて,
View#setPressed()でセットした(androidシステムが管理している)「このボタン
が押されているという状態」が戻ってしまうのです
まあActivityがフォーカスを失うんだから押下状態がリセットされるのは当然と
いえば当然なのでしょうが,戻ったときにsetPressed()しなおせるような方法って
ないもんか,と
初心者な質問で申し訳有りません。 「ApnMailGate」や、「SPモードメール3GSwitch」などで、特定のアプリで メニューキーが押された時に、オーバーレイ表示されるようにするには どうすればよいでしょうか? 特定のアプリであればプロセス監視用スレッドでも続ければいいのですが、 メニューキーについてはプロセス等が起動されませんので、Serviceで起動 されたものでは検知できませんでした。 OS:android 2.3/4.0
ドライブレコーダーなどのアプリで、 過去に遡って動画を保存する機能をよく目にしますが、 どのように実装しているのかご存知の方いらっしゃいますか?
>>734 onSaveInstanceState使いなよ
もしくはonPause時にgetIntentしてそのExtraにデータ格納してsetIntent、次回のonResumeで参照するのでもいいぞ
(後者はFragmentでも使える)
>>737 確かに別のActivityに行くときはそれでいいと思いますが,
問題はひとつのActivity内でメニューとかダイアログとか出すときなんです
androi4.2からかどうかはわからないんだけども。 cipherのgetInstanceにAESを指定して暗号化すると 複号化の時のdoFinalでBadPaddingExceptionが出て コケるようになってるんだけど、なんでだろ? 2chMate 0.8.3/asus/Nexus 7/4.2
>>729 余談だけどonEnabledやonDisabledはウィジェットの配置がなんらかの理由でキャンセルされると
不可視状態でウィジェットが配置されたって情報だけ残って最初最後ってのがとれなくなって呼ばれなくなるよ
Eplipseについてなんですけど、パッケージ名をリファクタリングした時 たまにマニフェストのActivityやらのパッケージ書いてるところが壊れるんですがなぜなんでしょうか・・・ 直すかマニフェスト除外すればいいんだけど一気に気軽にやりたい
742 :
デフォルトの名無しさん :2012/11/15(木) 00:25:24.35
>>736 基本的には要らなくなったら捨ててるだけだと思うけど
>>741 あーあるある。あと別に除外してないのにガン無視されることとか。
745 :
デフォルトの名無しさん :2012/11/15(木) 02:42:54.00
>>666 ですが
>>669 に紹介してもらったサイト通りだとするとGL10インスタンスは
GLSurfaceview.Renderインターフェースを実装したクラスから呼び出さないとだめってことでいいですか?
もしそのとおりならこの通りにRenderを実装したクラスを経由してGL10インスタンスを取得するやり方はどうでしょうか?
public class Main implements Render{
Sub1 sub1;
public Sub1 getSub1(){
return sub1;
}
}
------------------------------------------------------------------
public class Sub1{
GL10 gl;
public GL10 getGl(){
return gl;
}
-------------------------------------------------------------------
public class Sub2{
sub=main.getSub1(); //mainはMainクラスのインスタンス
G10 gl=sub.getGL();
int[] textureIds=new int[1];
gl.glGenTextures(1,textureIds,0); //ここにNullPointerExceptionが発生!
}
かなり省略して見にくいでしょうがアドバイスよろしくお願いします。
そろそろ荒らし扱いしていい?
749 :
デフォルトの名無しさん :2012/11/15(木) 06:48:17.15
>>746 glはnullだったのですが原因が分かりません。
甘えたこと言ってるのはわかっているのですがどんだけ調べても出てきませんでした。
身近には聞ける人もいないです。
>>749 情報を晒してくれないとエスパーじゃないので原因は分かりません←重要
とりあえずどのメソッド呼び出し由来のglかすら書いてない
>>749 箱だけ用意して、中身入れてないからだろ
>>749 > glはnullだったのですが原因が分かりません。
glにnullでない値を代入するコードはどこにあるの?
>>745 のどこにも見当たらないけど
ここはOpenGLの本を紹介することで間接的に解決に導かれるのではないだろうか。 というか、AndroidとC#でOpenGL使いたいと思っているので、 いい本があったら紹介お願いします。
ウェブサイトのリンクから自作以外のアプリを起動させる方法を教えてください。 アプリは自作ではないのでAndroidManifest.xmlに追記できない状況です。 目的はウェブサイトからネイティブのバーコードリーダーアプリを起動させることです。
>>755 インテントなげれば自動で該当アプリの選択画面がでるようになるんじゃないの
さすがに勝手に起動はあかんでしょ
HOMEボタン押しでアプリが終了してしまう現象が どうしても治りまてん。 原因が全然見当たらないんですけど故障ですか?
>>757 ログ見てエラーの原因を確認しろ、そして修正しろ
はい
はじめまして。 メーカーのusbドライバインストールしてddmsを起動したはいいのですが device一覧に、端末を一瞬認識してはまた消える、 でまた一瞬認識しては消える という謎の挙動を繰り返すという変な状態です。 一体何が原因なのでしょうか。
Notificationの表示を複数行にすることって可能なのでしょうか?notification.xmlで表示内容のカスタマイズは出来てるのだけど、エリア自体の高さが変えられずに困ってます。
>>760 夏の頃なら熱で調子悪くなったことがある (冷やすと直った) けど、今の時期なら起きにくいかな
あとは接触不良とか
試しにUSBケーブル変えてみるとか
HOMEボタンでアプリが終了してしまう現象なんですが、 どうもNo historyをtrueにしているのが原因のようなんですが、 どう思いますか?
その通りですねと思います。
はい、それが原因です
>>762 やっぱそういう方面か・・
了解ありがとう
767 :
デフォルトの名無しさん :2012/11/15(木) 22:07:55.63
>>752 newを使ってGL10インスタンス変数に値を入れるということですか?
getAuthToken()使うときに第二引数だけど複数のトークンタイプを一度にしているすることって出来ない? cl(カレンダー)とmail(Gmail)をみたいな感じで一度に渡す事ってできないの?
スレチかもだけどc4droid使ってる人います? コンパイルエラーがトーストで表示されるんだけど 一瞬で消えてしまうからどうにかしたい どうしたらいいっすか?
>>767 お前真面目に考えてその答えが出てきたんなら、
一度普通に動くサンプルソースをコピペしてから、
じっくりそのソースを眺めて自分のソースと見比べて、
何が違うのか探してみろ。
答えを教えるのは簡単だが、こんなことで
「どんだけ調べても出てきませんでした」
とか泣き言吐かれても困る。
>>767 そのレベルだったら何ちゃら初心者スレのたぐいに行かないとダメ
今日気がついた。 AndroidSDKのバージョンが21になって AVD ManagerでAVD新規に作る画面が糞になった。 今まではHardwareの部分でハードウェア関係の所をいろいろ追記出来る様になっていたのに そこら辺の設定がごっそりと無くなって設定できなくなった。 これからはiniファイルを直接弄って設定しろと言うことか?
>>760 USB3.0のHUBにつなぐとうまく動かないことがあったので本体の2.0のポートに直結してみるといいかも
Bitmapを1MBぶんも作ってないのにOutOfMemoryで落ちる。 仕様なのか?クソだな。
DrawTextureExtensionを使って描画するサンプルコードか参考書籍かないですか? ネットで調べてソース公開してる方が一人だけいたんで見てみたんですが 他にもいくつか参考がほしいです 購入書籍のゲームプログラミングatozではDrawTextureExtensionは使ってないみたいです
>>774 2.0ポートですか
あったかな?
明日にでも試してみます!ありがとうございました!
>>775 ちゃんとコード打ってれば1MB程度じゃ落ないんじゃない?
>>776 なにゆえスペース消してつなげてるのか分からんが、Draw Texture Extensionでぐぐれ
>>769 メニューにコンパイラ出力の項目がなかったっけ?
>>756 ありがとうございます。
インテントをリンクのhrefから投げるのですが、
それを受ける側のネイティブアプリの「読取カメラ」なのです。
どのようなhrefを書けばいいのでしょうか?お願いします。
バーコードアプリがブラウザからの起動を許可してなければ出来ない
>>780 あーcompiler outputってあるの見落としてた。
thx
使いづれーけど暇つぶしに最高だ
テトリスはglでとりあえず作れた
>>782 ありがとうございます。
ブラウザからの起動を許可しているバーコードリーダーを知っておられる方はいませんか?
>>784 ブラウザからの起動ってより、関連付け定義が入ってるかの問題なの。
http://がウェブサイトを示すように 、
XXX://をカメラに設定してれば起動できるんだけど、
こればかりはメジャーなアプリを落として、マニフェスト解析で関連付けされてるか調べる形になるかと
スキーマのなんたらが見れるアプリがはったはずなんだけど、なんだったかな
SDKをr21にしたら新規画面にcompile withってあったけどこれって動作保証はしないけどとりあえずインストールできるようにするためのやつ?
>>785 お説明ありがとうございます!
やはりマニフェストを解析し、ブラウザからの起動に応じるアプリがどれかを調査する必要があるのですね。
理解できました。
ZXingのバーコードスキャンはブラウザから起動できるな zxing://scan/
>>788 ありがとうございます!助かりました。Zxingのスキャンアプリを落として検証してみます。
Layout単体でListViewの行みたいにクリックしてるぜ的な背景にする方法ないですか? できれば適用してるテーマのListViewと同じ見た目なら完璧なんですが
OctoDroid(旧gh4a)をビルドしようとしているんですがうまくいきません…。
自分がやったのは以下の作業です。
1.「
https://github.com/slapperwan/gh4a 」からgit cloneでソース取得
2.Eclipseで「Import」→「Existing Android Code Into Workspace」→ルートディレクトリに「gh4a」を指定
3.「プロパティ」→「Javaのビルドパス」→「ライブラリー」で「外部Jarの追加」を選択し、「gh4a/libs」下にあるjarを全て追加
これだけだと足りないように見えたので、以下のものも取得
4.「
https://github.com/JakeWharton/ActionBarSherlock 」からgit cloneでソース取得
5.「ファイル」→「新規プロジェクト」→「Android Project from Existing Source」→「ActionBarSherlock/library」を指定してプロジェクト作成
6.このプロジェクトを先に作ったプロジェクトから参照設定
これでも足りないように見えたので、以下のものも追加する必要があるのかなと思い、
「
https://github.com/JakeWharton/Android-ViewPagerIndicator 」のソースも取得したけど、5と同じことが出来ない
(プロジェクトを作成しようとしても「Select at least one project」と出てプロジェクト作成できない)ので、どうすればよいか分からなくなりました…。
(元のgh4aプロジェクトでは「Error retrieving parent for item: No resource found that matches the given name 'Theme.Sherlock.Light.ForceOverflow'.」や「Rを変数に解決できません」のエラーが出たままです)
Androidのプロジェクトで依存関係があるもの(特に「Is Library指定」されてるプロジェクトとの相互参照)をどう扱えばいいのか分からずに困ってます…。
分かる方、やり方や方針についてご教示下さいm(_ _)m
>>790 scrollViewつけてtext並べたてそれぞれにonClickつけるとかじゃだめ?
>>792 機能的はできてたんだけど、見た目変化がなくて押してる感じがしないということで、レイアウトがプレスされたときに背景色が変わるようにしたかった
で、他画面で使ってるListViewと同じようなスタイル指定ができないものかと
>>773 Eclipseのプラグインも更新した?
Preview版をずっと使ってきてるけど
Device Definitionsタブが出来たりして、むしろ使いやすくなってる。
レイアウトエディタも使いやすくなってバグりにくくなってるし
自己解決 LayoutのOnClickに setBackgroundResource(android.R.drawable.list_selector_background) を呼べばいけそうだ お騒がせしました
質問です。 サービスにインテントフィルタ(バッテリー残量や起動通知など)を登録する場合、 onStart()で設定しているのですが、例えばボタンクリックのアクションなどで改めてonStart()が呼ばれた場合、 再度インテントフィルタを設定し直さないといけないのでしょうか? もし最初に1回登録しておけば大丈夫なのであれば、初回呼び出しかどうかを判別して 初回のみインテントフィルタの登録処理を通るようにした方がいいのでしょうか?
>>795 java上じゃなくてもXMLのbackgroundにselector指定しとけば変わるんじゃない?
>>796 broadcastだったら解除するまで起動しっぱになると思う
serviceと違ってbroadcastは登録した数だけどんどん増えてくからonStartだと再実行した時増えてくと思う
serviceのonCreateとonDestroyを使ってみたら?
799 :
796 :2012/11/17(土) 00:46:27.51
>>798 なるほど、大変助かりました。
broadcastは、ACTION_BATTERY_CHANGEDとAlarmManagerのアクションを登録していたのですが、
アドバイス頂いた通り、BATTERYの方をonCreate()で起動時のみにして、AlarmManagerのアクションは
貼ったウィジェットのIDごとにそれぞれ別処理させたいので、onStart()内でAppWidgetProviderからの初回起動ならば
アラーム開始、という2箇所でのbroadcast登録を試してみたいと思います。
特にAlarmManagerの方は、もしonStart()が呼ばれる度に再スタートしていたのでは、いつまでたっても
更新時間にたどり着かなくなると思うのですが、やはり方法としては上記のようにAppWidgetProviderからの初回起動かどうかを
判断してスタートさせる、という方法になるのでしょうか?
800 :
デフォルトの名無しさん :2012/11/17(土) 01:22:52.54
SDKの使用許諾で公式SDK以外の使用を禁止って不可能でしょ、よって拡大解釈したガセ
マカーはバカなんだから、無理しないで 巣でマンセーやってるかWindows板荒らしとけばいいんだよ
803 :
デフォルトの名無しさん :2012/11/17(土) 13:18:45.30
admobでバナー設置したいんだけど 実機で確認すると赤字でマニフェストにadactivity宣言しろと出る きっちり宣言するにはapiレベルが足りない事が発覚 オフィシャルの広告なんで簡単かな思ってら凄いハードル高い 簡単に設置できるバナー会社教えて(;ω;)
>>803 targetSDKだけ上げときゃいいやん
752 名前:クリックで救われる名無しさんがいる[] 投稿日:2012/11/17(土) 13:15:36.61 ID:RAMa4V7e0 初心者で初広告です アンドロイドアプリにバナー載せたくて admobで作業を進めていたのですが 最新のsdkではapi13以上じゃないと設置出来ないことが判明 開発環境から構築し直すと一週間はかかりそう 初心者でも簡単なおすすめ広告会社どこですか?
エラーレポートに任意の文字列などを送ることって出来ませんか?
ていうかsdk更新するだけで一週間も作業が必要になるって、どんなアプリの作り方してるんだ
動作確認する実機が手元にないとかじゃない?
開発したことないけど拾ったアプリに広告入れるだけで大儲けだぜうっひっひ。ってことでしょ。
810 :
デフォルトの名無しさん :2012/11/17(土) 22:31:58.15
Android アプリでエクセルを表示させるファイルビューアーSDKを探してるんですが何かいいものないでしょうか? ライセンス無料で探してます。
LogCatにMediaPlayerのError(-3,0)と出るのですが アプリは落ちないから放置してもいいのですか?
初歩的な事ですみません。 ウィジェットをなるべく停止しないようにするために、システムから投げられるACTION_USER_PRESENTを受信し、 受信した際にサービスを再起動…としようとしているのですが、サービスに実装しているBroadcastReceiverのonReceiveは プロセスが停止していたらどのみち受信できないので、AppWidgetProviderのクラスにonReceiveを実装し、上記処理を 行おうとしています。 ただ、ProviderクラスにonReceiveを実装すると、今度はサービス側のBroadcastReceiverが受信しなくなり、 しかも起動時にProviderのonUpdate()などにも飛ばなくなってしまいます。 通常のインテントはBroadcastReceiverで受信し、システム側からの通知のみProviderで受信したいのですが、 そういった仕様は可能でしょうか?
813 :
812 :2012/11/18(日) 00:17:44.63
申し訳ありません。 再度やってみたところ、うまくいきました。 super.onReceive(context, intent);を入れ忘れていたのが原因かもしれません。 ただ今度は、ProviderのonReceive()でサービスを再起動しようとstartServiceを実行したところ nullpointerExceptionで落ちてしまうようになってしまいました…
814 :
デフォルトの名無しさん :2012/11/18(日) 02:26:43.90
DBOpenHelperとか使ってレコードを追加するだけのコード書いたんですが ある特定の端末だけデータベース(SQLite)にinsertすると思うように動かない 例えば追加するのがAAAA|BBBB|CCCC | 1111ってレコードだとしたら AAAA|BBBB|CCCC | 1111 AAAA|BBBB|CCCC | 0 ってレコードが2つ追加されるんですが何故でしょう ググっても情報無くて困ってます この端末以外では追加されるべきレコードだけ追加されます sqliteのバージョンは3.7.11です OSは4.1.1です 他必要な情報があれば追記します
galaxys3とかのLTE端末の通信状態判定ができん 俺は持ってないんだけど、データ通信有効にした瞬間にisConnectedとかisAvailableがtrueになるっぽい 通信は確立していないのに。
816 :
デフォルトの名無しさん :2012/11/18(日) 05:43:19.69
i-mobileに申し込む時のサイト名って何? これってアプリ1個1個に対して申し込みしないとダメなの? スレでさんざん押されてるから申し込もう思ったが 意味不明過ぎ
817 :
デフォルトの名無しさん :2012/11/18(日) 05:45:08.50
sdk更新したらエクリプス完全に動かなくなった
818 :
デフォルトの名無しさん :2012/11/18(日) 07:18:21.55
今日はどんな足の臭い根性のネジ曲がった陰湿なレスがつくかワクテカだお
↑自分が捻じ曲がってると気付いてない典型例
820 :
デフォルトの名無しさん :2012/11/18(日) 08:25:52.71
くさっ
super って何なんですか? 使う意味不明
>>821 親への参照。
superと書き忘れて再帰したことがあるのは、私だけじゃないはずだ。
最近Eclipseの開発環境最新のに更新したんだけど xmlファイルを追加してもR.javaが更新されないんだけど何故? 前まではちゃんとxmlファイル生成した段階で追加されてたよね?
Project - build Automaticallyが外れてんじゃないの?
自分の作ったアプリのCPU・電力使用量を調べる方法ってありませんか? 1秒毎にインテントを貰って処理を行うServiceなんですが、標準のバッテリーアプリだとおおざっぱすぎて表示されないんです。
質問です。(スレ違いでしたら申し訳ありません) nuplayer (frameworks/base/media/libmediaplayerservice/nuplayer/) をベースに作成した xxplayer モジュールの単体テストを行おうとしています。 このようなライブラリ層(?)のコードに対して、CppUnit 等のテストフレームワークを 適用するにはどうすれば良いでしょうか?(そもそも適用可能でしょうか?)
WindowsのEclipseで開発してるんだけど、Layout XMLの手打ちでの編集画面の調子が悪いのは俺だけ? 説明しにくいけど、エディタに表示されているテキストと、実際にエディタに入っているテキストの行がズレてる感じ
>>828 俺もだよ
ズレはじめたらCtrl+Fで戻してやってる
改行にcrが入れられると狂う
>>794 それAVD Managerの問題であって
これっぽっちもeclipseもADTも無関係ですからww
草生やさないと書き込みできない病なのかな
Mac高いんですけど何とかなりませんか?
もしかして
>>791 ってスレ違いでしたか…?
Eclipseスレで聞くにはAndroidプロジェクト固有の問題(IsLibrary指定など)が重要っぽく感じたのでこちらで質問したのですが…。
>>834 スレ違いじゃないけど長い
使ってるABSなバージョンにTheme.Sherlock.Light.ForceOverflowがないからエラーが出てると思う
ABS4.1までならあったはずだけど
Androidのバージョン上げる場合にはEclipseのバージョンも上げないと うまく動作しない事が多い。 Eclispeはそれ自体は自動的にバージョンアップしないので、利用者が混乱する問題点だ。 最新版を新たにダウンロードして、別のEclpiseを使用しなければならない。
実機間でのbluetooth電波の強度を数値化するアプリを作成したいのですが、 何か参考になるサイトや意見はありますでしょうか。 教えていただけると幸いです。
838 :
デフォルトの名無しさん :2012/11/19(月) 17:00:39.87
java.lang.IllegalStateException at android.media.MediaPlayer.prepareAsync(Native Method) というエラーレポートが来たのですがどういう状況で起こるのでしょうか?
間違った状態の時。
841 :
デフォルトの名無しさん :2012/11/19(月) 18:19:30.87
メソッド内で宣言した変数は、メソッドがコールされる度にauto変数としてメモリに確保されるのでしょうか? 何千、何万回とコールするうちにgcが発生しそうな気がして不安です。 インスタンスごとに異なる値を保持させたい場合、 static では無いので クラスの直下で private宣言しておけば問題は解決すると思うのですが、 普通はどうするのが正解なのですか? コンパイラが優秀で自動的に メソッドがコールされる度に 仮想メモリーの同じアドレスに変数を作ってくれるのですか?
普通は気にしないのが正解
コールスタックとレジスタというものについて調べてから出直してこい
>>842 即答ありがとうございます!気にせずガンガン中出しすることにしました。
>>843 まさに丁度、コールスタックのサイズが気になっていたところです。
かなり巨大な配列を作っても今のところ問題がないので
もしや別のところにメモリーが割り当てられている?と思い
>>841 に至りました。
Android 2.1でActivity#onTouchEvent(MotionEvent event) のevent.getX(),event.getY()で取得出来る座標が画面全体の座標なのですが GLSurfaceView上の座標を取得するにはどうしたらいいでしょうか。
>>843 Eclipse のHeapウィンドウを初めて見ました!!
スマホだから狭かろうって舐めてました。ごめんなさい。
>>846 GLSurfaceView に setOnTouchListener すればいいと思うよ
>>845 Javaではスタックに配列を置くことはできない。配列をnewすると常にヒープにメモリが確保される。
この場合、ローカル変数とは違って、メソッドを抜けてもヒープに残り続け、GCの負担になる。
>>849 すると大きな配列は private に置いて再利用したほうがよさそうですね。
851 :
デフォルトの名無しさん :2012/11/19(月) 20:21:08.18
>>840 mp = new MediaPlayer();
mp.setOnErrorListener(...);
try {
mp.setDataSource(mPlayingUri);
} catch (Exception e) {
e.printStackTrace();
}
mp.setOnPreparedListener(...);
mp.prepareAsync();
このような感じでやってるのですが
この場合はmp.setDataSource(mPlayingUri);でデータが入っていないという考えでいいのでしょうか?
adb logcat でインテントしてる部分を見たら (has extras) ってなってるんだけど この中身もlogcatで吐く方法ってないんかね
extraの中身が何かまでlogcatに判らせようなんて酷じゃね?
あ
ImageViewをmatrix(scale,scale,x y)でピンチイン、ピンチアウト操作を使って拡大縮小した後に表示されているviewの左上のスクリーン座標をとる方法ってありますか?
タッチで楽しめるエロゲーありますか?
webviewとの連携について質問です
webviewにアクティビティ側でHTTPログイン処理したサイトを表示させています
このhtmlの一部を書き換えてJavascriptのボタンを追加して
アクティビティ側のメソッドを呼ぶには
どういった方法と手順を踏めばよろしいでしょうか?
よろしくおねがいします
アクティビティ側でHTTPログイン処理
→クッキーを使ってwebviewへロード mWebView.loadUrl("
http://member.hoge.jp ");
→???
→webviewのサイトに追加されたJavascriptのbuttonを操作
→Activity反応
>>857 なんでここで聞くの?スレタイ読めないの?馬鹿なの?死ぬの?
>>858 JS 有効化 setJavaScriptEnabled
Java -> JS は loadUrl
JS -> Java は addJavascriptInterface
ただし、セキュリティホールがあるので注意。
d.hatena.ne.jp/zentoo/20120507/1336399651
ありますん
>>860 ありがとうございます
意図しない機能を叩かれないよう使ってみます
ひょっとしてGoogle Maps APIってAndroidはピンチアウトでの拡大に対応してないの?
履歴タスクとインストール済みアプリ一覧をそれぞれ取得して 突き合わせて、同じアプリか否かをチェックしようとしています。 「おサイフケータイアプリ」について「パッケージ名/クラス名」を比較すると 下記の通りにパッケージ名が異なり同じアプリとみなす事ができませんでした。 どちらの「パッケージ名/クラス名」をインテントに指定して起動しても 同じ「おサイフケータイアプリ」が起動されるようなのですが、 これを同じアプリと判断するのに良い方法はないでしょうか? (1)履歴タスクを取得 ActivityManager.getRecentTasks()でタスクを取得 →「com.felicanetworks.mfm/ServiceListActivity」 (2)インストール済みアプリ一覧の取得 ACTION_MAIN、CATEGORY_LAUNCHERのアプリ一覧を getPackageManager().queryIntentActivities()で取得 →「com.felicanetworks.mfm.main/ServiceListActivity」
865 :
863 :2012/11/20(火) 15:42:29.66
ごめん、普通に使えた。 clickableをtrueにしてなかった
>>856 matrixのprojectionなんちゃらみたいなメソッドに座標を入れるとか
そんな感じじゃなかったっけ?
>>860 横レスだが、自分は許可したドメインのページのJSからしかJavaメソッドを実行できないようにして対処している。
>>867 悪意のあるjsにインターフェース渡した時点でアウトだと思うが…
>>868 ごめん、説明が足りなかった。
許可したドメインというのは、早い話、自分ところのドメインで、
そこには悪意あるjsは居ないという前提。それでも危ないだろうか?
Flashplayer使わないでFLV再生する方法を教えてください webview+FPの情報ばかり出てきます
自前でデコードしてやれば良いんじゃないかな
androidでアマゾンのwebサービスとかのAPIにリクエストしたら どうやって受け止めるのでしょうか? PHPとかだったら関数があるのですがJavaはどんなのがあるのでしょうか?
>>870 NicoRoはFFMPEGで再生してるみたいだよ
>>872 Twitterアプリの作り方とかで検索したら?
認証してXML貰って同じだから
>>874 やっぱりxmlで返ってくるのですね
ありがとうございます
876 :
デフォルトの名無しさん :2012/11/20(火) 21:39:45.26
Android アプリでエクセルを表示させるファイルビューアーSDKを探してるんですが何かいいものないでしょうか? ライセンス無料で探してます。
GLSurfaceView.RendererのonSurfaceChanged()やonDrawFrame()の引数のGL10は そのメソッド内だけで有効なのでしょうか。 GL10をコピーしておいて描画とは関係ないタイミングで使っても大丈夫でしょうか。
alert.setItems(items, new DialogInterface.OnClickListener(){ @Override public void onClick(DialogInterface dialog, int idx) { elertでのリスト表示→選択を作っているのですが、 最後のidxは、引数的になにを表す所で他にどのような引数があるのですか? お願いいたします。
照度センサを用いたアプリ開発を考えているのですが 出力値が離散値でしか得られないのでしょうか?
881 :
デフォルトの名無しさん :2012/11/20(火) 23:15:06.27
svg-androidでsvgを表示しようとしたら java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.test/com.example.main.MainActivity}: com.larvalabs.svgandroid.SVGParseException: java.lang.NumberFormatException: unable to parse '000000;stop-opacity:0.3' as integer と出ました ちゃんとSVGの1.1Basicを使っているのに表示出来ないのはなぜなんでしょうか?
どう書いてるのか知らんが java.lang.NumberFormatException: unable to parse '000000;stop-opacity:0.3' as integer ここに答え書いてあるじゃん 色いじるときはアルファまで指定しないといけなかったと思う
883 :
デフォルトの名無しさん :2012/11/20(火) 23:37:28.45
ImageView imageView = (ImageView) this.findViewById(R.id.imageView1); // Set the background color to white imageView.setBackgroundColor(Color.WHITE); // Parse the SVG file from the resource SVG svg = SVGParser.getSVGFromResource(getResources(), R.raw.svg); // Get a drawable from the parsed SVG and set it as the drawable for the ImageView imageView.setImageDrawable(svg.createPictureDrawable()); こう書いています コード側ではなくてSVGの保存形式のような気もするのですがBasic1.1しか情報がないので
SVGが表示できるといっても表現できないものもあるからそのへんひっかっかてるのかもね そのsvgをエディタで開いて000000;stop-opacity:0.3の表示を探して値を変えてみたら? Integerにパースできないってでてるから0.3を1にしてみるとか
885 :
デフォルトの名無しさん :2012/11/21(水) 00:09:39.48
>>884 新しいバージョンが出ていたのでそれにしたらうまく行きました
そりゃよかった svgの話でたからついでだけど、svg書き出した時使うソフトによっちゃ いらない情報が大量に入ってるからそのへんエディタで整形すると容量が数分の一に削れる 読み込む情報も大幅に減るからパース速度も大幅に上がるよ
887 :
デフォルトの名無しさん :2012/11/21(水) 00:31:12.48
>>886 AIでやってるけどAIも余計な情報多い?
ブラウザがデフォルトで対応してなくて、adobeからプラグインをダウンロードしてたころ 手書きしていたのを思い出した・・・。最近は便利なツールがあるんだな。
OS2.3のアラートダイアログで質問です setItemsを使った一覧メニューをアクションバーのメニューのようにしたいのですが 位置は変更出来るものの大きさが変更できません 無理なのでしょうか? よろしくおねがいします AlertDialog.Builder builder = new AlertDialog.Builder(Hoge.this); builder.setItems(items, new DialogInterface.OnClickListener() { ... }); AlertDialog alertDialog = builder.create(); alertDialog.getWindow().setLayout(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); alertDialog.getWindow().getAttributes().gravity = Gravity.TOP | Gravity.RIGHT; alertDialog.show();
そういうライブラリーを探してくるか、 自前でテーマを作ればいい
>>890 ありがとうございます
どうやらshow();した後なら.setLayout()が有効になるようです
そしてWRAP_CONTENTでは通常のサイズと変わらないので
ピクセル単位で指定しないと縮められないようでした
アイコンのサイズが全然わかりません サイトで調べたら利用サイズと画像サイズとかあって意味不明です 結局どのサイズで作るのか説明がありません このサイトの作者はクソですねw
釣り針がデカすぎるw
>>892 馬鹿のくせにプログラミングをやるお前がクソの中のクソだと思うよ 私は...(大爆笑)
10インチで2560x1600 5インチで1920x1080 密度ではスマホなのかタブレットなのか判別が難しくなりそうですが 今後どのようにすればよいでしょうか?
元々密度じゃ判断出来ないので変わりありません
起動時に「あなたの端末はタブレットですか?スマホですか?」ってダイアログ出して聞いたらいいとおもうよ
int widthPixels = displayMetrics.widthPixels; int heightPixels = displayMetrics.heightPixels; float xdpi = displayMetrics.xdpi; float ydpi = displayMetrics.ydpi; float widthInch = widthPixels / xdpi; float heightInch = heightPixels / ydpi; return Math.sqrt( Math.pow( widthInch, 2) + Math.pow( heightInch, 2) ); …とは書いたものの7インチでも低解像度の2.3.xだったりして 色んなパーツがスマフォになってたりしますよね
900 :
デフォルトの名無しさん :2012/11/21(水) 19:02:34.63
FLVを再生したくて探していたところ
>>870 >>873 で話題にあがっていたのでandroid ffmpegで調べるとNDKのばかり引っ掛かるのですがSDKではできないのでしょうか?
Yes, you can.
>>900 NicoRoはソース公開してるから見てくれば?
>>899 >>Math.sqrt( Math.pow
>>float
が気になるなw
画面のインチ数は対角線の長さだからじゃね
>>906 うちのテスト機2.2、2.3、4.1でflvは普通にvideoviewで再生できてるよ。
>>907 いやでもFLV再生アプリとか開発TIPSがある時点で普通は対応してないんじゃないの
>>907 Adobeのpluginが入ったWebViewじゃないんだ。
flvはコンテナだから実際のエンコード方式はまた別
開発環境で質問です ホストパソコン→USB→Android ↓ リモートデスクトップ VNP Hamachi ↓ 開発パソコン こういう方法で開発は可能でしょうか?
スマホの1ドットって長方形なんですか? 画像がなんか伸びるんですけど
>>912 そりゃスマホじゃなくて端末次第でしょ
普通は正方形だけど中華タブだと長方ピクセルがあるらしいね
へーx100
NotificationとDownloadManagerの質問です DL進行中のDownloadManager通知のタップから ダウンロードのキャンセル処理をしたいのですが long id = intent.getLongExtra( DownloadManager.EXTRA_DOWNLOAD_ID, -1 ); ではIDが帰ってきませんでした どのようにして対象のIDを取得すればよいのでしょうか?
916 :
864 :2012/11/22(木) 20:14:44.67
色々調べてみた結果、「おサイフケータイアプリ」には下記の2種類がありました。 一方が実体、もう一方が実体を起動するショートカットのアプリとなっていました。 パッケージ名が異なっているので、当然一致しないアプリとなるため、 同じアプリだと判断させるには個別対応するしかないようです。 (1)おサイフケータイアプリ ・アプリ種別:Google Playからダウンロードしたアプリ ・パッケージ名:com.felicanetworks.mfm.main ・インテントフィルタ:なし ・特記:ホームアプリのランチャーには表示されない タスク履歴に表示される (2)おサイフケータイアプリセットアップ ・アプリ種別:システムアプリ(プリインストールアプリ) ・パッケージ名:com.felicanetworks.mfm ・インテントフィルタ:ACTION_MAIN、CATEGORY_LAUNCHER ・特記:(1)を起動するための単なるショートカット ホームアプリのランチャー上では(1)と同じラベル、アイコンで表示される タスク履歴に表示されない
Eclipseを用いて開発している初心者です。 パッケージ内のAssetsフォルダ内のテキストファイルを読み込むクラスはどのように実装すればよいでしょうか? getResources().getAssets()を使っていますが、うまくいきません。 Activityの拡張クラスは同一アプリのsrcフォルダ内に2つあってもいいのでしょうか? ただメインクラス内で単にデータを読み込み表示するだけなら問題ありません。 読み込み専用のクラスを実装すると問題が起きます。
>>835 レスどうもです&亀ですみません…。
ABSってのはActionBarSherlockのことでおkですか?
旧版のABSを組み込めばいけるんですかね…?
ちょっと今週末は時間が無いので、来週試してみます。ありがとうございました。
919 :
デフォルトの名無しさん :2012/11/22(木) 22:49:25.43
>>918 そう
旧版にするかsetThemeを変えたらOK
DevPhoneでOS入れ替えて使ってる人います? いたら使用感知りたいな
AppWidget上でBitmapDrawableのrepeat使うと一見タイル表示できているようなのですが、 たまにタイルされずにWidget全体にタイル画像一枚が拡大表示されます こうならないようにする方法はないでしょうか?
922 :
デフォルトの名無しさん :2012/11/23(金) 01:27:05.98
Google apiを使って道案内アプリを作ってるんですが、ルート案内を実装するapiとかありますか? ぐぐっても出てこないのでYOLPと迷ってるんですが…
ルートとして選択されたポイントを最短距離で結ぶ経路を見つけるアルゴリズムを実装すればいいんだよ。 簡単だよ!ネットでぐぐってみな
>921 ある夜
>922 ある夜
アンドロイド弄るには最低限どの程度のjavaの知識が必要ですか。 入門書程度か、その上の知識が必要なのか教えて下さい。
java以前に何かしらプログラミング経験ないと難しい 逆に経験あればjava知らなくてもなんとかなる
ぐぐったけ?
930 :
922 :2012/11/23(金) 16:03:35.08
>>923 ありがとうございます。
自分で調べていろいろ実行してみているんですが、自分の知識不足でどうもうまくいきません…
またgoogle apiだけだとお店の検索などもできないようで…
月曜日までに実装したいのですが、どなたかご教授お願いしますm(_ _)m
もしお時間あるかたいらしたらスカイプなどでやりとり出来ますか?;
ID: androidtk1
もしスレチだったらすみません;
リストビューにボタンとテキストビューで構成されたアイテムを追加すると、リストビューをタップしても各アイテム全体がハイライトされなくなるのですが、どうしたらボタンと共存出来ますか? リストビューにテキストビューだけの場合はタップでハイライトされます ADTで4.0向けに作っています
932 :
デフォルトの名無しさん :2012/11/23(金) 17:23:58.26
933 :
931 :2012/11/23(金) 17:26:10.43
934 :
931 :2012/11/23(金) 18:08:50.04
すみません、実際にやってみたら解決してませんでした
リストビューで↓のアイテムを表示しています
ttp://ideone.com/1YzmqF イメージボタンにandroid:focusable="false"を設定しでアイテム毎のハイライトが有効になりませんでした
イメージボタンを削除するとアイテム毎のハイライトが有効になります
ヒントでもいいので教えていただけると嬉しいです
>>934 android:focusableInTouchMode="false"も付け加えるとどうなる?
936 :
931 :2012/11/23(金) 18:17:53.47
>>935 変わらないです
SimpleAdaptorで表示しているんですが、それも関係あったりしますか?
937 :
922 :2012/11/23(金) 19:29:27.93
なんどもすみません YOLPを使ってやってみているのですが、ローカルサーチAPIはandroidでも使えますか? といってもまだルート検索も実装できていないです… 地図表示→どこでもよいので地点二つをルート(一つは検索ボックスなどで検索して指定) ここまで作成したいのですが… どなたかアドバイスをお願いします(;;)
matrix.postrotateしてcreateBitmapで一緒にセットしてその後 上のbitmapをセットしたImageViewのonTouchの中でmatrix.posttrasport?とかmatrix.postscaleとかしてそのmatrix情報を保持してまた新たなimageviewとbitmapに保持してたmatrixのscale、transport、rotateを適用したいのですが onTouch内で画像を移動しているにも関わらず再度表示してみると画像が一番左上によってしまいます。 これってmatrixのtransport情報が効いてないって事でしょうか? scaleは効いてるみたいなんですが・・・ ちなみにrotateも解除されてるっぽいです(;o;) なにかアドバイスお願い致します。
特定のアプリのアンインストール画面を表示する場合どのような呼び出しを行えばよいのでしょうか
そのアプリがインストールされてるなら google playのそのページ
941 :
922 :2012/11/24(土) 14:48:02.93
調べてみたら経路検索は難しいみたいで、intentを使ってmapを起動させてから 経路検索ができるようだったのですが、そこからオーバーレイして目的地検索などは実装可能でしょうか?
direction apiでとった値をデコードして オーバーレイで表示する
944 :
デフォルトの名無しさん :2012/11/24(土) 23:30:34.70
SVGの細かい効果(ドロップシャドウ、光源)を現せるライブラリってありませんか? SVG-androidは使えなかったです
筆圧の感知ってどうやってるの? なんで強く押すと太くなるのか不思議です
>>945 大雑把に言うと、
圧力に比例して抵抗値が変わる変態素子がある。
それの電圧にしきい値を設けて、強さの段階わけをしている。
>>946 その値を取得するメゾットは何ですか?
できればサンプルプログラムをお願いします
検索しても見つかりません
getPressure
圧力って端末依存するんじゃない?
>>949 過去に出た最大値を覚えといて適当にスケーリングすれば良し
951 :
デフォルトの名無しさん :2012/11/25(日) 14:34:37.56
String regex = "
http:// (.*?)\">(.*?)</a>".replaceAll("\\s", "");
Pattern pattern = Pattern.compile(regex, Pattern.DOTALL);
Matcher matcher = pattern.matcher(target);
String link_s = "";
String url_s = "";
while (matcher.find()) {
String link = "
http:// " + matcher.group(2);
String url = matcher.group(1);
String mat = ".*example.*";
if (url.matches(mat) && !"".equals(link)) {
match_flag = true;
link_s += "\n" + link;
url_s += "\n" + url;
}
}
result = new String[2][link_s.replaceFirst("\n", "").split("\n").length];
result[0] = link_s.replaceFirst("\n", "").split("\n");
result[1] = url_s.replaceFirst("\n", "").split("\n");
このような感じでHTMLのソースからリンク名とURLを抜き出しているのですがエラーレポートによるとresult[0]のほうが少なくなっていてfor(int i = 0;i < result[1].length;i++)で回すとIndexOutOfBoundsExceptionが呼ばれているみたいです
このコードでresult[0]とresult[1]の要素数が変わる可能性はありますか?
訳の分からんところにreplaceAllがついているが このコードのままだとlinkの方に余分な改行が含まれる可能性があるな あと、Android関係ない
953 :
デフォルトの名無しさん :2012/11/25(日) 15:00:26.31
>>952 でもlinkの方は多くならないでurlが多くなるんですよ
次回からはJavaの方にします
普通にArrayList使えよ
ユーザーに外部ストレージのフォルダを選択させたいのですが 例えば Environment.getExternalStorageDirectory() から返されるパスは /mnt/sdcard/ となります ただし自分の端末で普段利用しているのは /sdcard です このショートカットのようなパスは端末ごとにバラバラだと思うのですが プログラム側では前者のパスしか取得できないのでしょうか? よろしくおねがいします
>>955 無理。ユーザーに入力させるがよろし
さらに4.2になるとマルチユーザで変わるんで決め打ちはやめろ
>>956 ありがとうございます
正式なパスのみ許可するようにします
フォルダ選択ダイアログみたいなのを出さないとダメなのかなー。
ファイルパス(/mnt/sdcard/DCIM/〜.jpg)からコ ンテントプロバイダーに登録したURIもしくはid を取得ってできませんか? 後MediaStore.Images.Thumbnails. getThumbnailってコンテントプロバイダーにid 登録しないと使えないですよね? 単純にコンテントプロバイダーにinsertしないで mnt/sdcard/DCIM/〜.jpgに保存したファイルの サムネイルって 自作するしかないんでしょうか?
開発ツール更新しろって言われたから更新したらエミュレータ動かなくなった しね
最近はじめたのだが、 エミュレータなんとかならんのか? クソ^10
963 :
デフォルトの名無しさん :2012/11/26(月) 08:17:48.35
>>962 快適に動かすにはスパコンのスペックが必要ってくらい重たいよな
エミュが過重労働をさせてるみたいだね、eclipsの動作もとんでもなく異常になるし... 完全に動作しなくても画面周りの動作チェックが出来れば良い位の軽いもので十分なのだが... しょうがないから今からタブレット買ってくる事にした MID407をnexsus7のスペックにしたような機種ってないかなぁ Bluetooth 静電パネル 外部ストレージ32G メモリ1GB 普通のUSB(ホスト)+min USB 1280×800 WiFi 高解像度カメラ 開発用にはMID407の方が良いと思うが、スペックが...
ARMを根性でx86で動かしてるエミュを使っている人がどうかとおもうけど 実機なりx86版仮想で試せばいいのに
>>965 ありがとう 試してみる
いまいち手を出したい機種がないので実機を買ってない...
VirtualBox で x86 版仮想起動が一番速かった >いまいち手を出したい機種がないので実機を買ってない... 同意
Nexus7とか一昔前の4.0白ロムで十分だと思うけどね 2万円くらいだし
Booting the kernel. でとまる...orz あ〜あ javaは1週間で通過したが...なんというか...CE時代が懐かしい
>>968 外部ストレージがついてれば7でいいけど
アプリ経由でUSBメモリなんて...
>>970 そういえばそうだったね
今の小型中華なら1万円で1280x800 SDカード 4.1だったりするけども…
>>950 固定値しか返さない糞端末もあるから注意
>>971 何もアップルのまねしなくてもね
SDがついてれば1機種で済むし
仮想環境じゃなくても 古いnetbookとかに x86版インストールして動く?
975 :
931 :2012/11/26(月) 12:00:32.92
イメージボタンの件解決しました イメージボタンだけがおかしかったみたいです 他のボタンやチェックボックスはxmlからfocusable="false"で解決しますが、イメージボタンはjavaからsetFocusable(false);を指定してやるとフォーカスが取られなくなりました
>>974 動くけど画面の回転とかシミュできないので微妙
eclipse + android みなさん よくこんな環境で作ってるね 感心するわ
なんだ嫌みか?
ウチはeclipse + windowsだし軽い
今までインタプリタとASくらいしかやったことないけど 他の言語の開発ツールは何が違うの?
>>970 開発機だけならドスパラの9980円の7インチなんていいかもね。
解像度が低かったりスペックが最新のものに劣ったりはしてるけども。
>>981 統合開発環境の使用が推奨されてるのがうざい
eclipseが嫌いな人はsl4aを使ってpythonで書けばいいんじゃないですか?
>>983 エミュレータとそこらじゅうにある落とし穴と地雷
ちょっといじると動かなくなったり バグだろこれ ってのが多過ぎ
LogCatにAudio Flingerとメッセージが頻繁に出てうざいんですけど、 どうすれば治りますか?
>>986 プログラミングに不慣れなのかandroidに疎いのかeclipseを使いこなせていないのか
>>988 androidに疎いのか...これは関係ないね 例題でさえ動かない(笑うしかない)
eclipseを使いこなせていない...バグをよけれる程使っていないのは間違いない
>>989 The connection to adb is down
今度はこれ...バグまる子w
みんなすごいなぁ
ここは日記じゃない 病院に行け
実機でしかやらないからエミュで困らないし にっちもさっちも行かないバグなんて早々出会わないし そんなにイラついた試しないな めんどくさいのはminSDKを2.3.3くらいから含めた場合ぐらい
とにかくOutOfMemoryが出てしょうがない Androidってクソだな
実機ないのに開発してるってすごいな
996 :
デフォルトの名無しさん :2012/11/26(月) 17:14:51.55
ume?
自由なせいか画面の画素数がまちまちだからターゲットが決まらない 規格がないから尚困る 業務用アプリケーションだから普通アプリとはちょっと違うし 画面周りは別にどうでもいいが、電話(なにがスマホだw)の画面はチンケだし、タブレットではデカすぎる
クソjavaやめてC++に戻せよ armしか出てないんだからさぁ
さいなら
1000
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。