Androidプログラミング質問スレ Part24
1 :
デフォルトの名無しさん :
2012/07/24(火) 23:44:55.33
>>1 乙
立てようとして必要なのコピーして立てる前の最終確認で立てられた
1乙
>>1 throw new Throwable("乙");
5 :
デフォルトの名無しさん :2012/07/25(水) 06:56:10.17
通知バーに触らないで(ボタンのクリックイベントなどから)通知バーを開くにはどうしたら良いでしょうか?
いちおつ
前スレ
>>998 レスありがとう。
でもそのIntelHaxm.exeのインストールが失敗するのが何故だかわからないというのが質問の内容なんですけど・・・
7 :
5 :2012/07/25(水) 07:35:21.42
ステータスバーで検索したらありました
広告がクリックされてonPresentScreenが呼ばれてここで 広告に飛ぶことをキャンセルさせるにはどうしたらいいですか?
入れてみたけどeclipuse重たい みんなどんなスペックのPC使ってるの?
>>9 eclipseな
i7-27??QM
16GB
SSD
だけど起動してからエラーマーク全部消えるのに5秒かかる
5秒くらい我慢しろw
そうだそうだ 8秒かかる俺にあやまれ
20秒かかる俺は最底辺かな 儲かっても運用が楽しくてPCがゴミスペックのまま テスト用実機で2chとかやる始末
eclipse入れてあるけど、重いからあんま使ってないなぁ。core2duo1.6G、2GBだったかな。
ICS端末からLayoutParamsにTYPE_SYSTEM_OVERLAY指定するとタッチイベントが受け取れなくなってるんだけど、解決方法って出てます?
同じアプリを有料アプリと無料広告付きアプリで分ける場合、どうやって管理している? 今は、別々にプロジェクト作って基本的に有料アプリの方を変更していって終わったら 変更箇所を無料広告付きにコピペしてやっているけどなんか非効率な気がする。 それに、これでやるとコピー元のパッケージ名をimportを勝手にしちゃって不便。 有料版がhoge.hogehoge.aaで無料版がhoge.hogehoge.aafree って感じだと 無料版のソースに import hoge.hogehoge.aa こんな感じのが勝手に挿入される。 もっといい管理方法があるなら教えて。
import消せばいいんじゃね
>>13 俺もテスト用実機で普段使いしてるけどw
白ロムだから別に電話帳情報抜かれることないし
というか持っている実機はどうせ全部テストするハメになるから
あんまり使い分けてないわ
画面の明るさを調整するにはどうすればいいですか? WindowManager.LayoutParams layout = getWindow().getAttributes(); layout.screenBrightness = 1F; getWindow().setAttributes(layout); ↑のようなソースだと、アプリを終了すると明るさが元に戻ってしまいます
>>16 メモ帳に全部貼り付け
それをコピーしてeclispseのエディタに貼り付け
22 :
デフォルトの名無しさん :2012/07/25(水) 20:06:31.75
PreferenceScreenについて質問させてください。 PreferenceScreenにおいて、以下のようなコードがあった時、 <CheckBoxPreference android:title="Alpha" android:key="alpha" android:summaryOn="表示する" android:summaryOff="表示しない" /> <CheckBoxPreference android:title="Blavo" android:key="blavo" android:summaryOn="表示する" android:summaryOff="表示しない" /> <CheckBoxPreference android:title="Charlie" android:key="charlie" android:summaryOn="表示する" android:summaryOff="表示しない" /> <CheckBoxPreference android:title="Delta" android:key="delta" android:summaryOn="表示する" android:summaryOff="表示しない" /> <CheckBoxPreference android:title="Echo" android:key="echo" android:summaryOn="表示する" android:summaryOff="表示しない" /> 例えばチェックされた数が3個を超えたら、それ以上チェックをできないようにするみたいな規制を プリファレンスの方でかけることはできますか?
>>6 CPUが64bitに対応してないと失敗するみたい
イベントビューアにエラーが出てるかも
どのAPIを読んだらどのくらい電池減るかって調べられる プロファイラアプリないかね?
>>24 よく考えてみろよ。そもそもそんな詳細で信頼度の高いバッテリー情報は取得できないだろ。
クァルコムなんかバッテリー消費確認のためのハードを内蔵したテスト用端末をリリースしてるんだぞ。
ほかにも"有意義なデータ"を取るための基準・条件の定義も、apiレベルで取りたいなんていったら天文学的パターン数になる。
曖昧なのでいい、限られたapiで自分の想定している状況下のみデータがとれればなんて後出しジャンケンする気なら、自分で作れ。
>>19 Settingsのどこかに設定があったはず。
そこも一緒に変えればできると思う。
>>15 system_overlayはタッチイベント取れないんじゃない?
aleartなら取れたような。
逆だっけ?
>22 checkboxのOnPreferenceChangeListenerを登録 OnPreferenceChangeListener { チェックオンの個数を数える if(4個以上) { イベント元.setChecked("false") } 試してはいない。
30 :
デフォルトの名無しさん :2012/07/26(木) 00:05:42.32
Java1.6、rootとったAndroidで、自前の関数を使ってコピーしたファイルに対し String[] command = new String[]{"chmod","777","hoge.apk"}; Runtime.getRuntime().exec(command); しているのですが、execが戻ってこない時があります。(5回に1回くらいの頻度) 同様にProcessBuilderも使ってみたのですが、 ProcessBuilder b = new ProcessBuilder(command); Process proc = b.start(); startでやはり戻りがない状態になることがあります。 Webを参考に出力のバッファも読み捨てているつもりなのですが。。 何か他に考えられる原因があれば教えてください。
少し前からjd-eclipseのプラグインがきかなくなったんですが原因分かりますか? リポジトリもなくなってたし・・・guiは使えるけど・・
32 :
デフォルトの名無しさん :2012/07/26(木) 03:24:06.03
確認したいんだけど、ListViewって横にものを並べられる? 縦にボタンを並べていく処理は作ったから、今度は横に挑戦しようと思ったんだけど、プロパティが見つからなくて。
アイテムごとにビューを配置する構造だから、 ビューの中に使いたいビューを放り込むだけ。
34 :
デフォルトの名無しさん :2012/07/26(木) 08:25:32.16
>>33 やっぱりそうか。
どう頑張っても縦にしか並べられないと思ったわ。サンクス。
>>30 なんで、コマンド区分けしているの?
Runtime.getRuntime().exec("chmod 777 " + "/data/data/" + getApplicationContext().getPackageName() + "/hoge/piyo.txt");
みたいにすればいいのでは?
37 :
19 :2012/07/26(木) 10:37:11.30
Accessibilityで通知を取得することは出来たんですが 実行中と通知を判断するにはどうしたらいいでしょうか?
>>36 そういうクセつけると、コマンドインジェクションやられて後でハマるぞ。
質問です PreferenceScreen ○CheckBoxPreference ◇PreferenceScreen ☆CheckBoxPreference とあるとき ○から来た変更のイベントでは◇のsummaryが変更できるのに☆から来た変更のイベントでは◇のsummaryが変更できないんですが何故かわかりますか? 一応○からも☆からもイベントは来ています
android開発を中止したので、sdkを削除したいのですが、 これって、フォルダを全削除すれば無くなるんでしょうか?それとも削除するために何かする必要ありますか?
>>16 いやいや、まともなレスがないけどAndroid Library Project一択だろw
アプリ落とそうとしたユーザーからメールもらって 「パッケージエラーでインストールできない」 って言われたんだが、他のアプリとパッケージ名が被ったってことか? ちなみに機種はS0-03D,OSは最新みたいだ
InAppBillingを使ってアイテム課金を実装したのですが、 実際の課金画面へのアクセス制御で、 if (mBillingService.requestPurchase("****")) { // } の感度ってどうでしょう? うちの場合、調子がよければ処理時すぐに画面遷移してくれるのですが、 全く反応しない事もしばしば…… よく、サンプルでは if (mBillingService.requestPurchase("****")) { // } else if (!mBillingService.requestPurchase("****")) { // } などのように2回チェックをしているようなのですが、 この方法だと確かに確実に画面遷移してくれます。 ただ、調子がよすぎて2重アクセスのようになったりも……。 一体どうしたものかと悩んでおります。
in-app subscriptionの月単位購読をたとえば1/31に開始した場合、 最初の締め日は何時ですか?2/28でしょうか。月によって期間が増減するみたいですが、 正確な法則が書いてあるところが見つからないです。
BitmapFactory.decodeResourceしたビットマップって、 アプリ終了時にrecycle()&参照null入れしないと、 ずっとメモリリークしたままになるの?
>>46 正規の手順で終了させたら手動null必要とかありえんから。
プロセスを直接killされてる前提なら終了時にアプリ側で掃除コード実行なんて無理だから。
掃除コードが実行されるかされないかではなく、 recycle()&参照null入れせずに終了すると、 ネイティブヒープに永久に残ったままになるのかどうかが知りたい
今来た別人だが。 recycleとかを掃除コードと言っているんだろ?書いてあろうと実行されるとは限らない。 プロセスがキルされたら、それに割り当ててたメモリはOSが再利用するのでは?つまりOSのコードを読めばわかるのでは。
参照されていなくてもメモリの残量次第でリソースが残ったままになることがあるし、 どこか別のところで使い回される可能性もある。 参照を解除してGCを強制実行すれば消えてくれる可能性はある。
51 :
46&48 :2012/07/27(金) 13:56:17.07
マニフェストからパッケージ名を変えたんですが R. (リソース読み込み)関係にエラーが出てしまいました 他にどの部分を書き換えなければいけないでしょうか?
あ、新しいパッケージに移し替えるの忘れてました
WifiManager#addNetworkしたアクセスポイントが WifiManager#startScan->getScanResultsの結果に出てこないのですが、どうやれば取得できるのでしょうか? Androidの設定アプリでは見えているので、何かのフラグか、取得時に呼ぶメソッドが違うと思うのですが... 気になることは、アクセスポイントはSSIDブロードキャストを無効にしています。 ですが、強制的に検出を試みるアプリはあるもののAndroidの標準がやっているとは思えないので、フラグかメソッドかなと思っている次第です。
55 :
54 :2012/07/27(金) 17:31:44.22
解決?しました。getConfiguredNetworksですかね。 scanResultsとオブジェクトが違うので組み合わせないといけないですが合ってるのかな…
>>44 アプリ内課金を実装したことないんで
(調べてたけど、セキュリティ確保が面倒なので実装を諦めつつある)
外してたらごめん。
BillingService#requestPurchaseは
最終的にはPurchaseObserver#startBuyPageActivityを呼んでるみたいだけど
それが呼ばれないことが多い、ってこと?
PurchaseObserverのregisterとcheckBillingSupportedは事前に呼んでる?
registerしてないとstartBuyPageActivityはもちろん呼ばれないし
checkBillingSupported飛ばして、いきなりrequestPurchase呼ぶと
そこからMarketBillingServiceのbindを始めるから遅いんじゃないかな、と思う。
あとは、RequestPurchase#runの各処理で
System#currentTimeMillisとか使って時間を測るとか。
ただ、本当に動いていないなら、ANRが発生しそうな気もするんだけど...
わかった。 Bitmapの人は自動ポルノが残らないか不安なんだよw
自分もBitmapには苦労してます。。 初代XperiaやSH12らへんでは一切OOMが出なかったのに、 同じアプリが高スペックのギャラクシーS3でのみOOMが出るという現象に… とりあえずヒープメモリの状況を逐一チェックしながらデバッグしてるけど、 なんで高スペック端末だけ…
>>57 recycleは必要になった時にisRecycledなら再ロードするから
メモリ不足になったら開放しても構わないよって指示する事でしょ?
nullにすればGCで開放されるけどrecycleならメモリ不足にならない限りは開放されない
要するにOutOfMemory対策用だよ
それはそれとして
>>46 が言っているのは、アプリ終了時の話な。念のため。
アプリが終了したと思ってもメモリに残っている可能性があるから同じこと。
createBitmap()とかしてるとすぐにOOM するから、まめにrecycle()とSystem.gc()してないとまともに動かん。
>>62 思ったのと終了したのじゃ全然違うだろう。
それがAndroidアプリの構造なんだから、区別が出来ないんだよ。
なめこDXが画面切替が異様に遅いのは、この辺の事情がありそうやね
終了したと思ったけど終了してないで確保してるのがメモリリークになるなら、メモリリークを起こさないアプリはないよ。
そのメモリの事で質問させて下さい。 300KB程度のBitmapを、画面をタッチするごとに読み込むアプリを作っています。 Bitmap image=null; if(touchAction==MotionEvent.ACTION_DOWN){ image=BitmapFactory.decodeResource(r,R.drawable.hoge,opt); } という感じで、同じBitmap変数の中身を入れ替えています。 そして、常にRuntime.getRuntime().totalMemory()などでメモリ状態を監視しているのですが、 ギャラクシーS3だけが特別大きなメモリ値になり、すぐにOOMで落ちてしまいます。 具体的には、 機種 totalMemory() totalMemory()-freeMemory() P01D 7240 2800 SH13C 6140 2880 GalaxyS3 57600 56600 と、全く同じ内容で起動しても、GalaxyS3だけが、1桁多くのメモリを使用し(トータルも多いですが) しかもギリギリいっぱいまで使っているような状態となってしまっています。 機種ごとに違う処理を施しているのは1点のみで、画面解像度に関わらず見た目を変えないように BitmapのinTargetDensityを設定している事くらいです。 あまりにもメモリ確保の値が違いすぎて何がなにやら分からず困惑しています。 ちなみにGalaxyS3以外の端末ではOOMの連絡は全くきていないので、上記PやSHの機種以外でも おそらくメモリ使用量は同じような感じだと思います。 よろしくお願いします。
>>60 ごめん、OOM対策ってのはわかるんだけど
その前の説明がよくわからなかった。
BitmapとBitmapFinalizerの関係は
http://japan.internet.com/developer/20060404/26.html の、Image2とNativeImage2のパターンと一緒(2.xとかは違うかも)なんで
recycleした場合は、次のGCで回収されるされるけど
recycleしない場合は、Finalizer(FinalizerDaemon)が動いた後のGCまで回収されない。
つまり、Finalizerのqueueがつまったり
他に重いfinalizeがあったりすると、OOMが発生する場合がある。
なんで、finalizeするまで待てない、って書き方をした、つもり。
自分の書き方が悪かったね。OOM対策って明記すればよかった。
ごめん。
>>69 たぶんギャラクシーS3の解像度が大きいからじゃね
HDでしょ
72 :
69 :2012/07/28(土) 17:29:58.62
>71 確かに解像度が1280×768なので、元画像を1.6倍にしてから 表示しているのですが、それでここまで大幅なメモリを確保してしまうものなのでしょうか? でも確かに画像の解像度が1.6倍だからといって、メモリの必要サイズも1.6倍で済むとは 限らないですよね。 とりあえず拡大処理を外してみてどうなるか試してきます。
落ち着こう とりあえず1.6の平方だろう
拡大処理とか関係なく1280×768の表示そのものにそれだけメモリが必要ってことじゃないの 試しにエミュでQVGAとかと比べてみ
>>70 GCは不要になった(すなわち参照されていない)データを開放するもの
だけど、recycleを呼んでもオブジェクトは参照したままなんだからGC対象ではないはず
recycleは「必要になったときに片付けられちゃってたら再度準備する用意がプログラム側にありますよ」
ってシステムに伝える事をしてる
システム側はそれをうけて、メモリ不足になってしまったときに
「必要なら再確保してくれ」って印(isRecycled)をつけて画素データを開放する
Bitmap自体はそのまま残ってるけど画素データのないBitmapなんてサイズたかが知れてるはず
逆に言えばrecycleをしてもメモリ不足にならないうちはisRecycledにならないし
ならないうちならそのままBitmap使えるってこと、と理解してたんだけど何か覚え違ってるかな
ありゃ、読み返したら同じ事繰り返してるだけだな でもこれ以上説明仕様がないや。説明下手ですまぬ まあBitmapを使うときに (A)使うタイミングで毎回decode、nullにしてGCされる だとOOMしづらいけど、パワー食うしもったいない (B)初めにdeocdeしてキャッシュとしてそのままにして再利用 だと今度は速度は稼げるけどOOMの危険 なんで折衷案的に、基本BなんだけどメモリがやばかったらAにするよって感じなんだが
> BitmapのinTargetDensityを設定している事くらいです。 そんな怪しいことしないで画像をdrawable-nodpiに入れて DisplayMetrics#widthPixels/heightPixelsをチェックして Canvas#scale使うのが一番シンプルやで シンプルイズベストや
78 :
69 :2012/07/28(土) 18:40:49.98
エミュレータで、幾つかの解像度の仮想端末を作って実行してみました。 その結果、すべての起動直後の使用メモリの値を見てみると 800*480 : 2525 960*640 : 2523 1280*768 : 2523 と、ほぼ同一の数値になり、正常に動作しました。 inTargetDensityで拡大処理を施してこの結果です。 実機が手元にあれば、実機でのメモリ値を逐一見れるのですが、 Galaxyは自分持ちじゃないので、毎回Toastに表示したメモリ値を 見てもらって報告してもらう、という感じでしか分からないのがつらいです… >77 最初はCanvas#scaleを使っていたのですが、 それだと画像が粗く拡大縮小されてしまい、見た目的に問題があって Densityを設定する方法に変更しました。
>>75 ああごめん、理解した、と思う。
> だけど、recycleを呼んでもオブジェクトは参照したままなんだからGC対象ではないはず
自分の場合は、recycleした後、参照を切った時の話をしてた。
recycleして参照を切った場合は、次のGCタイミングでJava側もネイティブ側も開放された状態になるけど
recycleせず参照を切った場合は、次のGCで開放されない(Finalizerのqueueに積まれるだけ)で、開放されるのはFinarizerがfinalizeを実行した後のGCタイミングなので
> つまり、Finalizerのqueueがつまったり
> 他に重いfinalizeがあったりすると、OOMが発生する場合がある。
のではないかな?ってことを言いたかったんだ。
言葉足らずですみません。
> 逆に言えばrecycleをしてもメモリ不足にならないうちはisRecycledにならないし
recycleするとmRecycleをtrueにしてるから
copy、compress、pixel取得/設定、processを跨いだ共有(writeToParcel)とか、一部のメソッドが使えなくなるみたい。
ただ、これはメモリとは関係ない話だから...
> それだと画像が粗く拡大縮小されてしまい、見た目的に問題があって ぼかしたい画像だけsetFilterBitmap(true)する。 フィルタかけたい画像は静止画だろうし。 このやり方が一番現実的だと思うんだけどな
androidアプリでソース公開しているのってないですか(日本語アプリ)? ちょっと、ソースを読んでみたいんですが
83 :
デフォルトの名無しさん :2012/07/28(土) 23:24:06.27
スリープかどうか調べるにはどうしたら良いでしょうか? どう検索してもThread.sleep()かスリープから復帰しか出てきません
日本語で
85 :
デフォルトの名無しさん :2012/07/28(土) 23:37:45.74
>>84 画面が消えているかどうかを取得したいんです
Pで始まるクラスで調べられると思う
>>81 sdkにsampleがあるだろう。話はそれを読んでからだ。
89 :
デフォルトの名無しさん :2012/07/29(日) 03:17:27.74
質問です。 Buttonが5個くらいあって、各Buttonが押されたときの処理は、 各TEXTに+1ずつされていくのですが、 Button1 →Text1が+1 Button2 →Text2が+1 そして新たに6個目のButtonを使って、 各Buttonがおされたときの処理が−1になる方法を教えていただきたいのですが、 お願いしますm(__)m
それandroidの質問なのか?
91 :
デフォルトの名無しさん :2012/07/29(日) 04:27:18.08
う、うーん。Java?でも、XMLとか使ったりするし、Android? と思ってわからずここに書き込んでしまいました。 プログラムと書いてあったので、平気かと思いまして、 この質問ならどこの板が適切ですかね?
なめこデラックスってGooglePlayで検索で出てこないようになってるけど(トラブル多いからわざとそうしてる?) どっかで設定できるの?
>>91 多分どこでも受け付けないレベル
コールバック呼ばれたあとの簡単な条件分岐が追加される程度だし
>>78 なあ、それDensity変わってなくね?
解像度しか変えてないんだろ?
Ad○ob入れたらアプリ起動が超絶遅くなったのですが、 これはどうにか出来ないものなのでしょうか。 理想としては別スレッドで動作してくれればまだ良いのですが AdMobのビューはUI絡んでても別スレッド動作は してくれるのでしょうか?させる方法はあうのでしょうか?
>>96 2,3秒ぐらい遅れるね。
俺もいろいろ回避策を試したが駄目だった。
実機は何で試した?
どうもデュアルコアだとディレイがあるっぽいんだが
シングルコアの実機だとそんなに遅れは感じない
>>97 特に気にせず最新のSDK&Adsenseもありのデフォルト的設定です。
>>98 実機はLGのoptimus lte l-01dです。
ちなみにデュアルコアのはずです。
しかし、他のアプリの広告は割と普通に表示されている気もするのです。
そもそもAdMobじゃないとかそういうことなのかなー
100 :
98 :2012/07/29(日) 22:27:42.87
>>99 ちょ、俺もl-01dだw
デュアルコア関係ないかもね
無料版だし起動が遅いというクレームないからもう放置してる
とりあえずIS0系とGALAXYには気をつけろ。
Galaxy Nexusに4.1.1のイメージ入れてみたんだけど、 既存アプリの互換性チェックで気にした方がいいトコってどんなのがあるかな?
103 :
69 :2012/07/30(月) 09:20:04.31
メモリの大量消費の原因が分かりました。 やはり、BitmapのinTargetDensityで高解像度に合わせた大きな数値に 合わせていたのが原因でした。 この数値を元々の画像サイズの160に設定してみると、全くメモリを食いませんでした。 ただ、いざどうやって800*480サイズを前提に作った画像使用しまくりアプリを1280*768も サポートするか考えたのですが、 ・inTargetDensity→使用メモリが膨大になりすぎてOOM ・Canvas#scale→setFilterBitmap(true)を設定したら、猛烈に重くなってしまい…… ・高解像度用の画像も用意→アプリサイズが跳ね上がる 最終的には、 inTargetDensityで各Bitmapの画質を落とすなどしてメモリ消費を減らす、 Canvas#scaleのsetFilterBitmapをfalseでギザギザ画面で見てもらう このどちらかでどうにかしたいと思います。 大量の画像や、画面幅いっぱいの画像などを使用しているアプリって、 今後、高解像度端末が増えたらOOMで落ちる現象が多発したりしないですかね それとも自分の技術力不足で、他に何か良い方法があるのでしょうか…?
アプリサイズの拡大がそんなにいやなら、毎回自前で拡大して一時的にファイルに持つとか?
>>103 アプリサイズとはダウンロード時のサイズを言っているのか、インストール後のサイズなのか。
全部入れとく、またはインストール時に環境に合わせるものだと思ってた。
> Canvas#scaleのsetFilterBitmapをfalseでギザギザ画面で見てもらう 動的なフィルタ処理だから確かに重いけど、それで悩むのが意味不明。 たとえばKOFやメタスラみたいなドット絵ゲーならボケてるより、むしろカクカクしてるほうが喜ばれる。 そもそも解像度の低いドット絵なら、フィルタかけたってぼけすぎて汚いよ。 フィルターをかけたくなるような高解像度のイラストだったら、静止画だろうから1回描くだけでいいから、重くたってたいして問題にならない。 それとも高解像度のイラストをアニメーションをさせるギャルゲーでも作ってんのか?それならご愁傷様です。
>>103 静的な画像リソースはなるべくpurgeable なbitmap にする
動的な画像でもCPUが余ってるならオンメモリでJPEGやPNGにエンコードしてpurgeable bitmapにする
purgeable でないbitmapは不要になったら recycle してネイティブヒープを解放する
参照が切れれば勝手にrecycleされると思ってる人多いけど、
Androidのjavaのファイナライザは呼び出されない確率がやや高い
リソース解放を明示的に指定できるならそうしたほうがいい
>>75 デタラメ書くな。Bitmap.java くらい読めよ
お前の知識はrecycleとpurgeがごっちゃになってる
まだこの話続いてたのか
結構役立つよ 高解像度の端末増えてきたから対応してないアプリはぼやけて見えてたりする 解像度ごとにapkって振り分けできなかったっけ? もちろん1つのapkでフォルダ分ければできるけど無駄に容量増えるだけだし
HOMEキーで押した時とランチャーから起動した時で どちらの方法で起動したか区別する方法ある?
自己解決 Acitvity起動した時にインテントにCATEGORY_LAUNCHERを 含むか否かで区別する事ができた
112 :
69 :2012/07/30(月) 18:18:55.63
>それとも高解像度のイラストをアニメーションをさせるギャルゲーでも そこまでではないのですが、画面いっぱいの背景イラストの上をキャラクターが 歩いて回るようなイメージです。 ですので、毎フレーム、全画面の背景イラスト(350kb前後のjpg)を描画し、 その上に画面を動き回る透過PNG(200kb前後)を3キャラ描画しています。 setFilterBitmapをtrueにすると、このPNGキャラの動きが重くなってしまいました。 確かにドット絵ならカクカクの方が味があっていいのですが、今回画面上を 歩き回るキャラクターも、フルカラーで描いてもらったものなので…… >107 例えば、背景イラストは場面ごとにBitmap haikei=BitmapFactory.decodeResource(r,R.drawable.hai1,opt); のように新背景を読みなおしているのですが、こんな感じで連続して同じ変数に何度も読み込み直して 使用している場合でも、recycleを呼んだ方が良いのでしょうか? 例えば画像読み込み前にnullを代入してrecycleして、それから新しいBitmapを読み込んだりする事で 効果があれば良いのですが、、
>>112 同じ変数? Javaの変数が参照するオブジェクトはdecodeの度に確保されてるぞ
その変数がそれまで参照していたオブジェクトは、単に参照されなくなっただけ
ていうか、 purgeable bitmapの場合はそもそもrecycle呼ぶ必要があまりない
114 :
112 :2012/07/30(月) 19:46:36.75
>113 同じ変数に入れたらメモリも再利用されるという誤認識をしていました… 知識不足で申し訳ありません。 例えば、先ほどのように Bitmap haikei=null;という変数を用意してて、 画面タッチ1回目 haikei=BitmapFactory.decodeResource(r,R.drawable.hai1,opt); 画面タッチ2回目 haikei=BitmapFactory.decodeResource(r,R.drawable.hai2,opt); 画面タッチ3回目 haikei=BitmapFactory.decodeResource(r,R.drawable.hai3,opt); という感じで同じhaikei変数に違う画像をその都度読み込んでいった場合、 どんどん新たなメモリを消費していっているという認識でよろしいでしょうか? ただ、その場合は、この例でメモリを手動で開放する事は可能なのでしょうか?
>>114 opt に inPurgeable =true が設定されてるなら、
システムがメモリが必要だと思ったタイミングで内部で一時的に解放される
(これはrecycleと違い、必要になった時点で元のリソースから再構築される)
これはGCとは別の、jni以下のレイヤーで行われている
一方、不要になったBitmapをrecycleするとそのbitmapが使っていたネイティブデータにアクセスする手段はもうなくなる
君のケースだと、
システムによるpurgeまかせではGCの気まぐれや
4.x以降のハードウェア描画機能のキャッシュ
の影響を受けてメモリ管理は難しくなるだろう
if(haikei!=null){
haikei.recycle();
haikei=null;
}
とか適当にあちこちに埋めといた方がいい
ハードウェア描画機能のキャッシュについてはrepoで落としたソースの
base\core\jni\android\graphics\Bitmap.cpp
base\libs\hwui\ResourceCache.cpp
base\libs\hwui\Caches.cpp
とか適当に追うといいかもしれん。
マニフェストで android:hardwareAccelerated をいじるのもお手軽かもしれないな
116 :
デフォルトの名無しさん :2012/07/30(月) 21:33:31.97
Androidデフォルトのカメラアプリで撮影した写真を自作アプリのギャラリーを使用して表示させようとしているのですが、 その写真の入るディレクトリパスをコードからどのように持ってこればいいのかで詰まっています。 ですので、カメラの設定(保存先など)が取得できる方法があれば教えてください。
ああ、インテントとかじゃなくてカメラアプリの話か。 Environment.getExternalStoragePublicDirectory( Environment.DIRECTORY_DCIM); でもカメラアプリは端末ごとにカスタマイズされてるのが普通だし、 フラッシュメモリの多い端末では、標準のカメラアプリでも保存場所をSDカードと内蔵メモリで選択できたりもする あまりこれに依存しないほうがいいかと。標準以外のカメラアプリに対応できないし。
画像は自力でデコードし、ネイティブ側にBitmap渡して内部にデータを詰め込み、 限界まで同じBitmapオブジェクトを使いまわす という方法でがんばっていた俺は変態だったのか 最終的にOpenGLで板ポリ&テクスチャにするのが一番簡単だという結論に達したが
ありがとう、参考になります。 Androidでカメラ関係やるのは本当に疲れる。 ちょい前にバーコードリーダの精度が悪かったんで zxingの解析をして取得精度向上させたことあるけど、 疲れた。 自分の持っている端末4台あるけど、みんな挙動が違ったりして...。 あの時は泣けてきた。
122 :
116 :2012/07/30(月) 22:11:36.10
123 :
デフォルトの名無しさん :2012/07/31(火) 00:21:50.60
上の人でも話題になってるけど、誰かzxing詳しい方いませんか? ライブラリーを使ってサンプル起動すると、QRコード認識が遅くて困ってます。 QRコードスキャナーをgoogle playから落として使うと、QRコードの認識は早いんだけどなー だれか制度と認識速度を早くするやり方をご教授ください。
124 :
デフォルトの名無しさん :2012/07/31(火) 00:23:40.80
>>123 何だけど
zxingは4.2で、android 2.3以上です。
androidってハードウェア依存がおっきいよね。 簡単なカメラアプリを作っても、機種によっては落ちるし、 気をつけないとOOMで落ちるし、カメラの設定によっては落ちるし OSはしょうがないにしても、ハードウェアとか最低限の統一をしてほしいわ 有料カメラアプリを作る人ってすげえと思うよ。
なにかウィークリファレンスに光が当たりそうな雰囲気 つかえないjavaxが多数ある事を昨日知った情弱の俺がいってみた
カメラアプリは永久に鬼門だろうなぁ
128 :
デフォルトの名無しさん :2012/07/31(火) 03:16:03.84
既出だったらごめんなさい JDK6とandroidSDK r20の組み合わせで、例のJDKが見つからないエラーでSDKがインストールできません 戻る進む、をやってもだめ r9経由、もだめ なにか策はありますか??
例のJDKが見つからないエラー でぐぐれば?
130 :
デフォルトの名無しさん :2012/07/31(火) 04:38:58.59
>>129 ググった結果が戻るとr9、だったのです
てか、改善策ご存知ですか?
>>128 例のJDKがどこにあるか教えてあげれば?
132 :
114 :2012/07/31(火) 12:23:25.50
画像関連のメモリについて質問させてもらっている者です。 何度もすみません。 メモリの開放タイミングなどを調べようと思い、下記のような流れで画像を読み込み その都度Systemメッセージでメモリの使用量を調べてみたのですが、 img1=BitmapFactory.decodeResource(r,R.drawable.image1,opt); System.out.println(ii+".合計メモリ:"+(Runtime.getRuntime().totalMemory()/1024)+"KB\n" +"使用メモリ:"+((Runtime.getRuntime().totalMemory()-Runtime.getRuntime().freeMemory())/1024)+"KB"); img2=BitmapFactory.decodeResource(r,R.drawable.image2,opt); System.out.println…… img3=BitmapFactory.decodeResource(r,R.drawable.image3,opt); System.out.println…… img4=BitmapFactory.decodeResource(r,R.drawable.image4,opt); System.out.println…… img5=BitmapFactory.decodeResource(r,R.drawable.image5,opt); System.out.println…… このようにすると、 合計メモリ6147KB 使用メモリ2864KB 合計メモリ6147KB 使用メモリ2865KB 合計メモリ6147KB 使用メモリ2864KB 合計メモリ6147KB 使用メモリ2865KB と、画像を読み込んでもほぼ使用メモリの値は変わらないにも関わらず、 5つめの画像を読み込んだタイミングでOOMになってしまいました。 ちなみに5つともほぼ同じ大きさのファイルです。 エラーメッセージは、 27000000-byte external allocation too large for this process〜です。 この場合のOOMは、内部的なリークが問題で、getRuntime().freeMemory()などで 取得できるメモリ容量はあまりあてにならないという事なのでしょうか?
133 :
デフォルトの名無しさん :2012/07/31(火) 12:41:14.04
>>131 どうやって?
パスなら通してます・・・
まず”例のJDK”という物がこのスレで共有されてる話でない事に 気づかないといけない
4.1.1で追加された?isolatedProcessって何するために使うものなんですか? サイトの説明読んでも意味がわからない。。。
>>133 それはどこにあるか知っているってことか?嘘つき。
どうやってって、例のが何だかわかるエスパー探すしかないだろ。
いいかお前ら。 いますぐ開発を放棄するのだ。 そうすれば悩みのない爽やかな毎日が待っている
>>132 javaヒープとnativeヒープは別腹
ただし発生するOOMは同一
139 :
デフォルトの名無しさん :2012/07/31(火) 20:48:24.77
140 :
デフォルトの名無しさん :2012/07/31(火) 20:49:30.60
あぁ 例の[JDKがインストールされてない]エラー、って書けば通じるのかな これでも通じないのかな
>>140 例のってなんなんだよ。バカなの?釣りなの?
FaceDetectionListenerをサポートしてる端末ってそもそもあるの? Acer系もAsus系もgetMaxNumDetectedFacesしたら0以外帰ってこないよ…
adb -s デバイス名 shell dumpsys meminfo パッケージ名 とか打てばメモリ使用量分かる もっと良いコマンドあるかもしれんが、それはこのスレの識者に聞いてください
毎回打つのめんどくね? javaで画面にメモリ使用料リアルタイムで出るようにすればいくね?
history
!!
148 :
デフォルトの名無しさん :2012/07/31(火) 22:57:30.70
ちょっとアイディアください(あと長文失礼)。 GridView(以下GV)上に、画像をたくさん並べて表示しているんですが、 その画像をタップしてドラッグすると、その画像が付いて回るという処理をつくっています。 GV内なので、単純なActivityのonTouchEventでは取得できず、 GV上のonTouchEventはタップした座標はわかっても、何をタップしたかわからない。 GVのonClickListenerでは、何をタップしたかはわかってもタップした座標はわからない。 そこで、onTouchEventでevent情報をフィールドに避難させ、onClickListenerでActivityの onTouchEventを呼ぶようにしたが、失敗。理由はGVのスクロールの方にイベントを取られてしまっている ものと推測しています。 GVそのものをonclicklistenerでenabled=falseしても動作しない(あたりまえかもしれないが)。 縦スクロール可能なGV上にある画像(厳密にいえばonClickListenerのpositionの値がわかればいい)を タップした時点でactivityのonTouchEventを有効にさせる方法はないでしょうか?
GridViewならonItemClickListener使えるんじゃないの? これって離したときに呼ばれるんだっけ? そういう処理だと俺いつもOnItemLongClickListenerで開始するから良く覚えてない。 座標が重要ってなら、GridViewの上に同じ大きさの透明なViewでも被せてタッチイベント取得、 DOWNのときだけ座標を取り出し、戻りは全部falseにする、とかで出来そうな気がする。
>その画像をタップしてドラッグすると、その画像が付いて回るという処理をつくっています。 って事だから、どの画像がタップされたのか分かれば良いんでないの? onItemClickListenerで何が不足なのかが分からんです。 あー、タップした直後にドラッグ開始したいのか。 それがGridViewのスクロールになってしまう、とそういう話? ドラッグ有効にしたら今度はスクロールできなくなってしまうから、 無理臭いぞ。 俺もそれでOnItemLongClickListener使っているんだ。 ちなみにターゲットはどれ? Android3.0以上だとD&D用のAPIが用意してあるから、 深く考えなくても実装出来ちゃったりする。 逆にそれより前だと激しく面倒だった気がする…
>138 ありがとうございます。 ネイティブヒープを表示させてみたら、画像読み込みごとに 変化しているのが分かりました! ちなみに、android:largeHeap="true"でネイティブヒープを拡大しようとした場合、 マニフェストで最低ターゲットを2.1くらいにすると、やはりハニカム以前のAPIではダメだと エラーが出てしまうのですが、マニフェスト内でIF文のような、OSが〜〜以上だったらみたいな 感じで記載する事は不可能でしょうか?
>>151 とりあえずターゲットは4.0.3、最低ターゲット3.2を考えています(タブレット向きアプリなので)。
>>148 >GV上のonTouchEventはタップした座標はわかっても、何をタップしたかわからない。
それくらい計算で出せYO!
そうすればActivity.dispatchTouchEvent(MotionEvent)とか使えるだろ。
あとはView.startDrag()するだけじゃん?じゃん?
ImageViewのonTouchEventは発生しないの?
うん
>>152 試してないけど、targetSDKVersion指定してもダメ?
158 :
デフォルトの名無しさん :2012/08/01(水) 03:10:03.24
>>140 まだみてるかな?
R10から出始めたインストールのバグのことだよね?
戻る進むと前Rからの置き換えで改善しないとなると、方法はないと思うよ
ちなみに、インストーラーを利用しないでZIP解凍からの手動だったらその問題は出ないから、試してみるといいよ
あと、いろいろ言われてるけど、書き方は問題ないと思うよ
一時期話題になったバグだけど、ここのみんなは知らないんだと思う
ガンバレ
エスパー降臨。こんなことで躓く情弱しか気付かない問題か。俺の環境じゃ起きるわけもないしw
>>128 が環境とやったことを書かなかったのが全ての元凶だな。
160 :
デフォルトの名無しさん :2012/08/01(水) 04:47:58.55
>>159 まぁ、そういってやるなって
最初はそんなもんなんじゃないかな
あと、この問題は残念ながら情弱だから、とかそんなもんじゃないよ
ブラックボックスのインストーラーを使って、問題があっても何もわからないのが問題じゃないのか? あと、JDKが見つからないエラーと言ったらHOMEのPATHの方が圧倒的に多いだろう。関連情報も検索したら100倍あったぞ
Windowsのダメダメなパッケージ管理システム()に依存してる方が問題
165 :
デフォルトの名無しさん :2012/08/01(水) 06:00:06.95
100倍wwwwソース出せよwwwww
166 :
デフォルトの名無しさん :2012/08/01(水) 06:01:25.23
質問するやつも回答するやつもヤジ飛ばすやつもバカばっかだなwwwwwさすがAndroid()www
167 :
デフォルトの名無しさん :2012/08/01(水) 11:36:09.61
システムでどの言語を使っているか調べるにはどうやるの? 例えば日本語が選択されているからアプリも日本語で表示させたいとか システムと自動的に連動させたい
168 :
デフォルトの名無しさん :2012/08/01(水) 11:49:31.64
さんくす
マーケットに自分でURL設定したプライバシーポリシーが出るようになったな
どんなこと書いてんの? なに書けばいいかわからないからいつもなしにしてるけど
個人でiphoneアプリ、Windowsアプリをマーケットに売って生き残れ
格安iPhoneEラーニング(学習動画多数あり)
http://tinyurl.com/7wj77om コワーキングスペースJP
http://tinyurl.com/76vdrny コワーキング帳
http://tinyurl.com/brzs486 javaやlinuxは手間がかかる 一人でやるには手間がかかりすぎる 手間がかからないで一人で開発できて
人の多いところで直接販売できる仕組みが提供されているメーカ製言語だけやる ずばりiphone またはWindow 8 Metro App Store C#
やるならメーカー製の言語 洗練された仕様 脆弱性が少なく 開発ソフトが優れ 課金ライブラリ アップデートライブラリが提供されていて 情報、書籍が多く開発しやすい
奴隷になりたければオープン系をやればいい 時間がかかり 人は多く 仕事の取り合い 足の引っ張り合い 脆弱性が多く 互換性がなく 癖があり 大規模開発中心
詳細設計しかやれない体になって年取ってぽいだ 独立もできない 手間のかかりすぎる仕様だから
派遣屋 IT経営者はその方が喜ぶ 大規模分割開発では使い捨てても独立はできまい 代わりはいくらでもいる 嫌なら辞めろ
若い派遣営業は舐めた態度をとってくる ひどいピンハネ
オープン言語、日本独自開発の言語・フレームワーク ガラパコ携帯 javascript html5 android java linux python rubyやnode.jsとかやめとけ
メディアに金を払ってステマ宣伝してくるが釣られて手を出しても情報は少なく手間がかかり スパゲッティコード 未完成 デスマに陥る
コンパイルできないからパクられ 直接売る場所がないから企業に買い叩かれ金にならない 生きていけない奴隷仕様だ
ここから抜け出すにはiPhone一択 またはWindow 8 Metro App Store(未確) C#
Objective-CやC#を覚えるとサーバーサイドからクライアントサイドまでカバーでき人の多い場所でソフトを売る権利を得られる
仕事や趣味でObjective-CやC#をやっておけば派遣切りされても会社辞めることになってもソフトを売って生きていける それはセーフティーネットになる
WEBサーバーIIS Win2008ServerVPS SqlServer Oracle MySql 言語はマーケットで売れるメーカー製のみ C#は自分用業務支援ツールとして使える
例えばPHPでWEBアプリを作っていて管理者画面はC#(EXEアプリ)で作るとかなり早く作れる(Smartyなんか使うよりもかなり早くだ)
C#のソースを出さなければWEBアプリの著作権も守れる ASP.net(C#)+管理EXEアプリ(C#)+iPhone
C#マーケット Windows8 Metroアプリ WindowsPhone Surface PS Vita Xbox360 iphone(mono使用)
iPhoneマーケット iPhone iPad 予定 iTv iCar i (家電製品)
地方に安い土地を買いコンテナ型の格安高性能オフィスを建て(300万〜500万)
レンタル自習室&シェアオフィス・コワーキングで収入を得ながらそこでアプリを開発する
http://tinyurl. com/7pb2yaa
http://bit. ly/iLIpJa
>>165 googleの検索結果のhit数が、10000件と100件程度だった。
文言をそのまま使用したので、言い方によって件数が変わるだろうことは認める。
175 :
デフォルトの名無しさん :2012/08/01(水) 16:58:43.82
eclipseで、Android(2.3あたり)アプリの開発を行っています。 ひとまず標準のUI部品でひととおり組む事は出来たのですが、 「見た目が地味だ、何とかしろ」とのジャッジを受けまして…… 書き換え等で色々いじれることは知っているのですが、自分の場合 徹底的に美的感覚が無いため、出来ることが限られます。 そこで、たとえばアイコンやUI部品などをまとめてパッケージに したようなファイル類が無いか、探しています。現状のUIを 置き換えて、ぱっと見きれいに見えるようにしたいのです。 そう言ったものの需要はどこかにありそうなのに、色々探してみましたが これというものは見つからず、詰まってしまいました。 #検索で引っかけられそうなワードが思いつかないと言うのも…… 有料無料問わず、そう言ったものを集めているリンク集や、 紹介しているページを探しています。ご存じの方、教えてもらえませんでしょうか?
android UI 素材 でググル
開発環境の話はここでも大丈夫ですか? Eclipseを使おうと思ってるんですがEclipseのスレいったほうがいいですか?
178 :
デフォルトの名無しさん :2012/08/01(水) 20:01:35.16
ちょい質問。 デフォルトの状態で、アプリケーションを作ると、最上部に アプリケーション名っぽいのがが表示されているけど、 その表示の文字列を各アクティビティごとに任意に表示を切り替えることは可能ですか?
エスパーな人よろしく
オマエには不可能
setTitleじゃない?
bootanimazion.zip より前の画像 (手元の中華Padだと付けた瞬間に中央にぽつんとドロイド君→全体のドロイド君になる)を 差換えることは出来るでしょうか? jpg, png で端末内を探してみたのですがうまく見つかりませんでした... bootanimation と同様 zip 等なのでしょうか。
ああいうのって別のパーティションに焼かれてたりしないの?
エミュレーターで、テキストボックスにフォーカスが当たっても日本語入力ができなくなった 単語予測すら出てこない・・・でも下に白のライン線が表示されるので動こうとしている? web参考にして設定見ているんだがナンともいかない・・・ 有効な入力方法に「日本語の音声」しか出てないのが原因?
Android sdkをProgramfilesに→あ。間違えたアンインスコ→やけに時間かかるなお昼にしよう→帰ってきたらProgramfilesの色々なものが消されててうわあああああああああああああああ これが私の今日一日体験したことでした。誰かこういう事やった人いる?つーかなぜ消えたのか・・・
ワロタ
なつやすみのじゆうけんきゅう?
つまりAndroid sdkをアンインスコしたら他のプログラムも巻き込んで消されたってこと? そんなことあるわけ?
出来の悪いアンインストーラーではよくあること
sdkのインストーラなんてあったけ? c直下に置いてるだけだけど
あるよ
>>175 デザイナに頼むにしろ素材を拾ってくるにしろ、iPhoneみたいなデザインや動きは無理だと上司に釘さしときなよ
パスにスペース入れたり、まともなパッケージマネージャつけなかったり、windowsって明らかに狙ってるよな。
195 :
デフォルトの名無しさん :2012/08/03(金) 09:00:45.18
質問です 初心者なのですがぐぐってもなかなかわからないのでお願いします appウィジェットを作っているのですが AppWidgetProviderを継承したクラス{ Serviceを継承したクラス{ SharedPreferencesをでデータを書き込んだり読み込んだり } BroadcastReciever{ SharedPreferencesでデータを読み込みたい } } ↑みたいな感じなのですが ブロードキャストの中で、サービスのクラスで作ったSharedPreferencesの データを読み込もうとするとエクリプスで作ってるんですが 第2引数にエラーがでてできません どうやったらブロードキャストの中で読み込めますか?
エラーの内容かけよ
197 :
デフォルトの名無しさん :2012/08/03(金) 09:29:21.21
すみません SharedPreferences sp = getSharedPreferences("sp",MODE_PRIVATE); って書くと MODE_PRIVATEに赤下線が引かれて MODE_PRIVATE cannot be resolved to a variable って言われます
Context.MODE_PRIVATE
199 :
デフォルトの名無しさん :2012/08/03(金) 10:18:25.37
それをすると今度は メソッド getSharedPreferences(String, int) は型 new BroadcastReceiver(){} で未定義です といわれました。 Serviceのクラスでは定義とかしなかったんですが なんででしょう...
method(...); って書いたら this.method(...) もしくは自分のクラスのstaticメソッドが検索される ちゃんとどのオブジェクトのメソッドか書け
201 :
デフォルトの名無しさん :2012/08/03(金) 10:28:44.88
解決しました! getSharedPreferencesも Context.getSharedPreferences とするとできました... ありがとうございました
Javaからやり直せ
マルチタッチの取得を行いたいのですが タッチAとタッチBを両方動かしていくうちにタッチBのYがタッチAのYに入れ替わってしまう現象が起きてしまいました。 幾つかサンプルをやったんですが例えばAndroidプログラマへの道にあるサンプルとかです。 この入れ替わり現象を無くす方法ないでしょうか? あとこのタッチでゲームの入力をさせようとすると反応に延滞があって思うように動きがついて来ません。 この辺は延滞を抑えるように何か具体的な工夫はないでしょうか?
厳密に言うと、タッチパネルのハードウェアとドライバ次第であり アプリ側がどうこうできる話ではない。 が、指ごとにタッチする領域が限られているような場合は、 その領域の違いを利用して各ポイントのx,yをバラバラにして推測して組み直すことで 多少は改善できる。 ただし領域が縦や横に並んでたらムリだけどな。 遅延は割とどうもならん
ていうか、タッチパネルの精度や遅延の影響が出にくいようにUIをデザインするべきだな
206 :
デフォルトの名無しさん :2012/08/03(金) 15:28:15.04
PackageManager経由して、アプリアイコン取れますが、 高解像度の画像で取ることができますか?
画面タッチしてる間かなり処理が重くなるんですが あれは割り込みがずっとかかってる状態なんですかね。 これも特に回避策ないですよね。
208 :
デフォルトの名無しさん :2012/08/03(金) 19:21:02.50
通知用LEDをnotificationを使わずに光らせる方法はありますか?
209 :
デフォルトの名無しさん :2012/08/03(金) 23:23:44.49
EditPreferenceの文字入力をfloat型のみに制限したいけど、xmlだと出来ないですね。。
以前、EditTextの入力制限を16進数にしたいと思ったが、 よく考えたら16進キーボート作らなきゃダメじゃんと気づいて諦めた。
212 :
デフォルトの名無しさん :2012/08/04(土) 03:42:39.36
初心者な質問でごめんなさい eclipse環境を作ったのですが、新規でprojectを作ろうとしても、androidプロジェクトが表示されません (android applicationプロジェクトなどは表示されます) 開発ツールも入れてるし、supportフォルダも名前はあっているし で、android applicationプロジェクトでいいのかと思い進んだものの、完了ボタンが押せない状態 どうすればいいのでしょうか?
>>212 Android Aplication以外は、
ファイル→新規→その他... から
完了が押せないのは、なにか入力必須項目が未入力のままか、
もしくは入力が正しくないから
そこまではエスパーできんわ
214 :
デフォルトの名無しさん :2012/08/04(土) 10:42:04.37
>>213 Android Aplication以外は、
ファイル→新規→その他... から
そこを開いてもないです
そもそもandroid applicationもそこにあります
215 :
デフォルトの名無しさん :2012/08/04(土) 10:45:38.08
>>213 その話だと、androidプロジェクトとandroid applicationプロジェクトは別物、ということでいいんですね?
またググってみます
ViewのonTouchEventのオーバライドで ACTION_CANCELがすぐ飛んでくるんだけどこういう経験ある人いないかな 原因に心当たりあれば教えて欲しい ACTION_DOWN→ACTION_MOVE→・・・→ACTION_MOVE→ACTION_UPとなってほしいし 通常はこうなるはずなんだけど ACTION_DOWN→ACTION_MOVE→・・・→ACTION_MOVE→ACTION_CANCELとか ACTION_DOWN→ACTION_MOVE→ACTION_CANCELとか ACTION_DOWN→ACTION_CANCELとかになる
ちゃんとtrue返してますか
GooglePlayで★5をつけないと先に進めないゲームがあるけど、 あれってどうやってんの?
219 :
218 :2012/08/04(土) 15:42:50.02
勘違い
>>212 自分も最近環境新しくしたらそうなった。
ぐぐると、R20にそういうバグがあって、サポートライブラリ再インストールすれば直るとのこと。
それをやると確かにInstall Dependencies画面が出なくなって、完了ボタンが押せるようになるんだけど、
押しても何も起こらない。ダイアログが閉じないし、プロジェクトもできない。
とりあえず古いプロジェクトでしのいでいる。
222 :
デフォルトの名無しさん :2012/08/04(土) 18:59:44.11
(new Thread(new Runnable() { @Override public void run() { Log.v("led", "sys"); while (true) { final Notification notif = new Notification(); final NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); mHandler.post(new Runnable() { @Override public void run() { notif.ledARGB = led_color; notif.ledOnMS = 400; notif.ledOffMS = 400; notif.flags |= Notification.FLAG_SHOW_LIGHTS; notif.defaults = 0; nm.notify(999, notif); } }); try { Thread.sleep(400); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); }
223 :
デフォルトの名無しさん :2012/08/04(土) 19:00:25.80
mHandler.post(new Runnable() { @Override public void run() { nm.cancel(999); } }); try { Thread.sleep(400); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); if(pm.isScreenOn()){ break; } } } })).start(); このコードを実行するとデバイスが再起動してしまうのですがなぜでしょうか?
なんかこれだけインストールしたら開発環境できるよっての ないですかねー
>>224 nvidiaとかmotorolaがそんなの配布してたような
sdkのアップデートは別口で必要だろうけど
>>212 私も同じようになって困ったのでNetbeansを使用してます
手順通りに開発環境をインストールしても Software being installed:Android Development Tools 20.0.2 とか出てインストールが完了できません グーグルのサーバーが壊れてるのでしょうか?
Eclipseのプラグインちゃんと入れたか?
230 :
デフォルトの名無しさん :2012/08/05(日) 02:09:40.02
>>216 自己解決
ScrollViewの中に配置してたせいだった
>>228 dl.google.com はときどき超遅いことがある
理由は知らない
233 :
デフォルトの名無しさん :2012/08/05(日) 07:56:53.14
ブログのテンプレートにリンク画像を貼りたいのですが、HTMLの記述が分かりません。 FLASHは使えないので、2.2秒で変わるGIF画像を作りました。その画像のリンクする先を2.2秒感覚で変えたいのですが、詳しい人HTMLを書いて頂けませんか。 画像のリンク先は4つに設定したいです。
>>232 もしかしてWIN7にはインストールできないんですか?
VISTAにはインストールできたんですがWIN7にはどうやってもエラーが出ます。
Cannot connect to keystoreとかいうエラーです。
わけがわかりません。
Win7だがインストール出来てる
俺も自分のプログラムをAndroidに移植したいと考えてはいるんだけど、 安定した開発環境がなかなかないので踏み出せない。今後主流の基盤に なる可能性もあるんだから、配布元の皆さんにはがんばっていただきたい。
>>234 日本語のディレクトリに何かしようとしてないか?
開発環境のディレクトリとユーザーのディレクトリ確認してみて
>>237 特に日本語に特別な事はしていません。
ちなみにダウンロードしたのは
android-sdk-windows-1.0_r1.zip
eclipse-java-galileo-SR2-win32.zip
jdk-6u22-windows-i586
です。
どうしてもエラーが出ます。
なぜみんなはインストールできるのか不思議です。
Androidプログラミング始めたいんですけど、 一般的なjavaから初めて、そのあとAndroid特有の部分を学ぶべきなのか 初めからAndroid用に始めるべきなのか 教えてください。
まずはTitaniumで始めるべきだと思う。
>>238 プログラミングの前に本やネット記事の賞味期限を判断できるようになって欲しいよね
>>239 他の言語やってないんだったら、javaから始めたほうがいいと思うよ。
>>242 C言語の
明解C言語 入門編 柴田望洋
を一通り終えました
数独を解かせたり、立体三目並べ(対コンピュータ)を作れる程度です。
>>241 最近の記事通りにインストールしてるんですけどね。
おそらく現在のグーグルが配布してるプログラムが壊れているんですね。
もうAndroidプログラムはあきらめます。
そもそもADT20.0.2の動作環境がHelios以降
AndroidのJavaプログラマは腐るほどいて余ってるからね Object-Cの勉強でもしたらどうかね
最近の記事通りねぇ。 動かない組み合わせで記事書いてんのかぁ。
>>238 まずSDK諸々が古すぎるから新しいのをダウンロードしてこい
あと初心者はインストーラー版使え
>>238 > 特に日本語に特別な事はしていません。
意味がわからん
下記メソッドでタイトルバーを消した後で 再表示させるにはどうすればいいでしょうか? requestWindowFeature(Window.FEATURE_NO_TITLE);
自分でタイトルバーっぽいビューを置くしか無理かと
>>252 タイトルバーの部分が空いたので同じくらいの大きさで
TextViewでも貼り付けようと思います。
r.javaが生成されずに3日戦ってるんだけど何かアドバイス下さい・・・ xmlも全て確認したけどどこにもバグっぽいものはないし・・・
>>254 R.javaを探せばいい。
もちろん、どのプロセスがどこに生成してくれるかわかった上だからバグがないって言ってるんだよな。
your project contains error please fix them before running your application このエラーメッセージが出てデバッグ出来ません ググると解決法が色々出てきたので全て試したつもりですが直りませんでした クリーン、ソース編集、キーストア名前変更など
>>255 エラー吐き過ぎてクリーンを実行したらr.javaが消えてeclipceと戦闘状態
死ぬほどクリーン、作り直ししたけど先が見えない・・・
ちょっと寝てくる
>>256 それはエラーメッセージじゃなくて、エラーメッセージがあるというメッセージでしょ。それで検索したものと同じことしてもエラーが同じじゃないと意味なのでは。先ずはエラーメッセージ読んだら?
>>257 同じこと繰り返しても無意味でしょ。
eclipse使ってたらわからないんじゃない。
それか消える前まで戻して差分とるか。
259 :
デフォルトの名無しさん :2012/08/06(月) 00:35:19.26
Android2.3で動画を再生中にピンチイン・アウト、ドラックで画像を移動させるなどの処理は可能でしょうか?
移動させる処理を自分で書けば可能だろう
AsyncTaskにCursor渡すのは行儀悪いの? 2.2、4.0.3のエミュだと問題ないのに、 4.0.4の実機だと何故か固まる、、、
ANRなのかクラッシュなのかまず明らかにしてくれ
266 :
デフォルトの名無しさん :2012/08/06(月) 19:26:09.86
画面の大きさ(解像度でなく、10.1inchや7inchというデータを知る)を知る方法はない? タブレットアプリ作っていて、10.1だときれいに出るのに、7じゃでないということで、 各画面サイズごとにレイアウトつくって対応しようと考えているのだが。 もしくは、一つのレイアウトファイルで適応させる方法でもあるのか? (画面の解像度は同じなので、dipでなく、ピクセル単位で行うとか?) 意見聞かせてください。
たしか layout-sw600dp とか layout-sw720dp などでレイアウトを作り分けるといいとかなんとか
repoでbranchを切り替える方法をググると repo init -b して repo sync しろというの ばかり見つかるけど、これすごく遅いよね?本当にこれしか方法がないのかな? プロジェクト毎に git checkout するのは普通の時間でできるのに。
269 :
デフォルトの名無しさん :2012/08/06(月) 20:19:14.04
>>267 Sony Tablet SとToshiba regza at1s0のdipを
this.getResources().getDisplayMetrics().densityDpiで見てみたのだが、
Sonyが160でToshibaが213になっていた。
基本は160を基準にしたいので、 layout-w878dpとかすればいいの?
270 :
デフォルトの名無しさん :2012/08/06(月) 20:52:34.97
>>258 それがエラーメッセージはでてないみたいなんだけど
>>266 densityDPIは実測じゃなくてdensityがある程度揃うようになってる
DisplayMetrics に xdpiとydpiがあるから、それで「実際の」ピクセル密度が分かるじゃろ
わかるね
setContentViewするまえにxdpiとydpiとwidthとheight見て、 参照するレイアウトリソースを切り替えればいいわな。 4.x 以降は raw_w = (Integer)Display.class.getMethod("getRawWidth").invoke(display); とかしないと実際のピクセル数を取れないとかいう話題もあるが適当にぐぐってくれ
>>270 ちゃんとProblemsビュー確認したか?
iphoneのscrollViewDidEndDeceleratingメソッドに対応する androidのイベント(webviewやscrollviewの)はあるでしょうか。 慣性スクロール後の静止時に処理をしたいのです。
>>275 慣性スクロールになるかどうかは端末次第
それが嫌ならScrollViewモドキから自作すりゃいい
WebViewはムリだな。
>>270 だからeclipseとかじゃなくてコマンドラインでやったらって言ってる。メッセージ出る場所が一ヶ所しかないから見逃しようがないでしょう。
ダウンロードした外部ライブラリのjarファイルってどこに置いてる? どこに置くと便利?
ダウンロードしたmavenってどこに置いてる? どこに置くと便利?
>>276 ありがとうございます
慣性スクロールかどうかは判定できなくていいので、
スクロールの終了のタイミングで確定したスクロール位置を
得たいのですが可能でしょうか
スクロール自体は検知できても、その終了時をどう判定するか
悩んでいます
ダウンロードしたapt-getってどこに置いてる? どこに置くと便利?
>>282 ScrollViewのソースを見てみたけどprivate Scroller mScroller;ってのがあった
これにアクセスできればisFinished()で判定できるけどそれができないから
ソースをコピペして独自のScrollViewを作ったらどうかね
protectedに変更するとかゲッターを作るとか
スクロール終了時にイベントを発生させるとか
>>284 Debianだと標準だから最初から入ってるよ。あえていえば、/dev/sda1かな。
Debian便利すぎ。
ダウンロードしたDebianってどこに置いてる? どこに置くと便利?
終わりかよ。つまんね。
だったらお前がボケてみろや?
>>290 ボケなのかよ。単に解決すると快適になる問題点が欲しかっただけだ。
ダウンロードしたエロゲってどこに置いてる? どこに置くと便利?
>>280 >>283 >>286 一応言っておくと自分Windowsでやってるんで
導入するとしたらmarvenまでかな
apt-getっぽいのもあるみたいだけど
一応言っておくと
295 :
デフォルトの名無しさん :2012/08/07(火) 18:07:14.74
教えて下さい。下記動作の結果を教えて下さい。 @androidアプリでSQLiteデータベースを作成。 AデータベースにレコードAを追加する。 B端末の電源を落とす。 C端末の再起動。 再起動後、レコードAは残っていますか?
はい
298 :
295 :2012/08/07(火) 18:17:21.63
>>296 例えばアプリも再起動になるのでデータベース再作成になって、
古いデータベースがなくなるとか。。。。
in-memoryにすれば残らないんじゃないか?
300 :
デフォルトの名無しさん :2012/08/07(火) 18:46:52.85
>>295 消えるならデータベースである必要がない
これは? @androidアプリでSQLiteデータベースを作成。 Abegin tran BデータベースにレコードAを追加する。 C端末の電源を落とす。 D端末の再起動。 やってみろとかなしね
やってみろ
AndroidのSQLiteってトランザクションちゃんとサポートされてるの?
SSLで通信するアプリを作ってます。クライアント認証を使う場合、2.3.3だと CertificateRequestのcertificate_typeにRSA/DSA/DH_RSA/DH_DSA以外が 渡されると DECODE ERROR になるんですが、なんか回避方法はないでしょうか? 具体的にはECDSAです。RSAしか使わないんで無視するようにしたいんですが。 ちなみに4.0だと問題ないみたいです。
Androidの最新バージョンはどうやらバグっているようです。 対策は更新しないことです。更新してしまったら終わりです。まともに動かなくなります。 これはGoogleの陰謀でしょうか? 許せません。
はい
309 :
デフォルトの名無しさん :2012/08/07(火) 23:14:30.04
SurfaceViewで映像の一部(指定した領域)だけを再生したいのですが、どうしたらいいでしょうか?
>>308 ソースは4GBになりますが、よろしいですか?
# ネタです。別人です。
androidを遠隔操作したくて、synergy androidを使ってみたのですが、 マウスカーソルが出ず実質キーボードしか使えない状態です。@3.2 /dev/input/event*を監視すると座標は通知されているっぽいのですが、 マウスカーソルを動かすと上下左右キーを押したような挙動になります。 コードを書き換えてみたいのですが、 どなたかアドバイスいただけないでしょうか。 ※droidmote serverというアプリではカーソルが出るのを確認しています。
Bitmap画像の描画について教えて下さい。 例えば半透明にしたい場合は、 paint.setColor(Color.argb(a,r,g,b)); drawBitmap(img,srcRect,dstRect,paint); でα値を設定した透明度で描画されると思うのですが、 逆に画像を暗くして描画したい場合というのは、setpixelなどで 自らpixel操作するしか方法がないのでしょうか?
emulator API9でSDK sampleのVideoViewを動かしたのですが、Cannot play videoというダイアログボックスが表示され再生できませんでした。 I/StagefrightPlayer( 34): setDataSource('/mnt/sdcard/sample/sample.mp4') D/MediaPlayer( 490): getMetadata D/AudioSink( 34): bufferCount (4) is too small and increased to 12 E/MediaPlayer( 490): error (1, -2147483648) E/MediaPlayer( 490): Attempt to call getDuration without a valid mediaplayer E/MediaPlayer( 490): error (-38, 0) E/MediaPlayer( 490): Error (1,-2147483648) D/VideoView( 490): Error: 1,-2147483648 用意したmp4がおかしいかもと思うのですが、 サンプルの標準的なmp4が配布されているところはありませんか?
314 :
312 :2012/08/08(水) 13:48:08.07
自己解決しました。 setColorFilterでグレーでフィルターをかけたら それっぽく出来ました!
ここまで質問が多いというのが、Androidの失敗を物語っている
?
>>315 質問が少ないのが成功なら、製品発表しなければ質問来なくて大成功だな。
しょっぼい返し
戯言に一切の隙を与えず論破するほうが必死すぎて気持ち悪いし、 そんなもんでいいと思うけどね
そういや反サムスン国コピペでAndroidスレ荒らす仕事はもうやめたの?
意味不明な煽り→総スカン→逆ギレ
まるでグックのようだな
ここまでレスが多いというのが、
>>315 の失敗を物語っている
326 :
デフォルトの名無しさん :2012/08/09(木) 01:16:52.73
音声の再生について質問なんですが 拡声器のように、声をマイクで受け取ってそのまま音声を出力する方法は ないでしょうか 調べても、いったん録音したものを再生する方法しか見つかりませんでした。 声の入力と平行して出力も行いたいのです
327 :
311 :2012/08/09(木) 04:01:29.58
解決しました。 dumpsys windowでevent hub stateを見比べて パラメータ修正したら出ました。
Google APIってなんなんですか? 使うんですか?
Google Maps とか 使いたければ
PalettedImageが見つかりません
アプリのキャプチャ動画作るのにscreencast以外に 良い方法ありませんか? screencastだとカクカクになる。
ない
Intent.ACTION_SENDでメールを送信する機能を使おうと思っています。 ただ、開発しているエミュレータの環境からはメールサーバーにアクセス できず、Emailの設定が完了できないため有効なActivityとして現れません。 実際に送信はできなくてもいいので、なんとかして設定だけしてしまう方法は ないでしょうか。
実機でやれ
ACTION_SENDを受ける側のアプリも作っちゃえばいいんじゃね
実機だってサーバーに接続できなきゃ設定できないのは一緒だろーが。
>>333 そのエミュ動かしてるホストでsmtpサーバも動かせばいいんじゃ。dnsがネックになるケースもあるけど、自分で送信するソフト書いているのなら問題ないだろう。
私はexpect使って15分くらいでサーバ書いた記憶がある。
338 :
デフォルトの名無しさん :2012/08/09(木) 21:07:16.74
一つのxmlでDatePickerを複数扱う場合、どうすればいいのでしょうか? setOnTimeChangedListenerみたいなメンバ関数が無いので分かりません
340 :
デフォルトの名無しさん :2012/08/09(木) 23:35:43.29
String moji = "mojimoji"; があって 今まではmoji.って入力するとmoji.replaceAll()などの候補が出たのですが急に出なくなりました 自動有効可を使用可能にするにはチェック が入ってます
341 :
デフォルトの名無しさん :2012/08/09(木) 23:46:30.44
>>340 cleanしたり再起動してたら治りました
スレ汚しすいません
342 :
261 :2012/08/10(金) 01:34:39.91
>>261 原因がようやく分かった
AsyncTask内で時間がかかるループ処理をしてるんだけど、
そのループを囲むようにして、
トランザクションをはってることが原因だった
アプリケーションのContext使ってDBオープンしてるんだけどね、、、
スレチだったらすまん 久しぶりにAndroidの開発やろうとしてEclipse起動したらなんかSDKが読み込まないんですけどどうしたらいいのですかね
346 :
261 :2012/08/10(金) 09:47:13.44
>>345 どうもありがとう
当たり前なんだけど排他のこと忘れてたw
Contextに関係なく排他制御の問題だなこれは
家帰ったら試してみる!
>>343 最新バージョンに更新すると、なぜかぶっ壊れる。
Googleのミスだと思うので、Googleが修正してくれるまで無理そう。
マーケット登録者激増なんで、開発者を排除したいんですかね?
>>348 途中で送信してしまった
r20で壊れるの?
>>343 SDKが読み込まないじゃ状況が分からんから詳しく
古いeclipseで、sdk updateかけたとか
>>347 とりあえずsdk単体で使ってみて切り分け。
カメラプレビューのYUV→RGBの変換でよく見かけるNDKのソース改変してるんだけどうまくいかない
RGBに変換するついでに90度回転させて縦長の画像にしたいんだけど
forのあたりだけ弄ってラスター捜査の方向を変えるだけっぽくしたんだけど、他に何かいるんですかね
for (j = 0, yp = 0; j < width; j++) {
int uvp = frameSize + (j >> 1) * height, u = 0, v = 0;
int i = 0;
for (i = height-1; i >= 0; i--, yp++) {
int y = (0xff & ((int) yuv420sp[yp])) - 16;
if (y < 0) y = 0;
if ((i & 1) == 0) {
v = (0xff & yuv420sp[uvp++]) - 128;
u = (0xff & yuv420sp[uvp++]) - 128;
}
int y1192 = 1192 * y;
int r = (y1192 + 1634 * v);
int g = (y1192 - 833 * v - 400 * u);
int b = (y1192 + 2066 * u);
if (r < 0) r = 0; else if (r > 262143) r = 262143;
if (g < 0) g = 0; else if (g > 262143) g = 262143;
if (b < 0) b = 0; else if (b > 262143) b = 262143;
rgb[yp] = 0xff000000 | ((r << 6) & 0xff0000) | ((g
>>2 ) & 0xff00) | ((b >> 10) & 0xff);
}
}
そろそろ外に貼ってリンクする習慣をだな
ボタンを押したときにどんなintentが呼ばれるか又は何も呼ばれないか確かめる方法ってありますか? Search長押しだとandroid.intent.action.SEARCH_LONG_PRESSのintentが呼ばれますがこのようなのを取得したいんです
356 :
デフォルトの名無しさん :2012/08/11(土) 02:15:55.11
すまんちょっとヒントをくれないか。 Canvasでいろいろグラフとか書く自作ライブラリを作っているのだが、 突然、下のようなエラーが出るんだ。 D/NvOsDebugPrintf(20655): NvRmChannelSubmit failed (err = 196623, SyncPointValue = 95605661) 08-11 02:04:16.910: D/NvOsDebugPrintf(20865): NvRmChannelSubmit failed (err = 196623, SyncPointValue = 95628885) 08-11 02:04:20.420: D/OpenGLRenderer(20865): GL error from OpenGLRenderer: 0x505 08-11 02:04:20.420: E/OpenGLRenderer(20865): OpenGLRenderer is out of memory! エラーの要因となりそうなことって何かな? 回避するためには何をすればいいかな?
357 :
デフォルトの名無しさん :2012/08/11(土) 09:52:10.41
>>356 グラフをどうやって書いているのかわからんから適当にエスパーしてみると
Pathを大量に作りすぎてメモリあふれでも起こしているんじゃまいか
> OpenGLRenderer is out of memory!
こう書いてあるし
いろいろ工夫してみてもどうにもならなければ 問題のビューに android:layerType="software" を付けると OpenGL を使わないソフトウェア描画になるよ
359 :
デフォルトの名無しさん :2012/08/11(土) 10:23:37.99
>>357 作っているのは折れ線グラフだから、パスはどうしても多くなってしまうしなー。
処理手順的には、
1:List<Double>で、表示するグラフの値を取得
2:Viewの大きさから、canvasのどの位置に表示させるのか計算によって算出
3:計算した座標をList<PointF>に入れる
4:canvas.drawLineでList内の座標を線で結ぶ
5:各値を示す点は、特定の閾値内なら円を逸脱なら三角形(パスを使う)を描写
三角形の描写は多くても最大15個位(つまり45個のパス)だから、問題はないと思ったんだけど。
回避するにはどうしていったらいいのかな。
360 :
デフォルトの名無しさん :2012/08/11(土) 10:25:56.62
>>349 r20で壊れます。
Google的にも救済措置として、r14のダウンロードページを用意しているので、それを使用する。
そしてSDKのときADKを絶対更新しないことです。
>>361 俺はなんともないけどな
新しいプロジェクトがめんどうになってLintエラーが出るようになったくらいだな
Google checkoutの 全般的なストア情報 カスタマー サービス情報 これって全部入力するとGooglePlayで何か変わるの?見た目変わらんような
366 :
361 :2012/08/11(土) 12:48:13.78
367 :
361 :2012/08/11(土) 12:49:59.90
>>365 すいません
r14じゃなくてADT14.0.0のことでした。
SDKのとき、ってのがよくわからんが、どういうこと?
アンドロイドのサイトに ・Eclipse 3.6.2 (Helios) or greater Note: Eclipse 3.5 (Galileo) is no longer supported with the latest version of ADT. とかあるので、ガリレオでは動かないのかもしれない
>>369 Helios以上はADT16のころからだよ
このスレおなじみの古い解説を見て古いバージョンを入れたと思われ
もしかしたらEclipseのバージョンが低いとエラーが出るんですかね?
>>366 間違いない。あんたのeclipseが古いだけ。
古くても新しくても不安定って難しい開発環境だな
376 :
デフォルトの名無しさん :2012/08/11(土) 14:07:23.94
エラーで送られてきたデータをリトレースしたら at com.example.MainActivity$20$1.run という感じになったのですがどういう意味なのでしょうか?
>>376 そこで作られた名前無しthreadとかじゃない。
>>376 MainActivityの20番目の匿名クラスの1番目の匿名クラスのrunメソッド。
行番号出てないの?
ワークスペースをD:\USERに指定しても C:\USER\ユーザー名\.androidというファイルができてしまうんですが、 D:に.androidを移す方法はありませんか?
ジャンクションでもシンボリックリンクでもお好きな方法でどうぞ
>>379 windowsの設定じゃ。
それだけ変えたいと言うなら、環境変数HOMEか、javaのuser.dirあたり見てるんじゃないの。
にしてもwindowsのドライブっていつまで続けるつもりだ。
382 :
デフォルトの名無しさん :2012/08/11(土) 20:12:54.14
>>377-378 最近買ったICSのタブに最適化してる時に行番号が出ました
AsyncTaskのなかでエラーになってました
383 :
デフォルトの名無しさん :2012/08/11(土) 20:15:27.97
>>381 うちのオカンがパーティションとマウントの概念を理解したら
おまえらの開発用PCのOSと開発環境おしえろください
>>384 Debian+emacs+maven+etc.
ウィンドウズ ビスタ + エクリプス
googlemapsのMapView#getMapCenter()で取得したGeoPointの緯度経度から新しいGeoPoint作ると
マップを初期位置からスクロールしているほど画面中心からずれるんだけど何とかならんですか?
ズームレベル21でスクロールするとびっくりするぐらいずれる
ソース
http://ideone.com/klol4
388 :
デフォルトの名無しさん :2012/08/11(土) 23:20:22.64
Mediaplayerでダウンロード中に再生するとエラーが出ないのにダウンロードが終わってから再生しようとすると java.io.IOException: Prepare failed.: status=0x1 と出て再生されません コードは下記の様な感じでファイルはちゃんとあります mp.reset(); mp.setDataSource(File.getPath()); mp.prepare();
r20は重いのでバージョンダウンしようと思ったのですが 以前のバージョンを置いてあるところは知りませんか? 違法コピーサイトからダウンロードするとウイルスになるので嫌です
接続をWIFI onlyにする方法ってありますか?
ConnectionManagerで接続の種類調べたら?
中華の4.0タブレット注文してしまった 何も書いてなかったけど4.0なら開発に使えますよね?
ノーパソあるいはモバイルノーパソでecripse使って開発してるひといます?
いるんじゃないの? 終了
ノーパソでエクリプスで開発してますが?
398 :
261 :2012/08/12(日) 22:52:26.93
LenovoのThinkPadで開発してますが何か?
>>397 ,398
なるほど、自分もノーパソでやろうかどうか迷ってたんですけど聞いてよかったです。
ノーパソでやってみます。
最近のノーパソは安くて性能いいからなあ うちのデスクトップより高性能 もう古いからマザボとCPU、グラボ、メモリと全部変えないといけないからなあ その金額でノーパソが買えたりするわけよ
Ultrabookでメモリ4GBあるやつなら普通に開発できる やはり薄いのはイイ。持ち運びがラクだし打ち合わせ時にハッタリが効く
じゃあLaVie Z買って開発用にしよう。 若干スペックどうなんだろと思っていたが。 エミュをゴリゴリ動かすことはないし大丈夫か。
403 :
デフォルトの名無しさん :2012/08/13(月) 12:26:53.94
Androidの2chブラウザって何使ってる? タブレットだけど。
タスクキルできるとかいうアプリがあるけど あれってユーザーが起動したアプリはキルできないよね? でもできるみたいな説明書きしてるのは何なんだろう?
既出なら申し訳ないのですが、Android4.0でスクリーンキャプチャする方法はありますか? プログラム上で実現したいのですが、検索してもSDKからのキャプチャの方法しか出てこないので・・ 検索ワードやサイトへのリンクでも構わないのでお願いします。
root なら /dev/graphics/fb0 が読めるんじゃない
作成したアプリがそのIntentのデフォルト動作設定にされているかを取得する方法はありますか?
さーせん。PackageManageのresolveActivityで取れるか
ViewのBitmapを範囲指定して取得したいのですが getDrawingCache()だと全部取得してしまうようです いいアイディアがあればお願いします
413 :
デフォルトの名無しさん :2012/08/13(月) 21:23:50.76
ローカルにあるデータファイル(画像やテキストなど)を暗号化してローカルに保存する処理を 作っているのですがセキュリティに関して質問があります。 暗号化はAESを使うのですが、アプリ内部で暗号・複合を行うため、ユーザにはパスワードなどは入力させません。 そうすると、 SecretKeySpec key = new SecretKeySpec(鍵, "AES"); の鍵をどこかで保存しておく必要があると思います。 しかし、root権限を持っていれば、/data/data/・・・に置いても見られてしまいます。 そこで、その鍵にapkの自己署名をtoCharsString()した値を利用しようかと思います。 getPackageManager().getPackageInfo(getPackageName(),PackageManager.GET_SIGNATURES).signatures[0].toCharsString(); この自己署名の値って、解析するなどして簡単にバレるようなものでしょうか? セキュリティ的にまずかったりしますか?
414 :
413 :2012/08/13(月) 21:28:00.91
すみません。訂正です。 >そこで、その鍵にapkの自己署名をtoCharsString()した値を利用しようかと思います。 >getPackageManager().getPackageInfo(getPackageName(),PackageManager.GET_SIGNATURES).signatures[0].toCharsString(); 自己署名だけなら、他人が複合できちゃいますね、、 「自己署名+ANDROID_IDをハッシュ化したもの」に訂正します。
>>413 うん。APK内部のデータは厳密には保護できないよ。
アプリ内部に保存してる時点でそこそこセキュリティにしかならないのでは
417 :
413 :2012/08/14(火) 06:10:43.21
>>415 ,416
ありがとう。
やっぱり、そこそこレベルかー。
今回は、そこまで厳密じゃなくていいので、これで行こうかと思います。
これ逆にハッキング手法教えてることにもなってない?w
root取られてるって意味判ってないのかな 常に全部見られてると思えよ root取られて安全な方法はない root取ってたら動作しないように作るべき
どのdrawableに画像を入れればいいのかわかりません いちいち何種類もサイズの違う画像作って入れないといけないんですか?
すべての機種で綺麗に表示したければ、すべてのサイズの画像を作るべきだが、 別に画像の綺麗さなど気にしないなら、1種類だけ用意しておけばテキトーに拡大縮小してくれる 特に綺麗に表示したいものだけサイズ別に用意して他は1種類だけというやり方もありうる 俺はアプリは機能と使い勝手こそが重要で見栄えなんかどうでもいいと思ってる方だが、まぁ考え方は人それぞれ
>>422 なるほどわかりますた
どのフォルダに入れても問題ないんでつね
>>421 ユーティリティ系の場合:
ランチャーアイコンと通知アイコンだけは各サイズ分つくっとけ
残りの奴は1種類だけあれば勝手にリサイズしてくれる
ゲーム系の場合:
各サイズ別にAPK作って自動的に適切なのがダウンロードされるようにしとくのがベスト
425 :
デフォルトの名無しさん :2012/08/14(火) 15:13:25.54
テキストファイルを保存したくてサンプルをコピーして作っていますが、作ったファイルが見当たりません。 デフォルトのフォルダ?に作られるとのことですが、これはどこですか? パスを指定したりはできますか?
427 :
デフォルトの名無しさん :2012/08/14(火) 16:06:46.69
いろいろサンプル混ぜたんで・・・ みんな/data/data/[package_name]/filesに書き出されるようになってるけど そんなフォルダすら無い
そこは基本的にアプリ以外からは見えない
assetsフォルダにバイナリファイル入れて読み込みたいんだけど "java.lang RuntimeExeption can't create handler inside thread that has not called looper.prepare()" とログに出て落ちる ネットで調べてもonCreate内で読み込みしてるのしか見つからないし 別クラスで読み込むのはどういうのを書けばいい?
それファイルアクセスとは関係ないんじゃね? UIスレッド以外で何か表示しようとしたとか?
アクションバーの下位互換ってどう対応してる?
actionbarcompat
>>431 表示してるとしたら予期せず停止しましたのエラーのtoastだけだから
別の問題ないか探してみる
UI スレッド以外の場所で Handler を作ると落ちるよ もしくは new Handler(Looper.getMainLooper()); のようにメインルーパを明示的に指定すれば問題ない
ViewPagerのページの中にaddViewでビューを追加するにはどうすればいいんでしょうか? XMLレイアウト中のLinerLaiyoutのIDを指定して直接追加するとクラッシュします。
円形プログレスバーの回転って止められるの? プロパティどこ探してもそれっぽいのがないんだが…
いや、そもそもなんで止めたいの?
メインスレッド以外でHandler使う場合は newする前にLooper.prepare、した後にLooper.loopが必要 ちゃんとは覚えてないからドキュメント読んで
240X240で作ったアプリを480X480で表示する簡単な方法はありませんか?
上下左右に120ドットずつ枠を付ける
iPadってiPhoneのアプリ立ち上げると真ん中に枠付きで(´・ω・`)ショボーンと表示されるんだな あとx2表示機能付きで
枠つきや、X2表示プログラムを自分で作らんといけないの? ハード的に制御する機能はないんですか?
240x240dp なら別に何もせんでもxhdpiな機種で 480x480pxになるし、 3.2以降のタブレットには互換拡大モードもある 互換性のない書き方をしておいて「自分で作らんといけないの?」はアホだろ
446 :
デフォルトの名無しさん :2012/08/15(水) 14:34:11.47
ステータスバーの実行中の項目に、 ボタンとか埋め込む方法ってありませんでしたっけ? どこかのブログで見た気がするんですが、 わかる人がいたら教えてください
RemoteViews を作って Notification#contentView にセットする 3.0 以降なら RemoteViews にボタンを埋め込めば普通に埋め込める 2.x は見た目埋め込めるけど反応しない
448 :
デフォルトの名無しさん :2012/08/15(水) 16:22:52.17
HoloEverywhereを使って出したダイアログのボタンが標準のままなんですが何が悪いのでしょうか? new HoloAlertDialogBuilder(this) .setTitle("Warning") .setMessage(getString(R.string.warning)) .setPositiveButton("Yes",new DialogInterface.OnClickListener() { public void onClick( DialogInterface dialog,int whichButton) { /* ここにYESの処理 */ } }) .setNegativeButton("No",new DialogInterface.OnClickListener() { public void onClick( DialogInterface dialog,int whichButton) { /* ここにNOの処理 */ } }) .setOnCancelListener(new OnCancelListener() { public void onCancel(DialogInterface dialog) { } }).show();
Camera.Parameters#setPreviewFrameRateって利かなくない? 複数の端末で調べてみたけど、設定値無視されてるっぽいんだけど。。
スレタイ3万回読め
SDK 20.0.3/ADT 20.0.3
454 :
デフォルトの名無しさん :2012/08/15(水) 20:36:00.07
>>449 出来ないんですね
レイアウト作って地道にやります
ありがとうございました
455 :
デフォルトの名無しさん :2012/08/15(水) 20:44:35.12
456 :
デフォルトの名無しさん :2012/08/15(水) 21:11:27.94
android:indeterminate="true"でできました
確かICSから追加されたユーザが起動したタスクの履歴を削除するAPIの名前なんでしたっけ?
実機の設定のUSBデバッグをホームスクリーンのショートカットにして置く方法ないですかね
ListActivityに表示した項目をクリックしたら別のActivity起動させてるんだけど、 startActivityForResult実行直後(onResumeや新規ActivityのonCreateの前)に ListActivityにセットしたAdapterのgetViewが画面の表示行数分呼ばれるんだけど、なんで? というか意味あるの? 意味ないなら動かないようにしたいんだけどな〜。 新規Activity終了時にもgetViewが呼ばれるけど、こっちは再表示に必要なのかね?
460 :
459 :2012/08/16(木) 16:58:47.57
訂正:onResume→onPause
javaプラグラムは難しいのでXMLだけでアプリを作りたいんですが <HTML>の<A HREF=".html">みたいな別XMLファイルへリンクできる命令はありませんか?
>>461 もう全部HTMLで作ってWebView貼り付けるだけにしとけばいいんじゃね?
>>461 君は死んだほうがいいよ
javaできるけど職がなくてニートやってるやつがごろごろ居る世の中だから
>>461 javaで作るのは簡単だから、そういうライブラリあるかもね。ただhtmlだけでいいんじゃないの。
466 :
デフォルトの名無しさん :2012/08/16(木) 18:46:00.95
___ ━┓ ___ ━┓ / ― \ ┏┛/ ―\ ┏┛ / (●) \ヽ ・. /ノ (●)\ ・ / (⌒ (●) /. | (●) ⌒)\ /  ̄ヽ__) / | (__ノ ̄ | /´ ___/ \ / | \ \ _ノ | | /´ `\ -------------------------------------- このスレはあなたにとって役に立ちましたか? ○ 人生を変えた ○ 非常に役にたった ○ 役にたった ○ どちらともいえない ○ 役に立たなかった ○ 全く役にたたなかった ○ むしろ見てくれた連中に謝罪が必要 ● 死んで詫びろ
javaができて職がないってことはないわw
HTMLだけでアプリにできるんですか? アプリにしないと販売できないので・・・
>>467 androidの仕事なくない?趣味でやってるわ。
phpとjsの仕事ばっかまわってくる。webデザイナが単価安く受けるか、発注側が趣味で書いたことあるからだろうなぁ。
まあAndroidの仕事はないな っていうかあっても手出ししたくないが
471 :
デフォルトの名無しさん :2012/08/16(木) 21:29:00.75
ずっとAndroidの仕事やってるよ iOSと比べてUIがしょぼいしょぼい言われまくったので、 NDKとOpenGL使ってごりごりUI作ってまふ もうAndroid&JavaやってるのかC++&OpenGLやってるのかわからなくなって来た
テスト
>>471 すみません、javaでandroidの仕事ということでした。スマフォ向けサイトの仕事ならある。業務系だから。ゲームとかグラフィック系はノウハウが全然別っぽいので手を出してないです。
javaができないとAndroidプログラムは無理ですか? XMLをいじるだけでも色々できたのでjavaなしでもいける気がするのですが
javaが出来ないと無理です
そこをなんとかなりませんか?
477 :
デフォルトの名無しさん :2012/08/16(木) 22:14:19.71
じゃあ SDカードからえっちな画像を読み込んで画面に表示 くぱぁ操作で拡大縮小 タッチ&スライドで画像を好きな位置に移動 をXMLいじるだけで出来るところを見せてください
やりましょう
Cなんかもっとわからん
progressDialog = new ProgressDialog(getCon()); progressDialog.setTitle("通信中"); progressDialog.setMessage("データ取得中・・・"); progressDialog.setIndeterminate(false); progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); progressDialog.show(); threadProc th = new threadProc(); th.start(); // 処理 while(th.isAlive()){ // do nothing } progressDialog.dismiss(); ってやると表示されずに終わってしまいます。 最後のdismissをコメントアウトすると、処理が終わってから表示されます。 処理の前に表示し、処理後に閉じるにはどうすれば良いのでしょうか。 Android 4.0 のAVDでやってます。
482 :
デフォルトの名無しさん :2012/08/16(木) 23:41:18.93
483 :
デフォルトの名無しさん :2012/08/16(木) 23:43:21.30
WEBから9patchを取得して設定したいのですが Bitmapから9patchに変換するところで失敗してしまいます どのようにすればいいかわかる方いるでしょうか? もしくは9patchはapk内に含まれてないと認識されないのでしょうか?
484 :
デフォルトの名無しさん :2012/08/16(木) 23:47:32.67
画面をタッチして撮影、画像を保存するだけの何の変哲もないカメラアプリを 作っているのですが、GalaxyTab(OS2.2)で動かすと撮影後に画面が真っ暗になり 落ちてしまいます。。 同様の経験がある方、いらっしゃっいましたら対処方法を教えてください。 画面タッチでStopPreviewしてTakePicture、再度タッチで再びStartPreviewしています。 autofocusメソッドも呼んでいます。 onShutterは呼ばれていますが、PictureCallBack_jpgのonPictureTakenで 落ちているみたいです。 LogCatにはError100とかICamera died、Camera server diedとか出てはきますが、 アプリから例外は出ていません。 GalaxyS(2.3)やIS13SHでは問題なく動きます。 機種依存などがあるのでしょうか。
>>481 Dialog#show()とかは、呼んだ後の次以降のターンにて表示が行われるんだとおもふ
だから、show()呼んだのと同じメソッド内で何か処理させて終わるまで待ったら、
何も表示されないと思う
ていうか別スレッド使うなら、処理結果はコールバックとかで返してもらうのが普通だと思う
とか適当書いてみた
>>485 ということは、th.start(); で終わらせて、そのあとの処理は th.run() の中から呼ぶということですか。
threadのクラスとは途中でデータのやり取り(中止させたり)をしたいので、そのあたりもちょっと考えないとダメですね。
ありがとうございました。
>481 UIスレッドはアプリのインスタンス毎に一つしかないから ProgressDialogを呼び出せるスレッドをループさせて止めたら 他の一切のUI部品は呼び出されないから更新されないよ setOnClickListenerとかでインターフェース設定してそこのメソッドは 抜けて、それが呼ばれるのを待つんじゃないかな
ProgressBar使うならThreadよりもAsyncTaskのほうがトラブル少ない
>>488 コンパイルは盲点でした・・・
9.pngになってればいいものかと思ってました
ありがとうございます
491 :
デフォルトの名無しさん :2012/08/17(金) 06:17:40.14
Docomoのスマホに、自作アプリ入れたいんですが、どうすればいいですか?
しゃべってコンシェルに聞けばいいよ
ていうかxmlだけでアプリ作れるの? javascriptならわかるけどさ
>>491 1.コマンドプロンプトからadb install
2.eclipseから実行→デバッグ
※他の開発環境は知らん
3.端末をmtpモードにしてapkを直で移す
4.マーケットにアップしてダウンロード
やり方は主にこの4つ、、、だと思う
詳しいやり方は自分でググッて
>>493 写真や文章をスクロールできて表示するアプリは
XMLをいじるだけで作れました
あと時計を表示するアプリもできました
javaいじらないでもかなりのアプリが作れると思います
>>495 その元になったアプリは何?
参考としたHPとかってどこ?
>>495 そりゃ人の書いたアブリやライブラリもってくれゃアプリはできるよ。
ただ、
>>474 でいってるandroidプログラミングといえば、javaプログラミング言語を書くことだから。
xmlってlayoutしてるだけじゃねーの。何もロジックが含まれないような。
ああそういうことか 確かにレイアウトのxmlだけで時計とか作れるわ でもjava書かないとボタンの表示はできても動作は無理じゃね
xmlだけでできるって言うと小説アプリとかかな?
>>498 xmlの属性に独自のって定義できなかったっけ。できたらその値をlayout名にすれば、どのlayout呼ぶかくらいはできそう。javaでそういうライブラリがあれば。
というかTitaniumとかじゃ駄目なのか。
xmlだけでアプリが作れるなんてすごいですよね 今までjavaが苦手だった人にも救いの道が見えてきたのかもしれません そのうちもっとxmlに拡張機能がつくようにgoogleに期待します
xmlだけで作るといってもeclipseは使ってるんでしょ? それとも専用のツールみたいなのあるの?
eclipseのグラフィックツールを色々試しています (コンポーネントをドラッグして埋め込むやつ) まずは時計アプリを作ってみましょう アプリとして動いたときの感動は何ともたえがたいものです
ああ、やっと判った。 Eclipseで新規プロジェクト作ったら、 MainActivityと、そこへ貼り付けるLayoutが自動で作られるから、 そのLayoutをグラフィックエディタで弄って、それをビルドしてる ってことか。
初心者には感動だろうが 誰にでも簡単に作れる物=他の人も簡単に作れる=他人に必要とされてない=自己満足アプリで終了 という事に気づき 次のステップ、ソースをいじって独自性をアップ、のところで まったく初心者向けじゃない物だと悟るわけだ
プログラムのプの字もしらない多くのシロートが ガラケーで1から勉強してjavaでガンガンアプリを作れてた時代を知ってるから javaできないって聞くと、消えろとしか思わん 結局日本人の探究心って数年前から急激に落ちたのかもな
実機でのデバッグ実行を試そうとしていて、ドライバもインストールされ ADB も認識はしているのですが、 Device Chooser で表示される Target が Unknown になっており実行できません。 なぜか Serial Number も本体に書かれているものと全く異なっています。 この症状について何かご存知ではないでしょうか。デバイス自体は root を取ったりなどはしていません。
>>508 端末の設定で提供元不明にチェック入れてusbデバッグモードにして擬似ロケーションもオンになってる?
なってるなら分からんググッた方が早いかも
てか何の端末を使ってるか書いてくれんと分からない。端末によっては専用のドライバソフトが必要だったりするし
>>509 X06HTを使用しています。端末側の設定は必要なものがチェックが入っているのを確認しました。
少し前に修理に出したのですが、これが関係しているのかもしれません。
もう少しググってみて、だめなら明日ショップに持っていってみます。。
513 :
デフォルトの名無しさん :2012/08/17(金) 21:22:41.03
Junoと最新ADTプラグインでレイアウトエディタがクソ使いにくくなってるんだがうちだけ? プロパティを表内で直接編集できない。 レラティブレイアウトのお隣さんを 指定すると必要な場合でも@+idの+が入らずコンパイルエラーになるソースを生成する。
Androidアプリとサーバー上のMySQL連携を考えています。 接続の方法についてですが、以下の2つ案について検討しています。 @Android+JDBCで直接MySQLに接続 AMySQL+PHPでXML形式で取得 @の方法だと少ないコード量で実装できると思うのですが、DBのID、パスワードは逆アセンブルにより漏洩してしまいますよね? Aだと、PHP側で必要な処理(最低限のレコード削除処理等)のみ可能とし、危険性は少なくなると考えています。 やはり、危険性を考慮するとA案が妥当でしょうか? 他にセキュリティ面で有用な方法があれが教えて下さい。
515 :
デフォルトの名無しさん :2012/08/17(金) 23:08:03.01
>>514 >>516 きぃーみーは だーれーとー キッスをーすーるぅー
/ ̄\ / ̄\
|/ ̄ ̄ ̄ ̄\ / ̄ ̄ ̄ ̄\|
| /V\\\ | /V\\\
| / /|| || | | //| || |
| | |(゚) (゚)| | | | (゚) (゚) /|
ノ\|\| (_●_) |/ \| (_●_) |/|/\ わぁーたーし そーれーとーもー
彡、 |∪| 、` ̄ ̄ヽ /彡、 |∪| ミ \
/ __ ヽノ Y ̄) | ( (/ ヽノ_ |\_>
(___) Y_ノ ヽ/ (___ノ
\ | | /
| /\ \ / /\ |
| / ) ) ( ( ヽ |
∪ ( \ / ) ∪
\_) (_/
/ ̄ ̄ ̄ ̄\
/;;:: ::;ヽ
|;;:: ィ●ァ ィ●ァ::;;|
|;;:: ::;;|<俺?
|;;:: c{ っ :;;|
|;;:: __ノ ::;;;|
ヽ;;:: ー ::;;/
\;;:: ::;;/
|;;:: ::;;|
|;;:: ::;;|
/ ̄ ̄ ̄  ̄ ̄ ̄\
|;;:: ::;;|
|;;:: ::;;|
悪いこと言わないから素直にjavaで開発しとけ 情報も多いし開発環境も抜群に良い
逆に言うと、 もし、勉強熱心かつBlogとかこまめに更新できるタイプなら まだみんなが手を付けてない開発環境を選べば、その第一人者になれるかもよw
>>517 javasclipt、perlで開発試したけどjavaに戻った
よっぽど専門でやるというやつでないと折れるし
ブログで書いたって大して金なんかにならない
javaの特集のほうが金になるね
>>503 それただ単にxmlでDigitalClockとか呼び出してるだけじゃないのか?
ああいうのはあらかじめjavaで動作や仕様が作られててそれをxmlで呼び出して配置してるだけだろ
元々javaは用意されてるんだからjavaはいらなくて当然だろ
>>513 レイアウトエディタ使うか?
タグ補完も使えるし慣れたら普通にxml書いたほうがやりやすいよ
左ペインは書いた結果どう見えるか確認するときぐらいしか使ってないや
>>514 RDBMSってそもそも、権限を適切に設定したアカウントで繋ぐように設計されてるのでは。全権限与えたひとつのアカウントのみで繋ぐwebappの方が異常かと。
522 :
デフォルトの名無しさん :2012/08/18(土) 00:29:43.25
>>514 1のやり方は貴方の言うようにセキュリティ的にまずい。
普通は2のようにWebAPI作ってやる。ただ、XMLなんてレガシーなの使わずにJSONでいんじゃね?
CakePHPなら簡単にJSON吐けるし、Android側も簡単。
見た目はXMLのほうがわかりやすいけどね。
まあ、好みだから別にXMLでもいいと思うけど。
作るアプリにもよるが、一般公開するなら普通に2の方法。
特定の人のみ公開(特定企業の業務アプリなど)なら、2の方法+クライアント証明書やVPNなんかがいいんじゃないかと。
韓国経済が急激に失速している。一番の原因は、これまで韓国経済を引っ張ってきた原動力である輸出に陰りが見え始めたためだ。
輸出に次いで内需の鈍化も懸念されている。住宅価格の下落とそれに伴う消費や投資の抑制がみられ、バブル崩壊以降日本が苦しんだ
「日本型長期デフレ」の兆候が現れている、との指摘も少なくない。
■好調に見えたのはヒュンダイやサムスンだけ
韓国の輸出は、2012年7月の通関ベースで前年同月に比べて8.8%減と大きく減った。マイナス幅は3年ぶりの高い数値だという。
これまで韓国の輸出をけん引してきた自動車の輸出が頭打ちになったのをはじめ、船舶や石油化学製品、携帯電話など主力製品の輸出が急速に落ち込んだ。
韓国の輸出額は国内総生産(GDP)対比で50%を超える。「輸出国」といわれる日本でもGDP対比では10%半ばだから、輸出依存度の高さは圧倒的だ。
そのため、輸出の不振は即韓国経済の失速に直結する。
なかでも韓国経済を支えてきたのが欧州連合(EU)向けの輸出。EUとは自由貿易協定(FTA)を結んでいる。そのEU向けが12年1〜6月期には前年同期に
比べて16.0%も減った。EU諸国の債務危機から発した景気低迷が影響した。
さらには中国向けも1.2%減った。第一生命経済研究所経済調査部の主任エコノミスト、西?徹氏は、「中国向け輸出の減少はボディブローのように効いています」と話す
。韓国の素材や部品メーカーは中国を介して、間接的にEU向け輸出を増やしてきたからだ。
http://headlines.yahoo.co.jp/hl?a=20120817-00000006-jct-bus_all
gallery系のUIで、画面に表示されていない部分の画像は空白になっていて、表示されてから読み込まれる処理ってどのイベントを使っているのでしょうか。 android.widget.Gallery でのサンプルとか無いですか?
イベントっていうか Adapter#getView では
>>525 それは、表示される画像を渡す関数ですよね。
渡した後、画面外にいって画像が必要なくなった時に解放するにはどのようにするのが効率的なのかが知りたいのです。
画面外にいって必要なくなった古いビューが getView の第2引数に渡されるから解放するなり好きにすればいい
設定のUSBデバッグの項目をホームスクリーン上のショートカットとして置くことはできませんか?
最近androidのサンプルソースなんかをいじり始めた初心者なのですが TextViewやSpinnerなどを複数入れ子にしたLinearLayoutを行とするScrollViewを作成しています。 さらにこのLinearLayoutひとつひとつにタッチされたか判断して選択行の色変えをする 機能を付けたいと思い、setFocusableとOnClickをあわせてなんとかその機能を実現しました。 そこで1つ困っていることがあるのですが、どの行も一度触ってTouchMode(?)にしてから もう一度触らないとしないと色変えがなされません。 日本語が下手ですみませんが、色変えしたい行があったら2回触って初めて選択状態になり、 それ以降は一回触るだけで色変えが出来るといった感じです。 これを初回のタッチ時から色変えをさせるようにするにはどうすれば良いでしょうか? そもそもsetFocusableやOnClickという方向性が間違っているでしょうか? どなたかにご回答いただければ幸いです。
focusble消してもだめ?
setFocusableInTouchMode のことか
>>521 >>522 ありがとうございます。
MySQL+PHP+CakePHPにて試してみたいと思います。
データ形式についても、多量のデータを扱う場合、
XMLより転送サイズが減るようなのでJSONを使用してみることにします。
音楽演奏の中止は mp.stop(); ですが 演奏中でないときにこれをやるとエラーが出ます 演奏中かどうか調べるにはどうすればいいですか?
設定画面を実装しようとPreferenceActivityから派生したクラスのonCreateに addPreferencesFromResource(R.xml.mypref); を記述したところ、addPreferencesFromResourceに取り消し線が引かれ 「メソッド addPreferencesFromResource(int) は型 PreferenceActivity で使用すべきではありません。」 との警告が表示されます。 コンパイルは通るので無理やり実行しましたが、「問題が発生したため〜」というメッセージを表示し、異常終了します。 Android4.0 では使えないのでしょうか。
deprecated
>>537 単語を並べて検索し、onCreate の前に @SuppressWarnings("deprecation") と記述することで警告は消えましたが、取り消し線は付いたままです。
また、エラーもそのまま・・・
いや別のメソッド使えって
>>540 それはつまり、4.0では使えないってことでいいんですよね?
ちょっと検索かけてみます。
使えるけど非推奨 3.0以降はフラグメントを使うのが推奨される エラーは別問題かと
例えばシューティングゲームのように背景も動き自機・敵機も動くアプリを作った場合 1つのsurfaceviewに背景を動かして表示する処理→自機・敵機を動かして表示する処理という順番で書けば うまくゲームっぽく表示されてくれるでしょうか? それとも2つsurfaceviewを作り、背景は背景で動かし 自機・敵機は別のビューにして背景を透過、ZOrder値で常に上側に重ねるとかのほうがいいんでしょうか?
544 :
デフォルトの名無しさん :2012/08/19(日) 10:19:53.50
すみません。 Eclipse4.2にて、layout>Time&Date>CalendarViewを使ってヴィジットにカレンダーを表示させたいのですが、 以下入力しても、ヴィジットが表示されませんでした。原因分かりますでしょうか? <CalendarView android:id="@+id/calendarView1" android:layout_width="match_parent" android:layout_height="match_parent" />
>>543 1つのSurfaceViewに背景・自機・敵機・残機表示スコアその他すべてを毎回全部描き直すのが素直なやり方と思われるよ
>>545 ありがとうございます、方針がかたまりました。
>>542 朝からやってるけどフラグメントの解説サイトを丸写ししてもエラーになる・・・
ソースをアーカイブで公開しているところ無いですかね
サンプルプログラムの ApiDemos に PreferenceFragment のデモもある
エラーの内容を書けばいいんじゃないの?
551 :
デフォルトの名無しさん :2012/08/19(日) 11:38:55.44
546さん 早速のご回答有難うございました。 ”ホーム画面に置くウィジェット”を指していました。 リンク先(widget classes)を見ましたが、calendarViewはありませんでした。。 ヴィジット用のカレンダー作るしかなさそうです。。
今、jsoupを用いてhtmlをパースし、その内容を反映するアプリを製作しています。 先にandroidではなく、Javaとしてlistに正しくパースされたものが入っているか調べたところ、成功していました。 ところが、これをandroidに移植すると、なぜかlistの中が空になってしまっていました。 調べたところ、.getClassName()などを取得する段階で、その中身が空になってしまっていました。 原因として考えられるものは何でしょうか。 ご教授よろしくお願いいたします。
ソース全部見せろ
いやです
>>548 エラーの原因がわかりました。Manifest にActivityを登録?してなかったからでした。
Eclipseに頼っていたので気づきませんでした。
画面のウィジェット配置ってGUIでやってますか? もうコードからやるの疲れた・・・
じゃあGUIでやればいいだろ
固定ならGUI 動的ならその部分はコード
res.layoutでimageViewとgalleryを3:1(heightを0dp/weightを3と1)に分けています。 サムネイル画像を要求される時のgalleryの高さで画像サイズを決めたいのですが、onCreate 時だと height は 0 になっています。 どのようにすれば動的サイズのgalleryの高さを調べられますでしょうか。
560 :
デフォルトの名無しさん :2012/08/19(日) 19:08:31.31
>>531 ,532,533
ご回答ありがとうございました。
今出先なので明日試させていただきますね。
商業運転を始めてから19日しかないなった100万KW級原子力発電設備が
電力需要の多い時期に故障を起こした。
韓国水力原子力はシンウォルソン1号機が19日午前10時53分頃、
停止したと同日発表した。
高温多湿の天候で、産業界の休暇が終わって各学校が新学期が始まったことにより、
20日に予備電力が急落すると見られる。
知識経済部は、需要管理をしなければ予備電力が100万KW〜150万KWまで落ち込むと予想した。
電力公社は、指定期間の需要管理に250万KWを削減し、民間が発電機稼動で60万KWの
電力をカバーしている予備電源を400万KWに維持するという対応策を用意した。
電力取引所は20日の供給能力が7千756万KWで需要管理し、
最大の需要が7千300万KWに達し、予備電力が456万KW台になると予想した。
しかし、電力需要は、30度以上の時の気温が1度だけ上がっても100万KW近く増える可能性があり、
湿度などにも多くの影響を受けるため、予備電力が400万KW未満に低下し、 `関心"の警報が
発令されれ可能性があります。
http://www.yonhapnews.co.kr/economy/2012/08/19/0301000000AKR20120819034652003.HTML?template=5565
質問よろしいでしょうか? MediaRecorder で 動画の録画を行っているのですが、カメラのインプットの解像度はどう取得すればよいでしょうか? OS3.0以降だとgetsupportedvideosizesと聞いたのですが、現在開発は2.2以降となっており使えません。 前提条件としてアスペクト比が3:4の解像度のやつが必要となります。 この場合どのように算出すればよいのでしょうか?
ArrayListって何ですか? 全然意味が分かりません
Google playに登録料$25払わずに自作アプリ公開してニヨニヨする方法ないですか?
野良アプリ作れば
プレイストアで有料版とそのお試し版を登録している方、それぞれのソースはどうやって管理していますか?
>>559 何言ってるのか分かんないけどonCreatで画面サイズを取りたいならWindowManagerでDisplayでとるか、他のサイズならonStartかonResumeで取れば?
>>561 スレチ
>>562 googleがバージョン毎のメソッドのまとめを出してるよ。全部英語だけど一度は目を通した方が良いよ
>>563 listの集合体。今後もアプリを作るならたびたびぶつかるから基礎から理解した方が良いよ
>566 毎年その話題が出るけど、人によって違うしアプリの構成によっても変わるから、なんとも言えない。俺はアプリの構成上if文でglobal変数でfalseにして最後にコピーして有料はtrueにするやり方が多いけど、やっぱり最後はアプリ次第って感じかな?
>>567 AVD(WVGA)ではちょうどの大きさだったサムネイル画像が、実機(720×1280)では小さすぎたので、解像度で調整したいのです。
galleryからadapter#getView が呼ばれる前にgalleryの縦サイズがわかればいいのですが、getView の ViewGroup だと1回目は getHeight() == 0 なので使えないのです。
onStart/onResume でも確認してみます。
571 :
デフォルトの名無しさん :2012/08/20(月) 09:32:28.07
レイアウトに関して、再度教えてください。 10.1inchと7inchの端末があって、どちらも WXGA(1280×800)なんだけど、7inch側だけ レイアウトが崩れるので、7inchのみレイアウト定義を別で 定義しようとしているのだが、layoutのフォルダ名(オプションの付け方) でどう対応したらいいかご教授ください。
>>570 gallery を継承させて onSizeChange にログを仕込んでみましたが、ここに来るのは1個目のgetViewの後でした。
やはり、1つ目のサムネイルを取得した後にサイズが決定するようです。
逆に1個目を取得したけど、再度取得させるようには出来ないか考えてみます。
>>572 いけました。
1つ目のgetViewにnullを返すと、サイズが決定された後にもう一度同じpositionのgetViewを送ってくるようです。
高さが0の場合はnullを返すようにすれば目的が達成できそうです。
野良アプリで質問なんですが、 <A HREF="appli.apk">ダウンロード</A> でいいんですか?
>>574 mime type がちゃんと設定されてるWebサーバならそれでOK
480x800の画面のアプリを作っても 他の解像度の端末ではちゃんと表示されない気がするのですが? いちいち解像度に合わせて画像サイズや座標を変更するようなプログラムを組まないとならないんですか?
うん
androidの割り込みって1秒に60回以上にしても実際はそれ以上にならないのね JavaのはずなのにVBと同じだ
割り込みって何の事?
>>577 絶対値でやらないで、相対値でやればいいんじゃね?
Handler#postDelayed で普通に10msくらいの精度でてた気がする
>>577 普通density pixel とか match_parent とか layout_weight とか使って
DPIの違いや画面サイズの違いを吸収できるように作るよ
当たり前だけど!onDrawなんかはリフレッシュレート以上の頻度では呼ばれないね
>>568 その方法だと体験版クラックされて製品版として使用されるよ
そのFalse(0)部分のグローバル変数をTrue(1)にバイナリ書き換えするだけだし
586 :
デフォルトの名無しさん :2012/08/20(月) 18:12:12.48
マーケットから届くエラーが(Unknown Source)ってなってて行がわからないことが多いんですが どうしたら行も返ってきますか?
ダイアログで何かを入力させて肯定のボタンを押された時、入力内容がおかしい時に、メッセージを表示した後ボタンが押される前の状態に戻りたいのですが、どのようにすれば良いですか? AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setPositiveButton("更新", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { //更新ボタン押下 if(!check()){ // 内容が不正なので入力しなおし <- この部分の実装 } } })
うんこ
>>586 proguard使ってるなら説明書読みねえ
>>585 一応ダミーを入れて更にオリジナルで暗号化してるけど、確かにクラックされて暗号を解かれたら終わるね。
じゃあ、どうするのが理想的なの?
>>590 C/C++で言う #ifdef があれば理想なんだろうけどね・・・
preprocessorは別にどの言語でも使えるんじゃないの。javaは思想的にやらないだろうけど。 それ以前に0.1%未満の人がクラックしても、終わりになるようなアプリなのでしょうか。 libにして入れるかどうかでも有料をクラックされてlibを無料の人に渡せば同じだから、ネットワーク認証以外にないと思うけど、普通対策費用のが高くつくからやんない。
ビルド時にAntのタスク実行したりできるから プリプロセッサ的なことはやろうと思えばやれる
>>587 俺もそれ調べたんだけど、結局やり方がわからなくて、
AlertDialogを使わないという逃げでごまかしている。
分かったらぜひここでご報告を。
>>585 ,590,591
static final boolean な変数を条件にしたifで囲った部分のコードは
ビルド時に枝狩りされてAPKには含まれなくなる。
ただしコレだとメソッドまるごと削るようなことはできず、あくまでもメソッド内部の制御を変えるだけ。
てか面倒くさいのはパッケージ名変わっても同じリソースを参照するようにコードを書くとこだよな…
>>587 ,594
入力内容の変更を検知したら適当に自分で検証して getButton() したView をsetEnabled
>>592 プリプロセッサの介在をEclipseに認識させるのが面倒なんだよ!
もう有料無料じゃなくて最近の流行り(?)に則って、 無料で出してinAppBillingで機能拡張(有料化)してデータはサーバ管理ってのはどう? 管理するpackageも1つで済むから更新が楽でしょ 正直package2つだと更新が面倒くさい
>>595 >入力内容の変更を検知したら適当に自分で検証して getButton() したView をsetEnabled
それはボタンを押せなくする方法であって、
>入力内容がおかしい時に、メッセージを表示した後ボタンが押される前の状態に戻りたい
が実現できてないじゃまいか
>>597 いちいち通信必要ならweb appでよくない?
>>590 proguard使えば非到達コード削られるでしょうよ
webだとアクション毎に通信しちゃってパフォーマンスが落ちるから、あんまり好きじゃないんだよね データ管理だけなら最初のスプラッシュでロゴ出してる間にデータ取得して、あとはスタンドアローン的な感じの方がパフォーマンス良さげじゃない? なんかプログラムスレって言うより開発者スレっぽくなって来ちゃったから1回ロムるわ
同期に失敗したりでデータの不整合おこりそう。
603 :
デフォルトの名無しさん :2012/08/20(月) 23:54:51.25
ディスプレイサイズが720x1280とか540x960とか色々あるんですけど それぞれのサイズに合ったアプリを別個作らないといけないんですか?
うん
解像度を指定して画面を切り替えるみたいな命令とかないんですか?
例えば display(400,800); とすれば画面がその解像度に設定される命令があるべきだと思うんです それがないとすれば欠陥プログラム言語としか思えません
次の患者さん〜
欠陥脳としか思えません
解像度の問題が解決しました!!なんと単純に画面を倍にする命令があったんです!! 以下は240x240のアプリを画面に合わせてリサイズするプログラムです。 (Canvas canvas内で行っています。wはint型、fはfloat型です) w=canvas.getWidth(); f=(float)w/240; canvas.scale(f,f); これだけです。
よくわかんないけど、解像度とドット数って同じじゃなかったんじゃないっけAndroidは? 端末サイズによって画面レイアウトが変わってくる問題は面倒だよね ここら辺を全部OS側が吸収して補完してくれれば 開発者は常に1つの画面サイズ用に作ってればいいだけになり(他サイズはOSが勝手にリサイズ) もっと作りやすくなるんだろうけどね
問題は解像度よりアスペクト比
携帯の画面をリサイズしただけでタブレットでも使いやすい画面になればいいんだけれど
preferenceって簡単だけど、暗号化とかしてくれないのね。 パスワードの保存とか怖いわ・・・
Eclipseからデバッグしているアプリで、メモリ不足によるActivityの破棄を確認する良い方法ってありますか?
>>616 辞書をObjectOutput〜で出力しつつ暗号化かければいいんじゃないの
この程度ならユーザーからは簡単にハックされるから、ユーザーからというよりユーザーを保護する面で少し意味がある程度だけど
>>597 in-app billing はサーバ側を偽装するコードが既に実在してる
信用度で劣る
>>598 「ボタンを押したらメッセージを表示する」なんて元の要件にかいてないから
入力内容をチェックしたついでに表示でも通信でもすればよろしい。
>>613 解像度の違いはともかく、アスペクト比の違いを吸収するような仕組みなんて
どのOSにも存在しないぞ。
>>616 格納してるフォルダの内容を他アプリに読まれた時点で負けたようなもん
アプリ内のキーで暗号化してもインストール時に生成したキーで暗号化しても
そのキー自体を守ることがまずできない
どや
MediaPlayer + SurfaceView で動画を再生中、指定したタイミング(ボタン押下等)で 現在表示中の画面をbitmapで取得したいのですが、 setDrawingCacheEnabled(true); Bitmap bitmap = Bitmap.createBitmap(getDrawingCache()); setDrawingCacheEnabled(false); こうすると真っ黒なbitmapがとれます。 方法はありますでしょうか?
MediaMetadataRetriever#getFrameAtTime
試したこと無いんだがabsolute layoutでやるとそんなにズレるのか?
ずれるかずれないかは知らんけどRelaytiveLayoutが使いやすいからそれで十分
625 :
デフォルトの名無しさん :2012/08/21(火) 23:31:01.65
proguardを使ったapkのエラーの(ProGuard:1284)ってなんの1284行目ですか? apkには1284行目がないしapkにする前のコードの方は}だけなので何をみたらいいかわかりません
HSP使えばアンドロイドアプリとか楽勝なのにな
Androidでメッセージなどの文言を登録する場合、 ・Enumを使う ・どっか適当なクラスにpublic static final Stringで宣言しておく ・string.xmlに書く という方法がありますが、この中のどれが一番いいのでしょうか? string.xmlに書くのがいいかもしれませんが、getString()などアクティビティの専用メソッドが必要なので使いにくい気もします
string.xmlに書くのが基本
>>627 string.xmlに書いて、クラスを介して取り出すようにして隠蔽すれば。普通のjavaの時はresourceから読み込むようにしたり。
androidはcontextべったりになるから無駄な気もするけど。
Contextにアクセスできない状況ってありえないからな
sqliteの中身はroot取らないと見れないの?
データベースのファイルをどこに作るかによる
634 :
デフォルトの名無しさん :2012/08/22(水) 10:37:52.53
画面の向きを変えるときonCreate()をやり直さない方法はありますか?
あります
>>634 縦横の解像度が変化したあと、どういう状態になっていれば満足なんだ?
当然そういうことを考えた上での発言だよね。
>>637 エミュはroot権限あるから見えるだけで、質問に対する何の回答にもなってないよね
,r;;;;ミミミミミミヽ,,_ ,i':r" + `ミ;;, __,、 ≡ 彡 ミ;;;i 〃ニ;;::`lヽ,,_ ≡ 彡 ,,,,,、 ,,,,、、 ミ;;;! 〈 (lll!! テ-;;;;゙fn __,,--、_ .. ,ゞi" ̄ フ‐! ̄~~|-ゞ, ≡ /ヽ-〃;;;;;;;llllll7,,__/" \三=ー"."ヾi `ー‐'、 ,ゝ--、' 〉;r' ≡ 自分自身を客観的に見ることはできるんです >、/:::/<;;;lllメ \ヾ、 ヽTf=ヽ `,| / "ii" ヽ |ノ j,, ヾて)r=- | ヾ: :ヽ;;: | l | l ''t ←―→ )/イ^ ≡ あなたとは違うんです ,イ ヽ二)l(_,>" l| ::\;:: | | | ヽ,,-‐、i' / V i、ヽ--イll"/ ,, ,//,, :;; l // l く> /::l"'i::lll1-=:::: ̄\ ヾ==:"::^::;;:::/;;;;;;;;;:::::::::::::: :::::ゞ ノ/ L/〈:::t_イ::/ll|─-== ヾ \__::::::::/::::::::::::_;;;;;;;;;;;;;;;;;ノノ ヘ >(゙ )l:::l-┴ヾ、ヽ )  ̄~~ ̄ ̄/ :::|T==--::::: // / ト=-|:|-─ ( l / / :: ::l l::::::::::::::::::/ /:::::::::::/:::::(ヽ--─ / | / ヽ_=--"⌒ ゙゙̄ヾ:/ /:::::::/:::::::::`<==-- ノ / /
sdもどうせandroidのは抜き差ししないんだからextとかパーミッション付のfs使えばいいんだよなぁ。 あ、フラッシュメモリの寿命を縮めないfsであるかは別の話で。
お前らアイテム内課金の証明書どうやって隠蔽してますか
642 :
デフォルトの名無しさん :2012/08/22(水) 17:48:24.94
mHandler.post(new Runnable() { @Override public void run() { (new Thread(new Runnable() { @Override public void run() { //時間のかかる作業 mHandler.post(new Runnable() { @Override public void run() { //UIを弄る _progressHandler = new Handler() { public void handleMessage(Message msg) { //☆ super.handleMessage(msg); こんな構造なのですが☆のところでたまにコケます 自分では確認できてないですがエラーメッセージが来ます
643 :
642 :2012/08/22(水) 17:49:38.21
java.lang.NullPointerException at com.example.Example.MainActivity$2.void handleMessage (android.os.Message)(ProGuard:1058) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:123) at android.app.ActivityThread.main(ActivityThread.java:4627) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:521) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:88 5) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:643) at dalvik.system.NativeStart.main(Native Method) どうしたら良いでしょうか?
644 :
デフォルトの名無しさん :2012/08/22(水) 18:36:25.06
スレッド出来る前にポストしちゃってるんかな
handleMessage の中で NullPointerException が出てるんなら handleMessage の中を全部見てみないと 冒頭だけ書かれても
647 :
642 :2012/08/22(水) 22:15:32.93
>>644-646 ありがとうございます
てっきりpublic void handleMessage(Message msg) {自体がエラーになってるのかと思いました
public void handleMessage(Message msg) {の中の変数を全部nullチェックするようにしたのでこれでテストしてみます
textviewで表示された、文字列(読み物)をボタンのクリックイベントで、文末に向かってゆっくりスクロールする機能(読み物を読めるスピードでスクロール)を実装したいのですが、どのように実装すれば宜しいのでしょうか。
タッチイベントの変数はどこからでも参照できるんですか? 全然意味が分かりません
どこからでもというわけではない
>>631 マルチ乙。ファイルとディレクトリのパーミッションとユーザ権限が合ってれば読めると思うよ。
>>634 ある。 android:configChanges をマニフェストに書くとか Activity#setRequestedOrientation とか。
ただし、なんだかんだでonCreateからやり直すパターンを選択せざるを得ないことが多い
たとえば「一時的に回転を禁止」とか設定しようとすると
画面が横向きの時に機種によって90度か270度が固定されてしまって
ユーザには上下反転したように見えてしまう、など。
>>640 USBメモリとかを視野にいれるとあまり意味ないね
>>641 アイテム内課金のレスポンスはそのまま自前サーバに送って
自前サーバの内部で検証・デコードする。
アプリ内に置くのはサンプルアプリだけっしょ
>>648 量が少ないんなら、FrameLayoutの中にでも入れて定期的にscrollToすればいい。
量が多いんならTextViewいっこでどうにかするよりカスタムView作ってonDrawで描画したほうがいい
>>649 イベントに渡された変数をアプリ側の適当な変数やコンテナに保持させるのはアリ
>>652 >>640 のどこにアプリの話だなんて書いてあるんだよ
そもそもSDカードに入れてるアプリ自体は、
SDカード上では暗号化されてて、アプリごとに /mnt/asec/ にマウントされるのが普通
rooted端末の場合はもっと色々あるが、その場合パーミッション設定しても別に安全ではない
external_sd へのパスの取得方法がわかりません。 いまは Environment.getExternalStorageDirectory() で /mnt/sdcard を取得し、設定で /external_sd を付加するかどうかを決めています。 ユーザーの設定に依らず external_sd のパスを取得する方法はないでしょうか。
>>653 >>631 でも出てたdbとかアプリのデータの話な。androidアプリのセキュリティ勧告多いし。usbのように、リムーバブルに使わないって話な。まあアプリも入れていいと思うけど。
別にユーザが読めるのはいいんだよ。その人のデータなんだから。他のアプリから読めるのが問題。
きみが話読めてなかったのならすまそ。
>>654 どの端末でも取得できるという方法はありません
>>654 Experia HDなんかは/mnt/ext_cardだからそのパターンでは無理。
mounttabの情報解析して予測するしかないんじゃ。でも最近はUSBストレージ繋がる端末もあるから、SDとの区別は難しいかな。
>>655 SDカードやUSBメモリにSQLite DBおいてるアプリなんてかなりのレアケースだろ
>>652 のツッコミが的外れってことでFAだな
>>654 標準的な方法はないが、環境変数に secondary storage が書かれてるケースや
外部ストレージの複数のパスが書かれてるケースもある。
ていうかアプリをSDカードに移動したらアプリのデータもSDカードに移動すると思ってるのか、もしかして
>>659 現状と仮定を一緒にされては、お話になりません。
データをsdに置かない大きな理由として、パーミッションがあるという話なのだから。
もう黙ってて。
そんなアホな要望だすくらいなら単純に内蔵ストレージの容量増やしてもらったほうがいいな
新しい端末は軒並みROM容量増やしてきてるから 普通にデータを保持するなら内蔵ストレージで十分になってきてる。 困るのは大容量のコンテンツにDRMをかけて他アプリに読ませたくない場合だけ sqliteとか全く関係ない
onClick内で、TextViewを変更したいのですが、変更がすぐに反映されず困っています 具体的には public void onClick(View v){ int count = 0; for(int i=0;i<100;i++){ textView.setText(++count); } } ボタンを押した時にtextViewの内容が1,2,3,4...と次々変わっていくのを期待しているのですが、 実際には一瞬フリーズしたようになった後、100と表示されるだけです リアルタイムでTextViewの変更を反映させるにはどうすれば良いのでしょうか?
>>664 waitかまさないと人間では見切れ無さそうw
>>665 ごめんなさい、どういう意味ですか?
あと++countにString.valueOfさせ忘れてました、脳内補完しといてください
>>664 public void onClick(View v){
int count = 0;
for(int i=0;i<100;i++){
textView.setText(++count);
>>ここにスリープ処理を入れる
}
}
そういう問題じゃなくてUIスレッドで直接やってるから onClickが終わった後に再描画されてるだけだろ
>>664 イベントハンドラの中に時間経過を入れるのはNG。 ANR タイムアウトしてアプリを落とされるぞ。
int i=0;
Runnable a= new Runnable(){
void run(){
textView.setText( ++i );
if( i < 100 ) handler.postDelayed(a,1000);
}
};
onClick(...){
i=0;
a.run();
}
>>669 ありがとうございます!
思い通りにプログラムが動いてくれるようになりました
onClickを出た後にTextViewを反映させる仕様なんですね……
半日悩んでた問題がやっと解決しました。本当にありがとうございました
>>651 すみません。定期的にscrollToするとのことですが、
クリックリスナーの中でと言うことでしょうか?
恐れ入ります。
>>669 複雑すぎて全然分からないのですが・・・
もっと簡単になりませんか?
ってかrun()の中でsetTextしたら落ちないか?
675 :
デフォルトの名無しさん :2012/08/24(金) 00:04:26.55
音楽素材をダウンロードしながら再生すると途中でOnCompletionListenerが呼ばれるのですが 音楽の再生を止めずに音楽情報を更新するにはどうしたら良いですか?
広告入れたら無料アプリとは言えないよね?
ユーザーがお金を出してないなら無料アプリを名乗って良いんじゃない?
>>674 落ちなかったよ
仕組みは分からないけど、取りあえずちゃんと動く
>>674 Runnableを動かすのがUIスレッド以外とは限らないだろう
改めて読んでみて日本語がイミフだったので書き直し run()を実行しているのがUIスレッドなら問題ない、大丈夫だ
>>673 これで複雑すぎて分からない、教えてくださいって言っていたら、
この先ほとんど全ての実装を誰かに教えてもらうだけになっちゃうぞ。
こうしたいです、こう書いてみました、でもここをどう書けばよいか分かりません
っていう程度の質問までは持っていけないだろうか?
>>673 コードが複雑すぎるんじゃなくて、自分の知識が無さすぎるだけだろ。
Javaの初心者向け参考書買ってきなよ。向いてなさそうだから読んでも理解できないかもしれないけど。
viewの『インフレート』ってどういうことでしょうか?インフレ、デフレのインフレ? ちょっと概念が理解できず、参考サイト等あれば教えて欲しいです。
語源は同じ XMLで定義されたViewを実体化する事
685 :
671 :2012/08/24(金) 12:04:05.99
Runnable()ってなんですか?
Runnable はインタフェイス名 () は引数リスト
688 :
デフォルトの名無しさん :2012/08/24(金) 14:54:07.19
>>686 うーん、意外に辛くて美味しいものです。
689 :
デフォルトの名無しさん :2012/08/24(金) 14:55:02.63
>>687 _____.
┏┳┳┓ / \ ..┏┳┳┓
┏┫┃┃┃ / /・\ /・\ \ .┃┃┃┣┓
┃┃┃┃┣┓|  ̄ ̄  ̄ ̄ |┏┫┃┃┃┃
┃ ┃┃| (_人_) |┃┃ ┃
┃ 珍カス ..┣| \ | |┫. STOP!┃
┗━━━━┛\_ ... \_| _ /...┗━━━━┛
┏┻┓┃
.. ┏━┛ ┣┻┓
.... ┗━━━┫ ┗━┓
.. ┗━━━┛
690 :
デフォルトの名無しさん :2012/08/24(金) 14:56:04.18
_ ∩
⊂/ ノ )
/ ∩V
⊂し'⌒∪ノ ) <ありがとう
>>687 お前にもう用はない
/ /ノV
し'⌒∪
 ̄ ̄ ̄ ̄7
/
|
/
|
/
 ̄ ̄ ̄ ̄7
/ ∩ ∩
| | '⌒ | ∩ ∩
691 :
671 :2012/08/24(金) 16:06:12.76
TextViewで表示された読み物(文字列)のスクロールの位置を 保存しておいて次回同じページが開かれた時に前回の位置を表示したい と考えております。 スクロール位置の取得方法を教えてください。
692 :
デフォルトの名無しさん :2012/08/24(金) 16:16:11.23
getScrollY ではダメだっけ?
694 :
デフォルトの名無しさん :2012/08/24(金) 17:12:06.34
スレッド処理を使ってキャンバスで描いた円を衛星のように周回運動させたいのですが うまくいかないです javaスクリプトではなく android javaでそれっぽいことやってるソースあればお願いします
695 :
671 :2012/08/24(金) 17:47:36.54
>>693 あ、すみません、質問間違えました。
(取得に関してはおっしゃる通りgetScrollYでOKです。)
TextViewで表示されたスクロール位置(前回の)代入方法を
教えてください。
setScrollYとか使うと、NotSuchMethodErrorが出ます。
setScrollY は API Level 14 ですね scrollTo をどうぞ
日本語で書かれたAPIの解説資料はありませんか? webで検索できるものでも構わないのですが・・・
>>686 質問の仕方が悪いな。インナークラスや無名クラスについての質問なのか、Runnableインタフェースについての質問なのか分からん。
699 :
デフォルトの名無しさん :2012/08/24(金) 18:40:13.49
>>696 エラーは出なくなりましたが、手動で数値入れても普通に一番上から表示されてしまいます。
こんな感じで実装してみましたが、呼び出し方間違えてますか?
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.articleview);
String content = "大量文字列";//読み物
TextView resultTextView = (TextView) findViewById(R.id.resultTextView);
resultTextView.setText(content);
resultTextView.scrollTo(0, 100);
}
resultTextView.setText(content); resultTextView.post(new Runnable(){ public void run(){ resultTextView.scrollTo(0, 100); }});
701 :
デフォルトの名無しさん :2012/08/24(金) 19:48:34.03
>>700 public void run()の行にブレイクポイントはると、起動時にこのルートを通っているようですが、
表示は一番最初からになってしまいます><
702 :
デフォルトの名無しさん :2012/08/24(金) 20:00:48.60
>>701 あ、すみません。文字列自体は、うまくいってました!
確認凡ミスでした。ありがとうございます。
>>651 はそもそもFrameLayoutの方をscrollToしろと言ってたように読めたんだが、
TextView単体でもできるもんなのか
AnimationDrawableを使ってanim.start()で正常に動くのですが anime.isRunning()しても常にtrueが返され、終了してくれません。 アニメーションはxmlに記述してるのですが、それが最後の行までいくと 自動的に終了するようにするにはどのようにすれば良いのでしょうか?
705 :
デフォルトの名無しさん :2012/08/24(金) 21:18:27.97
>>703 layoutのxmlはTextViewをScrollViewでかこってます。
706 :
デフォルトの名無しさん :2012/08/24(金) 22:26:25.52
public static final class id { public static final int button1=0x7f080001; } ここの0x7f080001って何進法なんですか? 16進法に変換できないんですが 2131230721 という数値にはなるようです
fってあるから16進数なんですかね? サイトで変換してもできなかったのですが とりあえず、ありがとうございました。
えっ
16進数 0x でググってみて
711 :
デフォルトの名無しさん :2012/08/24(金) 23:05:45.53
_i^i__i^i_ i^i ._i^i_ __, -―- 、___ |*||*| ∩___∩ i^i _i^i_ | | |@ll|(_/,,,, ,,,, ヽ_) 山で出会った時は |≡||≡|| ノ ヽ ([])|;□;|.(≡)|_| |● ● | とりあえず「こんにちわ」が基本だよな . 二二/ ● |二二( (二二二二 彡(_●_ ) ミ | ミ ) ) / ` ''∪'' / ヽ 彡、 _ノ Gノ'フ= ___ / /i ` ー '" iヽ | / ヽ / / | ! / / | | | .l. ..──|ヽ ヽ/─==i─Y-(_ノ──i二i───(⌒) ___ヽ /ヽノ └-┘ ┴ ..└┘ . ̄ | ___ i ̄ そうだよな。 いきなり銃向けられるって、どこのスラム街だよって話だよな
サーフェイスビューで連続描画したいのですが 描画のプログラム部分を if ( canvas != null)内にしないとエラーが出ます。 いちいち if ( canvas != null)をいれるのが面倒臭いのですが if ( canvas != null)無しでプログラムを組む方法はありませんか?
if (canvas == null) return; drawA(canvas); drawB(canvas); drawC(canvas);
717 :
デフォルトの名無しさん :2012/08/25(土) 11:14:52.78
>>717 それは見た目が似てるから駄目ってことだろ。
全然違う
DesireHDの標準カメラアプリに、被写体との距離が変わったら自動でフォーカス合わせてくれる機能があるんだけど、 これってどうやって実装するの?見たところそれっぽいAPIないんだけど。。
>>718 そうそう、ほかには影響ないよ
そもそもサムスンがアップル試作機の設計図を盗んでたって話だし
>>721 定期的にautoFocus()呼べば?
ビデオ撮影では使い物にならないじゃん
普く通用する方法は無いんだよ
Thread.startを止めたいのでThread.stopとしたのに止まりません!! なぜですか?!?!?!?!?!?!
わかりません!!!!!
kill
Thread.killなら止まるんですね!! やってみます!!!!!!!!!!!!!
(^_^;)
slep入れろよ
734 :
デフォルトの名無しさん :2012/08/25(土) 14:52:17.19
みなさん、やっぱEclipse使ってアプリ作ってるんですか?
Eclipseて変な名前だよね どういう意味?
736 :
デフォルトの名無しさん :2012/08/25(土) 15:23:42.92
エ?
辞書引けば
738 :
デフォルトの名無しさん :2012/08/25(土) 16:05:18.50
Eclipseとは「食(蝕)」の意
みんなそういいます でもホントは美白クリームとか高級な洗顔クリームで毎日顔洗ってるんです
741 :
デフォルトの名無しさん :2012/08/25(土) 16:52:28.48
えっ、androidの本買うとEclipseのインストールから書いているよ。 editorのみでやるの?
使い慣れた軽いeditorとantまたはmaven。
イクリプスは日曜大工までにしとけ
android javaってどうしてこうも複雑なんですか? 全然解けません
>>744 ちなみに、どこらへんが複雑だと思うんだい?
オポチュニティを感じる
動画をストリーミング再生したいのですがcookieがないと弾かれるのでcookieを持たせてアクセスしたいです でもMediaPlayerの通信周りは設定出来ないとかかれていました どうしたらcookieが必用なサイトの動画をストリーミング再生できますか?
749 :
デフォルトの名無しさん :2012/08/25(土) 21:33:24.74
新規プロジェクトで AndoroidプロジェクトはありませんがAndroid Application Projectはあります。これは別物ですか?メニューにAndoroid プロジェクトが表示されない原因は何が考えられますか?
ちょっとは調べろや
なんか最近変なの沸いてんな夏か・・ javaわかりませんとか作り方わかりませんとかはちょっと調べてから来い 技術とかプログラムうんぬん以前の問題だろう
>>750 俺もわかんなかったな。公式websiteの記述が違ってんだもん。
公式websiteってどこ?
自分で調べろや
バックキーやホームキーを押すとエラーが出ます 終了させる直前にエラーが出るなんてバカみたいです どうすれば治りますか?
ギャラリー系のアプリに特定の画像ファイル(フルパス)を表示させるにはどのようにすれば良いのでしょうか。 String imageFileName = "/mnt/sdcard/Pictures/sample.jpg"; Intent intent = new Intent(); intent.setType("image/*"); intent.setAction(Intent.ACTION_VIEW); intent.setData(Uri.parse("file://" + imageFileName)); startActivity(intent); これだと最後のstartActivityでエラーになります。
エラーってなによ
SDのパス合ってんのとか Environment.getExternalStorageDirectory使うとか SDへのパーミッション入れてんのとか
>>760 android.content.ActivityNotFoundException:
No Activity found to handle Intent { act=android.intent.action.
VIEW dat=file:///mnt/sdcard/Pictures/sample.jpg }
です。
質問です。 現在アプリを製作中で、ゆくゆくはスキンでユーザーが アクティビティの背景やボタンを変更できるようにしたいと思っています。 スキンというのは、どのように実現するのが良いのでしょうか。 どうぞよろしくお願いします。
>>761 画像へのパスは、一度アプリケーション内でsdcardから読み込んで画面表示しているものを保存しているので間違いはないはずです。
ユーザーパーミッションは以下の2つを設定しています。
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
表示している画像をギャラリー系のアプリで表示させたいのです。
Urlの指定の仕方が間違ってる気がする
setTypeいらんだろ
>>765 初期値のままです。
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
そういやsetDataとsetTypeは排他だったな 両方設定するときはsetDataAndTypeだかなんだかを使う必要があったはず ActivityNotFoundException:だから ギャラリー側のIntentFilterにかかってない 多分file://がいらん
>>768 actionviewを受け取らなきゃいけないんじゃないの。または、クラス指定でintentを発行するか。
>>770 あーギャラリーみたいなアプリを作ってるわけじゃないのか。勘違い。
772 :
デフォルトの名無しさん :2012/08/26(日) 02:45:53.97
Socket通信するときにCookieを保持させることはできますか?
774 :
デフォルトの名無しさん :2012/08/26(日) 06:39:13.63
Admobから以下のメールが来たんだけどなんでだろ Your PayPal payment for AdMob earnings was returned to us status "Denied." We apologize for any inconvenience, and will reattempt payment in our September payment cycle. We are working with PayPal to determine the cause of this issue.
775 :
デフォルトの名無しさん :2012/08/26(日) 08:21:15.98
あなたのペイパルによる支払いはうまくいかなかったよ。 どうしてくれるんねん。
違うだろ
>>773 どうしたらいいでしょうか?
Socket.〜にそれらしいものがないのですが
何をしたいのかもっと正確に書け。 ソケットでやりとりしたcookie(何のcookieかは知らんが)を保持するだけなら Socket関係なく自分で保持しておけば良い。
779 :
772 :2012/08/26(日) 10:43:33.01
MediaPlayerの通信にCookieを持たせたいのでローカルサーバーを立ててCookieを持たせて通信をしようとしました そのローカルサーバーの中でSocketを使っているのでSocketにCookieを持たせる方法を質問しました
? クッキーを保持させたいのはMediaPlayerの方じゃないの? まぁ、MediaPlayerでできるのかどうかは知らんけど。
781 :
772 :2012/08/26(日) 11:52:55.24
>>780 MediaPlayerに保持できないのでローカルサーバーをProxyサーバーに指定して
ローカルサーバー側でcookieを付けて通信したいのです
なら
>>778 の通り、そのProxyでHttpMessageからクッキーを取り出して保持しておくんだな。
HTTPヘッダにクッキーを含めればいいだけだろう。 どこに疑問点があるのかさっぱり理解できない。
>>715 その方法で確かにできますが、予期せぬエラーが発生しやすいです
やはりサーフェイスビューは
if(canvas!=null)の中で画像処理をするしかないみたいです。
めんどくせえ
欠陥JAVAとしか思えんなアンドロイドは
Java
アプリの設定画面でテーマを変更できるようにしたいのですが、styles.xmlをプログラムから編集する事は可能なのでしょうか? 無理なようでしたら、sqliteに設定値を保存してonCreate時に毎回setThemeする手法以外で何か良い方法があったら教えて頂けないでしょうか・・・。
>>784 予期せぬエラーってのが何か分からんとなんとも。
>>784 典型的なバカor初心者Javaプログラマのメンタリティだな。
お前らも初めの頃はこんなだっただろ 黙って成長を見守ってやれよ
715の書き方ってif(canvas!=null)の中で処理することと同じように見えるんだけど…
>>790 調べもしないで無闇に書き込みはしなかったけどな
793 :
デフォルトの名無しさん :2012/08/26(日) 18:07:07.88
>>782 取り出して使いたいのではなく持たせた状態で通信 したいんです
String cookie = "cookie=ok; Path=/";
HttpURLConnection http = (HttpURLConnection) url.openConnection();
http.setRequestMethod("GET");
http.setRequestProperty("Cookie", cookie);
http.connect();
こんな感じの接続をMediaPlayerで実現したいんです
>>783 MediaPlayerのHttpヘッダにCookieを含める方法もSocket通のhttp ヘッダにCookieを含める方法もわからないので困っているんです
>>793 Socketならwriteで含められるだろう。
>>793 もしかして素のTCP通信でhttpやり取りする事自体がわかってなかったりする?
取り出せたのなら同様にリクエストに含めてやるだけだけど
Socketなら当然リクエストは自分で組み立ててるんだしすぐ判ると思うが
>>793 Proxy実装したんならそのくらいわかりそうなもんだが。
MediaPlayer側から受け取ったメッセージにCookieを付加してサーバーに転送するだけでしょ。
>>759 ですが、自己解決しました。
String filName = "/sdcard/Pictures/sample.jpg";
Intent intent=new Intent();
intent.setDataAndType(Uri.fromFile(new File(filName)), "image/jpg");
startActivity(intent);
ActionProviderで様々な画面で同じメニューの処理をしたいのですが 例えばActionBarに[ABCD]とボタンを配置していて全て同じActionProviderを設定していた場合 public boolean onPerformDefaultAction()がコールバックされますが この中でどのボタンが押されたのかや押されたボタン毎に違う処理をするにはどうすればいいでしょうか? ActionProviderに関する情報があまりなく見た感じだと 一つのActionProviderのクラスをひとつのメニューボタンに対して割り当てないと使い分けできない気がします・・
そこはそれぞれ別のActionProviderインスタンスを設定する必要があるんじゃないかね。 同じような処理をするのに無駄にメモリを食うのが気持ち悪いかもしれないけど、 大した実害はないし、そういうものだと思ってあきらめる。
800 :
デフォルトの名無しさん :2012/08/26(日) 21:50:25.92
>>795-796 NicoRoのソースのページにローカルサーバーを立ててと書いていたのでhttpProxyのサンプルを探してきて立てただけなので
実際はよくわかってません
Socket通信は少しだけ使ったことがあったのでSocket通信で簡単にできると思ってました
>>800 socket通信したことあるなら、わかると思うけど、socketはhttpに関しては何も知らないから。
自分用に作っていた次のようなプログラムがあるんだけど、 ・マニフェストに登録したBroadCastReceiverで、Intent.ACTION_POWER_CONNECTED を拾ってWi-Fiを有効化する。 ・同様にBroadCastReceiverでACTION_POWER_DISCONNECTEDを拾ってWi-Fi無効化 ・アクティビティは1つも無し。BroadCastReceiverとそれから起動されるServiceが1個だけ。 Android2.3のスマホで正常に動作していて、Android3.2のタブレットに入れると全く反応しなかった。 で、何でもない空のアクティビティを1個足すと、ちゃんと起動するようになった。 これって仕様?サービスだけのアプリはどこかのバージョンからダメって話になったりした? ちなみにタブレットは東芝のAT3S0。
>>802 一度アプリを起動しないとBOOT_COMPLETEを受けれなくなったとか何とか
>>803 なんと!仕様だったのか。。
まあ、目に見えないアプリを作れなくするためなんだろうな。
806 :
デフォルトの名無しさん :2012/08/27(月) 00:35:41.89
この純正のIMEPoBoxとかいったっけ これ最初は使いやすかったけど使ってくうちに使いづらくなるな とくに予測変換の保存期間短すぎないか? 設定で変えられるんだったら誰か教えてくれ
807 :
806 :2012/08/27(月) 00:45:36.48
誤爆しました すみません
オライリーの『プログラミング Android』を読まれたことのある方に質問です。 13章で、Youtube から一覧を取得してサムネイルなどの情報をリスト表示する サンプルプログラムが作られています。 ContentProvider の query は、同期的に最新の一覧を取得するのではなく、 問い合わせた時点では、前回の query でローカル DB にキャッシュした一覧を即座に返し、 query 内では別スレッドで Youtube に問い合わせてローカル DB を更新しています。 この設計と意図は分かった(つもりな)のですが、この設計の場合、query を呼んで 帰ってくるのは前回の query 呼び出し時に内々に更新した一覧の情報となり、 今の query を呼んだ瞬間の最新ではありません。 表示する View があって、Cursor からの通知を受けて更新していくような形であれば、 この形がレスポンスも良いのですが、ContentProvider のクライアントが、少なくとも ある時点では最新であることを保証した一覧を取得したいと思った場合、どのように 呼ぶ/もしくは拡張すれば良いのでしょうか。 この例で言えば、例えばエクスポート機能を設け、UI を押すとその時点での情報最新が 日時入りでエクスポートされる、という機能など、です。query を呼んだ結果をそのまま 呼ぶと、厳密にはその日時ではない最新の一覧となります。
809 :
808 :2012/08/27(月) 09:57:37.71
最後の所ミスです。済みません ×query を呼んだ結果をそのまま呼ぶと、 ○query を呼んだ結果をそのまま書き出すと
本当にjavaなんですか? Graphicsもrepaint()も見つかりません 別の言語ならjaveを名乗らないで下さい
AWT入ってないくらいで「Javaじゃない」呼ばわりは酷いなw
javaで動くことは動く。だがそれがjava言語であるとは一言も言ってはいない。
たまにこういう初心者居るね
俺的にはjava.awtとかjavax.swingなんかより、フルセットのutil, lang, io, nioあたりが有ることの方が有意義だと思う。 非同期ソケットもutil.concurrentもちゃんと入ってる でもnioいっぱいバグってる気がするが。特にudp使うとなんか変だよ
javaとjavascriptって似てるよね
画面を回転させるとエラーが出て強制終了する どうしたらいいですか?
回転させない
※仕様です
回転後のActivityは新たに作成されたもの 回転前のActivityからオブジェクトが受け継がれてないんだろ
回転なんて無意味なものだぜ
>>816 onDestroy で状態などを保存する
その後 onDisney で現実逃避する
onDestoryじゃ遅い、onSaveInstanceStateで保存
onDestinyだよ
>>812 逆じゃねーかな。「Java言語」ではあるけども「Java」ではない。
Java以外の何か with Google
⊃ こういう記号だろ
829 :
772 :2012/08/27(月) 21:20:23.01
他に同じようなことをしている人がいたのでソースをもらってきたのですが HttpURLConnection connection = (HttpURLConnection) (new URL(uri)) .openConnection(); connection.setDoOutput(true); connection.setRequestMethod("GET"); connection.setRequestProperty("Cookie", cookie); connection.connect(); String status = "HTTP/1.1 " + connection.getResponseCode() + " " + connection.getResponseMessage() + "\n"; client.getOutputStream().write(status.getBytes()); for (Entry<String, List<String>> e : connection.getHeaderFields() .entrySet()) { if (e.getKey().equals("Accept-Ranges")) {☆ continue; } String header = e.getKey() + ": " + TextUtils.join(";", e.getValue()) + "\n"; client.getOutputStream().write(header.getBytes()); }
830 :
デフォルトの名無しさん :2012/08/27(月) 21:24:13.39
client.getOutputStream().write("\n".getBytes()); remoetInputStream = connection.getInputStream(); cacheOutputStream = new BufferedOutputStream(new FileOutputStream( mCacheFile)); byte[] buf = new byte[BUF_SIZE]; int readSize; while ((readSize = remoetInputStream.read(buf)) != -1 && !bStop) { if (cacheOutputStream != null) { try { cacheOutputStream.write(buf, 0, readSize); } catch (IOException e) { Log.e("write cachefile", e); try { cacheOutputStream.close(); } catch (IOException ex) { } cacheOutputStream = null; } } client.getOutputStream().write(buf, 0, readSize); } ☆の位置でNullPointerExceptionが発生します 似たようなソースも見てみましたがNullPointerExceptionの対策がされてないようでした 本来はNullPointerExceptionが発生しない箇所なのでしょうか? もしそうなら原因は何でしょうか? URLはちゃんと接続できます
肝心のURLが無いとは
832 :
デフォルトの名無しさん :2012/08/27(月) 21:55:16.05
>>830 確かgetHeaderFields()が返すMapの中にはキーnullだったか空文字列でレスポンスヘッダの1行目が入ってるような。
HTTPレスポンスは最初の一行目だけKey/Valueペアになっていないのでそのせいかも。
つまりkeyがnullなのは正常かも。
本当にその位置で発生しているならばeかe.getKey()のどちらかが nullだとしか考えられないが、それもおかしな話だ。 つか、Javaやっているんだったらそのくらい、質問する前にデバッガで 確かめるだろ。
835 :
デフォルトの名無しさん :2012/08/27(月) 22:09:31.47
>>830 >>833 の言うよなのがあった気がするが、実装によるのならもとがどうとか関係ないんじゃない。
そのヘッダだけということなら、ポインタを比較するんじゃなくて、定数を比較すればいいんじゃないの。
837 :
772 :2012/08/27(月) 22:20:59.51
>>833 if(e.getKey != null)でnullチェックするべきってことですか?
>>834 本当にこの位置です
nullはe.getKeyで呼ばれてるようです
>>836 定数を比較ってどういうことですか?
getKeyメソッドがコールできないのか、
getKeyの戻り値がnullなのでその後ろのequalsでコケるのか
これ重要。
もし公社なら
>>838 がGood.
String a = null;
"aa".equals(a)
だとfalseが返る。
でも、
String a = null;
a.equals("aa")
はぬるぽになるから。
がっ
841 :
772 :2012/08/27(月) 23:08:37.05
>>838-839 比較元がnullだとぬるぽが呼ばれて比較対象がnullだとfalseが呼ばれるだけでおわるなんて知りませんでした
ありがとうございました
スレチかもしれませんがすいません Androidのプログラミングは初めてで解説書(やさしいAndroidプログラミング)を読みながらやろうと思ったんですが 「Android Project」ではなく「Android application project」と表示されていたり Projectの作成してからレイアウトなどが表示されたり開発環境が作成するコードも違っていてなにがなんやらわからないです 何よりも解説書がまったく役に立たないです。 この本ではEclipse3.7でclassic?で作成と書いてあります 私はEclipse Indigoというのを使用しています Eclipseのバージョンが違うからなのだろうと思い、いろいろ調べてみたのですがよくわかりません どうすればいいんですかね
>>842 そういう右も左もわからないような状態だったら、解説にあるバージョンと
まったく同じ環境をそろえろ。変にアレンジするな。
Android SDKが次々改良されるから本が追いついてないんだよ。
EclipseというよりSDKのバージョンが違うんですかね
だね r20からアイコンとかの画面出来たし
ありがとうございました r12みたいなんで入れ直してみます
>>844 基礎がわかってないと、そういう時に応用効かないから。eclipseを使わない方が勉強になるってこと。
業務でプログラミングだけやるなら別にいいと思うけど。
本見るよりネットの方が新しいからそっちで調べた方がいいよ
サンキュ
map v3 に対応した記事、まだ見たことないな
WEBページの単語をタップしたら、その単語の翻訳が表示される Tap-Translate みたいなアプリはどうやって作るのか分かりますか? 参考になるようなソースコードはありませんか?
日本はなかなか有名どころのアプリでholoUI使ってくるとこが少なくね? やっぱfragmentとかが難しいの? まだ2.3の人口が多いから? にしても、個人的には今後はTEDとかSpotifyのアプリを手本にすべきだと思うんだけど pagertabstripとかでバリバリスワイプしたりactionbar使いつつも、 カラースキームとかでオリジナリティを出す感じで 過剰な付加価値()まじいらない
日本だけじゃなく他も結構Holo使ってないね 俺はHoloUIが好きだから3.0以前にもHolo使ってるけど
viewとfragmentの違いがわからない。
ActionBarSherlokとカスタムテーマ使って2.3以前の端末でもHoloっぽくしてる
860 :
デフォルトの名無しさん :2012/08/28(火) 15:10:18.10
撮った写真の何をどう透過するのかアルゴリズムをすでに決めてあるんなら 出来るでしょう
862 :
デフォルトの名無しさん :2012/08/28(火) 17:47:56.17
ここって本当にプログラムわかる奴いないよな
そういうスレだし
864 :
デフォルトの名無しさん :2012/08/28(火) 17:55:11.98
答える側に居ないってこと
手とり足とり教えて欲しいのかよ
866 :
デフォルトの名無しさん :2012/08/28(火) 18:06:32.82
そもそも答えてすらねーだろーが 知ったかぶりたいだけならキエロチンカス
>>860 何言ってるのか分かんない。もう少し詳しく。
写真撮って被写体以外を透過するの?
アホな質問しといて逆切れかよw
nullだとエラーが出やすいので a!=null;のように 全てのオブジェクトに入れたいのですが どうすればいいですか?
paintと同じ塗る命令はないんですか?
>>869 a != null ;
って、最後のセミコロンがあるような使い方って具体的にはどんなの?
gotoと同じ飛ぶ命令はないんですか?
function
>>860 撮った時点で透過画像に変換されるのが確定しているのなら、
あとは位置をずらして保存する部分を作るだけでしょ。
何が疑問なのかさっぱり分からない。
buttonを押している間カウントアップする方法などありますか?
タッチイベントを拾ったら離されるまでタイマーなりでカウントすれば? この過程でどこに質問する要素があるのかさっぱり分からん。
Androidのプログラミングが分からないじゃなくて プログラミング自体が分からないって質問が多いな…
じゃあ、BTのAVRCPってどうやって受け取るの?
自分のやりたいことがプロファイルに設定されているか確認して、 それに合わせてプログラムを組むしか無いだろう。
881 :
デフォルトの名無しさん :2012/08/28(火) 22:44:08.28
860です
>>861 >>867 >>874 もーしわけありません
×透過画像
○半透明画像
透過ってスケスケでしたね
スマホで撮った画像は半透明画像に変換で
テンプレートの上にレイヤーの様にのせたい
って書いたつもりでした
>>880 android.bluetoothにはなくない?
機器は使えるけど。
dbusにアクセスするの?
>>881 位置を指定してアルファブレンドするだけ。
884 :
デフォルトの名無しさん :2012/08/28(火) 23:49:37.63
ありがとーございます
ICSからメニュー出した時の並びがリスト型になってますけど これを以前のようにボックス上に並べるにはどうしたらいいでしょうか?
タッチイベントのサンプルプログラムを見ると ArrayList<Point>やforを使った回りくどい変数の受け取り方をしているのですが 単純にクラスの外側で設定した変数に代入させてはいけないんですか? 試しにそれで作ってみたところ普通に成功するのですが・・・ あとあと問題が発生するのでしょうか?
>>886 何を言ってるかよくわからないが、マルチタッチ対応かどうかってことか?
888 :
デフォルトの名無しさん :2012/08/29(水) 06:41:08.33
此処答えてる側知能レベル小学生並だね
うむ
じゃあ質問する側が回答もすればいいんじゃね
このスレは簡単な質問に回答するか、煽るかしかないよなぁ
スルーされる質問多いよね、、、
カーチャンじゃねぇんだから、いちいち調べて回答してやる義理もねぇだろ たまたま自分が知ってることで、書くのに手間かからないものしか答える気にならんわ
>>894 それって正しくはこうでしょ
たまたま自分が知ってること=誰でも知ってること
書くのに手間がかからないものしか答えるきにならない=知識が曖昧で簡潔に書けない
>>895 ああ、それでイイよ
そうやってくだらなく煽れば煽るほど回答者減るけどな
>>895 そうだよ
それ以上の回答は期待せずに質問をしろってことだ
勝手に期待して期待通りの回答が来ないからって文句言われても困る
>>896 そういう考えのあなた1人くらいならいなくていいと思うよ
ここでまともな議論してたのはBitmapの話くらいだったな
>>899 誰でも回答できる事にしか反応しないレベル低い回答者が消えたほうがいいと思う
ここまで読み飛ばした
でも言われてる通りマジで変なの多いよなここ ここだけじゃなくてこの板の他のスレもそうか…
↑その筆頭
>>886 「クラスの外側で設定した変数」って何?
メソッド内の一時変数でなければ、ほかは何かしらのクラスのメンバーでしかありえないんだけど。
タッチ位置を監視するオブザーバーがいて、onTouchEventで値を書き換えてるとか?
デベロッパーコンソールでは下記のような設定なのですが、 Nexus 7(Android4.1)からPlayストアで検索してもヒットしません。 URLを直で開いても「お使いの端末はこのバージョンに対応していません」となってしまいます。 回避方法はありますか? もしくは原因をお知りの方いましたら教えていただきたいです。 --- API レベル: 7-16+ 対応画面: small-xlarge OpenGL テクスチャ: すべて
アップしたてとかじゃないの? 反映にしばらく時間かかるよ
apkが有効になってないとか? >このアプリケーションは 1670 台以上の端末でご利用いただけます。 の部分にはなんて表示されてる?
>>908 関連付けたアカウントでpcから覗いたらどうなりますか
>909 >910 >911 レスありがとうございます。 現状は、 公開済みでしばらく経っています。 android2.3ではPlayストアで検索できます。 サポートされている端末の欄は下記のようになっています。 --- 画面レイアウト: SMALL NORMAL LARGE XLARGE 必要な端末の機能 android.hardware.screen.portrait android.hardware.telephony android.hardware.touchscreen --- ここで「利用可能なデバイス」という欄を発見し、 「nexus 7」と検索してみたところ、下記メッセージとなっていました。 (grouper)といのは意味が分かりませんが、もしかしたら電話機能がないせいかもしれません。 --- マニフェスト設定が原因でサポートされていない端末 Nexus 7(grouper) ---
お察しの通り、Nexus7にはtelephonyが無いからかと。 grouperはNexus7のこと。
Service#onStartがヌルポで落ちて、どうやら再起動がかかった時に onStartの引数intentがnullになる場合があるらしい。 intentに入れてた値を再取得したい場合はどうすればいいんだろう?
>>914 @Override
public int onStartCommand(Intent intent, int flags, int startId) {
onStart(intent, startId);
return START_REDELIVER_INTENT;
}
>>915 ありがとう。onStartの所にあった処理をonStartCommandに
持ってきて、onStart(非推奨)は削除した方がいいよね?
うん
それでもIntentがnullで来ることがあるのは変わりなかった気がするが…
919 :
デフォルトの名無しさん :2012/08/30(木) 13:55:21.74
AndroidにてSQLiteを利用としています。 データベース操作が初めてなので、どのように行うべきかわかりません。 下記、処理についてどのようにコードで表現すればよいでしょうか? 問題: レコード数が10に達したら、1番目のレコードを削除し、2〜10番目のレコードを一つ前にずらし、 最新レコードを10番目のカラム位置にセットする。 これを繰り返す。 宜しくお願い致します。
>>919 >2〜10番目のレコードを一つ前にずらし、
excelでもやってろ。
RDBの順番なんてものは動的で、いちいちずらす意味がない。
あと、レコードとカラム間違ってないか。
テーブルのフィールドは自由に追加したりできんの?
オートナンバーで11個になったら最小のやつ一つ消せばいいだけ
924 :
919 :2012/08/30(木) 14:19:34.97
変な質問してすいません。
データベース操作自体初めてなんで。。。
>>923 具体的に教えてくれないでしょうか。
具体的って、、レコードとカラムの使い方がちょっとわからんとこあるけど オートナンバーは調べりゃわかる、intをプライマリーキーにすりゃいい。 SELECT するときは ORDER BY をつけることと SELECt COUNT で数えりゃいいし、 DELETE FROM で消す時に WHERE句にサブクエリでMIN関数で最小の数字指定すればいいよ
これ流せばよくね? delete from sample where id not in (select id from sample order by id desc limit 10);
スレッドについて質問です onDrawで描画作業中のActivityからバインドさせるサービスを起動 サービスでは必要なファイルのダウンロードをhandler内で順番に行い 状況をActivityへコールバックしています まずNetworkOnMainThreadExceptionの例外があるのですが バインドさせたサービスのダウンロードはActivityのメインUIスレッド上なのでしょうか? それともサービスのメインスレッド上として警告されているのでしょうか? StrictModeで強行させるとActivityがひっぱられてしまいます…
>>926 もしくはこんな感じか?
delete from sample where id <= (select id from sample orderby id desc limit 1 offset 10);
INは件数によってレスポンスに影響しそうでこっちのが好み
全体を try { } catch(Exception e) {} で囲ってしまうとやっぱり処理速度はその分落ちますか?
931 :
919 :2012/08/30(木) 16:01:07.36
>>928 つまり下記ですか?
sql書くこと自体ほぼ初めてなもので。。。
delete from sample where id (select id from sample orderby id desc limit 1 offset 10);
>>931 何がつまりなのかまったく判らん。
テーブルやカラムの名前は自分の定義したのに合わせて修正してくれ
あとorderbyはorder byな。空白抜けたのは悪かった
まとめて書くと混乱するってw あと limit offset を中に入れたくないのは他のDBも使うからクセだな。
たとえば沢山のフォルダをそれぞれlhazでZIP圧縮して保存する 作業ってスクリプトでできる??名に使えばいい?
>>931 まずはsqliteのシェルを使っていろいろ弄んでみた方がいいと思うぞ。
>>934 sh scriptで簡単にできると思うが、誤爆か?
>>936 いえ誤爆ではないです
それってwindowsでも動かせますか
>>937 batとかmsのなんちゃらスクリプトか、bashをインストールすればできるんじゃない。windowsもってないから答えられるのはここまでだ。
まあ、10倍くらい時間かかるかもしれないけど、javaで書いてもいいし。
>>927 サービスもアクティビティもすべて同じくただひとつのUIスレッド上で呼ばれます
UIスレッド上で作ったHandlerもUIスレッド上で呼ばれます
別スレッドにしたければ自分で別スレッドを作ってください
HandlerThread とか使ってもいいです
>>940 ありがとうございます
サービス内でnew Threadを作りhandlerループで苦戦していました
HandlerThreadについても調べてみます
>>918 それでもnullで来るの?
そこまでServiceの再起動対策しないといけないのか…
>>942 処理が終了した後、stopSelfとかでちゃんと停止してる?
>>944 stopServiceは外部から止めるメソッドじゃん?
onStartなりonStartCommandから一連の処理を行った後
stopSelfで停止しておかないと
何も処理をしていないServiceは優先度低いから殺されやすい
まあ、この場合は元々何も処理して無いんだからnullチェックして捨てても良い気もするが
逆に処理はやって無いけど止められたくないんだったら
AlarmManagerに登録しておくとか、startForegroundで優先度を高くしておくとか工夫が必要
>>945 優先度上げとかないと駄目なのか
ちなみに今回ヌルポで引っかかったのは
startServiceで起動
→onStartでAlarmManager登録してタイマー設定
→タイマー満了でstopService
という流れだった
947 :
デフォルトの名無しさん :2012/08/30(木) 21:53:53.03
EditVextを長押しして貼り付けとかコピーとかを出すにはどうしたら良いですか?
何もしなくても出るだろ
とにかくnullで{}るのがAndroidの基本みたいですね 最低です もうやめます
お疲れ
マジレスすると
マルチスレッドで動作していて、外部でも値が変更される可能性があるのなら、適切なタイミングでnullチェックが必要なのは当然だろ
・Androidユーザー激減 ・開発会社8割がi-Phoneへ。Android用をリリースしてるのはわずか2割 ・中国と米国でサムスンがアップルに敗訴。 今後ギャラクシーシリーズは販売できなくなる可能性も ・アドビ社、FlashをAndroidから撤退 来年の今頃はもうAndroidなくなってるんじゃね?
drawableがたくさんあって、画面サイズに合わせて画像調節してくれても、 文字や座標は調整してくれません。どうすればいいですか? 仕様ですか?
gravity や layout_gravity や layout_weight や dp を駆使するんだ
>>956 そうなるとドコモしぼうだからw
日本ではアップルの請求を棄却したみたいだ
今年はスレ違い好きな奴多いな。 どうしたんだ?
夏休みだからな、もうしばらくの辛抱だ
androidは抹殺する by すてぃーぶ.J
抹殺するぐらいの意気込みでってことなんだろうがそんなのは心の中だけに止めとけよ
いやもう自分が亡くなってるだろ
iPhoneって「世界初」を強調してるけど 本当に世界初の技術なんてiPhoneのどこに使ってるの?
ジョブズの遺志などと言ってる輩は、その行為自体が死者を貶めてることを理解するべき
>>967 てめーがスレタイ読めてないことに気づけ
>>966 Siri
他にもアンロックのスライダーとかね
いろいろあるよ
>>970 スライドアンロックは欧州では同じ機能を持つものが過去にあったということで無効になってるよ、他の国でも同じ結果になるだろうね
ジョブズがドヤ顔で発表してたマルチタッチ関連の特許も無効になってるしね
エミュレータが真っ黒になったまま動かん…。 RAMのサイズ下げたりバックグラウンドでの起動をやめたりadbリセットしたり、ネットで検索かけて出てきた対策をあれこれ試したんだがどれもダメだった。 ついこの間まで動いてたんだがなあ。
全体のテーマをAndroidManifest.xmlのapplicationにて指定しています。 デフォルトのテーマのTheme.Lightから、Theme.Blackにした後Theme.Lightに戻したら何故か色指定していないTextViewの文字だけ白のままになってしまいました。 この色はTheme.Blackのテーマの色のようなのですが、どうやったら直るのでしょうか・・・。 eclipse上での色は問題ないのですが、端末にて検証する時だけ文字の色に不具合がみられます。 Anrdoidのビルドターゲットは2.2です。
全体をtry{ の例外処理で囲うと恐ろしくビルドに時間がかかるようだ 一つ一つ例外コードを埋め込んでるのかな
んなわけ無いと思うが、逆アセンブルしてみたら分かるんじゃないかな 例外を列挙できるようになったのってJDK1.7からだっけ・・? その影響かね
Javaはマシン語になっているわけでは無いから、逆アセンブルなど出来ない。 馬鹿は死んでから言え。
GCMのID削除って端末から明示的に可能ですか? オフラインモードの時はPush配信停止させて オンラインモードの時にもう一度Push配信を開始させたい
いいよ チューしてくれたら
980 :
デフォルトの名無しさん :2012/08/31(金) 23:32:45.93
>>905 Ibookのような滑らかなページめくりはどのように実装したらいいでしょうか?
紀伊国屋アプリkinoppyを逆コンパイルかけてみたけどうまくでません><
981 :
デフォルトの名無しさん :2012/08/31(金) 23:34:04.49
アンカーミス 再度 Ibookのような滑らかなページめくりはどのように実装したらいいでしょうか? 紀伊国屋アプリkinoppyを逆コンパイルかけてみたけどうまくでません><
俺がやるならたぶんOpenGL使う
いつのまにかVMwareうちのCPUで動かなくなってる
CPU数蛙と桶
>>973 だけど解決できました。adapterにはthisセットしないとテーマ情報まで分からないんだすね・・。
987 :
忍法帖【Lv=2,xxxP】 【東電 56.8 %】 【大凶】 !dama :2012/09/01(土) 07:12:41.19
test
text
990 :
981 :2012/09/01(土) 12:45:39.81
>>982 OpenGLしかないですかね。。。
検索してみても、上記の紀伊国屋のアプリでしか見ませんね。
実装している方はスライドが多いです。
ページめくりたいな。
ちょっと詰まってしまったんで知恵を貸してください。 Activityに複数種類あるFragmentのうち1つが動的に設定されるような画面で、他のアプリで大量のメモリを消費しプラットフォームから一旦タスクをKILLされた後再度フォアグランドに戻した後の挙動についての質問です。 Activityのメンバに今画面に設定されているFragmentのインスタンスをメンバとして持っており、画面のFragmentが切り替わるたびにこのメンバが更新される構成になっています。 フォアグランドに戻した際そのメンバはnullになっていますが、ActivityのViewは最後に設定していたFragmentが設定されたままになってますし、 設定していたFragmentのコンストラクタ→onSaveInstanceStateにて保存した情報が含まれている状態でonCreate()→…とライフサイクルはは進行しているようなのですが、このインスタンスとActivityの紐付けはどのようにすればいいのかが分からず困っています。 [View]---[Activity] [Fragment]となっている参照を、 [View]---[Activity]---[Fragment]という風にKILLされる前の状態に戻すためにはどのようにすればよいのでしょうか。 またこのようなメモリ不足でプロセスKILLから復帰させるよなケースはどのように対応するのが業界の慣習なのでしょうか。
Activity の onSaveInstanceState で Fragment の参照を保存できたように思う FragmentManager#putFragment とか FragmentManager#getFragment とか
>>991 FragmentManagerに登録してあるんだったら自動で復帰するはずだけど…
Activity→Fragmentへの操作は基本的にsetArgumentで引数を渡す以外はNG
FragmentからgetActivityで表示元のActivityを取得してそこから何か貰う感じにしないとダメ
>>988 そうそう、今までたまたまgetApplicationContext()で渡して上手くいってたから気づかなかった。
ところでアプリの設定でテーマ変更して、それをsetThemeにて読み込みたいので再度onCreateをしたいのですが、どうすればいいのでしょうか・・・。
996 :
デフォルトの名無しさん :2012/09/01(土) 14:36:44.69
新規プロジェクトを作るときにアプリケーション名を入力するとpackage名がcom.example.アプリケーション名になります このcom.exampleの部分を任意のものに変える方法を教えてください
自前でAndroid開発用のEclipseプラグインでも作ってください
998 :
デフォルトの名無しさん :2012/09/01(土) 15:28:03.27
>>996 編集すればよし
create コマンドなら -k かな
LINUX
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。