トップページ⇒tech
1001コメント307KB

Androidプログラミング初心者質問スレ Part4

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2010/11/19(金) 16:33:21
前スレ
Androidプログラミング初心者質問スレ 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/
04894822010/12/11(土) 21:34:22
>>486
そうですか。ちなみに>>486さんのandroidのバージョンっていくつですか?
自分はxperiaの1.6です。こういう問題ってOSのバージョンによって挙動が変わりそう

>>488
試してみたけどダメだった・・・

皆さんすいませんでした。もう少し自分で頑張ってみます
0490デフォルトの名無しさん2010/12/11(土) 21:41:15
>>489
1.6、2.1、2.2.1。描画は結局はinvalidate()に行き着くので、それ以外は何やっても無駄な気がする。即時に描画してくれるきっかけがあればいいよね。
0491デフォルトの名無しさん2010/12/11(土) 21:50:54
onResumeでnotifyDataSetChangedしてみるとか
04924822010/12/11(土) 22:06:48
>>490
2.1もダメだったんだ。う〜ん、でも他のアプリとか使ってみるとそれができてたり
するからムリだって事はないと思うんだけどなぁ・・・

>>491
ダメっす
0493デフォルトの名無しさん2010/12/11(土) 22:11:40
>>489
Adapterに紐付いているデータの更新してる?
0494デフォルトの名無しさん2010/12/11(土) 22:21:48
>>492
よくわからんが、フォーカスの乗ってる行がダメなのか?
フォーカス関連でなんかしてみたら?なにをしたらいいかはわからんがw
0495デフォルトの名無しさん2010/12/11(土) 22:34:20
>>487
FLAGでは、
FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY
などスタック内に同一のActivityがあったら、それを利用するFLAG
が用意されているみたいなのですが、
それをセットして呼び出しているにも関わらず、
呼びだすたびにonCreateされている状況です。

既存のインスタンスを削除して、作り直しているという作業を
しているだけなのかもしれませんが、勉強不足でわかりません。
0496デフォルトの名無しさん2010/12/11(土) 22:36:41
>>492
sqliteからのcursor使ってgetView内で描画してる分にはいい感じなんだけど、UIのどこかから直接listviewの表示行の値更新後の再描画がうまくいかないんだよね。。

listview をスクロールさせてgetView 走るようになると描画されるんだけどさ(されない場合もあるけど)。
動いていないlistview に対して動かさないまま値更新するのがうまくいかないという事象です、自分の場合。
0497デフォルトの名無しさん2010/12/11(土) 22:40:14
>>495
もしかして: onSavedInstanceからのonCreateかもよ。

Activity の状態復帰方法についてもうちょっと調べてみ。twitterで有名な人がその辺晒してたから。
0498デフォルトの名無しさん2010/12/11(土) 22:42:56
そろそろオレ、真っ赤になるな。
自重しよう
04994822010/12/11(土) 22:43:04
>>493
もちろんですよ・・・

>>496
一緒ですね。adapterのgetViewが実行されないと更新されないす
0500デフォルトの名無しさん2010/12/11(土) 22:50:13
やっぱ書き込もっと。

>>499
そうかあ、やはり。だとすると自分が今までいってきたように、invalidate が動くトリガーを見つける旅に出ないとあかんかも。最悪、仕様見直すところまで戻るとか。
0501デフォルトの名無しさん2010/12/11(土) 23:21:02
このスレ見てtraceinterceptor作っておこうと思いました。
0502デフォルトの名無しさん2010/12/11(土) 23:21:50
>>500
ごめん、俺ちょっと嘘ついてた
>>482で書いた「バックキーで最初のActivityに戻ってきた時」に
adapterのgetViewは実行されてたわ
だけど、ListViewのアイテムはスクロールして画面外に出さないと
更新が反映されない
0503デフォルトの名無しさん2010/12/11(土) 23:22:42
ID出ない板だから真っ赤とかねぇよw
0504デフォルトの名無しさん2010/12/11(土) 23:26:20
>>502
そうするとさ、単純にlistview の再描画を明示的にキックすればいいんじゃね。
表示位置とかadapter そのものをどっかに退避して、戻ってきたときに呼ばれるonStart で再描画するとか。
0505デフォルトの名無しさん2010/12/11(土) 23:27:03
>>501
なんで?
0506デフォルトの名無しさん2010/12/11(土) 23:27:33
>>503
すまん、オレ情弱なんだ。
0507デフォルトの名無しさん2010/12/11(土) 23:33:51
>>504
>そうするとさ、単純にlistview の再描画を明示的にキックすればいいんじゃね。
そのキックがadapter#notifyDataSetChangedなんじゃね?って思うんだけど・・・

>表示位置とかadapter そのものをどっかに退避して、戻ってきたときに呼ばれるonStart で再描画するとか。
そうっすね、とにかくもう少し色々とやってみます。
0508デフォルトの名無しさん2010/12/11(土) 23:52:47
EGLImageがNDKから使える日がくるのでしょうか?
0509デフォルトの名無しさん2010/12/11(土) 23:55:42
>>497
 まさにその通りでした.
終了時に、onSaveInstanceStateが呼ばれてBundleインスタンスを保存しています.
 FLAGにFLAG_ACTIVITY_NEW_TASKをセットしない限り常にこいつが呼ばれています.

 ただ、これはActivity内のデータの保存な気がしていて、
 Activity自体のインスタンスが1つになっているのかどうかは・・
 という感じです.
 (Destroyされず、onCreateされているので..)

 ついったーはやってないのであれですが、
 もう少し調べてみたいと思います.
0510デフォルトの名無しさん2010/12/12(日) 00:07:32
>>509
心配だったら、Activity のhashCode()をonCreateでログ出力して同一かどうか確かめてみたら?

そもそも話かもだけど、インスタンスが新規か再利用かを厳密に意識するのってそうはないはず。むしろ、シングルスレッド的な処理をさせようとする仕様に無理があるような。。検討違いだったらごめんよ。
0511デフォルトの名無しさん2010/12/12(日) 00:20:19
>>510
 いえいえ、ご丁寧にすみません。ありがとうございます。
 android開発始めたばかりで、まだ「一般的」ってことが理解できないですね。
 
 なんだか、同じ処理なのに複数インスタンスができてしまうのが
 気持ち悪いというか・・っという変な考えがあります.

 ログ出力チェックしてみます!
0512デフォルトの名無しさん2010/12/12(日) 01:11:35
>>507
adapter#notifyDataSetChangedはデータが変更されたよ、って通知するだけ、
その後ListViewのinvalidateViewsでgetViewが呼ばれ再描画されるはず、なんだけどね
0513デフォルトの名無しさん2010/12/12(日) 03:27:44
日付dateを色々と使っていて、ふと気がつきました。
今のままだとロケールによってはデザインがグダグダになります。

こちらでロケールを強制的に英語として表記する事は可能なのでしょうか?
水→wed

世界進出する気は全くないのですが、気になって調べたのですがわかりませんでした。

よろしくお願いします!
0514デフォルトの名無しさん2010/12/12(日) 03:37:34
>>513
グダグダでいいじゃない、人間だもの
0515デフォルトの名無しさん2010/12/12(日) 04:29:36
http://hibari.2ch.net/test/read.cgi/tech/1221941630/
0516デフォルトの名無しさん2010/12/12(日) 08:57:35
>>513
SimpleDateFormat
0517デフォルトの名無しさん2010/12/12(日) 09:41:19
テスト
0518デフォルトの名無しさん2010/12/12(日) 11:52:38
質問です
外部機器よりUSB接続してandroid端末で読み取り
読み取ったデータを色々計算したりして
表示させることは難しいですか?
androidのプログラムは全くの素人です
宜しくお願いします
0519デフォルトの名無しさん2010/12/12(日) 12:32:05
初心者がそんな質問していいと思ってるのか。失せろ
0520デフォルトの名無しさん2010/12/12(日) 12:36:17
>>518
素人が自前でやるのは無理、プロにお金出してやってもらえば
出来るかどうかは、やりたいことしだい。
まあ、どっかの個人事業主か小さいソフト会社に一千万円くらい出せばやってもらえるんじゃないかな。
0521デフォルトの名無しさん2010/12/12(日) 12:40:23
正直すまんかった
こういうのはWin機でやったほうがいいよね
0522デフォルトの名無しさん2010/12/12(日) 12:49:09
>>521
そうだね、Win機でがんばれ
(実はオープンソースのAndroidのほうがやり易いんだが、秘密にしておこう)
0523デフォルトの名無しさん2010/12/12(日) 13:02:08
>>521
頑張ってね(めんどくさいわーこいつ)
0524デフォルトの名無しさん2010/12/12(日) 13:35:49
USBホスト機能無いからドライバーから作らないと無理
0525デフォルトの名無しさん2010/12/12(日) 14:18:35
ライブラリプロジェクトをつくるには
プロジェクトのプロパティの Is Library にチェックを入れる
マニフェストの<application>タグを削る
でいいんでしょうか?
そうするとdefault.propertiesファイルがeclipseで開けなくなるんですが
これでいいの?
0526デフォルトの名無しさん2010/12/12(日) 15:59:52
>>516
やはり全部書き直ししかないですね。
何も考えずにDateFormat使ったのが運の尽きだったか。
単純にSimpleって書き足すだけなら楽なのに、、、似た結果なのに結構違うんですよね。
0527デフォルトの名無しさん2010/12/12(日) 16:42:06
>>526
DateFormat?を継承した同名のDateFormat クラスを作って何とか済ませればimport だけ書き直しですむかもよ。finalだったらご愁傷さまだけど。
05284532010/12/12(日) 18:07:36
>>453です.
HTMLをスクレイピングするところで詰まっております.お知恵を拝借いただければと思います.

現在,ニコニコの検索結果を端末で抽出しているところです.
はじめ,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:06
あきらめろ
05304532010/12/12(日) 18:13:02
>>529
そんな身も蓋もないw
0531デフォルトの名無しさん2010/12/12(日) 18:14:21
じゃあ、あきらめるな
自力で何とかしろ
0532デフォルトの名無しさん2010/12/12(日) 18:26:31
>>530
冗談で言ってんじゃないんだよ
0533デフォルトの名無しさん2010/12/12(日) 18:42:50
ていうかニコニコならAPIあるんじゃないの?
0534デフォルトの名無しさん2010/12/12(日) 19:09:34
解析作業は自力解決出来ないなら諦めろ、マジで
そもそもここでする質問じゃない、完全にスレチ
0535デフォルトの名無しさん2010/12/12(日) 19:10:16
>>531
真実。

>>530
あきらめるか、自作だな。
パターンはあるの?あるんだったら正規表現を使うんだ。やり過ぎてアクセス拒否されんようにな。APIは知らん。
0536デフォルトの名無しさん2010/12/12(日) 19:48:25
>>534
全くだな
05374532010/12/12(日) 20:19:22
>>532-536
そうか.どうもありがとう.
別の視点から模索してみるよ.
0538デフォルトの名無しさん2010/12/12(日) 23:13:38
>>525
何でわざわざAndroidプロジェクトで作ろうとするのか解らん。

普通にjavaプロジェクトでjarを作成して、該当Androidプロジェクトにインポートして使えば?
0539デフォルトの名無しさん2010/12/13(月) 00:14:58
>>538
素人だからさ
0540デフォルトの名無しさん2010/12/13(月) 01:16:13
たくさんアカウントとってGAEあたりで検索結果返すapi作ってそれ経由で取得すればいいよ
0541デフォルトの名無しさん2010/12/13(月) 08:03:27
>>538
それでViewの派生クラスとか入れられるの?
0542デフォルトの名無しさん2010/12/13(月) 11:20:17
>>541
ガハハ
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:16
ライセンススレ池
0547デフォルトの名無しさん2010/12/13(月) 13:48:04
アパッチなら自由に使って問題ないだろ。商用も自由。
0548デフォルトの名無しさん2010/12/13(月) 13:55:41
>>546
すいませんでした
>>547
ご教授ありがとうございます
0549デフォルトの名無しさん2010/12/13(月) 14:45:58
>>482
もう解決したかな?
もしまだなら、アダプターにregisterDataSetObserver(DataSetObserver observer)してるかどうか確かめてみて。
0550デフォルトの名無しさん2010/12/13(月) 16:03:02
>>482
あ、よく考えたらDataSetObserver#onChangedに書いてるとは限らないんだな。
ごめん。>>549は忘れてくれw
0551デフォルトの名無しさん2010/12/13(月) 18:55:52
>>549,550
未だに気にしてもらってどうもます。
registerDataSetObserverの引数のobserverには何を指定すればいんだろう?って考えちゃいました。

一応、自分の中では>>482の問題は解決して先に進む事にしました。
結局、activity#onActivityResultメソッドでListView(adapter)の行のデータを変更後
レイアウトから作り直したらデータ変更の更新が確認できました。
レイアウトから作り直すというのはactivity#setContentViewあたりの作業です。
正直、なんでこんな事またしなきゃならないんだろう?adapter#notifyDataSetChangedで絶対出来る
はずなのに・・・って思いがあり納得してないんだけど、とりあえず目的も動作はできるようになったし
もうこの問題とは少し時間をおきたいので、あきらめて先に進む事にしましたよ
0552デフォルトの名無しさん2010/12/13(月) 19:59:09
2.2のタスクマネージャのタブのようにスクロールさせるにはどうしらいいの?
0553デフォルトの名無しさん2010/12/14(火) 01:30:49
プログラミングに興味を持って勉強しようと思うのですがAndroidアプリを
作ろうとしたらjava言語を勉強したらいいってことですよね?
0554デフォルトの名無しさん2010/12/14(火) 02:36:51
javaはオワコン
0555デフォルトの名無しさん2010/12/14(火) 09:05:34
いや、まずはコボルを学ぶのが良いぜ。
コボルの鬼になれば、CだろうがJavaだろうがasmだろうが余裕だべ。
0556デフォルトの名無しさん2010/12/14(火) 09:27:14
>>553
>>555の言うことは気にしなくていい
0557デフォルトの名無しさん2010/12/14(火) 10:00:58
>>553
いやFORTRAN77からだろjk
0558デフォルトの名無しさん2010/12/14(火) 10:10:33
アセンブリ言語だろ、Z80辺りがオススメ
0559デフォルトの名無しさん2010/12/14(火) 13:59:20
なぜ、canvasはインスタンス化せずに使えるのでしょうか??
0560デフォルトの名無しさん2010/12/14(火) 14:04:22
いや、Canvasもインスタンス化するよ?
誰かがインスタンス化してくれたCanvasをありがたく受け取って使ってるだけでは?
0561デフォルトの名無しさん2010/12/14(火) 14:13:46
>>560
そんなうまい話に僕はだまされませんよ!
0562デフォルトの名無しさん2010/12/14(火) 14:22:43
他のパッケージでインスタンス化されてるってことですかね??

サンプル作ってるとき、自分ではインスタンス化を行っていないcanvas というものでメソッド呼び出したのだが・・・
0563デフォルトの名無しさん2010/12/14(火) 14:24:53
あなたは継承元のViewクラスに感謝するべきです
ViewさんViewさん、いつもわたしのためにCanvasをインスタンス化してくれてありがとう、と
05645632010/12/14(火) 14:33:16
ごめんなさい適当なことを言いました
Androidのソース調べたら実際にCanvasをインスタンス化してるのはSurfaceみたいでした
05655532010/12/14(火) 19:44:40
>>556
はい、了解ですw
とりあえずjava勉強します。
0566デフォルトの名無しさん2010/12/14(火) 21:01:10
初めて有料アプリが売れたんですが、
グーグルチェックアウトで未出荷から出荷にしないと
買った方にインストールされていないんですか?
 
0567デフォルトの名無しさん2010/12/14(火) 22:55:19
>>565
プログラミングの勉強ならまずC#の方が挫け難くていいと思うがな
簡単に動くアプリが作れるのはモチベーションに繋がる
javaとそんな違いはないからandroidアプリを作ろうとした時そんな難しく感じない
0568デフォルトの名無しさん2010/12/14(火) 22:58:34
C#てAndroidに使えんのかよバーカ!
0569デフォルトの名無しさん2010/12/14(火) 23:27:58
     / ̄ ̄ ヽ,
    /        ',
    .l  {0} /¨`ヽ}0},
   .l     ヽ._.ノ  ',
   リ    `ー'′/ ̄/ ̄/
  (     二二つ / と)
   |       /  /  /
    |        ̄ ̄| ̄

\               �U         /
  \             �U        /
             / ̄ ̄ ヽ,
            /        ',       /    _/\/\/\/|_
    \    ノ//, {0}  /¨`ヽ {0} ,ミヽ    /     \          /
     \ / く l   ヽ._.ノ   ', ゝ \       <   バーカ!  >
     / /⌒ リ   `ー'′   ' ⌒\ \    /          \
     (   ̄ ̄⌒          ⌒ ̄ _)    ̄|/\/\/\/ ̄
      ` ̄ ̄`ヽ           /´ ̄
           |            |
0570デフォルトの名無しさん2010/12/14(火) 23:40:44
純粋にJavaを勉強すれば?
自ずとC(C++)にも手を出す事になるだろうし。
0571デフォルトの名無しさん2010/12/14(火) 23:42:58
ここでさりげなく、MonoDroid
http://d.hatena.ne.jp/atsushieno/20100831/p2
05725532010/12/15(水) 01:20:13
>>567
アドバイスありがとうございます。
でもjavaを勉強すると決めたので一度こっちをしてみたいと思います。
0573デフォルトの名無しさん2010/12/15(水) 09:57:24
スレッドのスタートと終了時にアラートを表示させたいのですが,スレッド終了が取得できません.
何か方法は無いでしょうか?プログラムの一部を記載します.

testActivity.java
public void onStart() {
super.onStart();
progressDialog = new ProgressDialog(this);
〜略〜
progressDialog.show();

testClass testclass = new testClass();
Thread thread = new Thread(testclass);
thread.start();
alert("Start", "処理開始");
}
public void alert(String title, String message) {
final AlertDialog.Builder alert = new AlertDialog.Builder(this);
〜略(タイトル,本文,ボタン設定)〜
alert.show();
}

testClass.java
public void run() {
while(i < 10) {
i++;
Thread.sleep(1000); // try catch略
}
}
0574デフォルトの名無しさん2010/12/15(水) 10:21:27
>>573
thread.join()じゃだめなの?
0575デフォルトの名無しさん2010/12/15(水) 10:27:57
>>573です.
解決しました.
testActivityで生成したハンドラをコンストラクタでtestClassへ送り,testClassでhandler.sendEmptyMessage(0);とすることで,
スレッド終了時にtestActivityにイベントを投げることができました.

>>574
thread.join()だと,プログレスダイアログが画面に表示されないままスレッドの処理終了を待ってしまうので,ダメでした.

0576デフォルトの名無しさん2010/12/15(水) 13:01:13
オプションメニュー押されたときに表示テキスト変えようと思って
↓な感じでMunuItem取得しようとしたんだが
nullが返ってきて、各メニューを変更できません
引数で付いてくるitemは操作できるのに、、、

動的にオプションメニューの表示変える方法を誰か教えて!

public boolean onOptionsItemSelected(MenuItem item) {
MenuItem menu = (MenuItem)findViewById(R.id.menu01);

}

0577デフォルトの名無しさん2010/12/15(水) 13:26:26
onPrepareOptionsMenuでmenu.findItemしたのを保存しておいて
それに対して操作すれば?

そこでfindViewByIdしたって探す対象はsetContentView()したViewの子だけでしょ
0578デフォルトの名無しさん2010/12/15(水) 13:28:02
てかonOptionsItemSelectedではフラグだけ操作しといて
onPrepareOptionsMenuでやるべきじゃないかな
0579デフォルトの名無しさん2010/12/15(水) 13:37:21
eclipseで、Androidライブラリを参照しているプロジェクトを
antでビルドしたい場合ってどうすればいいの?
0580デフォルトの名無しさん2010/12/15(水) 14:14:18
>>577
なるほど!

>>578
頭いい! ありがと!
0581デフォルトの名無しさん2010/12/15(水) 14:36:34
C#は、ちゃんとロジックとUI分離しておけば、
AndroidとiOSの両方に使えるからいいかもね。
0582デフォルトの名無しさん2010/12/15(水) 15:19:51
初心者にんなもん真顔で勧めるなアホ
0583デフォルトの名無しさん2010/12/15(水) 16:05:19
どこが初心者だよ orz
0584デフォルトの名無しさん2010/12/15(水) 16:27:26
ミジンコ用スレはどこでしょうか?
0585デフォルトの名無しさん2010/12/15(水) 16:30:19
一社しか提供してないアイフォンで使えてもねえ。
ドコモと逢うの選択肢が有れば充分。
0586デフォルトの名無しさん2010/12/15(水) 16:55:07
一社にしか対応しなくて済むのは開発としては助かるんだよな
0587デフォルトの名無しさん2010/12/15(水) 17:11:10
虫ゴキ人?
0588デフォルトの名無しさん2010/12/16(木) 00:17:06
>>586
需要有りきだがね
■ このスレッドは過去ログ倉庫に格納されています