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

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2012/04/16(月) 21:33:08.35
このスレでは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プログラミング質問スレ Part20
http://toro.2ch.net/test/read.cgi/tech/1332229701/
0002デフォルトの名無しさん2012/04/16(月) 21:41:19.94
>1 いちおつ
0003デフォルトの名無しさん2012/04/16(月) 21:43:14.52
こっちでいいのかな?
0004デフォルトの名無しさん2012/04/16(月) 21:45:01.53
こっちだね
0005デフォルトの名無しさん2012/04/16(月) 21:53:40.48
貴重なスレ立てリソースを無駄にしたな
0006デフォルトの名無しさん2012/04/16(月) 22:06:24.24
そういやいつの間にか名無しの名前戻ってんな
0007デフォルトの名無しさん2012/04/16(月) 22:06:33.38
>>1乙
現行スレage
0008デフォルトの名無しさん2012/04/16(月) 22:29:53.00
前スレが流れてしまったのでここで質問させて下さい。

同一のXMLから生成したViewをViewFlipperを用いて切り替える場合、
片方のViewに設定したリスナーなどは、もう片方には引き継がれないようです。
例えば、下の例の場合、最初にmain.xmlを表示したときに最初にincludeされたView(id=hoge1)に
リスナー登録されるようですが、hoge2にはリスナー登録されないようです。

いちいちincludeするViewごとにプログラムでリスナー登録したくないしたら、XMLにリスナーを予め埋め込んでおく以外ないのでしょうか?

@Override public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    this.setContentView(R.layout.main);
    Button btn = (Button) this.findViewById(R.id.btn);
    btn.setOnClickListener(this);

    ViewFlipper flipper = (ViewFlipper) this.findViewById(R.id.flipper);
    flipper.showNext();
}


main.xmlの中身

<ViewFlipper>
<include
    android:id="@+id/hoge1"
    layout="@layout/hoge" />
<include
    android:id="@+id/hoge2"
    layout="@layout/hoge" />
</ViewFlipper>
0009デフォルトの名無しさん2012/04/16(月) 22:42:49.48
>>8
それ以外ないです
0010デフォルトの名無しさん2012/04/16(月) 22:49:21.12
XMLに書こうがコードで書こうが、いちいちView毎にリスナー登録していることに替わりないだろ。
0011デフォルトの名無しさん2012/04/16(月) 22:56:54.96
>>9-10
ありがとうございます。
それ以外ないんですね・・・。


>>10
includeで「同じXMLから複数のid」を生成する場合、

そのXMLの中のボタンにリスナーを登録するのは1回で済むとおもいますが、
プログラミングの中でリスナーを登録する場合、idの数だけ、リスナーを登録しないといけなくなるのではないのでしょうか?

すいません、混乱していて変なこと書いていたら申し訳ないです。
0012デフォルトの名無しさん2012/04/16(月) 23:15:35.82
>>11
クラスとインスタンスを勉強しましょう
0013デフォルトの名無しさん2012/04/16(月) 23:22:13.82
HOMEキー押して裏に回ってるactivityを、別のServiceから全面に持ってくるのはどうすればいいんでしょうか
addFlagsでFLAG_ACTIVITY_SINGLE_TOP指定してstartActivityしても、起動した時に初期画面に戻っちゃう
0014デフォルトの名無しさん2012/04/16(月) 23:41:54.15
SINGLE_TOP以外試してみたらよかろう
0015デフォルトの名無しさん2012/04/17(火) 00:00:23.40
android 2.*では動作していたものが、
android4.0で正常に動作せず悩んでいます。
どなたかお知恵を拝借いただけないでしょうか?

[プログラムの内容]
・viewをLinearLayoutで上下に分割し、上に切り替えボタン、下にviewを設置
・上の切り替えボタンにより、下はListViewとExpandableViewが切り替わる

[不具合の内容]
・切り替え後、どちらのviewもonClick,onSelectedのイベントが拾えなくなる
・listViewはonClickが呼ばれない。Expandableはclickが効かないためか、childが開かない
・同じボタンを押しても、同じ不具合に突入する

[不具合から復帰は可能]
・各viewともに、上下にしばらくスクロールさせていると、onClick/selectedを拾えるように自然治癒する

focus回りかとおもい、あちこちいじったりしてみたのですが直らず、困り果てております。
何かアドバイスいただけるとうれしいです。
0016デフォルトの名無しさん2012/04/17(火) 00:04:55.02
>>13
intent.setFlags((intent.getFlags() &~ Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED) | Intent.FLAG_ACTIVITY_NEW_TASK);
0017デフォルトの名無しさん2012/04/17(火) 00:35:25.44
>>16
ありがとうまた明日やってみます
0018デフォルトの名無しさん2012/04/17(火) 01:18:19.53
FrameLayoutは追加された順に上書きされるそうですが
奥に隠れていったビューは生きていますか?アクセスできますか?
0019デフォルトの名無しさん2012/04/17(火) 08:42:57.68
>>15
切り替え部分の実装kwsk
まさか、切り替えるたびに新しくリストビューのインスタンス生成してないよね?

ちなみにリストビュー(エクスパンダブルの方も)のリストのアイテムクリックしたときのリスナーはOnItemClickListenerだよ
0020デフォルトの名無しさん2012/04/17(火) 12:48:10.72
グーグル、Street Viewに掲載した「恥ずかしい」1枚で提訴される
http://japan.cnet.com/news/offtopic/35014783/?ref=yj
0021デフォルトの名無しさん2012/04/17(火) 14:34:34.11
FrameLayoutで後からaddしたのより先にaddしたSurfaceViewが手前に表示されている現象が起こってしまったのですが
ごれはどういうことが原因と考えられるでしょうか。
0022デフォルトの名無しさん2012/04/17(火) 16:23:57.85
自作のアプリと、既存アプリの連動について、出来るか出来ないか知りたいことが
あるので教えてください。

いま動画投稿系のアプリを作っていまして、そのアプリ投稿する動画を選ぶ際に、
動画の一覧表示する画面を自作するのではなくて、Android端末にプリインストールされている
動画や画像のギャラリーアプリを起動し、そのアプリで動画を選択すると、
元のアプリに選択された動画のファイルパスが返されるようにしたいのですが、
このようなことは可能でしょうか?

0023デフォルトの名無しさん2012/04/17(火) 16:28:24.63
>>22
できる
一番最初に買ったAndroidプログラムのサンプルにあった
0024デフォルトの名無しさん2012/04/17(火) 16:35:04.23
>>23
Androidプログラムのサンプルを買ったのか?
0025デフォルトの名無しさん2012/04/17(火) 16:38:20.42
22です。
>>23さんご返事ありがとうございます。

それは、ふつうに本屋で売ってる本のサンプルコードに載っていたということでしょうか?
0026デフォルトの名無しさん2012/04/17(火) 16:39:46.92
ググれば出てくるのに・・・

android intent ギャラリー
0027デフォルトの名無しさん2012/04/17(火) 16:50:18.50
>>25
最近は読解力のない人も多いから仕方ない。
0028デフォルトの名無しさん2012/04/17(火) 16:53:29.61
>>26 ありがとうございました。intentを検索ワードに入れてませんでした。
0029デフォルトの名無しさん2012/04/17(火) 17:28:31.21
>>24
おっと
Androidプログラムの本のサンプル
0030デフォルトの名無しさん2012/04/17(火) 23:22:04.53
久々にSDKをアップデートしたら、プロジェクトが全滅してワロタw
ライブラリプロジェクトとリンクさせるのは鬼門だな…
直すのに3日かかった、俺アホ過ぎるorz

皆はこういうとき、どうやって情報収集してるん?
0031デフォルトの名無しさん2012/04/17(火) 23:31:27.14
Googleの不始末のケツはGoogleに拭かせる
0032デフォルトの名無しさん2012/04/18(水) 01:13:58.67
前スレ834,858です。
前スレ>>859の方法で思い通りの動作になりました。
前スレ>>859-861ありがとう!
0033デフォルトの名無しさん2012/04/18(水) 14:25:43.91
キー入力やタッチのイベントをプログラムから人的に呼び出す方法ないですか?
0034デフォルトの名無しさん2012/04/18(水) 14:34:56.60
ver2.3.3のエミュ上でGsonを使いたいんですが、
Gson gson = new Gson();
て書いた時点で"Sorry!"って出て止まります

AndroidでGsonは使えないのですか?
0035デフォルトの名無しさん2012/04/18(水) 14:42:25.86
"Sorry!"ってジャパネットたかた社長かよw
0036デフォルトの名無しさん2012/04/18(水) 14:44:43.49
>>33
blog.kmckk.com/lite/archives/3808986.html

多分タッチも似たような方法があるだろう。
0037デフォルトの名無しさん2012/04/18(水) 15:18:59.85
ありがとうございます。
IWindowManager
ServiceManager
このあたりググってるんですがちょっと難しいですね。
0038デフォルトの名無しさん2012/04/18(水) 19:14:47.34
androidをでコンパイルして解析しているんだけどソースコードでframeworks/baseに当たる部分が見つからない。誰か教えてくれ。
0039デフォルトの名無しさん2012/04/18(水) 19:18:08.11
>>38
dl失敗してるとか、もう一回repo syncしてみたら差分が取れるんじゃない?
0040デフォルトの名無しさん2012/04/18(水) 19:36:42.55
>>39
間違えた
でコンパイル→デコンパイル
スマフォを改造しようと思ってどこにframeworks/baseに該当する部分があるか探しているところです。
0041デフォルトの名無しさん2012/04/18(水) 20:34:29.31
>>40
どんな方法でやってる?
0042デフォルトの名無しさん2012/04/18(水) 21:21:05.94
>>41
ググって調べても参考になるものがなかったんで、Gingerbreadのソースコードのmakeファイルを見てパッケージの名前調べたりとかしてみたんですけどダメです。
0043デフォルトの名無しさん2012/04/18(水) 21:54:41.24
>frameworks/base
これって何?
0044デフォルトの名無しさん2012/04/18(水) 23:40:34.68
>>42
そのデコンパイルと改造ってのをどうやってるかを教えてよ、frameworks以外はこうやったってのを。
あとスマフォってのも機種名を書いたほうがいいと思う。
なんとなく調査したいだけなら、SDKのソースは落としてるみたいだし、ビルドしてoutフォルダをみたら
何か分かるかもしれない、端末内の調査もビルドしたimgでエミュレータを動かして調査するのが近道だと思う。
0045デフォルトの名無しさん2012/04/19(木) 00:14:57.83
>>38
Qualcommプラットフォームになっちゃうけど、
CodeAuroraにplatform/frameworks/base.git
とかあるけど、それのこと?
0046デフォルトの名無しさん2012/04/19(木) 09:29:03.82
実行ファイル探してるんじゃないの?スレチだと思うけど
0047デフォルトの名無しさん2012/04/19(木) 10:19:56.49
いや、普通にAndroidのプログラミングの話だろ。
しかもアプリじゃなくてOS周り(正確にはAndroidのフレームワーク)。
0048デフォルトの名無しさん2012/04/19(木) 10:20:46.39
いわゆるmain関数を含んだクラスファイルってこと?
0049デフォルトの名無しさん2012/04/19(木) 10:29:42.48
>>48
アプリの話じゃないって言ってるでしょうが。

>>38
今手元にある環境が少し古いのだけど、
Androidのソースコードゲットしたら、
直下に
bionic bootable build cts dalvik development device (略)
というのができて、その中にframeworks/base/ってあると思うんだけど
見当たらないってこと?
0050デフォルトの名無しさん2012/04/19(木) 10:36:44.27
>>49
そういう意味じゃなくて、そいつをビルドした結果のファイルを実機中で探してるんだろうよw
0051デフォルトの名無しさん2012/04/19(木) 10:38:34.95
orz
0052デフォルトの名無しさん2012/04/19(木) 10:44:09.27
実機のフォルダを色々見ようと思うと
root権限いるんだよなぁ。
やっぱり、root取れる色々と便利
0053デフォルトの名無しさん2012/04/19(木) 11:47:53.26
root化ってバグを利用したものばかり。
バージョンアップするたびにバグが潰されてroot化難しくなってるし。
0054デフォルトの名無しさん2012/04/19(木) 12:13:15.17
何当たり前のこと言ってるんだよ
0055デフォルトの名無しさん2012/04/19(木) 13:16:31.47
俺の機種root化できないんだが
0056デフォルトの名無しさん2012/04/19(木) 13:19:37.06
それ俺のせい
0057デフォルトの名無しさん2012/04/19(木) 13:22:08.52
一般ユーザが管理権限取れるって要するにセキュリティホールだもんな
0058デフォルトの名無しさん2012/04/19(木) 13:26:19.77
root化したままOSのVerアップすると二度と起動しなくなる機種も多いから気をつけてね
0059デフォルトの名無しさん2012/04/19(木) 13:28:05.59
それは恐ろしすぎるな
0060デフォルトの名無しさん2012/04/19(木) 13:30:30.65
「一部」を「多く」というヤツって、何でも大げさに語って知ったかするクズ。
0061デフォルトの名無しさん2012/04/19(木) 13:54:56.87
ノイズキャンセラー作ろうと思って、AudioRecorderしてAudioTrackで
byteビット反転して鳴らしてみたんだが、ワンテンポ遅れる上、話し声が
そのまま聞こえてくるどうすりゃいいってのよ
0062デフォルトの名無しさん2012/04/19(木) 13:58:20.10
レイアウトで自作ビューを使用する場合、
パッケージ名を含んだフルネームで記述する必要がありますけど、
これをクラス名だけで使えるようにする手段ってないでしょうか?
0063デフォルトの名無しさん2012/04/19(木) 14:04:23.21
スレチかも知れないが、とあるアプリで
docomo: SH-12C/ SH-02D/ SC-01D/ SC-01C/ L-06C
ならば正常に動作するが、
docomo: SH-01D/ F-01D/ T-01D ではサウンドが鳴らないというゲームがある
どこに問題があって「サウンドが鳴らない」って現象が起こるんだろう
0064デフォルトの名無しさん2012/04/19(木) 14:06:47.11
サウンドつっても鳴らし方いろいろあるじゃん
0065デフォルトの名無しさん2012/04/19(木) 14:15:14.70
>>62
LayoutInflater.Factory とか
0066デフォルトの名無しさん2012/04/19(木) 15:03:09.07
前スレでGoogleにキレた俺が、きましたよ。
案の定永久BAN食らった

「アカウントで検出された無効な行為に関して詳しい情報をご希望かと存じますが
 Google 独自の検出システムを保護するため、サイト運営者様にアカウントの詳しい状況をお知らせすることはできません。
 申し立てに対する決定が下された後は、本件に関するいかなるご連絡にも対応いたしかねます。」

だってよ。
まじめに何の規約に違反しているのか「???」状態だったから問い合わせてるのに
答えない・受け付けない・はい、さようなら。とか殿様商売しすぎだろ

今回の件で俺の中でgoogleのランクが地についた、もはやこちらから願い下げだ。
こんなサポート体制じゃ今後、うちの関係者や繋がる全ての人にはGoogleの製品を
「いいもんだよ」とオススメする気にはならんな。

今は急成長中の企業だけど、きっとサポート体制関係で不満や信用感が徐々に失われ
その波紋が利用者の間で少しずつ広がっていき、最後は企業が崩壊するような気がするよここ。

というわけでさよならみなさん。1年半くらいこのスレで勉強させてもらったこと感謝する。
Googleより、ここにいる皆さんの方がよほど良心なサポートセンターだったよ
0067デフォルトの名無しさん2012/04/19(木) 15:10:32.37
別アカ作ってまたやれば
0068デフォルトの名無しさん2012/04/19(木) 15:43:40.27
>>66
同意
0069デフォルトの名無しさん2012/04/19(木) 15:49:16.73
>>66
ひどいなあ
江戸時代のお上と農民の関係のようだ
たてつくなとか
0070デフォルトの名無しさん2012/04/19(木) 15:56:39.34
住所と名前でブラックリストにのってしまうのでは
0071デフォルトの名無しさん2012/04/19(木) 16:43:45.41
むしろネガキャンしてもいいレベル
0072デフォルトの名無しさん2012/04/19(木) 16:46:52.78
>>69
今の日本社会もそんな感じに逆戻りしてるよなw
0073デフォルトの名無しさん2012/04/19(木) 16:48:10.71
mediaplayerでogg音声を再生させているのですが、
seekto()で音声の途中から再生させたいのですが、 例えば seekto( 50000 ) を指定して 50秒後の状態から再生させようとしてstart()させても、
端末で再生させて効くと実際には48秒後の音声から鳴ってしまいます。

seektoはあまり精度は期待できないのでしょうか?
0074デフォルトの名無しさん2012/04/19(木) 16:51:53.39
何もしてないの一点張りだから
経緯も何も分からんし何も言えない
嫌気が差したなら使わなければいいし
0075デフォルトの名無しさん2012/04/19(木) 16:57:58.00
>>64
ちょっと調べてみた感じでは、サウンドの実体は .mp3ファイル群で
それらを直接(ゲームを実行してもサウンドが鳴らない)端末で再生させると
特に問題なく音が鳴る
ゲームのプログラム内では .mp3ファイルを指定して MediaPlayer.Playで
再生しているみたいですが...
0076デフォルトの名無しさん2012/04/19(木) 17:52:06.17
Googleはオワコン
0077デフォルトの名無しさん2012/04/19(木) 17:52:43.07
そういえば OS どうなったん
0078デフォルトの名無しさん2012/04/19(木) 18:07:29.77
mp3は不安定だからoggにするのが正義で正解で正攻法だったはずだが
0079デフォルトの名無しさん2012/04/19(木) 18:07:49.87
なんか俺のアプリよく高橋さんが買ってくれるんだが
もちろん下の名前はみんな違っている
珍しくない名前といえども日本の高橋率こんなに多くないだろってくらい
0080デフォルトの名無しさん2012/04/19(木) 18:11:10.84
>>66
ネトゲ会社のアカウントBANとそっくり同じ対応だな
ネトゲの場合BANした理由は絶対に教えてくれない
教えるとその検出方法を回避するチートを開発されてしまうからなのだが…
0081デフォルトの名無しさん2012/04/19(木) 18:29:19.61
オープンソース派のはずのgoogleが、変な所ではユーザーの技術力に怯え閉鎖的ってことか
だんだんと昔のMSに近づいてきてるな
0082デフォルトの名無しさん2012/04/19(木) 18:39:54.08
>>78
そうなの?
以前androidじゃないSOCの仕事でogg扱ったら浮動小数点処理が重くて
全然だめだったことがあるんだ。
0083デフォルトの名無しさん2012/04/19(木) 18:40:33.09
とりあえずオープンソースをちゃんと理解しよう。
0084デフォルトの名無しさん2012/04/19(木) 18:59:13.23
>>81
この手の会社が辿る経路は結局同じなんだろな
サポに関してはGには膨大なメールが毎日きすぎてるからスルーなんだろうけど
0085デフォルトの名無しさん2012/04/19(木) 19:24:54.68
>>79
高橋さんっていうアプリ出せば?w
0086デフォルトの名無しさん2012/04/19(木) 19:33:20.71
>>82
以前どっかのサイトで見たんで言ってみたけど、
もっかいそのサイト見てみたら不安定"らしい"レベルでした正義は誇張でした。

「android mp3 ogg 不安定」
で出てくる上2つのサイトがmp3不安定らしいと言ってる
(1個目は繋がらないからキャッシュからで)
どう不安定なのか言って欲しいわぁ。

oggもoggでエンコード設定とか頭出しとかで難があるみたいだけど、
googleもogg推しだしoggが無難かなーと。
エンコード設定ベストプラクティスとか欲しいところ
0087デフォルトの名無しさん2012/04/19(木) 19:48:00.22
エンコード/デコードの双方に対応しているAAC/3GPPがandroidの標準
オーディオフォーマットだと思っていたよ。
0088デフォルトの名無しさん2012/04/19(木) 20:10:14.37
>>86
凄く古く(1.5とか)だとmp3はまともに鳴らなくてoggにすべし、だったと思う
mediaは色々変わってるから今だとまた事情変わってるんじゃないかな
0089デフォルトの名無しさん2012/04/19(木) 21:17:36.53
mp3はライセンスもあるし
0090デフォルトの名無しさん2012/04/19(木) 22:01:16.05
oggの方が軽いよね
0091デフォルトの名無しさん2012/04/19(木) 22:03:36.02
>>86
mp3はタグ仕様を決めたゴミのおかげか壊れたファイルが
多いから、一概に不安定かどうかは言い切れないなあ。
たぶんPCと違って、そういうイレギュラーなファイルの
エラー訂正が弱いんだろうな。
0092342012/04/19(木) 22:50:08.74
>>34です
なんていうかlibsってフォルダに入れないとだめなんですね・・・
なんでもいいかと思ってassetに入れてました
2日悩んで自己解決でした・・・お騒がせしました。いやしてないか
0093デフォルトの名無しさん2012/04/20(金) 00:40:32.16
例えば、サンプルの「hello-jni」の中の、obj/local/armeabi/libhello-jni.soと
libs/armeabi/libhello-jni.soとで、サイズが異なる同名のsoファイルが
あるのだが、これらは何の為にあるの?
0094デフォルトの名無しさん2012/04/20(金) 01:02:59.35
findViewById は setContentView() の後でしか使えないというのがあるけど、
他のクラスで使うには、またそのクラス内で findViewById をするしか方法ない?
0095デフォルトの名無しさん2012/04/20(金) 01:16:25.16
ttp://andante.in/i/
を参考にRSSリーダーアプリを作っています
ここのソースコードをそのまま実行すると一つのサイトしかRSSでみれないと思います
複数のサイトを見るにはどこをどのように改良すればよいのでしょうか?
ご教授お願いします
0096デフォルトの名無しさん2012/04/20(金) 03:40:59.24
【そりゃないよドコモさん】ドコモが日本通信に提訴された経緯
http://weekly.ascii.jp/elem/000/000/084/84599/
 ドコモは「必要な費用」と説明したとのことですが、その費用はそもそも算定式に含まれているはず、
というのが日本通信側の主張です。
 このため日本通信が差額の支払いを一時停止したところ、ドコモ側は「接続を切断する」と回答。
結果、ユーザーへの影響を考慮して、日本通信側はドコモ側の要求どおりの支払いを続けている、
というのが今の状況です。
0097デフォルトの名無しさん2012/04/20(金) 05:54:22.66
>>93
確か…デバッグ情報が含まれているか否かだった筈。
0098デフォルトの名無しさん2012/04/20(金) 06:58:39.52
>>61
ノイズの逆位相ぶつけるタイプのノイズキャンセリングはイヤホン側に環境音拾うマイク搭載してないと無理じゃね
端末の位置でのノイズとイヤホンの位置でのノイズでは波形が違うでしょ
0099デフォルトの名無しさん2012/04/20(金) 07:59:33.09
それ以前にレスポンスが問題
マイクとスピーカーの距離を音速で進むのに掛かる時間以内に計算を終えてないと
0100デフォルトの名無しさん2012/04/20(金) 08:46:15.38
ノイズ音源 - マイク - イヤホン
の位置関係ならそうだけど

マイク - イヤホン - ノイズ音源
の位置関係ならそもそも無意味だな
0101デフォルトの名無しさん2012/04/20(金) 09:19:19.15
デジタルのノイズキャンセリングヘッドフォンはレスポンスの問題で専用回路でも持ってなきゃ無理じゃないか
アナログは昔からあるけどデジタルは数年前にやっと商品化できたって記事読んだ覚えがある
■ このスレッドは過去ログ倉庫に格納されています