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

Androidプログラミング質問スレ Part23

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2012/06/19(火) 19:57:12.12
このスレではAndroidSDK・NDKやAndroidマーケットに関する質問を扱ってます。

※プログラミング自体が初めて!なあなたには↓↓↓こちらへ
スレ立てるまでもない質問はここで 118匹目
http://toro.2ch.net/test/read.cgi/tech/1331904826/
Eclipse統合M32【Java/C++/Ruby/Python/Perl】
http://toro.2ch.net/test/read.cgi/tech/1320318310/
★★Java質問・相談スレッド153★★
http://toro.2ch.net/test/read.cgi/tech/1334438859/

****関連リンク****
■ Android developers http://developer.android.com/
■ ソフトウェア技術ドキュメントを勝手に翻訳 http://www.techdoctranslator.com/

****前スレ****
Androidプログラミング質問スレ Part22
http://toro.2ch.net/test/read.cgi/tech/1337170429/
0206デフォルトの名無しさん2012/06/27(水) 09:50:19.25
GridViewをカスタマイズして使うか、ListViewやGridViewのように見えなくなったViewを再利用する方法を取れば?
0207デフォルトの名無しさん2012/06/27(水) 09:56:35.62
>>206
再利用する方法を使います。
ありがとうございます。
02082012012/06/27(水) 11:08:24.11
実装出来ました。
ありがとう御座います。
参考になれば使ってください。
try {
Tweet = "https://twitter.com/intent/tweet?text="
+ URLEncoder.encode(Title, "UTF-8")
+ "+"
+ URLEncoder.encode(HashTag, "UTF-8")
+ "&url="
+ URLEncoder.encode(mUrl, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
Intent intenttw = new Intent(Intent.ACTION_VIEW, Uri.parse(Tweet));
startActivity(intenttw);
0209デフォルトの名無しさん2012/06/27(水) 14:01:41.54
このようなダイアログに自作アプリを表示させるには、どのようにすればよろしいのでしょうか?
http://www.dotup.org/uploda/www.dotup.org3136556.png
0210デフォルトの名無しさん2012/06/27(水) 14:16:52.06
自作アプリをブラウザにすればよろしい
0211デフォルトの名無しさん2012/06/27(水) 15:54:33.58
Android4.0.xでWebViewを表示するアプリを作ってます。
以前の2.x系のWebViewではリンククリック時にリンクがハイライト表示されたのですが、
同じアプリでも4系ではハイライト表示されないようです。
なにか必要な処理が変わったんでしょうか?教えてください。
0212デフォルトの名無しさん2012/06/27(水) 17:19:40.40


【社会】 日本人女性2人、リゾート地・セブ島で知り合った韓国人の男2人と飲酒→集団強姦される…フィリピン★8
http://uni.2ch.net/test/read.cgi/newsplus/1340777581/

【社会】セブ島で、韓国人男性2人が日本人女性を集団強姦→ネットで韓国人 「日本は昔、同じことをやった」★2
http://uni.2ch.net/test/read.cgi/newsplus/1340777561/

0213デフォルトの名無しさん2012/06/27(水) 21:01:28.91
>>209
Intentのこと?
0214デフォルトの名無しさん2012/06/27(水) 23:09:28.24
OutOfMemory対策に画像の展開メモリサイズを知りたいのですが方法はありますか?寸法はinjustdecodeboundsで得られても何ビット画像なのか分からないので詰まりました。
0215デフォルトの名無しさん2012/06/27(水) 23:18:00.65
ARGB8888とか自分で指定すれば計算できるんじゃまいか
0216デフォルトの名無しさん2012/06/28(木) 00:16:42.10
http://www.ibm.com/developerworks/jp/web/library/wa-scalable/fig16.jpg
楕円にこういうグラデーション掛けるのどうすればいい?
RadialGradientは円なら描けるけど
円で描画してから変形するんじゃなくて直接的に楕円で描く方法ってある?
0217デフォルトの名無しさん2012/06/28(木) 00:21:26.39
円にグラデかけてから歪ませればエエやん?
0218デフォルトの名無しさん2012/06/28(木) 01:16:24.07
ComposeShaderでできたわ
0219デフォルトの名無しさん2012/06/28(木) 09:19:31.36
3.0からwebviewで長押しすると画面上部にバーが出るようになりましたが、
これを出ないようにするか、これのコピーを検知する方法はないでしょうか。
0220デフォルトの名無しさん2012/06/28(木) 17:25:28.91
>>219
startActionModeをオーバーライドしてnullを返せば抑止できた気がする
0221デフォルトの名無しさん2012/06/28(木) 21:04:28.89
ActivityA⇒ActivityB⇒ActivityAと画面遷移した後、finish()を実行すると、ActivityBに戻ってしまいます
本当はアプリ自体を終了させたいのですが。。

ちなみにActivityBで動いている処理は、onPause()のタイミングで全て止めています
0222デフォルトの名無しさん2012/06/28(木) 21:09:28.59
>>221
ActivityBでfinish()してないからじゃね
02232212012/06/28(木) 21:13:03.48
>>222
基本的にstartActivity()した後は必ずfinishしています
0224デフォルトの名無しさん2012/06/28(木) 21:13:21.52
http通信で100KBまでダウンロードして100KBの時点で終了したいんですが

http.connect();
InputStream in = http.getInputStream();
InputStreamReader reader = new InputStreamReader(in);
StringBuilder builder = new StringBuilder();
char[] buf = new char[1024];
int numRead;
while (int i = 0;i < 50;i++) {
builder.append(buf, 0, numRead);
}
reader.close();
in.close();
http.disconnect();
こんな感じに普通に途中で切ってしまっても大丈夫なんでしょうか?
02252212012/06/28(木) 21:15:05.63
>>222
と思ったら、ピンポイント的にfinishが抜けておりました・・・
ありがとうございました!!
0226デフォルトの名無しさん2012/06/28(木) 22:09:30.93
必ずfinishしています(キリッ
0227デフォルトの名無しさん2012/06/28(木) 22:10:49.90
finish(>>226);
0228デフォルトの名無しさん2012/06/28(木) 23:25:12.99
finish(人生)
0229デフォルトの名無しさん2012/06/29(金) 00:16:35.15
標準のブラウザや他のブラウザアプリはタイトルバー+webview+メニューのパターンが多いのですが、
webviewのスクロールに合わせてタイトルバーもスクロール(下にスクロールすると隠れる)するのはどう実現しているのでしょうか?
LinearLayOutでタイトル+webview+メニューで順番に配置した場合
タイトルバーはwebviewのスクロールに合わせて移動してくれません・・・
0230デフォルトの名無しさん2012/06/29(金) 08:29:23.93
>>228
わざわざ、指摘してるのに
「それはちゃんとやってますから」とか自慢げにいうやつってなんなんだろうね。
「ちゃんと作ったのに動きません」とかさ。
いや、ちゃんと作ってないから動いてないんだよ。

プログラムは作った通りにしか動かない

これ分かってない奴多すぎだろ
(あぁ、コンパイラのバグとかは除いてw)
0231デフォルトの名無しさん2012/06/29(金) 08:48:37.51
>>229
RelativeLayoutで重ねて置けばおk
0232デフォルトの名無しさん2012/06/29(金) 14:56:02.27
アクションバーってメニューボタンを廃止して、
従来のメニュー・処理を常に押せるように表示しておけってことですよね。

ぶっちゃけこれってアイフォンのパクリってことでいいんでしょうか。
であれば、アイフォンと同じように機能を持たせようかと思うのですが。
0233デフォルトの名無しさん2012/06/29(金) 16:10:15.91
持たせたらいいじゃない。
0234デフォルトの名無しさん2012/06/29(金) 16:58:13.71
コンピュータの歴史はパクりの歴史だ
いいと思ったら容赦なくパクれ
0235デフォルトの名無しさん2012/06/29(金) 17:44:27.28
パクリじゃないインスパイアだボケ
0236デフォルトの名無しさん2012/06/29(金) 18:12:37.86
アップルってどこまで特許申請してるん?
オーバースクロールは問題になったから知ってるんだが他のUI面で特許あるん?
0237デフォルトの名無しさん2012/06/29(金) 23:58:07.28
Serviceを開始するにはActivity継承クラス内でしかできないのですか?
0238デフォルトの名無しさん2012/06/30(土) 00:08:16.12
Context持たせればどこでも
0239デフォルトの名無しさん2012/06/30(土) 00:22:53.43
公開したアプリを更新する
たびに再課金することってできますか?
0240デフォルトの名無しさん2012/06/30(土) 02:25:53.01
app_name を変えればよろし
0241デフォルトの名無しさん2012/06/30(土) 12:28:52.23
あ
0242デフォルトの名無しさん2012/06/30(土) 12:30:04.49
ああ?
0243デフォルトの名無しさん2012/06/30(土) 12:35:47.74
うおー。WiMAXで書き込み出来てるじゃん!
0244デフォルトの名無しさん2012/06/30(土) 12:54:00.24
それローカルファイルだよ
0245デフォルトの名無しさん2012/06/30(土) 13:10:41.59
早速質問です。曲の再生と曲名を表示させるService(AIDL実装)があるのですが、Widgetでも同じ様に次曲のタイトル等を自動更新させたいのですが、Click時のonUpdateでしか更新する方法が思いつきません。
0246デフォルトの名無しさん2012/06/30(土) 13:12:01.47
おそらくBroadCastさせて情報を送受信させると思うのですが、
美味くコードがかけません。ググりまくっても中々同じ様なsampleが無いので、
どうかお知恵を貸してください。

※久しぶりの2chだったので改行忘れてましたすまそん。
0247デフォルトの名無しさん2012/06/30(土) 13:18:50.04
そのサービス内で曲が変わったときに明示的intent投げれ
でAppWidgetProviderでレシーブしてアップデート
0248デフォルトの名無しさん2012/06/30(土) 13:36:18.28
>>247
なるほロケット。やってみます。
0249デフォルトの名無しさん2012/06/30(土) 17:42:05.18
USB接続でデバッグすると、
PCがフリーズしてしまうのですが、
回避方法とかありませんか?

実機:xperia
PC:dell(i3)/win7
02502462012/06/30(土) 18:34:27.04
>>247
ログから取ってみようと思ったんですけど、それさえ取れません。

サービス側
Intent intent = new Intent(アクション名);
intent.putExtra("KEY", TITLE_NAME);
sendBroadcast(intent);

AppWidgetProvider側

onReceiver(Context context,Intent intent){
if (intent.getAction().equals(アクション名)){
Log.v(TAG,"onReceive");
}
}
}
02512462012/06/30(土) 19:15:46.89
これでも駄目です…。

Service側
  Intent intent = new Intent(Service名.this,AppWidgetProvider名.class);
  intent.putExtra("KEY", TITLE_NAME);
  sendBroadcast(intent);

Widget側
public void onReceive(Context context,Intent intent) {
Log.v(TAG,"onReceive");
Bundle bundle=intent.getExtras();
String text=bundle.getString("KEY");
Log.v(TAG,text);
0252デフォルトの名無しさん2012/06/30(土) 19:32:26.79
マニフェストでプロバイダにintent-filterを追加してないに100ペリカ
02532462012/06/30(土) 20:09:56.16
>>247
251の方法でログ通過してくれました。onReceiveからも無事Updateして
曲名が自動更新出来る様になりました。ありがとうございます。

>>252
アクション以外はマニフェストへのintent-filter追加ってしなくても良いはずじゃ?
とりあえず現時点では追加しなくても動作するようです。
0254デフォルトの名無しさん2012/06/30(土) 21:30:25.01
マニュフェストって何ですか?
0255デフォルトの名無しさん2012/06/30(土) 21:31:52.89
政権公約
0256デフォルトの名無しさん2012/06/30(土) 22:47:46.58
>マニュフェスト
何で最初から全部の権限が許可されていないのかな…
0257デフォルトの名無しさん2012/06/30(土) 23:02:54.01
>>256
それじゃ権限の意味ないだろ
0258デフォルトの名無しさん2012/06/30(土) 23:42:29.77
>>257
ユーザーじゃなくて、
アプリの作者が権限を付加するくらいなら
なくても良いのに、ってこと。
0259デフォルトの名無しさん2012/06/30(土) 23:47:24.54
ん?
開発者側としてはないと困るしょ
0260デフォルトの名無しさん2012/07/01(日) 00:39:38.06
ユーザーからすれば余計なことをしてないのが一目でわかる。
開発者からすれば余計なことをしていないという証明になる。
権限があって困るのはマルウェアを作ろうとしている人だけ。
0261デフォルトの名無しさん2012/07/01(日) 00:43:35.55
まあavast騒動でユーザに一目でわかる知能がないってわかったし
結局見ないなら全許可でもいいよねPCみたく
0262デフォルトの名無しさん2012/07/01(日) 00:46:35.41
複数のアプリに広告を載せる場合、 admobのパブリッシャー IDは同じものを使って良いんですか?
0263デフォルトの名無しさん2012/07/01(日) 01:02:39.97
>>261
わかる人は騒がず、わからない人だけが騒ぐからそう見えるだけ。
権限を気にせず開発がしたいならiPhoneでいいじゃん
0264デフォルトの名無しさん2012/07/01(日) 02:22:10.07
アプリの仕様を弄ってる間にアプリから作った読めない画像ファイルが、ファイルマネージャからは見えないので削除出来ないんですが方法はありますか?
0265デフォルトの名無しさん2012/07/01(日) 02:25:05.64
申し訳ありませんが、質問は日本語でお願い致します
0266デフォルトの名無しさん2012/07/01(日) 04:35:56.55
ファイラーから見えないのになぜ存在するとわかるんだ・・・
0267デフォルトの名無しさん2012/07/01(日) 10:22:02.04
Google検索から直接検索結果を取得して(apiなどを使わずに)いるんですがたまにGooglesorryに出会してしまいます
どうしたらいいでしょうか?
0268デフォルトの名無しさん2012/07/01(日) 11:31:36.54
妖精さん的なものだろ
0269デフォルトの名無しさん2012/07/01(日) 11:36:14.70
>>264
アプリをアンインストールすればいいんじゃね
0270デフォルトの名無しさん2012/07/01(日) 11:40:47.46
アンインストールしたって消えないだろ
0271デフォルトの名無しさん2012/07/01(日) 14:17:51.81
何をどうしたらこんな分かり辛い日本語が書けるのか
0272デフォルトの名無しさん2012/07/01(日) 15:30:54.97
外人が機械翻訳かまして質問してくるほど
ここのレベルの高さが世界に知れ渡っているんだよんなわけない
02732462012/07/01(日) 17:50:37.41
また、一つWidget周りで問題が出てきたので質問させてください。
現在、リストアイテム選択でIDを拾いつつ、サービスを起動してsetDataSource経由で曲を再生しています。
昨日、Widgetを追加したのでonStart後の処理は丁度以下の様になっていて、
曲を選択した後、曲が更新された場合、問題なく動作しています。

サービス側
@Override
public void onStart(Intent intent, int StartId) {

 Widget関連処理ソメッド

  if( ! Widgetのプレイボタンクリック){
setOnCompletionListener(ここで曲情報をWidgetへブロードキャスト)
setDataSource
}
}

02742462012/07/01(日) 17:51:56.39
しかし、今現在、Widgetを画面に追加した直後はWidgetのボタンは無反応で曲情報も反映されません。
それらが使える様になるのは前途の通り、曲を選択した後か曲が切り替わったタイミングのみです。
これをWidgetを追加した後、ボタンが有効になる様に、或は曲が再生されているのであれば、
文字情報を予め表示させるようにしたいのですが、何か良い手は無いでしょうか?
省略しているところもありますが、以下がWidgetProviderでの処理内容となっています。

@Override
public void onReceive(Context context,Intent intent) {
Bundle bundle=intent.getExtras();
AppWidgetManager manager = AppWidgetManager.getInstance(context);
RemoteViews view = new RemoteViews(context.getPackageName(), R.layout.widget);

if(bundle != null){
String title=bundle.getString("曲情報");
}

view.setTextViewText(R.id.text_title,title);
ComponentName widget = new ComponentName(context, Widgetクラス名.class);
manager.updateAppWidget(widget, view);
}
0275デフォルトの名無しさん2012/07/01(日) 18:37:16.51
そもそもremoteViewsにsetOnClickPendingIntentをセットしてあるの?
02762462012/07/01(日) 18:50:11.71
>>275
クリックイベントは全てServiceに登録してます。
Widgetクラスはレシーバーと、onUpdateのサービス起動だけです。
02772462012/07/01(日) 18:55:46.28
>>275

こんな感じになってます。

サービス側
@Override
public void onStart(Intent intent, int StartId) {
AppWidgetManager manager = AppWidgetManager.getInstance(this);
RemoteViews view = new RemoteViews(this.getPackageName(), R.layout.widget);

if (PLAY_CLICK.equals(intent.getAction())) {
mp.start(); or mp.pause();
}

Intent play = new Intent();
play.setAction(PLAY_CLICK);
PendingIntent playPending = PendingIntent.getService(this, 0, play, 0);
view.setOnClickPendingIntent(R.id.button_play, playPending);

ComponentName widget = new ComponentName(this, MusicWidget.class);
manager.updateAppWidget(widget, view);

if (!PLAY_CLICK.equals(intent.getAction())) {
    再生処理メソッド
}
}
0278デフォルトの名無しさん2012/07/01(日) 19:13:52.12
if (!PLAY_CLICK.equals(intent.getAction())) {

この処理がおかしいのでは
クリックがきかないってことはこれがトルーになってるってことじゃね
02792462012/07/01(日) 19:35:12.66
>>278
今ですね。凄い事発見してしまったんですが、
通常、Widgetを画面に追加するとonUpdate呼ばれますよね?
ここのログが出て来ないので、startService()呼べてないのが原因じゃないかと。
ただ、その線も捨てられないのでログとってみます。
02802462012/07/01(日) 21:20:10.88
>>278
onReceiveの処理をメソッドごと削除するとonUpdateが呼ばれる様になり、
ボタンが有効になりました。その代償として曲やアルバムアートなどが表示されなくなりましたけど。
onReceiveがあるとonUpdateが呼ばれないなんてことありませんよね?
もう少し色々やってみます。
0281デフォルトの名無しさん2012/07/01(日) 21:36:24.04
>>280
継承クラスのonReceive内で super.onReceive(context, intent); を呼ぶか
自前で処理しないとonUpdateは呼ばれないよ。AppWidgetProviderのソース見てみ。
http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.0.4_r1.2/android/appwidget/AppWidgetProvider.java#AppWidgetProvider.onReceive%28android.content.Context%2Candroid.content.Intent%29
onReceiveでintentのactionを判定してそれぞれonUpdate、onDeleted、onEnabled、onDisabled処理呼ぶという
単純なことやってるだけだから。

毎回継承元ソース見てsuper呼ぶべきかどうか見てるんだけど
皆さんはどうしてるんだろう
02822462012/07/01(日) 22:32:48.30
>>281
つまりAppWidgetProvider内はonUpdateのみにして、
ブロードキャストレシーバーを継承した独自クラスを作り、
その中でonReceiveをすれば良いと言うことでしょうか?
プログラム歴6ヶ月のおっさんには何だかハードルあ高いなぁw
0283デフォルトの名無しさん2012/07/01(日) 22:46:37.25
スレッドつくるとき
(new Thread(new Runnable() {
@Override
public void run() {
//処理
}
}.start();
っていうのがよく載ってるけど
new Runnable()ってなくても動くんだけど
なんのためにあるんでしょう?
0284デフォルトの名無しさん2012/07/01(日) 22:47:41.49
>>282
あーちがう、
>>280の「onReceiveの処理をメソッドごと削除する」前の段階のソースで
onReceiveの冒頭にsuper.onReceive(context, intent);入れるだけで意図通り動くと思うよ。
ちょっと回りくどかった
0285デフォルトの名無しさん2012/07/01(日) 22:51:55.64
めんどくさいので読んでないけどこんな感じにしる

−WidgetProvider側
 −onUpdate()
   // ここでウィジェットのボタンにpendingIntent設定
   // PlaybackServiceからカレント曲情報をもらってwidgetを更新
 −onReceive()
  if("jp.hoge.updateStatus".equals()){
   // ここでサービスからのIntentを受け取ってbundleから曲情報を取得してウィジェットを更新
   // 再度PendingIntentを設定(ウィジェット更新するたびにこれやらないとダメだった希ガス)
  }

−PlaybackService側
 −onStart();
  // 再生処理とか停止処理を行う。
  // 再生状態(再生中か停止中か)、シャッフルの状態、リピートの状態、再生してる曲情報などをBundleにくっつけて
  // アクションを「jp.hoge.updateStatus」にしてIntentを飛ばす→WidgetProviderで更新処理

−マニフェスト
 −WidgetProviderのところにIntent-Filterを設定 例:jp.hoge.updateStatus
02862462012/07/01(日) 23:54:43.20
>>284
>>285
出来ちゃった。ありがとうございますw
0287デフォルトの名無しさん2012/07/02(月) 00:13:13.07
>>283
なくても動くの意味がわからないけど。
まずrunableを動くように作って、それからthread化しない? それとweb serverとか考えるとrunableをclient数分だけthreadにするでしょう。
02882462012/07/02(月) 00:17:40.55
実はもう一つ困っている事があるんですが、
リストとVIewPagerのスクロール速度がかなり重くなっています。
それが重くなったのはアルバムにアルバムアートのサムネイルを割り当ててからです。
処理的には起動時にqueryでALBUM名取得→ALBUM_ID取得→ALBUM_ARTを各アルバム毎に実行して、
リストを表示するようになっているのが原因と思われます。

これでは遅いのでART情報のUrlをDB化してリストに貼付けていたのですが、
MediaScanで取得された更新分だけをDBにinsartする方法が分からず、元に戻してしまいました。
ググりまくってStack Overflowとかも何度も除いてみたのですが、いい方法が見つかりませんでした。
何かいい方法ありますか?
0289デフォルトの名無しさん2012/07/02(月) 00:21:25.32
複数のmp3ファイルを長さ順に並べたいと思ったんですが、自分で考えつくのはmediaplayerに一度入れて長さを取得して次のを入れて長さを取得しての繰り返す方法です
これだと無駄に時間がかかるような気がします
もっと効率的な方法はないでしょうか?
0290デフォルトの名無しさん2012/07/02(月) 00:57:32.09
>>288
スクロールの速度を早くしたいだけなら
アルバムアートの読み込みをThread化するがよい
「Listview 非同期 画像」あたりでググると参考いっぱい
02912462012/07/02(月) 01:08:45.00
>>290
ありがとうございます。ググってみます!
それと少し説明不足なところもあったので補足させていただきますと、
起動時間も早くしたいので、出来ればMediaScanで追加されたアルバムアートや曲データの
差分情報を取得する方法などのアイデアなどもあれば知りたいです。
アルバム数が100枚を超えると、その取得に1〜2分位、毎回起動時に要してしまうので。


0292デフォルトの名無しさん2012/07/02(月) 01:12:52.95
>>287
(new Thread() {
public void run() {
//処理
}
}.start();
って書き方はなにか間違ってる?
自分でなにがわからないのかわからない状態なのかも
0293デフォルトの名無しさん2012/07/02(月) 01:20:37.85
>>291
MediaStoreってどんな構造なんだっけ?と思ってみてみたけど
MediaStore.MediaColumnsのDATE_ADDEDとDATE_MODIFIED
辺りで条件判定して取り出せばいいんじゃないの?
0294デフォルトの名無しさん2012/07/02(月) 01:20:39.19
>>291
ん? アプリ起動時にアルバム情報とアートを全取得してるの?
CursorAdapter使えばいいんじゃなかろうか
0295デフォルトの名無しさん2012/07/02(月) 01:24:38.34
>>292
Threadはクラス、Runnableはインターフェイス
「Thread Runnable 違い」ででもggr
0296デフォルトの名無しさん2012/07/02(月) 07:35:22.15
>>292
class service implements runable{
}
service servive=new service();
while(connect())new thread(service).start();
とかいう使い方を基本として考えて設計されたから、そういう使われ方が多いんじゃないかってことだ。
0297デフォルトの名無しさん2012/07/02(月) 11:44:42.41
マルチスレッドに関して質問です。
多くのサンプルをネットで見させて頂いたのですが、基本的に呼び出し方法が
ソース内で宣言するタイプにHandlerを記載するタイプしか見当たりませんでした。

new Thread(new Runnable() {
}
0298デフォルトの名無しさん2012/07/02(月) 11:56:27.35
すみません、途中送信した上に別の問題も見つかったので(´・ω・`)
02992462012/07/02(月) 12:45:00.44
>>293
おお、データベース化出来そうな雰囲気ですね。

>>294
そうなんですよ。差分の取得方法が分からないので、
現在は起動時に全読み込みに戻してしてしまってます。
CursorAdapterも調べてみますね。ありがとうございます。
0300デフォルトの名無しさん2012/07/02(月) 13:12:40.57
申し訳ありません。SPモードメールについての質問させてください。
SPモードメールがプッシュ型のメール受信を行っているとのことで、
ttp://android-inf.com/archives/501
のページを参考に、WAP_PUSH_RECEIVEDをonReceiveで受信するように
BroadcastReceiverを継承したクラスを作成したのですが、インテント
を受信できませんでした。
※ネットワーク変更などのインテントは受信できていることは確認
 しているので、フィルターだけの問題かとおもっています。
SPモードメールのインテント受信を行うには、どのintent-filterを
指定すればよいでしょうか?

使用端末:sh-01d
android :2.3.5
03012972012/07/02(月) 13:18:06.19
マルチスレッドの話です。

インターネット上にあるサンプルだと大体が、ソース内でThreadを作ってそこにThradの中身を書いておりますが
個人的には分けたいと思っています。
その場合こう書けばいいのでしょうか?

//呼び出し
class main {
ThreadClass tc = new ThreadClass();
}

//スレッド
public class ThreadClass extends Thread implements Runnable
{
Handler hi = new Handler();

public void run()
{
hi.post(new Runnable() {
public void run () {
//処理
}
});
}
}

自分で確かめた結果だと現状Looper.prepare()部分でnot called呼ばれてないエラーが出てるので書き方として
あってるかが分からない現状です。
開発媒体がProcessingなので中々…
03022972012/07/02(月) 13:20:22.91
すみません、書いてからで申し訳ない。自己解決しました。

Handlerをnewする時にLooper.getMainLooper()を渡してやれば良いみたいです。
書き方としては問題ありませんでした
0303デフォルトの名無しさん2012/07/02(月) 13:25:47.69
どうなってんだよ…
0304デフォルトの名無しさん2012/07/02(月) 13:28:12.34
今、全裸です
0305デフォルトの名無しさん2012/07/02(月) 13:44:56.66
3行にまとめて
0306デフォルトの名無しさん2012/07/02(月) 13:48:49.31
>>305
Handlerのコンストラクタで引数なしだと、
作成されたスレッドのLooperが自動的に設定される。
スレッド側で作成するときはコンストラクタでメインのLooperを渡しておくこと。
■ このスレッドは過去ログ倉庫に格納されています