Androidプログラミング初心者質問スレ Part4
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2010/11/19(金) 16:33:21Androidプログラミング初心者質問スレ Part3
http://hibari.2ch.net/test/read.cgi/tech/1286357268/
Androidプログラミング初心者質問スレ Pert2
http://hibari.2ch.net/test/read.cgi/tech/1282716370/
Androidプログラミング初心者質問スレ
http://hibari.2ch.net/test/read.cgi/tech/1278560954/
関連スレ
【Google】Androidアプリ作成part6
http://hibari.2ch.net/test/read.cgi/tech/1286555951/
0461デフォルトの名無しさん
2010/12/11(土) 13:43:28つ http://www.javadrive.jp/android/
0462デフォルトの名無しさん
2010/12/11(土) 13:50:57それらはplatform-toolsに移動した
0463デフォルトの名無しさん
2010/12/11(土) 14:05:40ですけど、ここやほかのサイトも調べたのですけど解決できずです。
SDK2.3を解凍した/tools/の中に AdbWinApi.dll が入ってないみたいです。
0464デフォルトの名無しさん
2010/12/11(土) 14:14:49fastbootなんかはsdkのzipになくて、AOSPをビルドしたぜ。
0465デフォルトの名無しさん
2010/12/11(土) 14:20:05platformsの中は最初から空で、toolsの中にも AdbWinApi.dll が入ってないです。
0466デフォルトの名無しさん
2010/12/11(土) 14:27:52それってPCでもできるのですか?
ググって見たら端末みたいだったので。
0467デフォルトの名無しさん
2010/12/11(土) 14:29:16AOSPのソースの中に、SDKのソースも入ってる。
0468デフォルトの名無しさん
2010/12/11(土) 14:34:27しつこく聞いてすみません。
0469デフォルトの名無しさん
2010/12/11(土) 14:35:580470デフォルトの名無しさん
2010/12/11(土) 14:40:25ありがとうございました。
0471デフォルトの名無しさん
2010/12/11(土) 14:49:280472デフォルトの名無しさん
2010/12/11(土) 15:17:370473デフォルトの名無しさん
2010/12/11(土) 15:42:39解決しました。ありがとうございました。
0474デフォルトの名無しさん
2010/12/11(土) 16:16:44俺も1だなぁ
ニコ側の仕様変更はどうしてもverupで対応する形になるだろうし
ログイン情報を中継鯖にってのも嫌がられるし、imona状態になるかもだし
ニコの中身見てないけどレスポンスをxmlとして解釈出来れば大して難しくないかと
0475デフォルトの名無しさん
2010/12/11(土) 17:40:43ありがとう、1で頑張ってみるよ。
ちなみに、検索時のログイン情報は専用のを鯖側で用意するつもりだったよ!
0476デフォルトの名無しさん
2010/12/11(土) 18:41:59http://profiles.yahoo.co.jp/-/profile/?sp=oGT3BCg1eqGiCHsyTN79KJdc
0477デフォルトの名無しさん
2010/12/11(土) 18:51:100478デフォルトの名無しさん
2010/12/11(土) 19:03:050479デフォルトの名無しさん
2010/12/11(土) 19:04:26ありがとうございます.
リファレンス見ました(時間かかりました。。)
どうも多用はしないほうがいいみたいなことが書かれてました.
バックキーの処理も必ず試して確認してくださいなどなど。。
上記の例でいう、b,cのactivityは常に動かしていたいものが
あるので保持というよりは止めたくないという感じです.
現状としては、root activityとなるものだけ
singleInstanceにしようと思います.
ちなみに、一般的なandroid開発でのメモリ管理はどのように
なっているのでしょうか。standardのactivity間で画面遷移を
繰り返すようなことがあると、無限にインスタンスが生成され
てしまうような気がしてしまいます.
明示的にスタックをクリアするなどした方がいいのでしょうか.
0480デフォルトの名無しさん
2010/12/11(土) 19:09:46OSが再利用するかどうか決めるので、そこは各Activityでの状態保存方法 とFLAGによると思う。
ずっと処理させたいのなら、Service も検討したほうがいいんでない?
0481デフォルトの名無しさん
2010/12/11(土) 19:10:14Win7はandroidoは対応していないな
0482デフォルトの名無しさん
2010/12/11(土) 19:57:35あるActivityで一行にtextViewを二つ並べたListViewをレイアウトしていて、ListViewのあるアイテム行を
タップしたら別のActivityに画面遷移する。で、バックキーで最初のActivityに戻ってきた時に
activity#onActivityResultメソッド内でListViewにあるtextViewの文字列を変更したいんだけど
変更が更新されないで困っています。
ListViewをスクロールして変更したアイテム行を一度画面外までもっていって、もう一度画面
内にもってくれば変更が更新される。
バックキーで戻った時に変更を更新したいんだけど、どうすればできますか?
ネットで調べたらadapter#notifyDataSetChangedメソッドを実行すれば更新されるって
情報があったけど、これも試してもダメだった。
0483デフォルトの名無しさん
2010/12/11(土) 20:08:51invalidateViews は?
0484デフォルトの名無しさん
2010/12/11(土) 20:20:21確かに、今Activity内で処理をさせている
実装そのものがよくないのは確かです.
launchモードやFLAGでどうにかなればいいなと思って、
今回質問させていただきました.
0486デフォルトの名無しさん
2010/12/11(土) 20:46:48実は自分も困っている。まったく違う要件だけど、行のなかのView を更新する点では同じなので興味ある。invalidateViewも結局は描画を要求するだけで、呼んだとしても更新されるとは限らないし。
0487デフォルトの名無しさん
2010/12/11(土) 20:47:57常に再利用するように仕向けるactivity タグの属性かFLAGがなかったけなぁ。
0488デフォルトの名無しさん
2010/12/11(土) 21:11:58ListAdapterのnotifyDataChanged(?)を呼んでから
ListViewのinvalidateViewsを呼ぶ
0489482
2010/12/11(土) 21:34:22そうですか。ちなみに>>486さんのandroidのバージョンっていくつですか?
自分はxperiaの1.6です。こういう問題ってOSのバージョンによって挙動が変わりそう
>>488
試してみたけどダメだった・・・
皆さんすいませんでした。もう少し自分で頑張ってみます
0490デフォルトの名無しさん
2010/12/11(土) 21:41:151.6、2.1、2.2.1。描画は結局はinvalidate()に行き着くので、それ以外は何やっても無駄な気がする。即時に描画してくれるきっかけがあればいいよね。
0491デフォルトの名無しさん
2010/12/11(土) 21:50:540492482
2010/12/11(土) 22:06:482.1もダメだったんだ。う〜ん、でも他のアプリとか使ってみるとそれができてたり
するからムリだって事はないと思うんだけどなぁ・・・
>>491
ダメっす
0493デフォルトの名無しさん
2010/12/11(土) 22:11:40Adapterに紐付いているデータの更新してる?
0494デフォルトの名無しさん
2010/12/11(土) 22:21:48よくわからんが、フォーカスの乗ってる行がダメなのか?
フォーカス関連でなんかしてみたら?なにをしたらいいかはわからんがw
0495デフォルトの名無しさん
2010/12/11(土) 22:34:20FLAGでは、
FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY
などスタック内に同一のActivityがあったら、それを利用するFLAG
が用意されているみたいなのですが、
それをセットして呼び出しているにも関わらず、
呼びだすたびにonCreateされている状況です。
既存のインスタンスを削除して、作り直しているという作業を
しているだけなのかもしれませんが、勉強不足でわかりません。
0496デフォルトの名無しさん
2010/12/11(土) 22:36:41sqliteからのcursor使ってgetView内で描画してる分にはいい感じなんだけど、UIのどこかから直接listviewの表示行の値更新後の再描画がうまくいかないんだよね。。
listview をスクロールさせてgetView 走るようになると描画されるんだけどさ(されない場合もあるけど)。
動いていないlistview に対して動かさないまま値更新するのがうまくいかないという事象です、自分の場合。
0497デフォルトの名無しさん
2010/12/11(土) 22:40:14もしかして: onSavedInstanceからのonCreateかもよ。
Activity の状態復帰方法についてもうちょっと調べてみ。twitterで有名な人がその辺晒してたから。
0498デフォルトの名無しさん
2010/12/11(土) 22:42:56自重しよう
0500デフォルトの名無しさん
2010/12/11(土) 22:50:13>>499
そうかあ、やはり。だとすると自分が今までいってきたように、invalidate が動くトリガーを見つける旅に出ないとあかんかも。最悪、仕様見直すところまで戻るとか。
0501デフォルトの名無しさん
2010/12/11(土) 23:21:020502デフォルトの名無しさん
2010/12/11(土) 23:21:50ごめん、俺ちょっと嘘ついてた
>>482で書いた「バックキーで最初のActivityに戻ってきた時」に
adapterのgetViewは実行されてたわ
だけど、ListViewのアイテムはスクロールして画面外に出さないと
更新が反映されない
0503デフォルトの名無しさん
2010/12/11(土) 23:22:420504デフォルトの名無しさん
2010/12/11(土) 23:26:20そうするとさ、単純にlistview の再描画を明示的にキックすればいいんじゃね。
表示位置とかadapter そのものをどっかに退避して、戻ってきたときに呼ばれるonStart で再描画するとか。
0505デフォルトの名無しさん
2010/12/11(土) 23:27:03なんで?
0506デフォルトの名無しさん
2010/12/11(土) 23:27:33すまん、オレ情弱なんだ。
0507デフォルトの名無しさん
2010/12/11(土) 23:33:51>そうするとさ、単純にlistview の再描画を明示的にキックすればいいんじゃね。
そのキックがadapter#notifyDataSetChangedなんじゃね?って思うんだけど・・・
>表示位置とかadapter そのものをどっかに退避して、戻ってきたときに呼ばれるonStart で再描画するとか。
そうっすね、とにかくもう少し色々とやってみます。
0508デフォルトの名無しさん
2010/12/11(土) 23:52:470509デフォルトの名無しさん
2010/12/11(土) 23:55:42まさにその通りでした.
終了時に、onSaveInstanceStateが呼ばれてBundleインスタンスを保存しています.
FLAGにFLAG_ACTIVITY_NEW_TASKをセットしない限り常にこいつが呼ばれています.
ただ、これはActivity内のデータの保存な気がしていて、
Activity自体のインスタンスが1つになっているのかどうかは・・
という感じです.
(Destroyされず、onCreateされているので..)
ついったーはやってないのであれですが、
もう少し調べてみたいと思います.
0510デフォルトの名無しさん
2010/12/12(日) 00:07:32心配だったら、Activity のhashCode()をonCreateでログ出力して同一かどうか確かめてみたら?
そもそも話かもだけど、インスタンスが新規か再利用かを厳密に意識するのってそうはないはず。むしろ、シングルスレッド的な処理をさせようとする仕様に無理があるような。。検討違いだったらごめんよ。
0511デフォルトの名無しさん
2010/12/12(日) 00:20:19いえいえ、ご丁寧にすみません。ありがとうございます。
android開発始めたばかりで、まだ「一般的」ってことが理解できないですね。
なんだか、同じ処理なのに複数インスタンスができてしまうのが
気持ち悪いというか・・っという変な考えがあります.
ログ出力チェックしてみます!
0512デフォルトの名無しさん
2010/12/12(日) 01:11:35adapter#notifyDataSetChangedはデータが変更されたよ、って通知するだけ、
その後ListViewのinvalidateViewsでgetViewが呼ばれ再描画されるはず、なんだけどね
0513デフォルトの名無しさん
2010/12/12(日) 03:27:44今のままだとロケールによってはデザインがグダグダになります。
こちらでロケールを強制的に英語として表記する事は可能なのでしょうか?
水→wed
世界進出する気は全くないのですが、気になって調べたのですがわかりませんでした。
よろしくお願いします!
0514デフォルトの名無しさん
2010/12/12(日) 03:37:34グダグダでいいじゃない、人間だもの
0515デフォルトの名無しさん
2010/12/12(日) 04:29:360516デフォルトの名無しさん
2010/12/12(日) 08:57:35SimpleDateFormat
0517デフォルトの名無しさん
2010/12/12(日) 09:41:190518デフォルトの名無しさん
2010/12/12(日) 11:52:38外部機器よりUSB接続してandroid端末で読み取り
読み取ったデータを色々計算したりして
表示させることは難しいですか?
androidのプログラムは全くの素人です
宜しくお願いします
0519デフォルトの名無しさん
2010/12/12(日) 12:32:050520デフォルトの名無しさん
2010/12/12(日) 12:36:17素人が自前でやるのは無理、プロにお金出してやってもらえば
出来るかどうかは、やりたいことしだい。
まあ、どっかの個人事業主か小さいソフト会社に一千万円くらい出せばやってもらえるんじゃないかな。
0521デフォルトの名無しさん
2010/12/12(日) 12:40:23こういうのはWin機でやったほうがいいよね
0522デフォルトの名無しさん
2010/12/12(日) 12:49:09そうだね、Win機でがんばれ
(実はオープンソースのAndroidのほうがやり易いんだが、秘密にしておこう)
0523デフォルトの名無しさん
2010/12/12(日) 13:02:08頑張ってね(めんどくさいわーこいつ)
0524デフォルトの名無しさん
2010/12/12(日) 13:35:490525デフォルトの名無しさん
2010/12/12(日) 14:18:35プロジェクトのプロパティの Is Library にチェックを入れる
マニフェストの<application>タグを削る
でいいんでしょうか?
そうするとdefault.propertiesファイルがeclipseで開けなくなるんですが
これでいいの?
0526デフォルトの名無しさん
2010/12/12(日) 15:59:52やはり全部書き直ししかないですね。
何も考えずにDateFormat使ったのが運の尽きだったか。
単純にSimpleって書き足すだけなら楽なのに、、、似た結果なのに結構違うんですよね。
0527デフォルトの名無しさん
2010/12/12(日) 16:42:06DateFormat?を継承した同名のDateFormat クラスを作って何とか済ませればimport だけ書き直しですむかもよ。finalだったらご愁傷さまだけど。
0528453
2010/12/12(日) 18:07:36HTMLをスクレイピングするところで詰まっております.お知恵を拝借いただければと思います.
現在,ニコニコの検索結果を端末で抽出しているところです.
はじめ,HTMLをそのままXMLParserに掛けてみましたが,まぁ,当然のごとく,XML文法エラーで蹴られました.
そこで,tag soupというライブラリを使って,HTMLをXHTML化してみましたが,HTMLをXHTMLにするだけで30秒掛かってしまい,使えそうに有りませんでした.
そして,最後に以下のページを参考にWebViewを使って解析を試みましたが,ページタイトルを取得することはできたものの,結局それからどうやってページ内の動画情報を取得するのか分からずに詰まっております.
ttp://android.g.hatena.ne.jp/keigoi/20100211/1265892976 (参考にさせていただいたサイト)
何か良い案が有りましたら,アドバイスいただけると幸いです.
よろしくお願いします.
0529デフォルトの名無しさん
2010/12/12(日) 18:09:060531デフォルトの名無しさん
2010/12/12(日) 18:14:21自力で何とかしろ
0532デフォルトの名無しさん
2010/12/12(日) 18:26:31冗談で言ってんじゃないんだよ
0533デフォルトの名無しさん
2010/12/12(日) 18:42:500534デフォルトの名無しさん
2010/12/12(日) 19:09:34そもそもここでする質問じゃない、完全にスレチ
0535デフォルトの名無しさん
2010/12/12(日) 19:10:16真実。
>>530
あきらめるか、自作だな。
パターンはあるの?あるんだったら正規表現を使うんだ。やり過ぎてアクセス拒否されんようにな。APIは知らん。
0536デフォルトの名無しさん
2010/12/12(日) 19:48:25全くだな
0538デフォルトの名無しさん
2010/12/12(日) 23:13:38何でわざわざAndroidプロジェクトで作ろうとするのか解らん。
普通にjavaプロジェクトでjarを作成して、該当Androidプロジェクトにインポートして使えば?
0539デフォルトの名無しさん
2010/12/13(月) 00:14:58素人だからさ
0540デフォルトの名無しさん
2010/12/13(月) 01:16:130541デフォルトの名無しさん
2010/12/13(月) 08:03:27それでViewの派生クラスとか入れられるの?
0542デフォルトの名無しさん
2010/12/13(月) 11:20:17ガハハ
0543デフォルトの名無しさん
2010/12/13(月) 13:39:54ライセンスは「Apache License, Version 2.0」に書いてる通りってなってます。
一通翻訳ソフト使ったりして読んだんですが、ロイヤリティーフリーとか書いてて、
出典明らかにしてたら基本的に自由に使っていいっていう理解でいいのでしょうか?
0544デフォルトの名無しさん
2010/12/13(月) 13:40:48馬鹿なの?童貞なの?
0545デフォルトの名無しさん
2010/12/13(月) 13:45:04童貞ではないです
0546デフォルトの名無しさん
2010/12/13(月) 13:47:160547デフォルトの名無しさん
2010/12/13(月) 13:48:040548デフォルトの名無しさん
2010/12/13(月) 13:55:41すいませんでした
>>547
ご教授ありがとうございます
0549デフォルトの名無しさん
2010/12/13(月) 14:45:58もう解決したかな?
もしまだなら、アダプターにregisterDataSetObserver(DataSetObserver observer)してるかどうか確かめてみて。
0550デフォルトの名無しさん
2010/12/13(月) 16:03:02あ、よく考えたらDataSetObserver#onChangedに書いてるとは限らないんだな。
ごめん。>>549は忘れてくれw
0551デフォルトの名無しさん
2010/12/13(月) 18:55:52未だに気にしてもらってどうもます。
registerDataSetObserverの引数のobserverには何を指定すればいんだろう?って考えちゃいました。
一応、自分の中では>>482の問題は解決して先に進む事にしました。
結局、activity#onActivityResultメソッドでListView(adapter)の行のデータを変更後
レイアウトから作り直したらデータ変更の更新が確認できました。
レイアウトから作り直すというのはactivity#setContentViewあたりの作業です。
正直、なんでこんな事またしなきゃならないんだろう?adapter#notifyDataSetChangedで絶対出来る
はずなのに・・・って思いがあり納得してないんだけど、とりあえず目的も動作はできるようになったし
もうこの問題とは少し時間をおきたいので、あきらめて先に進む事にしましたよ
0552デフォルトの名無しさん
2010/12/13(月) 19:59:090553デフォルトの名無しさん
2010/12/14(火) 01:30:49作ろうとしたらjava言語を勉強したらいいってことですよね?
0554デフォルトの名無しさん
2010/12/14(火) 02:36:510555デフォルトの名無しさん
2010/12/14(火) 09:05:34コボルの鬼になれば、CだろうがJavaだろうがasmだろうが余裕だべ。
0556デフォルトの名無しさん
2010/12/14(火) 09:27:14>>555の言うことは気にしなくていい
0557デフォルトの名無しさん
2010/12/14(火) 10:00:58いやFORTRAN77からだろjk
0558デフォルトの名無しさん
2010/12/14(火) 10:10:330559デフォルトの名無しさん
2010/12/14(火) 13:59:200560デフォルトの名無しさん
2010/12/14(火) 14:04:22誰かがインスタンス化してくれたCanvasをありがたく受け取って使ってるだけでは?
■ このスレッドは過去ログ倉庫に格納されています