Androidプログラミング質問スレ Part13
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2011/10/05(水) 19:03:23.16※プログラミング自体が初めて!なあなたには↓↓↓こちらへ
【超初心者】プログラミング質問スレ【基礎】part5
http://hibari.2ch.net/test/read.cgi/tech/1303105502/ (dat落ち)
Eclipse統合M31【Java/C++/Ruby/Python/Perl】
http://hibari.2ch.net/test/read.cgi/tech/1295886572/
★★Java質問・相談スレッド146★★
http://hibari.2ch.net/test/read.cgi/tech/1309048597/
****関連リンク****
■ Android developers http://developer.android.com/
■ ソフトウェア技術ドキュメントを勝手に翻訳 http://www.techdoctranslator.com/
0232デフォルトの名無しさん
2011/10/12(水) 12:44:14.01個々のアプリが現在実行中か否かを調べるにはどうすればいいでしょうか?
別途実行中リストを取得して、実行履歴リストと1つ1つ
突き合わせないと判断できないでしょうか?
何か効率のよい判断方法があれば教えてください。
よろしくお願いします。
0233デフォルトの名無しさん
2011/10/12(水) 15:54:15.92rawフォルダに置いた sample.mp4 をサーフェイスビュー上で動画再生したいのですが、
player = new MediaPlayer();
player.setDataSource( context, Uri.parse( "android.resource://" + context.getPackageName() +"/" + "sample.mp4" ) );
player.setDisplay( surfaceHolder );
とやると実行時に
WARN/System.err(2137): java.io.FileNotFoundException: /android.resource:/net.hoge.huga/sample.mp4 (No such file or directory)
と出るのですが、Uri の指定が間違っているのでしょうか? rawフォルダ無いに sample.mp4があるのは確認しています。
0234デフォルトの名無しさん
2011/10/12(水) 17:34:10.53AもBもアクティビティが積み重なった状態からB1までリターンキーで戻ったときの処理がおかしいので、
Bにログを出す処理を入れてデバッグモードで動作を調べたところ、次のような動作をしていました。
--ここから--
onCreate B1作成時
onResume B1作成時
onSaveInstance B1からA2移動時
onCreate B2作成時
onResume B2作成時
onSaveInstance B2からA3移動時
onResume A3からB2移動時
onDestroy B2からA2移動時
onResume A2からB1移動時
--ここまで--
B1まで戻ってきたときですので、これで問題はありませんよね。
しかし、実際にデバッグではなく、通常起動をすると次のような動作をします。
--ここから--
onCreate B1作成時
onResume B1作成時
onSaveInstance B1からA2移動時
onCreate B2作成時
onResume B2作成時
onSaveInstance B2からA3移動時
onResume A3からB2移動時
onResume ?
onDestroy ?
--ここまで--
ご覧のとおり、最後の2行の動作が違っています。Aにログを出す処理は一切いれていませんので、B2のonDestroyがB1のonResumeの後に走っているようなのです。
手順に間違いが無いか何度か確認しましたが同じ動作で、自力で調べたのですがデバッグモードか否かでライフサイクルが変わるといった現象が出てこず、困っています。
何か原因や対処はわからないでしょうか。
0235232
2011/10/12(水) 18:30:04.73判別出来ました。
0236デフォルトの名無しさん
2011/10/12(水) 19:32:19.10arrayadapterよくわかんね
0237デフォルトの名無しさん
2011/10/12(水) 19:40:26.48全てのクラスで同じ処理を書かなければならないのでしょうか?
JAVAの機能で何かあるのかな?
0238デフォルトの名無しさん
2011/10/12(水) 19:41:41.570239デフォルトの名無しさん
2011/10/12(水) 19:55:23.47他のアクティビティと切り替わるときonDestroyがどのタイミングで呼ばれるかなんて保証ないだろ
あるのはonPauseは相手のonResumeより先に呼ばれるってだけ
0240デフォルトの名無しさん
2011/10/12(水) 20:33:23.36URLの代わりに FileDescriptor を渡せば動くって
前にここで教えてもらった
0241デフォルトの名無しさん
2011/10/12(水) 20:34:59.18SharedPreferenceは内部ストレージにテキスト(XML)形式で
保存されるからストレージの空き容量全部使ったらダメかもね
もっとも使いきる前にOOMだろうけどw
0242デフォルトの名無しさん
2011/10/12(水) 21:47:27.100243デフォルトの名無しさん
2011/10/12(水) 21:48:00.42表形式でButtonを並べて、Buttonを押すと登録画面に遷移して登録するように組みたいのですが、
各Buttonを識別する際はxmlのIDを元に行えばいいのでしょうか?
0244デフォルトの名無しさん
2011/10/12(水) 21:48:12.170245デフォルトの名無しさん
2011/10/12(水) 21:59:49.61具体的には、
textView.setText(String.format("%d年%d月%d日", 2011,8,2));
のようにすると、日の前に改行がはさまれてしまいます。(8月を10月にすると改行しない)
よく、仕様がわからず悩まされている状態です。何か解決策や原因等の情報はありますでしょうか。
0246デフォルトの名無しさん
2011/10/12(水) 22:10:42.99getBaseContext()に変えろだの言われます。どういうことでしょうか。
0247デフォルトの名無しさん
2011/10/12(水) 22:13:16.960248デフォルトの名無しさん
2011/10/12(水) 22:15:18.082) エラーが無くなったとして…
動かした結果は意図した動作だった?
0249デフォルトの名無しさん
2011/10/12(水) 22:53:50.74なんでedittextにスペース含んだら落ちるんだ…
0250デフォルトの名無しさん
2011/10/13(木) 00:04:41.490251デフォルトの名無しさん
2011/10/13(木) 01:17:54.22アプリのソースコードや加工したアイコンを公開しないと違反になりますか?
0252デフォルトの名無しさん
2011/10/13(木) 02:09:20.88有難うございます。
巨大な文字列をクリップボードにコピーするのと同等程度の危険度と想像しておまじないだけ書いておきます。
0253デフォルトの名無しさん
2011/10/13(木) 02:12:41.360254デフォルトの名無しさん
2011/10/13(木) 05:17:17.02----
AdRequest request = new AdRequest();
request.addTestDevice("・・・"); // for 実機
if( request.isTestDevice( this)) Log.d( "Ads", "test");
mAdView = new AdView(this, AdSize.BANNER, "・・・");
root_framelayout.addView(mAdView);
mAdView.loadAd(new AdRequest());
ログみるとリクエストは成功したけど受信失敗とか…
onFailedToReceiveAd(Ad request successful, but no ad returned due to lack of ad inventory.)
テストでも受信って失敗しうるんでしょうか?
30回くらいやって1回だけ広告が表示されました。
0255デフォルトの名無しさん
2011/10/13(木) 05:24:22.12コードからテストデバイス登録して、テスト広告が出てるなら
あとはAdMobにまかせるしかない。
アプリが公開されて、ユーザ数が増えるとその「出ない」現象は消えるので
テストデバイス登録も不要になる。
0256デフォルトの名無しさん
2011/10/13(木) 07:42:28.010257デフォルトの名無しさん
2011/10/13(木) 08:00:15.45最近不安定すぎる
0258デフォルトの名無しさん
2011/10/13(木) 08:15:13.46GPLなものを何か1つでも組み込むと全てが汚染されるので
アイコンだけでなくアプリ本体もソース公開がいる
0259デフォルトの名無しさん
2011/10/13(木) 08:21:23.74アプリに含まれるリソースである。
もし「含まれる」だけでGPL汚染が発生するのなら、
Android端末にはLinuxカーネルが「含まれる」ので、
Android全てがGPL汚染されるはずだが、実際にはそうなっていない。
従って、GPLライセンスのアイコンリソースを含んだアプリが
GPL汚染されるかというと、されないだろう。
0260デフォルトの名無しさん
2011/10/13(木) 09:02:26.50どっちも権利者が申告してこないだけ
ただ、「大手がやれば、問題になる」
ソニ〜ICO〜
0261デフォルトの名無しさん
2011/10/13(木) 09:42:12.660262デフォルトの名無しさん
2011/10/13(木) 09:50:38.48javaの世界ではGPLな物が静的にパッケージに含まれた時点で「リンク」と
見なされる
従って配布するパッケージにGPLなリソースを含めたらソースコードの配布
(公開でなくても請求した人に渡すだけでもOK)が必要
配布するパッケージにアイコンを含まず、初回起動時にアイコンを他所から
ダウンロードするような場合は分からないが
> もし「含まれる」だけでGPL汚染が発生するのなら、
> Android端末にはLinuxカーネルが「含まれる」ので、
> Android全てがGPL汚染されるはずだが、実際にはそうなっていない。
凄まじい詭弁と論理の飛躍だな
こういう奴が平気でGPL違反をやらかすんだろうな。あ、これはただの妄想な
0263デフォルトの名無しさん
2011/10/13(木) 09:52:35.63キャリア決済の場合は購入後Googleからキャリアに本当に決済可能かどうかの確認が入って
たまにそこでトラブって止まることがあるよって返したことはある
ATOKとかの超メジャー国内有料アプリのFAQにあればいいんだけど
前見たときは見つからなかった
0264デフォルトの名無しさん
2011/10/13(木) 10:42:32.48ライセンスの話に「〜の世界では」とか言い出すのがうさんくさい。
0265デフォルトの名無しさん
2011/10/13(木) 10:47:59.09本人乙w
0266デフォルトの名無しさん
2011/10/13(木) 10:55:19.67しばらくたってからまたやってみるか、クレカで買ってくれ、しかないのかな。
端末側の設定がダメってことはあるのかなぁ…
0267デフォルトの名無しさん
2011/10/13(木) 11:18:09.870268デフォルトの名無しさん
2011/10/13(木) 11:41:57.47単純にデーターベース名を変えて作成する
0270デフォルトの名無しさん
2011/10/13(木) 13:27:37.240271デフォルトの名無しさん
2011/10/13(木) 13:28:14.360272デフォルトの名無しさん
2011/10/13(木) 14:04:15.41テスト広告指定の時は必ずでるんでしょうか?
記述したコードのようにテストデバイス指定し、かつisTestでもtrue が帰ってきてるんですが受信失敗します。
一度だけでたんですがテスト広告かどうか判らずで…ちゃんと見れば良かった…
0273デフォルトの名無しさん
2011/10/13(木) 14:21:51.81アプリの新着反映って間隔ある?
前回の更新で新着載った場合、1週間ぐらい以上空けて更新しなければ再び新着に載らないとか
どっかで見たような気がするんだけど
0274デフォルトの名無しさん
2011/10/13(木) 14:37:59.64画面やデバッグログ見て分からんのなら、SSうpれば判断してやるよ。
0275デフォルトの名無しさん
2011/10/13(木) 14:45:02.23スクリーンショットとろうにも広告が出ずだったんですが・・・
一晩あけたらガンダム・バトルロワイヤルが普通にでてくるようになりました。
テストでもちゃんと広告でるんですね。
結局なんだったのか判りませんがお騒がせしました。
0276デフォルトの名無しさん
2011/10/13(木) 16:32:47.410278デフォルトの名無しさん
2011/10/13(木) 18:02:54.380279デフォルトの名無しさん
2011/10/13(木) 18:38:41.24ボタン毎に、別のアクションをセットしたPendingIntentをそれぞれくっつけてるけど、それって何かまずいの?
リソースとかの面で他に最適な方法があるなら俺も知りたい。
0280デフォルトの名無しさん
2011/10/13(木) 18:48:35.24画面を横にスクロールさせたいので、
onOffsetsChanged()で引数として渡されるx座標を元に再描画しています。
※大まかには↓の様な感じです。
/** オフセット変更時に呼び出される **/
@Override
public void onOffsetsChanged( float xOffset, float yOffset, float xStep, float yStep, int xPixels, int yPixels ) {
point = xPixels;
redraw() ;
}
/** キャンバスで描画を行う **/
void drawFrame() {
// キャンバスをロック
canvas = holder.lockCanvas();
if (canvas != null) {
//描画
canvas.drawBitmap(XXXX, x座標, y座標);
} finally {
// Canvas アンロック
if ( canvas != null ) holder.unlockCanvasAndPost( canvas ) ;
}
}
でも、これだと指を離した瞬間にスクロールが止まってしまいます。
本当は慣性スクロール(モーメンタムスクロール)を行って、
指を離した後にある程度スクロールを維持して慣性が働いている様な表現をしたいのですが、
方法を知っている方いませんか?
0281デフォルトの名無しさん
2011/10/13(木) 20:16:17.85カウントしてる間はモーション割り込めないしもしかしてスレッド必要なのかな?
あいであぷりーず
0282デフォルトの名無しさん
2011/10/13(木) 20:19:15.050283デフォルトの名無しさん
2011/10/13(木) 20:27:22.21- あらかじめメインスレッド用のHandlerを作っておく
- onClickじゃ離した瞬間しか撮れないのでsetOnTouch〜でタッチイベントを自前で処理する
- 押した瞬間にHandlerにRunnableを登録する
- runnable はTextViewのテキストを変更して、再度HandlerにRunnableを登録する。
- ボタンを離したか、タッチ位置が外れたらhandler.removeCallback で登録されているRunnableをメッセージキューから除去する
こんな感じかね。
0284281
2011/10/13(木) 20:46:04.15Handlerがいまだ謎なので勉強してきます
0285デフォルトの名無しさん
2011/10/13(木) 21:05:40.39遅レスだけどヒント感謝です。
影を消せました。
0286デフォルトの名無しさん
2011/10/13(木) 21:41:36.01最前面に持ってくるには、フラグに何を設定すればいいでしょうか?
Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORYの説明を読むと、
「This flag is not normally set by application code」と書いてあって、
使っていいものなのかよく分かりません。
0287デフォルトの名無しさん
2011/10/13(木) 21:43:00.75いえいえ
0288デフォルトの名無しさん
2011/10/13(木) 22:00:47.32カメラを使用できないようにするアプリを作製しようとしているのですが、
カメラ機能のハードウェアを制御することは可能なのでしょうか?
今のところ探しても見つからないので、カメラが起動したらすぐに終了させれば
カメラが使えないのと同義になるかなと思っているのですが、
onカメラ起動 のようなメソッドをオーバーライドすることはできるのでしょうか?
もしくは、カメラのインテントが処理された時に起動するようなメソッドがあるのでしょうか?
0289288
2011/10/13(木) 22:09:19.92・上記は常駐サービス上のメソッドで処理しようと考えています。
・いまいち on○○ の仕様が良くわかっていません。
辞典にはonClickやonDraw等いろいろなケースの処理が書かれていますが、
辞典に乗っていないon○○もチラホラ見かけます。
こういうのってどこで定義しているのでしょう・・・
0290デフォルトの名無しさん
2011/10/13(木) 22:13:30.100291288
2011/10/13(木) 22:17:46.130292288
2011/10/13(木) 22:19:55.42すいませんw逆引きハンドブックのことです。
ここの目次にon○○がいろいろ書いてあるのですが、
ハンドブック内のサンプルには、目次ではサポートされていないon○○メソッドもいくつか書かれているんですよ。
0293デフォルトの名無しさん
2011/10/13(木) 22:37:40.15リストビューの隙間にそれぞれ「あ〜わA」行.
そして右側のやつなぞると対応した位置にジャンプ.
ってどうやるんでしょ
0294デフォルトの名無しさん
2011/10/13(木) 22:57:25.54無理
0295251
2011/10/13(木) 23:13:56.12やはりややこしそうなのでGPLに触らない方向で頑張ってみます
0296デフォルトの名無しさん
2011/10/13(木) 23:32:37.33OpenGLを使ったライブ壁紙を作ろうとしているのですがWallpaperServiceにはGLSurfaceが使えないとのこと。
海外のソースなどを見よう見まねで頑張っているのですがEGLの初期化が上手くいきません。
日本語のサイトで詳しく説明しているサイトを教えていただけないでしょうか?
0297デフォルトの名無しさん
2011/10/13(木) 23:51:40.29区切り行?の挿入とそこへのジャンプはできそうなのですが
右側の「なぞって選べる縦長ボタン的な何か」をどうやって用意すればいいか見当もつきません…
あれはどうやってるのでしょうか?
0298デフォルトの名無しさん
2011/10/14(金) 00:13:33.15標準で「あ行」「か行」みたいな分け方になるわけ無いし
なのでどういう動作なのかさっぱり分からん
0299デフォルトの名無しさん
2011/10/14(金) 00:39:20.29何が難しいのかさっぱりわからん。
テキストビューでもイメージビューでも並べろよ。
0300デフォルトの名無しさん
2011/10/14(金) 02:25:30.63この時の座標情報はコードに含んでないと実行出来ないでしょうか?
コードではなく、テーブルから座標を取得出来たらと思っています。
0301デフォルトの名無しさん
2011/10/14(金) 07:44:26.03setFastScrollEnabledのこと?
0302デフォルトの名無しさん
2011/10/14(金) 09:01:14.48そうすれば良いんじゃない?
0303デフォルトの名無しさん
2011/10/14(金) 10:20:49.25そういうAdapterを書けばいい
0304デフォルトの名無しさん
2011/10/14(金) 10:56:16.19MapViewのデフォルトのズームボタンって
2段階ずつしかシフトできないんでしょうか?
+/-を押すと、ズームレベルが2レベルずつ変わって困ってます
MapViewのリファレンスをよんでも、ズームボタンの設置については書いてありますが、
ズームボタンの設定変更らしきものが見つかりません
自分でズームボタン自作するしかないんですかね
0305デフォルトの名無しさん
2011/10/14(金) 12:25:54.29これにツマミを出す以外の機能があったとは
ありがとうございます
0306デフォルトの名無しさん
2011/10/14(金) 17:17:57.75って、onCreate()でもonFocusChangedでやっても無視されるんだが、どうしたらよいですか?
0307デフォルトの名無しさん
2011/10/14(金) 17:54:24.130308デフォルトの名無しさん
2011/10/14(金) 18:04:26.84ありがと!
0309デフォルトの名無しさん
2011/10/14(金) 18:44:58.452000行以上あると思われるstringを出力したのですが270行までしかログに出なかったので、
Log.d()の仕様なのか、どこかミスってるのか判断できません。お願いします。
0310デフォルトの名無しさん
2011/10/14(金) 18:52:02.87とりあえず、無限の長さのログを表示できるという保証はどこにもない。
0311デフォルトの名無しさん
2011/10/14(金) 18:53:31.710312デフォルトの名無しさん
2011/10/14(金) 18:55:14.48ほかの方法を考えろ
0313デフォルトの名無しさん
2011/10/14(金) 20:26:38.51なんでそんなものをログに出す必要があるの
0314デフォルトの名無しさん
2011/10/15(土) 00:49:42.13文字列"01234567"というのがあり、これを0、1、2...というようにint型にキャストしたいです。
文字列はline[]に格納されています。
int[] number = new int[8];
for(int a=0;a<8;a++){
number[a] = Integer.parseInt(line[a]);
}
でキャストされると思ったのですが、なぜかfor文の周回の最後で落ちます。
0,1,2,3,4,5,6,まで成功するのですが最後の要素の7のキャストで落ちるのです。
最後の一要素以外成功しているので、どうしていいか困っています。
line[7]にはちゃんと文字列"7"が入っています。
0315デフォルトの名無しさん
2011/10/15(土) 00:54:13.370316デフォルトの名無しさん
2011/10/15(土) 00:55:55.35文字列"01234567"はどうやって配列に入れたかも定かじゃないからもう全部晒すべ
0317デフォルトの名無しさん
2011/10/15(土) 00:58:05.200318デフォルトの名無しさん
2011/10/15(土) 01:00:41.77ヾミ、 ,イl| ,ィツ
ヾミ、 ノリlj'; ,ィ彡イ
〉ミミヽ_�Y杉ハ_ノ'杉彡"
'^".:.:.:.:.::.:.:.:.:.:.:.:.:.:.:.:...:`丶{
/:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.::.:.:.:.:.:.:.:.::.:.:.ヾミ三ニ≡=-ッ-
/ :.:.:.:.:.:.:.:.:.::.:..:.:.:.::.:.:.:.'.彡''"´ ̄
.l__ _ : : : : : : : : : │
r´ lェi__r´)==`- : : : : : : : : : :│
ヽ_l_/ ヽ_ノ ̄ ̄ ̄ 彡ミ ヽ: : : :│ 乗るしかない このビッグウェーブに!
(( __)、 リ 6 ノノ: : : :│
|/ ̄ ヽ ー´ : : : : /
.|イミFゝ_,, : : : /
(~^~√` │
.|  ̄ ::;;; /~ヽ
.ヽ、、__,,,,,ー"" / 人\
`入 / \
0319デフォルトの名無しさん
2011/10/15(土) 01:02:32.59txtファイルを読み込んで"0,1,2,3,4,5,6,7"という部分を抽出して、
String string = sb.toString();
String[] line = string.split(",");
としました。
これ以上に全部となるとあまりに長いのでこの辺りですみません...
ただキャスト前のline[]は0〜7まで格納されているのを確認してはいます。
0320デフォルトの名無しさん
2011/10/15(土) 01:03:48.74どこでキャストしてると言うのだ
0321デフォルトの名無しさん
2011/10/15(土) 01:05:48.110322デフォルトの名無しさん
2011/10/15(土) 01:07:57.100323デフォルトの名無しさん
2011/10/15(土) 01:12:22.45たぶんそれです!ありがとうございます!!
0324デフォルトの名無しさん
2011/10/15(土) 01:13:46.99こう書けばいいだろ?
String str = sb.toString();
String[] line = str.split(",");
int[] ary = new int[line.length];
for ( int i = 0; i < line.length; i++ ) {
ary[i] = Integer.parseInt(ary[i].trim());
}
ただ途中に数字でないものが1つでもあるとエラー。
例えば次のようなシーケンス。
1,2,,4
カンマが2連続で現れると、String配列の内容は{"1", "2", "", "4"}
となって、空文字列はintにパースできずNumberFormatException。
ArrayList<Integer>とかで済ませられるなら、そっちが簡単だけど。
っていうかコレandroidじゃなくてJava言語の問題。
もう一つ突っ込むと、文字列をintに変換するのはキャストとは言わない。
0325デフォルトの名無しさん
2011/10/15(土) 01:15:53.040326デフォルトの名無しさん
2011/10/15(土) 01:26:33.870327デフォルトの名無しさん
2011/10/15(土) 05:25:51.91例えば一回押せばtextに1を表示
もう一回押せば2を表示
もう一回押せば1に戻るような感じです。
0328デフォルトの名無しさん
2011/10/15(土) 06:33:46.56自力実装しかないでしょうか?
0329デフォルトの名無しさん
2011/10/15(土) 06:36:21.38booleanを状態を保持しておく
0330デフォルトの名無しさん
2011/10/15(土) 06:36:55.53指定したstrの文字列が長いです。
そのため、AlertDialogのタイトルのTextViewをsinglelineに設定すれば
改行が禁止されて省略されるので、そうやって解決したいと思っているのですが
AlertDialogのタイトルのtextViewの受け取り方がわかりません。
どうかアドバイスよろしくお願いします。
0331デフォルトの名無しさん
2011/10/15(土) 06:41:49.56>全然他の任意のリストデータを選ぶ
???
■ このスレッドは過去ログ倉庫に格納されています