Androidプログラミング質問スレ Part22
1 :
デフォルトの名無しさん :
2012/05/16(水) 21:13:49.11
2 :
デフォルトの名無しさん :2012/05/16(水) 21:17:57.17
>>1 おつ
前スレ998の名前は977じゃなく997です
1乙
>>1 乙
>>997 リファレンス読まずに意味わからないままフラグ使うのやめようよ
FLAG_WATCH_OUTSIDE_TOUCH は ACTION_OUTSIDE は受け取るけど down/move/up は受け取らないと書いてあるじゃないか?
> public static final int FLAG_WATCH_OUTSIDE_TOUCH
> Window flag: if you have set FLAG_NOT_TOUCH_MODAL, you can set this flag to receive
> a single special MotionEvent with the action MotionEvent.ACTION_OUTSIDE for touches that occur outside of your window.
> Note that you will not receive the full down/move/up gesture, only the location of the first down as an ACTION_OUTSIDE.
7 :
6 :2012/05/17(木) 00:11:13.59
適当なことを言ってすみませんでした ソースを見ると TYPE_SYSTEM_OVERLAY, TYPE_SECURE_SYSTEM_OVERLAY, TYPE_TOAST のウィンドウは FLAG_NOT_TOUCHABLE が自動的に付加され FLAG_WATCH_OUTSIDE_TOUCH が自動的に外されるようです つまりこれらのタイプのウィンドウはフラグ指定にかかわらず何も受け取れませんってことのようです
質問です。 2.4系でゲームを作成していてある程度の骨組みができて喜んでたのですが、問題が発生しました。 タッチイベントについて、 onLongPress後からはonScrollイベントが取得できないようなのですが、 回避策or代替案はありますでしょうか? 今やろうとしている操作としては以下です。 1. アイテムインベントリーエリアのスワイプ 2. アイテムのダブルクリックによる詳細表示 3. アイテムを長押しすると、アイテムが選択状態になり、 そのままドラッグするとアイテムがくっついてくる状態となる 3. が onLongPress+onScroll で実装できるかなーとおもっていたのですが そうもいかないようです。 よろしくお願いします。
Eclipseのエミュのデバッガーがとても重くて、例えばインスタンスのメンバを広げたらすごくカクカクするんですが、 パソコンのスペックがよければ少しは軽くなりますか? 今はこんな感じです Windows7 64bit Eclipse 64bit C2D 2.8Ghz メモリ4GB SSD 実機があってもデバッグできないならあまり意味がなさげで…
実機デバッグが基本 何を勘違いしてるのか知らんが実機でもデバッガの機能はフルに使えるぞ
そうなんですか? 変数の中身とか見れるんですか? 逆に実機だとできないことなんかあります?
自己解決 コンソールが使えないだけなんですね ありがとうございました 中古だと1万とかするんですが、新規で安く買う方法ないんですかね…探してみます
>>8 アイテムにOnTouchりすな、OnLongClickりすなを設定
アイテムをロングクリック
ListビューのonTouchを抑制する(リストビュークラスのonInterceptTouchEventあたりで判定)
onTouch()でアイテム動かす
リストの上下側にアイテム持ってきたらscrollby
みたいな
15 :
デフォルトの名無しさん :2012/05/17(木) 09:49:21.95
>>6 ありがとうございます
タッチイベントを取得できる状態でオーバーレイするにはどうしたら…
>>15 6じゃないけど
TYPE_SYSTEM_ALERTで取れないかな?
アンドロイドのアプリ開発を始めたばかりなのですが、よろしければ質問の回答お願いします。 if文の中でローカル変数の宣言を行うとif文を抜けた後は適用されないのでしょうか?
>>17 ローカル変数は { } の中だけで有効だからね
JAVA変数スコープでググるといいよ
>>18 返答ありがとうございます。
探してみます。
ペットボトルと蛇口みたいなもんだ { } でくくられている中のものはペットボトルで、全部飲み干したら( {} からでたら)なくなる。
は?
この例えは酷いw
じゃ、蛇口はどこいった
tnkからでたせーえkみたいなもんだ {}(mnkやティッシュ)に出した奴は、もう二度と他では使われないだろ そういうことだ グローバルという、保存庫に冷凍しておけばいつでも取り出して使えるぞ
26 :
デフォルトの名無しさん :2012/05/17(木) 16:44:33.60
>>16 一応とれたんですがタッチイベントやキーイベントが下のアプリに届かなくなりました
>>9 CPU性能上げれば早くなるぞ、俺もc2dだったがsandyにかえたらエミュでもサクサクだわ
ただ実機の方が早いし楽だ。実機開発がいいぞ
x86エミュ使えばいいよ
29 :
9 :2012/05/17(木) 18:41:34.59
>>27 有難う御座います。Sandy/Ivyは多分MBP待ちです・・・
>>27 X86なんですが重いです・・・
安い白ロムでAndroid 2.2搭載のものを買おうとしてますが、最終確認ですけど
白ロムをいきなり購入しても開発機しての運用には支障はないものでしょうか?
通信するアプリではない限り・・・
今週からandroid始めました。 view の onTouchEvent DOWNした時にしか呼ばれないのですが、何故ですか。 UPもMOVEも反応なしです。 Activity の onTouchEvent には全部来るのに。
仕様
32 :
30 :2012/05/17(木) 20:22:33.87
>>31 そんなわけあるか!
といわけで
事故解決しました。お疲れ様です。
BitmapDrawableを使うと綺麗に回転できるけど Matrix使ってCreateBitmapで回転させると縁がジャギが出ます アンリエイリアスオプションもいれてますが変わりません ジャギが出ないようにするにはどうすればいいでしょうか?
35 :
6 :2012/05/17(木) 22:54:06.92
setFilterBitmap(true) も入れてみては
36 :
6 :2012/05/17(木) 22:56:06.04
名前残ってた それにまた勘違いで適当なこと言ってしまった しばらく黙ってます・・・
北斗神拳伝承者を辞退する
png画像を使うとか
{(i)}
プログラミングとズレるけど、アプリ評価のコメントが ざわつくと開発者として心配になります。 海外にも公開してるんだけど、 ・うごかねー、カス (星2) ・↑開発者の好意で作った無料アプリだろボケカス。俺は動くわ(星5) みたいなやりとりが出てくると、なんかハラハラします。 使ってくれてありがとう!みたいに心象よくしといたほうがいいかな。
>17 それの挙動、言語によってまちまちなんだよね。
はぁ?
ひぃ?
めぇ?
おはようございます。 rawフォルダにmp3ファイルぶっこんだら、 エミュレータの実行(起動はすでにしてる)に5分ほどかかるようになりました。 それまでは5秒程度だったのに。 サンプルでいれたmp3のサイズがでかすぎるせい?8メガなんですけど。 でかすぎるせいでした。700kbのファイルでも結構遅延しますね。お疲れさまでした。 キャッシュみたいなもん無いんですかね。
46 :
デフォルトの名無しさん :2012/05/18(金) 06:57:55.77
おはよう
アプリの起動履歴をLogcat監視しないで比較的正確に取る方法を考えてみた AlarmManagerで5分置きに何もしないアクテビティを走らせる RecentTaskInfoでそのアクテビティを基準にして5分の間に起動したアプリを取得する 結果:何もしないアクテビティ起動するたびに画面がちらついてイラつく 他の方法考えるか...
|●● 空白 ●| 2つ左寄せ、1つ右寄せその間は隙間。 こういうレイアウトをLinearLayoutで作りたい場合ってどうしてます? Relativeだと作れるんですが、他部分との兼ね合いでなるべくLinearで作りたくて。 weightとかalignとかで頑張って作れませんか?
>>40 リリース直後に
ゴミw星1つ
ってコメントを自作自演してる俺は5つ星収集家
50 :
デフォルトの名無しさん :2012/05/18(金) 09:44:50.25
<LinearLayout android:layout_width="fill_parent" android:layout_htight="wrap_content" ... <LinearLayout android:layout_width="wrap_content" android:layout_htight="wrap_content" ... <LinierLayout ・・・/> <LinierLayout ・・・/> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_htight="wrap_content" android:gravity="right" android:layout_weight="1" ... </LenearLayout> </LenearLayout> じか書きなんで見難くてすいません。 まず横fillの親レイアウト作って、横wrapの子1レイアウトと横fill、grvity=right、weith=1の子2レイアウトを作る。 後は子1にレイアウトなりウィジェットなり2個入れればできます。
51 :
デフォルトの名無しさん :2012/05/18(金) 09:47:43.76
すいません追記です。 子2のレイアウト閉じてなかったですね。
出来る
<LinearLayout orientation="Horizontal"> <TextBox android:layout_width="wrap_content" weight="0" Value="●●"/> <TextBox android:layout_width="0" weight="1"/> <TextBox android:layout_width="wrap_content" weight="0" Value="●"/> </LineraLayout>
>>53 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout orientation="Horizontal" android:layout_width="match_parent" >
<TextView
android:layout_width="match_parent" android:layout_weight="1" android:gravity="left" android:text="●●"/>
<TextView
android:layout_width="match_parent" android:layout_weight="1" android:gravity="right" android:text="●"/>
</LinearLayout>
作成スレは消えたのかな?デペコンの Google Play と Google 所有のオンライン/モバイル サービス以外ではアプリケーションを宣伝しません。 ってやつチェックOFFにしてたがいいのかな?
57 :
デフォルトの名無しさん :2012/05/18(金) 20:01:38.10
ちょっと質問動機がスレチなんですが。 「無線ネットワークの使用」「GPS機能の使用」の有効可否は、アプリケーション・ソフトから操作できないようになってるんですか? sl4aというスクリプト・アプリで相応のAPIが見つからないもので、もしやそもそも無いのか?と。
可能だよ
>>57 無線は忘れたが、GPSオンオフは1.6からできなくなった
GPSをプログラムで勝手にON/OFF出来たらさすがにやばいと思ったのから やめたのかな。 (個人情報的な・・・いまさらだけど)
>>1 乙
eclipseで作成してるんですが、実行時に30分とか1時間とか滅茶苦茶時間かかるんですが何故でしょう?
PCスペックはそれほど悪いわけではないと思うのですが・・・
起動時はこれ→" -clean -Xmx1300M "で起動させてます。
基本PCスペックは↓です。
Win7Pro x32
CPU:Intel Core2 Duo 2.53GHz
RAM:4.00GB
アプリサイズは20MBくらいです。
なんでそんなにeclipseにメモリくれてやってるんだろう
>>61 > PCスペックはそれほど悪いわけではないと思うのですが・・・
は?
>>61 最低でもCore i7 3960X Extreme Editionぐらいは積んだ方がいい
32bit版だと1G以上は指定できなかったような
まさかicsのavdとか
うちの環境 i7 24GB でやっと快適だわ。 このまま現場で使いたい。
ダイアログのsetMessageで .setMessage(R.array.sample) みたいにidの中身を表示させることはできませんか?
openGLなんだけど glDrawArrays で GL_TRIANGLE_STRIP 指定した時 頂点数多すぎるとバグる? 100個程度なんだけど。 上のと同じByteBuffer、半分に分けて描画したら普通にいけたし。むかつくわ時間返せ。
下記のようなレイアウトで、ボタンを押すとlinear10までスクロール、 もしくはジャンプするようにしたいのですが、そのようなメソッドはあるでしょうか? ListViewでいうsetSelectionのようなメソッドです。 LinearLayout parent = new LinearLayout(this); LinearLayout linear1 = new LinearLayout(this); LinearLayout linear2 = new LinearLayout(this); ... .. LinearLayout linear10 = new LinearLayout(this); parent.addView(linear1); parent.addView(linear2); ... parent.addView(linear10);
>>70 設計見直せ。
リストビューで書け。ループでまわせ。リクエストフォーカス。
GridViewを使ってSDカード内の画像を一覧表示するものを作ろうと考えています. 何も考えずにGridViewを使うと縦スクロールになりますが、 横スクロールする画像一覧画面にしたいと考えています. ですが、どうやってやればよいかが分からない状況です. 今のところ HorizontalScrollViewの中にLinearLayoutを入れてその中に 1画面分の大きさのGridViewを必要な数分突っ込んで対応しています. (画像は縦スクロールしないように数を調整) わざわざこうしなきゃいけないのか、GridViewの簡単な設定で 行くのか、もしご存知な方がいれば教えていただきたいです. (そもそもGridViewじゃない方がよければぜひその方法も教えてください) APIレベルは7です.
最近、Androidのプログラム始めました。 正確に等間隔で処理を行ないたいのですが (メトロノームのようなものを想定して下さい) Timerを使用するとやはり微妙に間隔が狂います。 Timerよりもベターな方法って有るのでしょうか? (きちんと組めばTimerでも精密な間隔で処理を 実行する事は可能なのでしょうか? それとも、デバイスドライバ的なものを組んで ハードウェア的な割り込みを実装しないと駄目なのでしょうか?) どなたか詳しい方、ヒントだけでも…
微妙ってどの程度?
Settings.System.putInt(getContentResolver() , Settings.System.SCREEN_OFF_TIMEOUT, 0); これでスクリーンオフにならないんだけど何か足りない?
>>76 1行ではなくて、複数行表示できればGalleryでも問題ないです.
ただ、Galleryでやる方法も見つかりませんでした.
継承して作ればいけるのかもしれませんが..
先輩方の知恵をかりたいのですが、ActivityクラスからDialogを作り、 ViewクラスのPaintのイスタンスに値をはじめとする渡したいのですが、 DialogにシークバーとOKボタンを入れるいい方法はありますかね?
>>77 なるほど、
HorizontalGridView的な感じのものが欲しいのか。
ごめんね、それはわかんないや。
昔色々調べたけど、設定では横スクロールには出来なかった。
ソース持ってきて自分で改造したほうが早いんじゃないかなー
>>78 日本語が少々難解なので何がしたいのかよく分からんが、
普通にAlertDialogにカスタムView入れるんじゃだめなのかい?
もしかして、ActivityからDialogを呼び出し、
Dialog上でシークバーを操作、そのシークバーの値を
Activityに返す方法とかそういう話?
>>79 解答ありがとうございます.
やはり設定は無いですよね.
今の状態で進めつつ、ソース拾ってきて参考にしたいと思います.
ありがとうございます!
椅子箪笥わろたw
SurfaceViewで途中から holder.setType(SurfaceHolder.SURFACE_TYPE_NORMAL); holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); を切り替えてエラーにならない方法ないでしょうか?
>>75 仕様
その処理が暴走したらどうなるか考えれば当然
調べてもわからなかったので初歩的な事ですが教えてください 新規android XMLファイル作成 「what type ofresource woud you like to create?」 という部分が画面に無いんですが、設定が悪いんでしょうか? ・レイアウト・値・アニメーション等 選択する部分です
間違えて他のスレで同じ質問をしましたが、取り下げてから来ました。 PreferenceActivityのボタンが押されるとDialogPreferenceのサブクラスを表示し、 ユーザーが設定値を入力しダイアログを閉じた後で、 PreferenceActivityの表示内容を更新しようとしています。 ダイアログが閉じられた後に呼ばれるハンドラや、 DialogPreferenceのサブクラスからPreferenceActivityを参照する方法を 探したのですが、見つかりませんでした。 何か方法があれば、教えていただけないでしょうか。
すべてのボタンにOnClickListenerつけるんじゃなくて、 押されたボタンの(xmlで指定した)idを取得 ↓ idによってif文でイベントを発生 ということは無理ですかね?
すべてのボタンに同じリスナ設定すればええんちゃうのか そうじゃなくて何も設定しなくても押されたボタンのidが飛んでくる方法ってなら、 結局そのidを受け取るのは誰がどうやってという話になるので、 最終的にidを受け取るリスナを設定するという話に戻ってくるんじゃまいか
行の高さが違うListViewをスクロールすると、スクロールバーの高さがうねうね変化するのは仕様?
>>73 俺は
TimeUnit.NANOSECONDS.sleep
を使った。
但しこれでも微妙にズレてくるので、毎回の実測値を計測して毎回補正をかけてる。
RSSのように、ウェブからxmlを拾ってきて、それを日付順にソートして使いたいのですが、 日付の表記が Mon, 14 May 2012 07:32:55 +0900や、 2012-05-10T10:50:32 +0000 と異なるのですが、統一して使用する方法があれば、教えていただけないでしょうか? お願いします
Dateクラスなりに文字列から変換する方法あるだろしらんけど
RSSのDate表記ってたしか決まってなかったか?
>>92 ありがとうございます
しかし、Dateクラスは基本的に時間や日付を扱うもので、
xmlの文字列をどうこうすることはできないと思います
>>93 RSSを扱っているわけではなく、
xmlで取得したものをRSSのように扱いたいんです
>>89 仕様。
だってお前さん、ListViewで表示する上から下までの高さなんて設定した覚えないじゃろ?
そうするとListViewは表示しているViewの高さと、
アダプタから取れるリスト数から、全体の高さを推測するじゃろ?
そこに高さの違うViewが入ってくると、計算が狂うじゃろ?
たぶんそういうことなんじゃないかと妄想してみた。
>>94 いや文字列をDateに変換するのはあるだろ。SimpleFormatDateだかなんだか。
Androidで、既にあるmain.xmlの上にもうひとつXML(main2.xmlとします)を重ねて出したいんですが・・・ SetContentView(main2); だと今まであったmain.xmlが消えてしまいますし、 仕方なく、main.xmlの親layoutにaddviewさせると、removeallViewしなさいと怒られますし・・・ どうすればいいのでしょうか・・・?
98 :
97 :2012/05/19(土) 20:36:30.28
すいません、書いた矢先、Activity.addContentView見つけました 失礼しました
>>94 RSSのバージョンによって違うからね
自分がそんなような処理を書いたときは文字列マッチングで拾ってから
CalenderにsetTimeZone、setして
getTimeでDateを得るのが高速だった
GALAXY NEXUS(SC-04D)用のアプリを作っているんですが NEXUS用のAVDスキンって出回ってないですよね?
101 :
デフォルトの名無しさん :2012/05/19(土) 23:35:53.86
グーグルの検索結果を取得したくて書いてたんですがこのコードだと途中からedittextに反映されなくなってしまいます
文字列の代わりに空白が敷き詰められます
どうしたら良いでしょうか?
EditText tv = (EditText) findViewById(R.id.editText);
try{
String word = "Android プログラム";
String enc = "UTF-8";
String encoded = URLEncoder.encode(word, enc);
URL url = new URL("
https://www.google.co.jp/search?q= " + encoded);
HttpURLConnection http = (HttpURLConnection)url.openConnection();
http.setRequestMethod("GET");
http.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)");
http.connect();
InputStream in = http.getInputStream();
in.read(b);
in.close();
http.disconnect();
}catch(Exception e){
}
String target = new String(b);
tv.setText(target);
102 :
101 :2012/05/20(日) 00:54:50.22
int size; while(true){ size = in.read(b); if(size <= 0) break; readtexts = readtexts + new String(b); } こんな感じにぐるぐる回したら出来ました
ロックが解除されたことを取得する方法が分からない
ブロードキャストレシーバでいいのか...
TextViewに表示したリンクをロングクリックしたときに、イベントと クリックされたURLを取得したいのですがどうすればいいのでしょうか?
動画の再生 VideoView videoView=new VideoView(this); videoView.requestFocus(); videoView.setMediaController(new MediaController(this)); layout.addView(videoView); videoView.setVideoPath("sample.mp4"); videoView.start(); とあったのですが動画が終わった後、終了信号受けて 処理をするにはどうすればいいでしょうか?
>>96 そうなんですか、よく調べてみます ありがとうございます
>>99 ありがとうございます
知識が足りないので調べながら試してみます
とても参考になります!
>>106 VideoViewは使ったことないが、
setOnCompletionListener(MediaPlayer.OnCompletionListener l)
でできないか?
109 :
デフォルトの名無しさん :2012/05/20(日) 14:24:39.48
AIDEって日本語文字化けなくす方法ない?
111 :
デフォルトの名無しさん :2012/05/20(日) 18:07:18.38
edittextで ---------------- テキスト ---------------- みたいにまん中に表示されんのを上に出来ませんか?
onResumeってCreate時にも呼ばれるんですが、 これって毎回確実に呼ばれますか? onCreateとonResumeに同じ処理を書いてて、 起動時に2回呼ばれるんでonResumeだけにしようと思ってるんですが、 onResumeが確実に呼ばれるっていう保証が欲しいんです。
そういう人はソースを読むといい
ソース読むなんてうそぶいてる奴が本当にちゃんと理解するところまで読んでることはほとんど無い
>>114 その実装依存でgoogle+アプリが4.0でクラッシュ祭起こしたので
実行するしないは静的に決めるべきでなく、動的に判定すべきだと思う
onResumeにブレークポイント置いてデバッグモードで呼ばれているか確かめればいいじゃん
119 :
113 :2012/05/20(日) 22:06:41.51
>>117 手元の端末では、onCreate→onResumeって動いて、
じゃあonResumeだけでいいじゃんって思ってますが、
それがすべての端末で保証されているかは不明なので。
そんなにスペックにシビアな処理じゃないんで、
>>116 さんの意見を見る限り、やめたほうがよさそうですね。
サンクスです。
120 :
101 :2012/05/21(月) 00:31:20.51
>>101-102 のコードで全部取得はできたんですが
取得したデータを毎回ログに出してみると
普通のデータがしばらく続いたあと�����������������������みたいに文字化けしてしまいます
漢字、数字、英語に関係なく文字化けするんですがどうしたら良いでしょう
>>120 javaのストリーム読み取りの基本に立ち返れ。
それだけでなおると思う。
eclipse!
Android ndkで全面的にC++で開発する場合は、AndroidアプリケーションフレームワークはJavaで書かれているから使えないので、自分で全て実装するしかないんですか?
JNI
sqlite使ってデータ表示をする際に、 エスケープシーケンス(\n)が大文字変換されて\Nとなってしまい改行されません。 これ防ぐ方法ってありますか?
127 :
デフォルトの名無しさん :2012/05/21(月) 16:38:49.39
128 :
デフォルトの名無しさん :2012/05/21(月) 17:54:51.21
>>121 いろいろ弄っても状況が変わらないので教えてください
123にアドバイスしなければそのまま新たなOSが出来ていたものを
マルチバイトデータの泣き別れ。
>>128 UTF8について勉強して、何がまずいか考え直せ。
だめなら諦めろ。
webviewでズームをすると文字が大きくると同時に、以下のように文字が縦長になってしまいます。 いろはに ほへと ↓ ズームする いろ はに ほへ と これはiphoneのように文字を縦長にしないで、文字が大きくなった分スクロールバーが出てくる。 というようにはできないのでしょうか。
>>127 つまり事前防止策は無いってことですか?
135 :
101 :2012/05/21(月) 20:34:32.66
136 :
デフォルトの名無しさん :2012/05/21(月) 21:53:44.32
ソースの取得について教えて下さい。
$ repo init -u
http://git.android-x86.org/manifest -b ics-x86
もしくは、
$ repo init -u git://android-x86.git.sf.net/gitroot/android-x86/x86/platform/manifest.git -b ics-x86
のソースを取得しに行ってるんですが、prebuiltが取得できません。
下記エラーが出ています。
aborting due to possible repository corruption on the remote side.
リポジトリが壊れていると思うのですが、どうしてもx86ソースが欲しいです。
何か良い解決策はありますでしょうか?
アプリの正確な起動履歴を取るのはLogcat監視しないとキツそうだけど 5分毎にこの5分間で起動したアプリを調べるうまい方法はないのかな RecentTaskInfoだと順番とIDくらいしか取れないけど...
139 :
デフォルトの名無しさん :2012/05/21(月) 22:13:00.33
AndroidでアプリAとアプリBで独自権限Xを使用したい場合、権限Xを定義する場所は何処が正解なのでしょうか? なお権限XはprotectionLevelに"signature"を指定しており、Android1.6でテストしています。 ●パターン1 アプリA…権限Xをuses-permission宣言 アプリB…権限Xをpermission宣言、権限Xをuses-permission宣言、Activityのアクセス制限に権限Xを指定 インストール順が「アプリB→アプリA」だと、何も問題ありません。 しかし「アプリA→アプリB」の順でインストールするとSecurityExceptionが発生します。 アプリAをアプリBの入った状態で再インストールすれば例外は発生しなくなりました。 ●パターン2 アプリA…権限Xをpermission宣言、権限Xをuses-permission宣言 アプリB…権限Xをpermission宣言、権限Xをuses-permission宣言、Activityのアクセス制限に権限Xを指定 両方に権限Xの定義を書いた場合、A→BでもB→Aでも動作しました。 私はアプリのインストール順を気にする必要の無いようにしたいです。 この場合、パターン2の様に関連アプリすべてで権限Xを定義するのが正攻法なのでしょうか?? 動作は前述通り確認出来ましたが、見た目がスマートじゃない為自信がありません。 アドバイスよろしくお願いします。m(_ _)m
140 :
139 :2012/05/21(月) 22:16:45.07
すみません書き忘れがありました。 例外が発生する/しないは「アプリAからアプリBのActivityを呼び出す」時の話です。
アプリは終了させてもしばらくバックグラウンド残ってるわけだから RunningAppInfoでimporanceを取ってバックグラウンドにあるのを最近起動したプロセスと見るとか 問題はアプリ起動しまくるとバックグラウンドのプロセスkillされちゃうから取得できないことだな...
142 :
デフォルトの名無しさん :2012/05/22(火) 01:21:40.99
ファイルパスを指定してmp3の音楽情報取得する方法ってありませんか? 全部取得なら会ったんですが特定のファイルだけってのが見当たらないです
killしても復活してくるアプリってそのアプリで作ったintentで AlarmManagerなりをキャンセルしないと止まらないんだよね だとすると端末の起動時に起動させなきゃいいわけだけど それを他のアプリで阻止することってできる?
ACTION_GET_CONTENTでintentを投げるとき ファイル名や拡張子でフィルタリングする方法ふぁあれば教えてください
そんなこと出来たらセキュリティ系のアプリ動作阻止して速攻乗っ取れちゃうなw ホームアプリたたき落としてヲレホーム起動でもいいけどw
146 :
139 :2012/05/22(火) 19:18:42.64
再度補足です。
>>139 のパターン1でSerurityExceptionが発生するのは、Android2.1まででした。
2.2からは何事もなく動作します。何なんでしょコレ…。orz
AOSPの中の一部分をコンパイルするにはどうすればいいですか? 具体的にはframework-base/resをコンパイルしたいです。
NDKを使ってCでJavaのクラスを呼び出して使用する場合、 Cのヒープメモリを使用するのでしょうか? それともJavaのヒープメモリでしょうか?
OSが決める以上、どっちでも同じじゃね?
レス遅くなって済みません。
>>74 数ミリ秒程度なんです。
>>90 TimeUnit.NANOSECONDS.sleep ですか。
調べてみます。でもやはりずれるにはずれるんですね。
WindowsやMACでも高レベルで処理すると
ズレは不可避な印象があるので、Andoroid の場合も
Timerとかだとどうしようも無いのかな、と思い質問させて貰いました。
自分のアプリがどのくらいメモリ使うのか調べることできます?
152 :
デフォルトの名無しさん :2012/05/22(火) 22:33:16.52
プログラムからmediascannerを呼び出すことて出来ますか?
いずれもくぐったら、何かしらわかると思うよ。
154 :
デフォルトの名無しさん :2012/05/22(火) 23:45:32.02
androidでメインのactivityのクラスから別のpublicのclassを作り、そこにmain()を置いたのですが 本来のJavaはそのclassのコンストラクタが作られた時点でmain()が実行されるはずですよね? androidだと実行されないんですけど
インタプリタ自身がmain()の記述されたクラスのコンストラクタを呼び出さ ないと実行されないと思うけど
ごめん、訂正 そもそもmain()はstaticなのだ そのクラスのオブジェクトが生成されるされないは関係ない
今調べてみました 普通のJavaでもmain()はVM起動時に呼ばれるだけで、そのクラスのインスタンスを作るときに 呼ぶわけではないんですね
Android同士でインターネット回線を使って通話するアプリ(VoIP?)を作りたいんですが、やっぱりかなりハードルが高いんでしょうか?
まずどうやって通話するのか仕組みを説明してくれよw グーグルトークじゃ駄目なのかと。
説明してくれよwじゃなくて私が聞いてるんですが
そんなこと聞いてる様子ではそうとう難しいんじゃない コピペで作れるかなくらいの感じなの?
わからない人はレスしなくていいですよ〜
また荒らしか
分からないのに作ろうって無理じゃねw
なんか設計書はおろか用件定義もろくにないのに仕様説明求めたら怒られるブラック企業みたいだ
169 :
デフォルトの名無しさん :2012/05/23(水) 09:56:59.12
アクティビティA(メイン) ↓ サービス ↓ レシーバ ↓ アクティビティB という流れがありまして(アラームのまねごと) アクティビティBからアクティビティAに 値を渡すことは可能ですか?
3.3Vピンを使うのと デジタルピンでanalogWrite(11, 255*3.3/5); するのって何か違いますか? なんかPWMで動かしてるとかなんだとかで, 3.3Vピンにつないだときはうまく動くのにanalogWriteだとうまく 動かないことがあります。。。
なぜArduino? ADK?
172 :
170 :2012/05/23(水) 11:04:10.89
すいません。スレタイ見間違えました。。。↓
>>160 グーグルトークや、Skypeみたいなものを作りたいってことじゃねーの?
>>169 アクティビテAに遷移するときにBundle使って渡すとかpreference使って受け渡しするとか
sdカードに録音した音声を保存したいのですが どのファイルに保存するか指定するのはどうやればいいのでしょうか?
File file = new File("c:\\tmp\\newfile.txt"); このパソコン内のファイルの確認をするプログラムをandroidのSDカードで 使用するにはどのように書き直せばいいのでしょう。
>>169 普通にpreference使うかなあ
Bundle使う方法もあるか
ていうかBundleって中身なに入ってるの?
知らずにいつもそのままにしてあるけどw
178 :
デフォルトの名無しさん :2012/05/23(水) 16:10:04.05
>>176 File sdCard = Environment.getExternalStorageDirectory();
File file = new File(sdCard.getAbsolutePath() + "/tmp/newfile.txt");
Retained Heap が2kって多い少ない?
public void onItemSelectedを実装したら引数に AdapterView<?> parent と書いてあるのですが、このジェネリックスはどういう意味があるのでしょうか 調べてみたら文法的にはAdapterViewを継承したクラス、AdapterViewFlipper, ExpandableListView, Gallery, GridView, ListView, Spinner, StackViewであれば なんでもいいという意味になるようですが、そもそもこのメソッドを呼び出して引数渡すのは、フレームワーク内部ですよね? ユーザーが手動で引数を送ることがないなら、なんで<?>がついて型を限定してるのかよく分からんのですが
181 :
デフォルトの名無しさん :2012/05/23(水) 21:37:45.43
your project contains error〜 って出てきてぐぐってkeytoolでdebug.keystoreを再生成 それでも消えないっす どうしたらいいん?
まず服を脱ぎます
脱いだらカゴに入れます
ウォーッと叫びながら床を転げまわります
>>181 先に該当アプリを手動でアンインストールするだけでOKなはず。うろ覚えだけど。
186 :
デフォルトの名無しさん :2012/05/24(木) 00:45:26.66
google検索からデータを取得したい時ってどうしてますか? javascript用のは検索結果が通常と異なるので使いたくないです そうなると直接取って正規表現で取り出すしかないんでしょうか?
>>159 簡単簡単SIPを独自実装すりゃいいだけだよ。
188 :
159 :2012/05/24(木) 03:07:25.49
オープンソースのSIPサーバー動かしてSIP API使ったらあっさりできました 暴言吐いてすみませんでした
SmpleCursorAdapterで1行をチェックボックスとテキストに拡張したリストへ DBの内容を読み込んでるんだが・・・ ある行のチェックボックスをオンにして、リストをスクロールすると、 オンにしてない行までチェックがオンになってしまう。 原因は1行のビューをリストが使いまわしてるからなのは分かってるんだが、 どうやって回避していいのか分からない。 どうやって回避したらいいんでしょうか?
check済みの行のpositionをメンバに持っておいて bindViewでCheckedTextViewをfindByIdしてチェック済みならチェックないなら未チェック positionはcursor.getPosition()でとってこれるべ多分
ちなみにチェック処理はonItemClickでしてる
Buttonの上に何もない空のLinerLayoutを重ねたら、Buttonはクリックには反応しますが、 イベントリスナーを拾いません・・・ どうすれば拾えるようになるのでしょうか?
>>193 上部にヘッダーとフッターみたいなものがあるデザインなんですよ
┌──────┐
│ ヘッダー │
├──────┤
│ │
│ │
│ │
│ │
│ │
│ │
│ │
├──────┤
│ フッター │
└──────┘
これで真ん中のところに、新しく別のViewGroupを登場させたいんですが、
addContentView()だとできなかったので、仕方なく上に空のLinearLayout(ヘッダーと同じサイズ)を
つけて登場させることにしたんです。
>>194 上に重ねるんじゃなくて既にある真ん中のを使えば?
LinerLayoutのorientation=verticalの中にヘッダーコンテンツフッター入れてそれぞれweightで調整するとか
197 :
192 :2012/05/24(木) 23:24:31.68
>>195 デザイン的に、重ねて若干透過させたいんです・・・
分かりにくいのでかなり単純化して整理いたしますと、
┌──────┐
│ ヘッダー │ ← ヘッダーLinearLayout。Buttonがついてます。
├──────┤
│ │
│ ('A`) │← メインのLinearLayout
│ ノ( )\ │
│ | | │
│ │
├──────┤
│ フッター │← フッターのLinearLayout
└──────┘
ここでボタンを押したりすると、下からViewGroupが上がってきて、
┌──────┐
│ ヘッダー │
├──────┤
│ ξ │ ← こんな風にヘッダーの下
│ヽ('∀`)ノ │ 加えて、フッターの上
│ ( ) │ つまり元にあったViewと同じ場所に
│ | | │ 新しくViewGroupが入るようにしたいのです。
│ │
├──────┤
│ フッター │
└──────┘
既に別の用途でViewFlipperを使用してるからViewFlipperは使いたくないので、
これらのルートとなるLinearLayoutからLinearLayoyt.addView();をすると
前にあったViewGroupの上とかに挿入されてしまい、重ならないんです。
Activity.addContent()だと、重なることは重なるんですが、ヘッダーの下とか位置を指定できないんです。
仕方ないので、挿入するViewGroupにヘッダーやフッターとして空のLinearLayoutをつけてaddContentView()をしたんですが、
そうなると既にあるButtonの上にLinearLayoutが被さったせいか、クリックイベントが拾われないんです・・・
198 :
195 :2012/05/24(木) 23:25:28.13
>>196 すいません
もう少し詳しくやり方を教えていただけませんか?
すいません、今試してみたら、上に空のLinerLayoutが被さってもボタンはイベント拾いました・・・ 単にsetOnClickListenerを設定してなかったようです・・・ こんだけスレ汚した上で、結局は初歩的な勘違いでしてし、誠に申し訳ないです。
とりあえずAAでなごんだ
202 :
201 :2012/05/25(金) 00:03:57.92
ごめんなさい自己解決しました 以前弄っていたのが問題でした Java > コードスタイル > フォーマッタのところで「Java規約」にしたら行けました 失礼しました
ウィジェットで使う画像を回転させたいのですがRemoteViewsだと matrix使ってpostRotateみたいなことができません。 何かいい方法ありますでしょうか?
androidアプリをCDに入れて売りたいのですが apkファイルを中に入れておいて 『あとはアストロや、apkインストーラーを勝手にダウンロードしてもらって 勝手にインストールしてくださいね。』 ってやるしか無いのでしょうか。 うまいこと作ったexeファイルも一緒にCDに入れておいて PC側から起動することでインストールできたりとか そんな方法とかってありませんか?
>>204 sdカード経由でwebブラウザでローカルファイルアクセスさせたらインストーラ起動しない?
ウィジェット一覧からConfigureアプリを起動したときに <appwidget-provider〜〜>の設定ファイルをActivity内で読み込む方法はありませんか? minWidthとminHeightが取りたいです。
AppWidgetManager#getAppWidgetInfoで取れそうです 失礼しました
>203 Bitmap.creatBitmap()の一つにMatrix渡せるメソッドがある
タッチでタイミングを決める要素のあるゲームを作っているんですが、 タッチ間隔が約5秒以上空くと、次にタッチしたときonTouchEventが呼ばれるタイミングが 約80msecほど遅れてしまいます この遅延を無くす方法はありませんか? ハードはICONIA TAB A100です 念のため、別のアプリ(画面上のドラムをタッチするとドラムが鳴るようなもの)での検証結果 ※遅延はハードを叩く物理音とスネア音をPCでマイク録音して、編集ソフト上で確認 ※もともとAndroid側のサウンド再生にある遅延は計算済み ・5秒以上空けてタッチ←遅れる ・連打してみる←全て遅れない ・音の鳴らない場所(ステータスバーなど)をタッチした直後にスネアをタッチ←遅れない なんとなく、ハード的なタッチパネルのプチスリープ状態みたいなものが あるのかなあと思えてきました でもできるならば無くしたい
同人ソフトとかどう配布するのがいいんだろうな。 やっぱり配布サイト作るべき? なんかダウンロードキー入れるとダウンロード出来ちゃう様なの。
torrentでいいんじゃね
dropboxとか
>>210 同人のダウンロード販売できるとこで委託できるだろ確か
ダウンロード販売したら配布会に参加する必要なくなるじゃないw 同人誌を同人誌扱う書店に卸してるのと同じだよね。
ProcessingでAndroidの件で、Threadを使おうとしたのだけれどどうすればいいだろうか? 基本的に初期設定は、void setup() {}内で行うのだけれど、 ここだとUIじゃないぽくて handler = new Handler();を呼び出すと can't create handler inside thread that has not called looper.prepare() となってしまう。 Activityなんて概念?がProcessingにないと思うんだけど、うまい具合にThread作る方法ないかな?
209ですが、obtainでソフト的にタッチイベント生成したり、いろいろ試してみても やっぱり遅延しちゃうんで、タッチしてから離すイベントでタイミングを計る方法にしました やっぱりハード的に遅延してるみたいでソフトではどうしようもない
間違えたProcessingか スルーしてください
219 :
215 :2012/05/25(金) 13:45:57.37
>>217-218 thx
自己解決したわ
固定概念でAndroidモードだからHandler動かないだろキリッとimport handlerしたらエラーはくし
頑張ってimportさせても、何このエラーってなって。
結局普通のJavaの書き方、ようはHandlerなしで実機にインスコしたら出来たわ…
なぜかエミュでは起動しないけど
自作プログラムを動かしたら本体メモリがMAXになった・・・ それはいいんだけど、自作プログラムをアンインストールしてもMAXのまま 同じ症状になった人いませんか?
日本語で
だから、メモリがMAXになってる人いませんか?ってこと。
メモリ=メモリ メモリ=容量(HDD的な) どっち MAX=100% MAX=40GB/40GB すごい分かりづらいわ、一般的には前者だけど 変な人はHDDの容量=メモリっていう人もいるし てか、再起動すればいいんじゃねーの
一般的には前者なんだから前者に決まってるだろうが。 こういうやりとりしてると、エンジニアってコミュ障ばっかだなぁと思う。
ストレージのこともメモリって言うひと多いよね あんたは悪くないよ
俺もAndroidのこの辺はすこし混乱してる PCでいうメモリをandroidでRAMって呼んでるのか? で保存する内部メモリを内部ストレージって呼んでるし ただ保存する内部メモリをRAMとも書いてあるから混乱する
いや申し訳ない、内部ストレージです arcで今270MB使用中110MB空き アプリケーションの管理→すべてに表示されるプログラムのメモリ使用量を全て足すと136.842MB 133MBがなんらかの理由で消費されている。どうなってるんだろう
タッチしたままの入力状態になると著しく処理速度下がるね
>>226 PCでもメインメモリのことをRAMと呼ぶ。
基本的にこの界隈では、メモリと言ったら、一般的には半導体にデータを保存するもののことを言う。
PCでは作業領域用に半導体、永続記録用にディスク装置を使うことが一般的だったので、メモリ=ワークエリア的な用法が生まれた。
スマホ時代では永続記録用にも半導体(フラッシュメモリ)を使うことが一般化したため、用語の混乱が生じている。
ちなみにRAMは作業領域に使うメモリ、ROMはデータ保存用に使うメモリのことを指している。ただしこの用法も本来の使い方ではない。
RAM、ROMの本来の意味についてはwikipediaでも見ればすぐにわかるだろうから説明しない。
androidの話をするときには
RAM→作業領域
内臓ストレージ→データ保存領域(内臓)
ROM→内臓ストレージと同義、もしくはその内容を抽出したイメージ/パッケージファイル
メモリ→RAMか内臓ストレージか要確認
あたりを押さえておけば混乱を抑えられると思う。
単純にアンドロイドはストレージにEPROM使ってるから 短縮してROMって呼んでるって覚えた ROM=READ ONLY MEMORYだろって言い出すと混乱するな
メモリの区別は出来てますので、
>>227 を教えて下さい。
>>227 android本体じゃね
ダルビッシュっていうやつの上にosがのっかってるかんじ
担当することになったAndroidアプリのソースを読んだら、 Context#openFileInputで取得したInputStreamは、どれもcloseしていないのです。 Androidアプリの勉強はこれからなのですが、このメソッドで取得するとcloseしなくていいのですか?
GCがあるので、クローズしなくておk
235 :
233 :2012/05/25(金) 17:06:28.56
>>234 ありがとうございます、勉強になりました。
closeすべき
237 :
233 :2012/05/25(金) 18:11:49.86
>>236 いずれは自動的にcloseされるものの、それまでopenしっ放しよりは
明示的にcloseした方が良い、ということですかね。
とりあえず、普通のJavaプログラムのようにcloseするコードを書きながら、
覚えていこうと思います。
あるActivityのメソッド内で、別クラスのオブジェクトをnewしてthisを引数にした。 newされたクラスのコンストラクタでは渡されたActivityをインスタンス変数に代入し、 後でstartActivity(Intent)を呼び出したが、動かない。以下の単純なIntentなのだが。 new Intent(ACTION_VIEW, Uri.parse(uri)); 何か制限とかあったっけ?
>>236 finish();では残るよね?
onDestroy();は避けるべきだと読んだんだけど…
>>237 GCがなかなかおこんねーよーな環境だと、先にFileDescriptorが底突いちゃうかもしれないしね。
Inputならともかく、Output使うときにはcloseするまで書き出されもしなかったりするし。
ダルビッシュに誰も突っ込まないの? 専門的すぎてわからないのか?w
見当違いのバカは無視が一番
closeしないまま放っておいて強制終了食らえばデータが保存されてなくても仕方ないね closeすべき理由はあるけど積極的にしない選択をする理由はない
canvas.rotateしたんですがもとの画像が残ってしまいます。 どうすればいいでしょうか?
>>241 初めてか?
肩の力を抜けよ。
いや、何が良いたいかは伝わるし、割と言われてる言葉だし
いちいち突っ込む程でも無くね?
closeし忘れのバグにクロースる。
自信満々のギャグがスルーされて淋しかったんだろ
android覚えたてのころはよく言いたがるよなw
沖縄ではActivityをアシテビチと読むらしいよ。
アシテビチ以外のどんな読み方があると言うんだ
251 :
デフォルトの名無しさん :2012/05/25(金) 20:22:01.43
Androidアプリを作って例えばボタンに画像を乗せる場合、 アップスケーリングが発生するとどうしても汚くなるし、 そもそも、48px*48pxで作っても実際のボタンがきちんと正方形になるかは分かりませんよね? 実際にLayoutを作ってからgetWidth()とgetHeight()でピクセル数を数えて、ピクセルバイピクセルで画像を作るべきなのでしょうか? それだと、854x480と800x480を代表にいろいろな大きさのボタンを作ることになりそうですが・・・
Androidって単独でその機能使うと問題ないんだけど この機能とこの機能複合して使うととたんに不具合が出るってパターン多くない?
具体的にどの組み合わせの話か示さないとさっぱり。
普通に考えて使える訳無いだろって組み合わせで使ってるだけでは?
>>224 このての伝言ゲームで無駄な時間を消費って多いよねw
で毎回デスマになってるのに懲りないw
仕様書有るのに仕様通りに作らないのは、日本語読めないのかと思ったわ。
>>229 内臓ストレージって血なまぐさそうだな。
画面更新しても手動で画面タッチしないと更新されないことがある そんなことないですか?
>>251 その辺が気になるならNinePatchDrawableでやるといい
257 :
デフォルトの名無しさん :2012/05/26(土) 00:08:43.68
onTouchイベントで ViewFlipperを左右に動かしたいんですが、 左右に動かすかどうかの判定をboolean型の右かどうかのフラグをたてて boolean right = false (中略) if (right) { viewflipper.showNext(); } vf.showPrevious(); } こんな風に書いたのですが、あまり綺麗じゃないように思うんです。多少スピードが落ちてもいいのですが もう少し綺麗に書く方法はないのでしょうか
258 :
257 :2012/05/26(土) 00:26:57.45
boolean right = false (中略) public boolean onTouch (View v, MotionEvent event) { (中略) if (right) { viewflipper.showNext(); } viewflipper.showPrevious(); } コード訂正です 今のままでもいいんですけど、右にいくのがtrueと見なしてコード書くのに違和感があるんですよね・・・
remoteviewsでmatrixのpostScaleがきかないのですけど そうすればいいですか?
そうするといいです。
いやまじでpostScaleきかないんだよ
わかる人に聞いてるんだけど(^q^)
2chの専ブラをつくってるのですが、差分取得が上手くいきません。 int totalContentLength = 0; // 前回までの取得byte long lastModified= 0L; // 前回更新 ... String range = "bytes=" + totalContentLength + "-"; // HTTP通信の開始 URL url = new URL(threadUrl); connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.setReadTimeout(2000); connection.setDoOutput(true); connection.setRequestProperty("User-Agent", "Monazilla/1.00"); if(lastModified > 0 && totalContentLength > 0) { // 差分取得 connection.setRequestProperty("Range", range); connection.setIfModifiedSince(lastModified); } else { // 初回のみGZIP取得 connection.setRequestProperty("Accept-Encoding", "gzip"); } connection.connect(); ... 上のコードを実行すると、初回アクセス時はステータスコード200でgzipのデータが取得できます。 しかし、二回目以降Range,IfModifiedSinceを指定しても416が返ってきます。 上記とほぼ同じコードをwindows上で動かしたところ問題なく差分取得ができています。 また、IfModifiedSince,Range等の値に問題が無いこともログで確認しています。 原因が分かる方がいましたらお願いします。
265 :
デフォルトの名無しさん :2012/05/26(土) 03:06:07.73
質問です。 DialogクラスをimplementsしたActivityクラスがあり、 AlartDialog.Builder dialog とインスタンスを作成したのだけど、newできません。。 implementsした場合はこのdialogをshow()させるにはどうすればいいのでしょうか? titleとtext、ボタンがあるサンプル程度でいいのてすが。
>>264 サイズが変化してない→Range指定位置のデータが存在しない
ってことじゃないの?
>>264 二回目の取得を新しいレスが書き込まれてからにしてみろ
あれ?なんか広告がいつの間にか出なくなってる… リクエスト多すぎるとダメとかあるのかな? でも、人気があるアプリは出てるもんなぁ…
>>266 ,267
初回の取得は問題なしで、更新が無い場合も問題なく304が帰ってきます。
更新があって差分取得をしようとした場合のみ416が返ってくる状態です。
差分取得ができてる他のプログラムでもログを吐かせながら、
同時に更新して確認したのでRangeの指定は間違っていないはずなんですが…
>>270 その304はIf-Modified-Sinceのおかげでしょ
416が返ってきたときのリクエストヘッダをそのまま貼ってね
メールの添付ファイルから起動するアプリを作ってます。 添付ファイルtest.abc(カスタム拡張子)があった場合、 下記コードでgmailではプレビューを押すとファイル名が取得できますが K-9Mailなど他ののメールアプリだと取得できません。 取得できるようにするにはどうすれば良いでしょうか? ContentResolver contentresolver = getContentResolver(); Uri uri = getIntent().getData(); Cursor cursor = getContentResolver().query(uri, null, null, null, null); cursor.moveToFirst(); String path = cursor.getString(0); Log.d("path",path);
>>205 Android4だと(?)できなくなってた
>>273 あら、ユーザー様の大事なデータにwebブラウザごときがアクセスするのはセキュリティ的にまずいってことなのかな?
file:///mnt/sdcard/より下に適当なHTMLファイルでもおいとくのが楽そうだと思ったのに
277 :
デフォルトの名無しさん :2012/05/26(土) 17:56:12.90
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); _loadStartButton = (Button)findViewById(R.id.loadStartButton); _loadStartButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { initFileLoader(); showDialog(0); _progressDialog.setProgress(0); _progressHandler.sendEmptyMessage(0); } });
278 :
277 :2012/05/26(土) 17:56:28.08
_progressHandler = new Handler(){ public void handleMessage(Message msg){ super.handleMessage(msg); if(_fileLoader.isCancelled()){ _progressDialog.dismiss(); Log.d(TAG, "load canceled"); } else if(_fileLoader.getStatus() == AsyncTask.Status.FINISHED){ ☆☆☆ _progressDialog.dismiss(); }else{ _progressDialog.setProgress(_fileLoader.getLoadedBytePercent()); _progressHandler.sendEmptyMessageDelayed(0, 100); } } }; } public void a_fin(){ Log.v(); } このとき☆の位置からa_finを呼ぶにはどうしたら良いでしょうか? mHandler.post(new Runnable() { public void run() { a_fin(); } }); とやってもむりでした
else if(_fileLoader.getStatus() == AsyncTask.Status.FINISHED){ a_fin(); _progressDialog.dismiss();
280 :
デフォルトの名無しさん :2012/05/26(土) 21:28:22.83
>>279 すいません
処理が間違っていて出来ないだけでした
281 :
デフォルトの名無しさん :2012/05/27(日) 00:17:27.45
mp3のアルバムアートが読み込めないんですがどういう原因が考えられますか? 手順は mp3をスキャン→完了と同時にいろいろ取得+アルバムアートのパス取得→nullじゃなければ Bitmap bm = BitmapFactory.decodeFile(albumArt); im.setImageBitmap(bm); でセットという感じです
282 :
265 :2012/05/27(日) 00:56:00.25
>>265 です
説明がおかしかったので書き直します。
Dialogを継承したクラスの中で、独自のDialogとAlertDialogを作成しています。
元のActivityにメニューが2つあり、
Menu1 -> 独自ダイアログ (Dialog継承クラス)
Menu2 -> AlertDialog (1と同じDialog継承クラス)
という感じで呼び出しをしています。
Dialog継承クラスの中では
onCreateDialog(int id){
switch(id)
case 1:
ここに独自ダイアログ作成メソッド
break;
case 2:
ここにAlertDialogをnewしてshow()
//省略
}
のように分けて、実際にはonCreateで1か2の引数を渡して作成しています。
今現在では独自ダイアログのほうは普通に表示されますが、AlertDialogを呼び出した時に、
□が出てきて、その背後にAlertDialogが作成されています。
一度スマートフォンの戻るキーを押すと□が消えてAlertDialogのボタンが押せるようなります。
>>282 AlertDialogの場合はsuper.show();を無視すればいけるかも
でも、個人的な感想なんだけどそのカスタムダイアログの実装は正直微妙
あ、show()をオーバーライドしての話です
AlertDialogなのに自分でnewしてるの? builder使って作成しているんじゃないの? というわけでどういうコードでAlertDialogを表示しているのか プリーズ。
286 :
265 :2012/05/27(日) 12:51:26.81
>>265 です。
>>283 >>285 テストでシンプルなテストプロジェクトを作ってみましたが、Dialogをimplementsしたクラスの中では
AlertDialogは使えないみたいですね?
とりあえず下記にソースです
287 :
265 :2012/05/27(日) 12:54:00.24
private SeekBar seekbarT,seekbarL; private LayoutInflater inflater; private View dialogView; // コンストラクタで初期設定 public Dialogs(Context context) { super(context); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // AlertDialogの呼び出し onCreateDialog(3); } protected void onCreateDialog(int id){ switch(id){ case 3: AlertDialog.Builder dialog = null; // AlertDialog.Builderのインスタンス inflater = LayoutInflater.from(getContext()); dialogView = inflater.inflate(R.layout.dialogseeks, null); seekbarT = (SeekBar)dialogView.findViewById(R.id.seekBar1); seekbarL = (SeekBar)dialogView.findViewById(R.id.seekBar2); // シークバー1 seekbarT.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { public void onStopTrackingTouch(SeekBar seekBar) { } public void onStartTrackingTouch(SeekBar seekBar) { } public void onProgressChanged(SeekBar seekBar , int progress , boolean fromUser) { } });
288 :
265 :2012/05/27(日) 12:59:41.48
private SeekBar seekbarT,seekbarL; private LayoutInflater inflater; private View dialogView; // コンストラクタで初期設定 public Dialogs(Context context) { super(context); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // AlertDialogの呼び出し onCreateDialog(3); } protected void onCreateDialog(int id){ switch(id){ case 3: AlertDialog.Builder dialog = null; // AlertDialog.Builderのインスタンス inflater = LayoutInflater.from(getContext()); dialogView = inflater.inflate(R.layout.dialogseeks, null); seekbarT = (SeekBar)dialogView.findViewById(R.id.seekBar1); seekbarL = (SeekBar)dialogView.findViewById(R.id.seekBar2); // シークバー1 seekbarT.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { public void onStopTrackingTouch(SeekBar seekBar) { } public void onStartTrackingTouch(SeekBar seekBar) { } public void onProgressChanged(SeekBar seekBar , int progress , boolean fromUser) { } });
289 :
265 :2012/05/27(日) 13:08:30.67
// シークバー2 seekbarL.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { public void onStopTrackingTouch(SeekBar seekBar) { } public void onStartTrackingTouch(SeekBar seekBar) { } public void onProgressChanged(SeekBar seekBar , int progress , boolean fromUser) { } }); dialog = new AlertDialog.Builder(getContext()); dialog.setTitle("Test"); dialog.setMessage("testtest"); dialog.setView(dialogView); // OKボタン押下時の処理 dialog.setPositiveButton("OK", new OnClickListener() { public void onClick(DialogInterface dialog, int which) { } }); // キャンセルボタン押下時の処理 dialog.setNegativeButton("Cancel", new OnClickListener() { public void onClick(DialogInterface dialog, int which) { } }); dialog.show(); break; case 4: break; } } }
>>288 ん? onCreateDialog()は自分で呼び出しちゃだめじゃないの?
これはコールバックメソッドなんだから、showDialogの方を呼びださなきゃいけないんじゃない?
条件でAlertDialog開きたい時は、showDialogの中で戻り値をAlertDialogのインスタンスにするべきなのでは
ああ、間違えたActivityのonCreateDialogじゃなくてDialogの方か・・・あれ? Dialogをimplementsするって、そのAndroidのバージョンいくつなん?
292 :
265 :2012/05/27(日) 14:32:30.90
>>290 ヒントありがとうございます。
試しに下記のようにしてみました。
@Override
public void show() {
上記の処理
dialog.show();
}
これだと「□」が出ずに直にAlertDialogが呼び出されました。
ただ、戻りをインスタンスにするというのがよくわかりません。
例えば、 int a (int b){
int c = b ;
return c;
}
ならわかるのですが、この場合はsuperの代わりにdialogを.show()しています
さらにreturnをするとeclipseでエラーになってしまいます。
DialogクラスにonCreateDialogなんて無かった気がする 上のソースはonCreateDialogに@Overrideのアノテーション付けていないところを見ると、 意味が良く分からないままに何処かからコピペしてきて、 Dialogを継承したクラスに「自分で勝手に作った」んじゃないかな? 良く分からないから、戻り値はvoidに変えたりして。 onCreateDialogはActivityの中でやる処理なので、 色々根本的に間違えている様な気がしないでもない。 HogeActivityの中で、 showDialog(int)を呼ぶ ↓ フレームワーク内で何か色々あって、 HogeActivity内のonCreateDialog(int, Bundle)が呼ばれる ↓ このメソッド内で返したダイアログのインスタンスが画面に表示される って流れだと思うんだけど誰か間違っていたらフォローよろしく。
連投スマン 上の「自分で勝手に作った」説が正しかったら、 「カスタムしたDialog作成中にさらにAlertDialogを作成している」 という処理しているだけだと思うんだコレ。 つまり理解が根っこから間違えているから、 もう一度リファレンス良く見直したほうが良いんじゃないかと。 で、今復習がてらリファレンス見てみたけど、 showDialog()から一連のメソッドは > This method is deprecated. になっておる。 おとなしくFragment使えってさ。 俺もDialogFragment使うことをお勧めするわ。
295 :
265 :2012/05/27(日) 17:20:54.66
>>293 Activity内だとonCreateDialog(int id)をOverWrideして使用できるのは確認したので、
Dialogの中でもそのままの名前を流用した感じです。
実際にはonCreatの中でonCreateDialog(int id)に引数を渡してswitchで処理させてみました。
今修正して成功したのですが、結果、onCreate()をOverWrideする必要もなく、
show()をOverWrideしてその中でswitchさせて、
case 1:
処理
super.show();
break;
case 2:
処理
dialog.show();
break;
のようにしたら出来ました。このメソッドが一番最初に呼ばれるのですね。。
あと、確かにDialogFragmentを使用するように書いてるので、
勉強がてら、再度チャレンジしてみたいと思います。
ただ、英語がダメダメなので、日本語でDialog作成のしっかりとした教本的な本やサイトがあれば
すごくいいと思うのだけど、ないですね。。結構基本的な事だと思うのだけど。。
とにかくどうもありがとうございました。
最近androidの開発始めたばっかりで、いろんなサイト参考に触ってみてるんだけど ウィジェットの仕組みとつくり方をキチンと解説してくれてる本なりサイトなりオススメない? 表面的な理解では問題にたどりつけなくて、少々挫折気味なんよ…
>>296 とりあえずやりたいことここに書いてみたら?
298 :
281 :2012/05/27(日) 18:49:14.35
>>281 の追記です
ログにSkImageDecoder::Factory returned nullと出ていたので画像がないのかと思ったんですが
あるのに読み取れないようです
何が原因でしょうか?
>>295 > 結構基本的な事だと思うのだけど。。
それよりも技術英語が読めることのほうがもっと基本的なことだ
>>295 あのさ、
Dialogクラスの中でAlertDialog作って、
AlertDialogだけshow()して「余計なものが表示されなくなった!」って
おかしくね?
呼び出し元のDialogはどこ行ったの?
それ、呼び出し元のダイアログが見えてないだけで、
実際のところ、余計な処理じゃね?
っていうか何で直接AlertDialog作らないの?
間違いに間違い重ねて分けわかめにならないうちに、
一回どういう理屈で動くのか良く確かめた方が良いと思うんだ。
英語が読めないってのは言い訳にならんぞ。
高校3年間英語赤点の俺でも翻訳サイトとか使って読んでいるんだから。
scrollViewで現在のスクロール位置を取得するのは.getScrollY()というのを見つけたんですが 今度はスクロール位置をセットする命令がみあたりません。 スクロール位置を指定するにはどうすればいいですか?
>>306 中国だか台湾のサイトにあった奴ですね。
これも試しましたが、ダメだったやつです。
308 :
デフォルトの名無しさん :2012/05/28(月) 20:30:55.97
keytoolで所定コマンド入力後にキーストアのパスの入力を求められますが、 ここでEnter以外の入力を受け付けません。 原因わかる方誰か教えてください。
>>308 パスワード入力だから入力しても見えないとかそんなオチ?
しかし、署名しないとどうなるんだろう・・・
必要って言われたからとりあえず署名してるけど、アプリストアに登録できないとかなのかな?
310 :
デフォルトの名無しさん :2012/05/28(月) 21:03:18.62
>>309 本当にただ見えてないだけでした。。。orz
※でもなくカーソルも全く動いていなかったので入力できていないのかと思いました。
OpenCVかimageMagickでできるだろ>画像回転
クロスコンパイラでバイナリ作ってandroidで動かそうと思ってます 開発環境 ubuntu 12.04 ターゲット IS01 kernel 2.6.29-perf helloworld.c #include <stdio.h> #include <stdlib.h> int main(int argc, char **argv){ puts("helloworld\n"); return EXIT_SUCCESS;} これをarm-linux-gnueabi-gcc -static -o helloworld helloworld.cとしてできたバイナリをIS01にもってって実行したのですが「FATAL: kernel too old」といわれてダメでした。 $ file helloworld とすると helloworld: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, for GNU/Linux 2.6.31, (略) なのでそのせいかとおもうのですが解決方法が分かりません。教えてください。
ICSだとホームアプリによって画面サイズが変わる・・・だと・・・? メニューバーワロタwwwwワロタ・・・・
>>312 ターゲットのカーネルのバージョンに合わせろよ
画像をlayoutAnimationで回転させた後、元の位置に戻ってしまうのですが そのままにしておくことはできるのでしょうか?
>>315 android:fillAfter="true"
android:fillEnabled="true"
>>317 それもやったんですが元に戻ってしまいます。
ウィジェットで使うと駄目みたいです。。
319 :
265 :2012/05/29(火) 03:25:09.63
>>300 onCreateDialog(int id Bundle bundle)などのメソッドもあるし、
「複数」のDialogがある場合には使用すべきだと書いてたので
勉強がてらやってみたのです。
他のダイアログはcase文でshow()されていません。
Dialogをimplementsしたクラス内
1:独自レイアウトのDialog(ロジック周りを作成)
2:独自レイアウトのDialog(ロジック・インナークラスなども作成)
3:AlertDialogを作成
別のActivityから呼び出し時に引数(1,2,3,)を受取る。
最初に呼ばれるOverWrideしたshow()内のswitch文でシンプルに最終的に作成し、
super.show() dialog1.show() dialog2.show()
で分けている
なので、他の2つは実行されていないです。
それぞれのActivityでダイアログを作るのではなく、
必要な時に必要なダイアログを同じクラスから呼出せるので
このようにしてみました。
こういうやり方がいいのかはよくわからないのですが、とりあえず勉強で作ってみました。
>>317 <set>を外したら何故かうまくいきました!
>>319 何を参考に勉強してんだか知らんが、根本的に間違ってるぞ。
「Dialogをimplementsしたクラス」てのも意味不明だし、
Androidの前にJavaを理解することを強くお勧めする。
ダイアログは全部onCreateDialogで管理すべきなのかな? 処理の都度AlertDialogを生成してると、dismissのタイミングを 考慮しないとWindowリークするから困る
dismissで困るのってどんな状況なん?プログレス的な?
>>323 例えばバックグラウンドに回り込んだActivityを毎回finishしたい時
AlertDialog出しっ放しにしておくとリークする
finishのタイミングでDialogも破棄すればいんじゃね?
326 :
265 :2012/05/29(火) 12:38:02.36
>>321 extendsの間違いです(><)
初心者用のjavaの本を何度も読んでAndroidの
勉強をはじめた感じです。
>>332 dismissは閉じる前に呼ばれると思っていたのだけど・・
overwride出来るので、その中でLogをとってみたらちゃんと処理ができました。
なんか・・たかがDialogなのに奥が深いですね・・
Dialog、AlertDialogのボタンの画像や背景、文字色の変更にしてもすごく大変。
dismissメソッドは、自分がダイアログを閉じたいときに呼び出すものだよ。 どうも自分が呼び出すものと、システムから呼び出されるものがよく分かっていないように 思えるんだが。 on~()は、システムが呼び出すコールバックだから、特定のタイミングで自分が何かしたい ときに、overrideすればよい。 ちなみに、端末の向き換えると画面の再構築になるから、ダイアログも何とかしないと駄目だよ。
MediaTracker = new MediaTracker(this); tracker.addImage(img, 0); try{ tracker.waitForAll(); Javaでは画像を完全に読み終わるまで待たせるこういうのあったと思うんですけど androidでは使えないんでしょうか? 代わりのがあるのか、あるいは必要ないんでようか?
仕様だよ
ですか
だって画像も一緒にインストールされてんだから待つ必要ないじゃん
>>314 居るんだよな知ったかしてこういう役に立たないレスする奴
地_方_分_権で日本がなくなる テレビで韓国ドラマばかり流れても、見なければ良いので大きな問題はありません しかし、地方分権で警察組織・権力を地方の犯罪については国から移管し 採用条件・組織等も地方で自由に決めれるようになったらどうなるでしょう。 今のテレビ局が数十年前に在日枠を受け入れて、今や完全に在日朝鮮人に乗っ取られ 都合の悪い報道は一切しなくなり、民主党が与党になったように 地方分権された警察組織が数10年後に、反日感情を持った外国人に支配される可能性はないでしょうか 在日の犯罪は取り締まられず、日本人の犯罪は過大な罰を与えられたりしないと言い切れるでしょうか。 維新に近い、みんなの党は道州裁判所を設ける案もだしてます。 地域の希望が、声の大きい外国人の希望に取って変わるかもしれません。 橋下氏(維新)の大阪都構想しかり 東海の大村氏、河村氏も地域政党を作って国政で候補者をだす予定です。 選挙まで時間はあります、検討したほうが良いかもしれません。
ぬるぽ
組み込みAndroidの開発環境って有料?
337 :
デフォルトの名無しさん :2012/05/29(火) 22:41:04.29
エミュレーターからのアクセスでも、サーバー側はAndroid端末として情報を受け取るのでしょうか?
エミュでもデフォルトのユーザーエジェントには「Android」と入っているけど、 そういう話ではないのかな?
>>338 スマフォかどうか見分けてるのってUAだけなんですか?
例えばエミュでもGooglePlayはきちんと動作するんでしょうか?
端末の種類は/system/etc/default-capability.xmlの情報で判別してるから、 エミュ上のAndroidだと認識される…はず
使えてるよ おかげでダッシュボードのAndroid搭載端末がエライことになっとるw
Android標準のギャラリーアプリのようにスワイプしながら画像を閲覧する アプリを作っています. 実現方法としては、ViewPagerを用いてImageViewを切り替えています. ViewPagerのおかげでImageViewの切り替えは容易に行うことができましたが、 機能として各ImageView(画像)に対してタッチイベントで拡大や移動を行い たいと考えいますがなかなかイベントの伝播の方法がわからず苦戦しています. ViewPagerがスワイプしないようにゆっくり細かくImageViewの操作を行えば 拡大等できるのですが、正しく制御する方法を教えていただきたいです.独自ViewPagerを作成し、 #onInterceptTouchEventやonTouchEventをoverrideしようと考えています. APIレベルは7です.
個体識別番号っていうのはrootとれば変えられるの? 登録不要ののゲームとかってあれで認識してるんだよね?
>>340 それを偽装すれば、実機からのアクセスのように見せかけられるんですね
ちょっと調べてみます
>>343 キャリア個別のidのことを言ってるなら無理。
また、androididは機種によってはどの端末も同じidを返すことがあるので、androididで識別していることはありえない。
サーバーから一意な値を付与されてるだけだと思われる。
Dialog表示時にダイアログの横縦幅を取得する方法を教えて下さい
実は知っているけど僕の態度が気に入らないんですか?
うむ
そうですか・・・ もう生きていくのが辛いので 今までありがとうございました さようなら
351 :
デフォルトの名無しさん :2012/05/30(水) 14:43:09.94
イ`
自己解決ならぬ自決だな
いや、質問は348だろ。
OpenGL ES2.0の開発環境を構築したいのですが、 試してみたところエミュ(v2.3,4.0)でもVMware上のandroid-x86(2.3,4.0)でも 動作確認できていません。 実機でもIDEOS(v2.2)はES1.0らしくだめでした。 手軽な動作環境って何かないでしょうか。
IS01とかIS03とかなら2.0でいけるんじゃないの? 一応GPUレベルではサポートしてるはずだし。
あ、すまん。IS01じゃそれ以前に駄目だわ。
組み込みAndroidでPPP通信させたいんだけど、 ライブラリとかあったりするかな?
うん
教えて君でスマンが教えて下さい。>PPP Android開発環境導入編から。。。。。スマフォのAndroidじゃなくて組み込みのAndroid。 急な話でこっちも困っとる。 CPUはARM系で決まりかけてるところ。 組み込みだと金取られるらしい。という所ぐらいまでは調査済み。(某団体に年会費を払う必要があるらしい) アセンブラとかそういう世界で生きてたから、 OSとかJavaとかもうワケワカメ状態。
大きめの配列を大量に持った場合でも、 画像を大量に表示するのと同様にアウトオブメモリーエラーになっちゃいますか?
366 :
デフォルトの名無しさん :2012/05/30(水) 21:56:44.24
もちろん
ですよねー。。。
>>363 bluzとpppが入ってるからandroid関係なくlinuxレベルで考えればおk
ああbluzは関係ないか。
androidのアプリ開発を知識ゼロから始めたど素人なんですが、 二つ別々に作ったアプリをくっつけるって難しいことですか? 回答お願いします。
場合による。
プログラミング初心者ってことかな 「くっつける」がどういう意味かにもよる 同時に二つとも動かそうとしてるならいろいろリソースを食い合うとかもありうるけど、 そういう意図じゃなければ普通のプログラムの合成と違った制約はそんなにないかと いろいろ名前がぶつからないように気をつけてな
>>372 c言語を授業で習ったくらいでjavaは全くしたことがありません;
音声のの録音アプリと音楽の再生アプリを別々に作ったんですが
onCreateが二つありまとめようとしたのですが
play_button.setOnClickListener(this);
の文のthisの指し示すものが変わりエラーが出てしまいます。
このような場合はどうすればよいでしょうか?
こう言う場合、回答者にもエスパー能力が求められるな。
すいません; ごちゃごちゃになりました; 以下の二つの分を合わせる際にはどうしたらよいですか、、、 言葉では困難でした勉強不足です; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mp = MediaPlayer.create(this, R.raw.sample); play_button = (Button) findViewById(R.id.PlayButton); play_button.setOnClickListener(this); } public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); txtView = (TextView)findViewById(R.id.txtView01); mp = MediaPlayer.create(this, R.raw.sample); }
class宣言の implementsのところが足りていないんだろ
リストとボタンひとつのActivityを以下のソースで表示してます。ボタンをクリックしたら、データベースの中のレコードをひとつ削除して、その結果をリストに反映させたいのですが、リストを 更新できません。 c.requery()、sca.notifyDataSetChanged()はだめでした。どうすると更新したリストが表示されるでしょうか? public class MemberListActivity extends Activity { protected SQLiteDatabase db; protected Cursor c; protected SimpleCursorAdapter sca; protected ListView lv; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); db = (new DatabaseHelper(this)).getWritableDatabase(); lv = (ListView)findViewById(R.id.list); c = db.rawQuery("select * from MyTable;", null); sca = new myCursorAdapter(this, R.layout.list_item, c, new String[] {"omote", "ura", "_id"}, new int[] {R.id.omote, R.id.ura, R.id.ck}); lv.setAdapter(sca); Button execbutton = (Button) findViewById(id.execbutton); execbutton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { //ここでDBのレコードを削除 c = db.rawQuery("select * from MyTable;", null); // ここでリスト更新したい } }); } }
378 :
デフォルトの名無しさん :2012/05/31(木) 18:00:47.62
スレッド型BBSアプリを作成中です。
それぞれの行にいくつかのTextViewとImageViewをもったスレッドを、ListViewで表現しようとしています。TextViewの文章内の一部にURLSpanでリンクを張られたものもあります。
--------------
textview1
textview2 message message message message message message
message message message
http://google.co.jp/ message
--------------
TextView内リンク以外をタップした時には、ListViewのOnListItemClickを、リンクをタップしたときは、URLSpanのOnClickのみを発生させたいのですがうまくいきません。
TextView以外をタップした時は、OnListItemClickが呼ばれますが、TextView上をタップしたときにはOnListItemClickが呼ばれません。
どのようにしたら、この動作を実現できるでしょうか。
ご助言よろしく何卒お願いいたします。
以下、ListViewのAdapter内のソースです。
Spanned html = Html.fromHtml(body, new EmojiGetter(mContext), null);
SpannableString spannable = new SpannableString(html);
Pattern pattern1 = Pattern.compile("(
http://google.co.jp/ )");
Matcher matcher1 = pattern1.matcher(spannable);
while (matcher1.find()) {
MyUrlSpan myUrlSpan = new MyUrlSpan("
http://google.co.jp/ ", matcher1.group(1));
spannable.setSpan(myUrlSpan, matcher1.start(1), matcher1.end(1), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
holder.body.setText(spannable, TextView.BufferType.SPANNABLE);
holder.body.setMovementMethod(LinkMovementMethod.getInstance());
holder.body.setFocusable(false);
holder.body.setFocusableInTouchMode(false);
CursorAdapterにchangeCursor(Cursor);ってのがあるが 普通に getCursor().requery(); notifyDataSetChanged(); でもいけるぞ 削除クエリ間違ってて削除されてないとかじゃないの?
>>370 って何度ももう見かけたぞw
定期的にでる釣り針
Universal Tween Engineを詳しく解説してるサイトや参考書はありますか? もしくは、このスレに使っていらっしゃる方はおられますかね。
一つ目のプロジェクトをsubversionでコミットして、 2つ目を上書きしてマージすれば、ある程度くっつくとおもう。 後は赤くなった所を潰していけばおk
subversionとかまた古いなぁ。
むしろsubversion以外で何がある?(フリー限定で)
なんでフリー限定なのか知らんけど 今はみんなgitじゃねえの?
gitもhgも普通に使われてるけどみんなというほどではないと思うが
RCSで十分。
むしろ、tarでしょ
バカは極端なことを言って人目をひきたがるものなんだよ
subversionが古過ぎると言っただけでそれはないだろう
みんなgitとか持ってるの?
はぁ?
githubのリポジトリ のことだと思われ WikipediaをWikiと言っちゃう人だろ
おれは仕事だとほぼsubversionしか使ってないから他のは抵抗ある まあ最近はandroidのおかげでgitも慣れてきたが
bitbucketがタダでプライベートリポジトリ作り放題になってからは 完全にgitに乗り換えたな
gitといったらgithubのことでしょJK JKじゃないの?
組み込みAndroidの開発環境ってLinuxでないとダメ?
つ「クロスコンパイラ」
>>398 Android上での開発環境の方が圧倒的に少ないからほとんどがクロスだなw
>>396 んなわけない。
仕事で使うなら自分でレポジトリ立てるし。
TTSが無いときの動作をテストしたいのですが、 自分の持っているGalaxy S だと、どうも無効にできないようです。 何か良い方法はないでしょうか?
ユーザー補助のTalkBackこれとちがうんか
>>397 開発環境は、Linuxでも、MACでもWindowsでもAndroidでもいいぞ。
404 :
377 :2012/06/01(金) 10:30:57.18
>379 サンキュー、更新できた。 自分はgetCursorしてなかった。
ファイル、フォルダ管理ソフト的な物を作りたいんですが、 内部SDカードと外部SDカードのフォルダが Environment.getRootDirectory()で取れるパスの1つ上の階層にあるようで、 ここのパスを取得するにはどうすればいいでしょうか?
>>405 「機種に依らず外部SDカードの絶対パスを取得する」方法はない、、、はず。
ボリュームのマウントテーブル読めばなんとかなるかもしれんが、
「外部SDのボリューム名」は機種によって異なるので難しいんじゃね?
>>406 いや、外部SDの絶対パスというか、
AndroZipというアプリがやってるような感じでオペレーションシステムエリア?
という場所のパスが欲しいのです
>>405 getExternalStorageDirectory()とかいう話ではないのね?
作った後に chmod で外せないのん?
0x777 は 0777 の間違い?
412 :
409 :2012/06/01(金) 16:13:57.57
>>411 ありがとうございます。素でボケてました。8進数でやったらxになりました…
八進でもないだろうが
これは斬新なご意見で。
8進数じゃないの?
八進 != 8進数 というひっかけかもしれん。
初心者で教本見ながらやってたんですが、下記のようなエラーが発生しました。
ググってもそれらしい解決策が見つからなかったので助けてくださいお願いします。
[2012-06-01 20:41:59 - Unexpected error while launching logcat. Try reselecting the device.] device not found
com.android.ddmlib.AdbCommandRejectedException: device not found
at com.android.ddmlib.AdbHelper.setDevice(AdbHelper.java:752)
at com.android.ddmlib.AdbHelper.executeRemoteCommand(AdbHelper.java:373)
at com.android.ddmlib.Device.executeShellCommand(Device.java:397)
at com.android.ddmuilib.logcat.LogCatReceiver$1.run(LogCatReceiver.java:102)
at java.lang.Thread.run(Thread.java:722)
モノはマスコットアプリで複数の画像を表示させる段階(Chapter5-2)から発生しました。
教本→
http://cgi32.plala.or.jp/higpen/book/AndroidMascot/AndroidMascot.shtml
端末のUSBケーブルをいったん抜いて刺し直す
>>418 実機ではなくエミュレータで実行させてるんです…
ホーム画面→プロジェクトが実行される段階で
「The application ○○(プロジェクト名) has stopped unexpectedly.Please try again」
というメッセージが表示されます。本当どうしたもんだか
ADBコケてるからリセットしろ
インスコできる機種の除外ができるみたいだけど リストにない機種はどうすればいいの?
>>421 android-sdkを入れなおしてパスの設定もして
adb kill-serverやstart-severなど試してみたんですがダメっぽいです
何かやり方がおかしいんですかね?
別にデフォルトプロジェクトを作ってそれを動かす 動く→作ってたプロジェクトにどっかミス 動かない→eclipseのclean起動とか試す Manifest.xmlにアクティビティ追加し忘れとかでもそのエラー出るっぽいけど
どういうプログラムというかメソッドや計算が多いとシングルコアとデュアルコアで差がつくのでしょうか? デュアルコアの端末が手に入ったので自分のアプリをインスコしてみたら 表示されるまでがシングルコアの端末に比べ遅いんです。(表示までにいろいろ計算が入ってます) デュアルコアの方が早くなると思ったのですが。
マルチスレッドでプログラム書いてないんだろ デュアルコアの端末に変えるだけで勝手に速くなることはない それにデュアルコアつってもシングルコア性能が落ちてるんだろ
コア数検出して分岐
429 :
デフォルトの名無しさん :2012/06/02(土) 14:50:00.87
try{
URL url = new URL("
http://www.example.com/cookie ");
HttpURLConnection http = (HttpURLConnection)url.openConnection();
http.setRequestMethod("GET");
http.setConnectTimeout(1000);
http.setReadTimeout(10000);
http.connect();
InputStream in = http.getInputStream();
InputStreamReader reader = new InputStreamReader(in);
StringBuilder builder = new StringBuilder();
char[] buf = new char[1024];
int numRead;
while (0 <= (numRead = reader.read(buf))) {
builder.append(buf, 0, numRead);
}
reader.close();
in.close();
http.disconnect();
readtexts = builder.toString();
}catch(Exception e){
}
こんな感じでhttp通信した時に、サイト側がクッキーを保存させようとしたら自動的に保存されますか?
保存させるには何らかの操作が必要ですか?
取りあえずクッキーの仕組みを知ってから組むのも悪くないぜ?
AndroidSDKとAndroidNDKを使ってEclipceでC++を使ってアプリを作りたいのですが、 Eclipceの新規プロジェクト作成するとjavaでテンプレートが作成されます。 どうすればいいでしょうか? win7です。
res/values内の一つのstringで改行させたいのですがどうすればいいでしょうか?
\n
Androidのプログラムをこれから勉強しようと思っているんですが皆さんのお薦めの解説書を教えてもらえないでしょうか? 最初はツール系の簡単なモノから始めて最終的にゲームもつくりたいといと思っています。余裕が出てきたら後々はiPhoneでの開発もしたいです まだプログラム板のことがよく分からなくもしスレ違いの質問でしたらスルーもしくは誘導してもらえたら嬉しいです
>>434 私はAndroidアプリの素人開発者ですが、今のところネットの情報だけで何とかなっています。
「Android 入門」などで検索をかけると、開発環境の構築方法や、サンプルコードを簡単に得ることができます。
正直1から10まで手取り足取り教えてもらわないと無理って人は向いてないと思う
本気ならこれから勉強します、なんてここで宣言する前にネットの情報攫うかせめて本屋に向かってるだろうからな。 俺でさえこのスレに覗くようになったのはアプリ一本書き上げて公開してからだったよ。
たしかに、何か一つかき上げるまで2ちゃん見るべきじゃないわ
へりくだって質問する人に対する謎のバッシング。2ちゃんの様式美ですな。
どうせ挫折して時間の無駄になるってわかってるなら その前にやめさせるのもやさしさ
[F1]キーを押したらヘルプが開くでしょ?
>>439 へりくだれば許されるという甘えが余計むかつくだろ。
他人の話題にケチつけて自演してでも自分の話題を盛り上げたい奴が居るようだ。
本人もスレチならスルー希望といっているのに、わざわざ叩くこともなかろうに
>>439 の煽り方はいつもの荒らしの子でしょ
荒らしはスルーが嫌いなんでスルー推奨
webでいいならandroid公式のチュートリアルが一番なんじゃね?
ウィジェットがタスクキラーに巻き込まれて停止しちゃう。 普通のタスクキラーなら大丈夫っぽいけどFastRebootだと停止する 具体的にはウィジェットのクリックのインテントを受け取れなくなる感じっぽい ウィジェットのタスクキラー対策って何か定番とかある?
メディア音量の制御についての質問です。 まず端末のメディア音量(着信音ではない)は次の通りだと思っています。 --------------- AudioManager AudioObj = (AudioManager)getSystemService(Context.AUDIO_SERVICE); //↓最大音量 MaxVolume = AudioObj.getStreamMaxVolume(AudioManager.STREAM_MUSIC); //↓現在の音量 MasterVolume = AudioObj.getStreamVolume(AudioManager.STREAM_MUSIC); --------------- 自分の端末だとMaxVolumeは15 MasterVolumeは(音最小)0〜15(音最大) となります。 これを前提としてMediaPlayerオブジェクトで音楽ファイルの再生をする時に --------------- MediaPlayer.setVolume( float, float ); 第一引数=左音量([最小]0.0〜1.0[最大]) 第ニ引数=右音量([最小]0.0〜1.0[最大]) --------------- で音量の調節をしようとしています。 この「1.0」は、システム音量が10の時に「10×1.0=10」ということですか? それともシステム音量の最大である「15」になってくれるのですか? 理想は「15」側になってほしいのです。 ちなみに実際に試すと1.0でもシステム音量の5くらいに聞こえます(音が明らかに小さい) 音声データはmp3とogg両方試しましたが同じ結果でした。
だってふろーとじゃん
開発用に実機を用意しようとおもってるんですが、お勧めありますか?
お勧めったってなぁ、、、好きなの使え、としか。 2.3機で安く手に入る奴でいいんじゃね? 夏モデルのほとんどが4.0なんで、夏以降を見据えるなら4.0機も欲しいとこだな。
4.0で正統派CPUでバッテリー10時間 中華でいいのでこの基準のやつが欲しいなあ しかし10時間もつのは当面出そうにないな
gnはsdカードが無いのがちょっとな 他の機種はほとんどあるのに 使わないアプリならいいが
これからは解像度がHDの機種が増えるから HDとWVGVの2機種があったほうがいいぞ ほんとやっかいだorz
NDKに対応してない機種、 つまりarmやx86やではない機種ってどれぐらい存在するんでしょうか?
理想言えばキリないからねぇ
俺は普段は実機使ってマルチディスプレーのテストでエミュ使うようにしてる。
あと、そういった機種依存の情報交換こそこういったスレを利用すればいいんじゃない?
Java初心者スレやソース丸投げ依頼ばっかだもんね
>>456 ほんとにやっかいだよねorz
>>454 開発に使うのにバッテリー寿命?
開発機は全部入りか少なくとも最大公約数的なのがいい
TableLayoutに3つのtableRowを追加し、上下のtableRowをヘッダー、フッターとして、画面一杯に表示したいのですが、どのようにプロパティを設定すればいいのでしょうか? ちなみに、真ん中のtableRowには、scrollViewが入っています。 宜しくお願い致します<m(__)m>
SQLite使うときってCursorは兎も角、Databaseは完璧に制御実装できなさそうなら 自力クローズせずにシステム任せにした方が良いんでしょうか?
____ / \ / ⌒ ⌒ \ 何言ってんだこいつ / (●) (●) \ | 、" ゙)(__人__)" ) ___________ \ 。` ⌒゚:j´ ,/ j゙~~| | | | __/ \ |__| | | | | | / , \n|| | | | | | / / r. ( こ) | | | | | | ⌒ ーnnn |\ (⊆ソ .|_|___________|  ̄ \__、("二) ̄ ̄ ̄ ̄ ̄l二二l二二 _|_|__|_
>>463 必ずclose()する!
制御できないならDatabaseは使わない!
もしデータが消えるようなことでもあったら大変なことになる。
サーバダウンよりプログラマーがやっちゃいけないバグ筆頭。
そのやっちゃいけない筆頭を(立場的には)トップディベロッパーであるドコモの spモードメールがやらかした日本の開発力 (やからしたのは下請けなんだけど)
ソフトウェアのメイドインジャパンは、残業まみれのやっつけで作られてるから チャイナと大差ないよ
>>449 端末の音量と、メディアプレイヤーの音量は、別物。
端末は、その15とかて正解。メディアプレイヤーのは、端末関係なく、0から1。
>>466 リンク見たけど、DB使う時にオープンして使わなくなったらクローズの法則は崩れてないよ。
別のスレッドでCursor呼び出したら前スレッドでDBクローズしてたってことでしょ?このリンクは
>>470 DB使わなくなったらクローズ、は当たり前だけど、それを誰がどこでやるかが問題で、
自処理してなくても、結局勝手に閉じるよ、って事かと思ったんだけど。
勝手に閉じるまでに何が起きるか分からんし、実際はどこかで閉じたほうが良いには違いないだろうけど
単純に使い終わったら即クローズにしてると、連打するとボロが出て
実際にデータまで保障する場合は、
DB関連は完全に割り込み禁止にして、開く前にチェックして、処理したら直ぐクローズ、
着信が入った場合とかは問答無用でクローズ、書き込む場合はバックアップまで作成するで良いんでしょうか?
>>471 なんかめんどくさくなってきた。
DBオブジェクト化してないのにCursor呼び出してるからエラーでてるんだよ。
>勝手に閉じるまでに何が起きるか分からんし、実際はどこかで閉じたほうが良いには違いないだろうけど
単純に使い終わったら即クローズにしてると、連打するとボロが出て
実際にデータまで保障する場合は、
DB関連は完全に割り込み禁止にして、開く前にチェックして、処理したら直ぐクローズ、
着信が入った場合とかは問答無用でクローズ、書き込む場合はバックアップまで作成する
ここらへんまったく関係ないから
>>458 ありがとうございます
arm、x86、mips以外はまずありえない、と考えても大丈夫でしょうか?
インスタンス無いからエラーが出るのは当たり前でしょ。 なんか質問が悪いのか、聞いてることと全く違うことの回答が返ってきてる気がするんで 先ずはAndroidの方のソース落として辿ってみるわ。すまん。
実際になる音量は3つのボリュームパラメーターの掛け算だよ
20万以上ならやってもいいかな
昔、携帯アプリ一本120万円くれるって言われた っていうか貰った。中抜きされてこの値段だよ。 3本くらいやったと思う。 その代わり3ヶ月くらいずるずると修正対応したけど。 いまは暴落してるのかな?
100万ならやる それ以下だと自分で開発した方が儲かる
482 :
デフォルトの名無しさん :2012/06/03(日) 22:16:46.39
483 :
デフォルトの名無しさん :2012/06/03(日) 22:21:24.80
1本100万円で受けて、30%抜いて下請けに丸投げしたい。
5万円なんか1人の人間を1日使える程度の予算だな その程度で出来るもんかね
知り合いなら1人月
2日くらいは使えるだろ このくらいのレベルの仕事なら
487 :
デフォルトの名無しさん :2012/06/03(日) 23:04:15.75
ここにいる人は自分でアプリを作ってGooglePlayに公開とかしてるの?
少なくとも、5万ぽっちで他人に作らせてマケ公開までさせたりはしてない
>>482 内容によるでしょうね
もちろん、1本まるまるアプリを作れって要求ではないでしょうこの報酬なら
もしそうなら、King of the black
素材以外はすべてやってもらうつもりなんじゃないの? しかもiPhone/Androidマルチ
iPhoneとAndroidでしょ? 両方作って5万はないな 50万なら両方作るよ
492 :
デフォルトの名無しさん :2012/06/03(日) 23:29:59.27
Android導入は敷居が高いよ。 環境構築はPC10台あっても1台とて同じ環境になる気がしない。(Linuxの場合) 同じ事やっても動かないなんて事はよくある。 買収、訴訟のくり返しでリポジトリのURLとか直ぐ変わるし。本の情報、ネットの情報が参考にならない。 最新版のLinux(12.04 LTS?)入れたけど、 全く使い物にならんわ。最新PCでもOSがまともに動かない。 コンソールに1文字入力しただけでCPU使用率100%で応答なしとか理解出来ない。Windows最強。 GNOMEからKDEに変えてみたけど、KDEのほうが気持ちマトモな気がするけど大差ないかも。
お前には無理って分かる書き込みだなw
なんのこっちゃ
その点Gentooって(略
Androidなんて市場規模小さい開発やってたらおまんま食いっぱぐれるぜ。
趣味以外でやってる奴なんていんの?
プロフィール見る限りキャリア長いデザイナーさんぽいけど 依頼の履歴見るとまだ一つも完了してないし ダイエット系のiphoneアプリ制作よりも依頼額下げてるとこ見ると初心者でしょ。
Androidで定期収入得ようなんてやついるのか?w
2日で仕上げて良いラベルなら10万でやるわ 互換性はそこまで保障しない前提
零細中小はAndroidに興味持つ傾向があるな。今後のトレンド。的な意味合いで。 スマフォのアプリなんて売り物にならないし、 組み込みにAndroidなんて使ったら部品代がパネェことになる。
自称大手の無能さんがお出ましです。
まあやっつけ仕事にはなるわな 普通にやったら時給100円レベルだし
受注仕事やったことない無能しかいないのか
それ以前に学生しかいません
ニートも居る はい論破
>>476 5万とか無茶言うなぁ
まずAndroid/iPhoneのアプリ作れる環境を持ってて
なおかつ簡単なゲームが作れて
その仕事を受注するほど暇で、そして5万で受注しようという意思がある奴
日本に一体何人いるんだよ
趣味ではじめたマチュアなら小遣い稼ぎで受けちゃうかもね そういう受注とか相場とか知らないからさ まあ向こうも知らないんだろうけど そうなるとwin-winになってないかw
アレだろ、相場知らないpixivの子を騙して安く上げるみたいなやつ
まあでも10〜30万でiPhoneアプリの依頼が通ってるっぽいし この受注者ほかでiPhone/Androidの案件5〜10万で受けてるっぽいから 1つの相場なんじゃないの? 不具合対応とかクレーム処理とか考えると金に困ってない限りきついと思うけど。
実際フリーランスであれを受けるとなるとどのくらいなの?
結局無能しかいなくてワロタ
513 :
449 :2012/06/04(月) 00:38:40.03
>>469 >>475 情報ありがとうございました。
大体理解できました。
そもそも端末の音量が所有者の意志で10に設定されていた場合に
ゲ−ムプログラムとかのサウンドで15の音量とかで流せたら
おかしな話だという事に気づきました。
メディアプレイヤーの最大値の「1.0」は、
現在システム音量が10だったら10相当の音量になり
5だったら5相当の音量になるというわけですね。
そしてメディアプレイヤー側の音量が「0.5」だったら、
現在システム音量が10だったら5相当の音量になり
5だったら2.5相当の音量になるというわけですね。
まあ有能な奴は今頃仕事してるか遊んでるかのどっちかだろうし。
無能は仕事してないし遊んでない
よろしくお願いします。 Google Play に .apk ファイルを再度アップロードしようとしたら 「その APK ファイルの versionCode(1)は既に存在しています。」 と表示されアップロードができません。AndroidMnifest.xml が関係しているようなのですが、どこを修正すればよいのでしょうか?
AndroidMnifest.xml中のversionCodeの値を1から2に変えれ
実機でもエミュでもonCreateOptionsMenuが動いてくれない件について 実機の右下(機種によっては左下?)についてるボタンってメニューボタンだよな?
>>519 たぶんそう、うちのは線が四本重なってるアイコン。
returnでfalse返してない?trueにしてみるとか
menu.add("test");
return true;
>>521 発生元たどって自分が書いた所なら
渡してるパラメータとか見直してみれば?
>>523 こことかユーザ会MLとか見てると、こんなことすらしていないと思われる奴多いよなあ。
デバッガを知らない(使い方じゃなくて存在を…)とかたまにいるからね スタックトレースを読めないなんてデフォだから
せめてログくらいは読んでほしいね
でもログって少し読みづらいよね ピンポイントで言ってくれれば楽なのに
>>521 ブレイクで止めるのが嫌だったら
一行づつLog.e()をいれてみれば?
こんにちは AndroidのSQLite周りの質問です ループでテーブルを頻繁に参照するアプリなのですが Could not allocate CursorWindow 'hoge' of size 2097152 due to error -12. android.database.CursorWindowAllocationException: Cursor window allocation of 2048 kb failed. 返してもらうレコード数も少なく大きなテーブルでもないのに、この様なエラーを出して強制終了してしまいます 同じ条件で検証をしていても起きたり起こらなかったりするので原因を特定しづらいのですが これは回避できる種類のエラーなのでしょうか? よろしくおねがいします
使い終わったCursorをcloseしないまま次々に新しく開いてるとか?
自分のアプリからMediaPlaybackServiceを起動することはできないでしょうか? インターフェースは2.3以降塞がっているので、間接的に起動する方法があれば教えてください おそらくAudioManagerのisMusicActive()でアクティブかどうかはわかるのですが、アクティブにする手段がわかればと思うのですが。。
やりたいのはcom.android.music.musicservicecommand.togglepauseを投げてデフォルトの音楽プレイヤーを演奏させたいんですが MediaPlaybackServiceが起動してないと受け付けてくれないので詰まってます 別の方法としてIntent.ACTION_MEDIA_BUTTONをKeyEventと一緒に投げれば受け付けてはもらえますが、 これだと他のプレイヤーがインストールされていればまで動作してしまうんですよね。。
>>530 ご返信ありがとうございます
ソースを簡略化して確認すると、結果をもらった後にcloseしてない様です
帰宅してから試してみます
public class cHoge extends hoge implements Runnable {
Cursor cursor = null;
@Override
public void run() {
while (thread != null) {
cursor = db.rawQuery( hogeSql, null);
while (cursor.moveToNext()) {
// 処理
}
}
}
}
db.close()
>>533 GCがあるからcloseしなくても大丈夫だよ
>>536 むむそうですか
とりあえずIntent投げるときにMediaButtonIntentReceiverクラス指定すればPlaybackをデフォの音楽プレイヤーに限定できたので
これにKeyEventくっつけて投げる方法で対処したいと思います
http://news.searchina.ne.jp/disp.cgi?y=2012&d=0605&f=national_0605_024.shtml 韓国テレビの番組で日本海表記の地図を使用し、非難殺到=韓国
韓国MBC放送の日曜番組『出発! ビデオ旅行』の3日の放送で、「日本海」と表記
した地図を使用していたとして、韓国世論から非難が巻き起こった。多数の韓国メディアが4日、大きく取り上げた。
『出発! ビデオ旅行』は新作映画の紹介から名作など、さまざまなジャンルの映画を
紹介する番組。3日の放送で日本海が「SEA OF JAPAN」と表記された世界地図を
使用したという。
番組放送後に視聴者掲示板には、抗議や非難の書き込みが殺到した。番組の制作陣は
世論の非難を受けた当日、公式サイトに謝罪文を掲載し「今後はこのようなミスを絶対に
しないように最善を尽くす」との立場を表明した。しかし、同番組の5月6日の放送分で
も日本海と表記された地図を使用したことが発覚し、番組やテレビ局への非難はしばらく続く見通しだ。
韓国メディアは「目を疑う場面が電波に乗った」「東海ではなく日本海と表記した地図
を使用して視聴者の怒りを買った」などと伝えた。現在MBC放送は2月から突入した
ストライキがまた続いており番組に支障をもたらしていることも「ミス」の原因とみるメディアもある。
539 :
デフォルトの名無しさん :2012/06/05(火) 14:00:10.52
SDカードの中にあるmp3を順番に再生していくアプリを作っているのですが、 7曲目以降エラーで取得できません。 検索したところ、MediaPlayerでmp3は致命的なエラーがあるとかで、 mp3を再生し続ける方法が結局見つからなかったのですが、 どうにかして再生し続ける事は出来ないでしょうか?
既存のプレーヤーがどうしてるか探れば
541 :
539 :2012/06/05(火) 14:27:02.49
>>540 既存のプレイヤーをいくつかデコンパイルしたら、
ソースだけで7Mは余裕で超えるものばっかりだった。
心が折れた
どのプレーヤー? 俺が覗いてやるよ
544 :
439 :2012/06/05(火) 14:40:45.10
ちょっと外出てるんで、夜くらいにはるとおもいます。
ソースは要らん アプリ名だけでいい
546 :
デフォルトの名無しさん :2012/06/05(火) 15:03:24.48
URL url = new URL(imgurl); InputStream input = url.openStream(); bitmap= BitmapFactory.decodeStream(input); 画像をダウンロードしてbitmapに変換した時 bitmapにちゃんと画像が入っているか確認する方法を教えて下さい
if (bitmap != null) {
549 :
デフォルトの名無しさん :2012/06/05(火) 15:48:41.69
>>522 ,523,528
返答遅れてすみません、レスありがとうございます。
eclipseで怪しい箇所をブレイクポイントで止めつつ引数の型など確認・検証した結果にRuntimeExceptionが発生し、解決がなかなかできずココで質問をさせていただきました。。。
ライブラリファイルを読んでいるのですが、throw new RuntimeException("Stub!"); という例外を投げる宣言が非常に多く見ます。
これはJava言語で作られるものでは、よく見られる光景なのでしょうか?
>>521 から情報量が1バイトも増えてねぇw
RuntimeExceptionが発生したときのスタックトレースくらい貼れ
null po
スタブって未実装ですか?
>>551 スタックトレースはこちらですm(_ _)m 申し訳ございません。
スレッド [<1> main] (中断中 (例外 RuntimeException))
ViewRoot.handleMessage(Message) 行: 1859
ViewRoot(Handler).dispatchMessage(Message) 行: 99
Looper.loop() 行: 123
ActivityThread.main(String[]) 行: 4627
Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) 行: 使用不可 [ネイティブ・メソッド]
Method.invoke(Object, Object...) 行: 521
ZygoteInit$MethodAndArgsCaller.run() 行: 871
ZygoteInit.main(String[]) 行: 629
NativeStart.main(String[]) 行: 使用不可 [ネイティブ・メソッド]
557 :
529 :2012/06/05(火) 21:46:15.21
>>530 逐一ちゃんとカーソルを閉じるようにしたら発生しなくなった気がします
ありがとうございました
559 :
539 :2012/06/05(火) 22:27:47.36
落ちる理由がプログラムミスだったんでチラ裏程度にAndroidで曲再生する時のメモを // 初期化 MediaPlayer player; player = new MediaPlayer(); player.setOnCompletionListener(TestActivity.this); // 曲設定+再生 player.reset(); player.setDataSource(file.getPath()); player.prepare(); player.start(); でもって、再生中の曲を別の曲に差し替える時はreset()からの4行を使えば差し替える事が可能で、 何度も何種類も曲を再生する場合にはMediaPlayerは出来るだけ削除してはいけない。 という事だそうで。
560 :
デフォルトの名無しさん :2012/06/05(火) 22:32:29.21
明みたいなのを普通の文字と相互変換する方法を教えて下さい
561 :
デフォルトの名無しさん :2012/06/05(火) 22:38:00.93
>>560 あ、変換されてる
&#26126;みたいなのです
今ジェスチャー機能等を搭載した高機能ファイラーをつくることを目標に勉強している途中なんですがcとjavaのどちらがいいでしょう?
!!!!!!!!!Cをお薦めします!!!!!!!!!
564 :
デフォルトの名無しさん :2012/06/05(火) 23:20:07.10
>>562 勉強途中といいながら、どちらがいいでしょう?
って何の勉強途中?
4.0端末対応させようと非公式ので無理やりアップデートした端末でテストするのはやっぱダメだな
ユーザーが10万もいるとアップデートが怖いお こっちの実機テストは3台だけだし 海外の機種なんかしらんがなw
>>567 すごいな、全ダウンロード数は100万くらい?
>>568 50万ぐらいだよ
そこそこヒットして2年ぐらいだとこんなもんでしょ
1ヶ月で10万DLとかのアプリ作りたいよw
無料広告つきアプリ?
571 :
デフォルトの名無しさん :2012/06/06(水) 15:09:53.17
java.lang.NumberFormatException: unable to parse ' 26126' as integer ってログに出たのでおかしいと思い質問しようとしたところ ペーストすると26126の前に改行っぽいのが入っていることがわかりました \nをすべてけしているので\nの改行ではないと思いますがこの改行を消すにはどうしたら良いでしょうか?
\rでもない?
まずそのcharコードが何か見ろよ
\rと\n
BOMかもしらん
576 :
デフォルトの名無しさん :2012/06/06(水) 15:27:24.39
手動でインストールしたアプリとGooglePlayで インストールしたアプリを判別する方法ありますか?
うん
自分でインストールしたふるいバージョンを、 Playのアップグレードで上げようとしたら警告が出たよ。 どっかで判断できるのかもしれない
580 :
デフォルトの名無しさん :2012/06/06(水) 17:41:30.11
>>578 apkファイルもインストール先も同じなので
インストール時に内部で設定してるかもしれないですね。
Androidのソース確認してみます。
>>578 エクリプスからデバッグモードでインストールしてない?
Googleplayに上げる直前のファイルをSDカードに投げ込んで、
本体から直接アクセスすれば、
Googleplayから入れたものでも、上書きインストールされた気がするんだけど
582 :
デフォルトの名無しさん :2012/06/06(水) 20:10:52.71
PackageManagerService.javaあたりのインストール過程を
ざっと眺めてましたが、それらしい処理は見当たりませんでした…。
>>581 SC-04Dで確認してみましたが、
GooglePlayでインストール→SD上のapkでアップデート出来ました。
これだと判別してないって事になりますかね?
584 :
デフォルトの名無しさん :2012/06/06(水) 22:01:44.35
初Androidプログラミング中です。質問させてください。 1アプリで画面が100個以上あるようなのを作ってるんですが、 普通に1画面1Activityで設計してたら、自称Androidプロの人から、 「Activityは少ない方が良い!レイアウトXMLを切り替えて使うもんだ!」 って力説されたんですが、Androidってそんなものなのでしょうか。 私は長らくJava、.NETやってまして、普通にオブジェクト指向的な考えで 1画面1クラスが良いと思ってとして設計たんで、違和感を感じています。 あまりに当然のように力説されたので反論できず・・・ Activityが増えすぎて困るような事ってあるんでしょうか。
>>585 そのActivity100枚使うアプリを実際に使ってみればイイと思うよ
そもそも100個以上画面があるようなアプリは設計に問題があるような期が・・・
シレン系のゲームでマップが100個とかじゃねーのw
怒鳥100マルチスレッドバージョンとか
業務アプリ的なもので、しょぼい画面がたくさんあるとかはありそうだな。
>>585 それぞれの開発方針があるから何とも言えんけど、activityが100個あるアプリって穏やかじゃねぇなぁとは感じる。 業務アプリか何かか?
一画面毎にactivityの遷移が起こるという意味ならそれも一つのやり方だろうけど、
もしactivityの派生クラスを100個書いてるという意味なら確かに無駄だと思う。
マニフェストだってとんでもなく長大になるだろう。
1画面1クラスという考え方は間違いじゃないと思うよ。
ただactivityはなるべく共通化して、別に定義した画面クラスをインテントに応じて切り替えるようにしたほうが健全じゃないかな。
onCreateやonResume、onPauseといったactivityのイベントに対して、100個の画面が100個とも異なる振る舞いをするわけじゃないだろ?
まぁ結局は開発方針によるんだけどさ。
個人的にはその100個の画面ってホントに100個も必要なのって疑問に感じるけど。
> 普通にオブジェクト指向的な考えで それが普通かどうか
Activity=ユーザビュー(画面)では無いと言うだけの話だろ。 Activityは1つで、画面固有の情報を管理するクラスを100個にすればいいだけのはなし。
PCと違い、言うても携帯端末なんだから 富豪的プログラミングするにはまだ早い
俺の予想ではエロゲみたいなアドベンチャーゲームなんじゃないかと 1画面(1シーン)1Activityで作ってるとか
ゲームだったら、それこそSceneクラス的なものとActivityクラスを混同しているだけじゃん、って話だな。
俺は占いの結果画面だと予想
100点満点のクイズアプリの得点表示画面と予想
とあるアプリをスタートアップに登録する設定ができるようにしたいのだけど、これrootとか取らないとむりぽ? ぐぐってもソースとかじぇんじぇん出てこない;;
目的のアプリを起動するIntentを飛ばすアプリ作ってスタートアップにすればエエんちゃうのん?
>>600 Intentを飛ばすアプリをスタートアップに登録する方法ってどんなん?
端末操作して設定画面のアプリケーション管理とか見ても、登録するof/offチェックなどが見当たらない・・・
既にマーケットに出てるスタートアップ管理アプリってどうやって作ってるんだろう
ホームアプリとかサブランチャー的なものって、外部プログラムの呼出を、 登録せよと言われたアプリの情報を個別に取得(PackageManagerから?)→ACTION_MAINで呼んでるって感じなんでしょうか。 泥臭くは↑で出来ないかな、と思いますが、自分が全然勉強してない仕組みが実はあるのかと気になって。
>>601 設定する必要はない
BOOTのブロードキャスト受けて起動するだけ
>>603 あぁ〜〜〜なるほど!
それらしきブロードキャストがOSから投げられるから、それキャッチしてうんぬんかんぬん・・・ってすればいいのね。
ありがとう。それらしきブロードキャストを探してみますね。
605 :
585 :2012/06/07(木) 02:00:30.94
皆様、貴重なご意見ありがとうございます。 アホみたいにActivityを増やすのは あまりよろしくない感じですね。 確かに携帯端末ですしね。 作成しているのはしょぼい画面がたくさんある 業務アプリ的なものです。 似たような画面が多いので、Activityは共通化して 593さんみたいな感じにしようと思います。 ありがとうございました。
こんにちは カスタムボタンの操作について質問です 起動時には以下の通りにボタンの外見を変更しています。 <Button android:id="@+id/btPlayToggle" ..... android:background="@drawable/btnHoge" /> btnHoge.xml <selector .....> <item android:state_pressed="true" android:drawable="@drawable/hogePressed"></item> <item android:state_focused="true" android:drawable="@drawable/hogeFocused"></item> <item android:drawable="@drawable/hogeNormal"></item> </selector> これをプログラム側からボタンのbackground属性を別のxmlへ変更したり btnHoge.xmlの各要素の属性値を変更したい場合 どの様に記述すればよいのでしょうか? よろしくお願い致します
>>607 1 btn.setBackgroundResource(int)
2 (StateListDrawable)btn.getBackground();
>>606 よし、エヴァと真っ向勝負だな。
とりあえずエヴァスマホは買う
>>608 任意に外観の変更ができるようになりました
ありがとうございました
minサイズの異なるappwidget-providerのxmlが複数ある状況で ウィジェットピッカーからそのうち一つが選択されコンフィグActivityが起動したとき どの設定(appwidget-provider)が読み込まれたか判断したいのですが、 xmlにメタデータを追加する方法があればいいと思うのですが良いやり方はありませんか?
ImageViewは解放しなくていいんでしょうか?
614 :
612 :2012/06/07(木) 13:36:37.69
AppWidgetProviderの継承クラスにstaticフィールドを定義し その継承クラスはAppWidgetProviderInfoから特定できるので そこからリフレクションを使ってフィールド値をとってくることにしました リフレクションはコードが汚くなるから嫌い・・・
615 :
デフォルトの名無しさん :2012/06/07(木) 16:35:42.39
任意のアプリがホームアプリかどうか調べる方法を考えてるんだけど 下記のようにパッケージ名を全部チェックするしかないのかな? Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_HOME); List<ResolveInfo> homeInfos = getPackageManager().queryIntentActivities(intent, 0); for(ResolveInfo homeInfo : homeInfos){ ActivityInfo activityInfo = homeInfo.activityInfo; if(activityInfo != null){ if(activityInfo.packageName.equals("対象アプリのパッケージ名")){ // 対象アプリはホームアプリ(のはず) } } }
>>615 intent.setClassName(String packageName, String className)
で多分とってこれるのでは
AppWidgetProviderの public void onDeleted(Context context, int[] appWidgetIds) は絶対に呼び出されるという保証はありますか? 現在onDeletedでappWidgetIdをキーにDBのレコードを削除しているのですが 確実に消したいので念のためonDisabledでも全レコード削除を行なっています。 onDeleteが呼ばれることが保証されていればonDisabled内の処理は消そうと思っています。
多分onDeleted→データ削除の処理の間にバッテリー外されて電源落ちたら データ残ったままになるだろうし、こうすれば確実に消えるって保証は物理的に無理かと。 最悪アンインストールすれば全部消えるんだし、そこまで確実性を求めても無駄な気がする。 もしデータが残ったままだとどっかの処理でまずいことになるなら、 データ参照のタイミングで配置されているAppWidgetのID一覧引っ張ってきて データはあるけどホームには配置されていないIDがあればその時にデータを消す処理を入れるとか
619 :
615 :2012/06/07(木) 19:15:18.72
>>616 以下のようにやってみたけど★でnullになって
ホームアプリかどうか分からなかった
やり方間違ってる?
Intent intent = new Intent();
intent = intent.setClassName(packageName, className);
if(intent != null){
Set<String> categories = intent.getCategories();
if(categories != null){ ★ここでnullになってしまう
if(categories.contains(Intent.CATEGORY_HOME)){
// ホームアプリのはず
}
}
}
620 :
デフォルトの名無しさん :2012/06/07(木) 20:58:51.09
正規表現で?をmatchさせるにはどうしたら良いでしょうか? String st = "?aaa?"; String regex = "?(.*?)?";//これだとmatchされず String regex = "\?(.*?)\?";//これだとエラーです Pattern pattern = Pattern.compile(regex, Pattern.DOTALL); Matcher matcher = pattern.matcher(st);
おk
\\?
623 :
デフォルトの名無しさん :2012/06/07(木) 22:18:12.46
Ubuntu 64bit版ではAndroid環境構築できなの? ビルドもエラーだし、ADBも動かない。
Gentoo amd64でできたので可能かと
ネットの情報見ながら同じ事やってるんだけど、(一部情報が陳腐化しててアドリブ入れてるけど。例えば、Sun-Java→OpenJava) 全然うごかない・・・
↓やったらAndroid-NDKのビルド出来るようになった! sudo aptitude install ia32-libs が、以前AVDとか動かない・・・・
627 :
デフォルトの名無しさん :2012/06/07(木) 23:09:04.50
突然すみません、スリープからの復帰がうまくいかない事ってあるんですか? なんか、復帰したりしなかったり遅れたりするんですが。
プログラムが不完全だとあるよ 以前動画再生アプリ作ってる時に不安定になって色々学べた
629 :
デフォルトの名無しさん :2012/06/08(金) 00:18:30.39
proGuardを使ってみようとしたのですがproguard.cfgがありません admobを使うためにAPIを14にしたのが原因だと思いますがこういう場合どうしたらいいのでしょうか? API8で作ったアプリにはあるので引っ張ってきてもいいのでしょうか?
630 :
デフォルトの名無しさん :2012/06/08(金) 00:18:47.45
631 :
デフォルトの名無しさん :2012/06/08(金) 00:47:50.64
>>628 ありがとうございます、色々調べてみます。
よければ考えられる原因をいくつか教えていただけないでしょうか
プログラムとしては簡単なアラームなんですけどalarmmanagerを使わずに定期的に設定時間と現時間をチェックさせてマッチしたらスリープ復帰、mediaplayerでmp3再生させています。
USBに刺さってる状態なら確実にスリープ復帰するのですがUSBから離れると復帰したりしなかったりします。
ProGuardってかけた時ライブラリも難読化してしまうけど毎回シコシコkeep書いてる? 何かいい方法ないかな
>>629 proguard-project.txtとproject.propertiesない?
>>631 スリープ中に何かしようとしたらWakeLock#acquireで起こさないと大抵そのまますぐ寝る。
USBのは本体の設定でUSBささってるとスリープしない設定になってるから
「会議」がアイデアを潰す 若手や中堅がイノベーションを生み出す新しいアイデアを出す時 立ちはだかるのが老人どもの支配する「会議」という壁だ ・老人どもに理解できる企画でなくてはならない ・老人どもの好みに合う企画でなければならない ・既に成功した事例がなくてはならない ・老人どもに気に入られている人物が提案者でなくてはならない ・老人どもに気に入れられていない人物が関わっていてはならない ・老人どもの支援が不要な企画でなくてはならない ・にもかかわらず老人どもにも活躍の場を与えねばならない ・老人どもの気まぐれな口出しにいつでも応じなければならない ・失敗しても老人どもが責任をとらなくてよい企画でなくてはならない ・成功したら老人どもの業績になる企画でなくてはならない 若い頃は前世代のおかげで繁栄したくせに、自分らの時代には経済を衰退させ そのツケを後世代に回す団塊老人、バブル老人どもが日本の病巣
637 :
629 :2012/06/08(金) 08:35:21.92
>>634 ありますがこれでのやり方がわかりません
>>618 レス遅くなりすみません
容量の大きいゴミデータが増え続けるのが嫌だなということと、
レコード追加時にテーブルからappWidgetIdの存在確認をして、updateかinsertの分岐処理を書かなければいけなくなりそうです。
たしかに仰るとおり、ゴミデータの削除を任意のタイミングで行うのも良い方法かもしれません。
あまり詳しくは話せませんが、ユーザの操作によりけりで頻繁にウィジェットのアップデートが発生し、
その間かなり重い処理を行うので、バッテリの消耗をどう抑えようか考えるのがとても大変ですorz
あと、ホームアプリによってもページ切り替えのたびにアップデートが走ったりするしorz
すみません、話が逸れましたが少し検討してみたいと思います。
ありがとうございました
>>619 いやこういうことが言いたかった
Intent intent = new Intent();
intent.addCategory(Intent.CATEGORY_HOME);
intent.setPackage("com.nemustech.launcher"); // Nemus Launcherの場合
List<ResolveInfo> homeInfos = getPackageManager().queryIntentActivities(intent, 0);
・・・以下省略
もしくは以下みたいに別の方法もある
PackageManager pm = getPackageManager(); // Context#getPackageManager()メソッド
ApplicationInfo app1 = null;
try {
app1 = pm.getApplicationInfo("com.nemustech.launcher", Activity.BIND_AUTO_CREATE);
} catch (NameNotFoundException e) {
}
if(app1 != null){
// 存在する
} else {
// 存在しない
}
>>637 読みなよw
共通の設定でいいなら1行コメントアウトするだけ
誤爆乙
643 :
デフォルトの名無しさん :2012/06/08(金) 13:45:23.49
身分隠し生活保護受給、詐欺容疑で組員逮捕 兵庫 - MSN産経ニュース
http://sankei.jp.msn.com/region/news/120608/hyg12060802040002-n1.htm 身分隠し生活保護受給、詐欺容疑で組員逮捕 兵庫
2012.6.8 02:04
暴力団員の身分を隠して生活保護を不正受給したとして、県警暴力団対策課と
東灘署は7日、詐欺容疑で韓国籍の山口組系暴力団組員、
李満燦容疑者(35)=日本名・西山満、尼崎市南武庫之荘=を逮捕した。
「申請時は組員ではなかった」と容疑を否認しているという。
逮捕容疑は昨年6月、尼崎市福祉事務所に暴力団員であることを隠して生活保護を申請し、
今年3月まで10回にわたり生活保護費計約155万円をだまし取ったとしている。
同署によると、李容疑者は申請時、「病気で仕事ができない」と話していたという。
厚生労働省は平成18年、組員への保護費支給を認めないよう全国の自治体に通知している。
韓国籍の山口組系暴力団組員、李満燦容疑者(35)=日本名・西山満
韓国籍の山口組系暴力団組員、李満燦容疑者(35)=日本名・西山満
韓国籍の山口組系暴力団組員、李満燦容疑者(35)=日本名・西山満
韓国籍の山口組系暴力団組員、李満燦容疑者(35)=日本名・西山満
韓国籍の山口組系暴力団組員、李満燦容疑者(35)=日本名・西山満
>>643 どういたしまして。
今度から気をつけてね
たぶん普通の人でも韓国が嫌いな人多いけど いちいちスレ建てたり関係ないスレで語りだすほど 常時韓国のこと気にしてる奴らはネトウヨ
荒らしをスルーできないで自己紹介しちゃう男のひとって…
649 :
デフォルトの名無しさん :2012/06/08(金) 16:56:04.70
actionbarにタブを付けて、各タブを押す毎にフラグメントを切替えて使ってます。 フラグメントの一つにはViewPagerが配置されており、 その各ページは更に別のフラグメントを生成して作っているのですが、 ViewPagerにFragmentPagerAdapterをセットするところで java.lang.IllegalStateException: Recursive entry to executePendingTransactions. というエラーが発生していて上手くいかず、この原因がわかりません。 TABのみの状態やViewPagerのみの場合は正常に動作しているので、 この組み合わせで何か起きてるようです。 TabやViewPagerで使うFragmentを追加する先のViewGroupが何か関わっていそうなのですが、 ViewGroupというものがよく把握できていません。 何か理解や解決に繋がるヒントあれば教えてください。
力抜けよ、入らないぞ
スルーしようがしまいが貼り続けるみたいだから言いたいこと言っとけ
653 :
デフォルトの名無しさん :2012/06/08(金) 17:29:33.53
>>635 ありがとうございます。
最初その方法でずっとやっていたのですが、復帰が不安定で今はwindowmanagerで起こす設定にしています。
ただやはり変わらずスリープ復帰が不安定です。
ずっと色んな所調べていますが未だに解決できず
>>652 だな。
気にしない方が良い。
まともに回答してるのも自分ぐらいだしね。
>>652 荒らしの思う壺だろw
まあこれは自演っぽいけど
BroadcastReceiver を継承したクラスで、ACTION_HEADSET_PLUG をキャッチしたときにLog.d()を実行する動作のデバッグをしているのですが、 OSは ACTION_HEADSET_PLUG を確かに投げているのをLogCatで確認はできました。 しかし自分で作成したプログラムでは、ACTION_HEADSET_PLUG をキャッチしないのですが、これはどこが問題なのでしょうか? ACTION_AIRPLANE_MODE_CHANGED や BluetoothDevice.ACTION_ACL_CONNECTED など他のアクションでは、それらをキャッチしてLogを吐いてくれます。 投げられた BroadcastAction は他のReceiverと干渉したりするのでしょうか・・・?
>>653 スリープ中関連の処理で俺がハマったのは
・スリープ中にメディアプレイヤーが解放されてnull状態の時があるのを考慮していなかった
┗Androidのライフサイクルを把握しきれてなかったのが原因
これが原因で初期化されるであろうと思っている変数に前回の値が生き残り続けてたり
逆に生き残ってるであろうと思っているオブジェクトが死んでたりなどが起こる
・「Listener」「registerListener」「unregisterListener」あたりのコールバック関数の設定・解除が
重複しまくりでおかしくなっていた
┗Androidのライフサイクルを把握しきれてなかったのが原因
×A設定、A設定、A設定 ←ダメな例。例えば1タッチで3回同じ関数が起動されちまう
×A設定、B設定、C解放 ←ダメな例。AとBが残る。復帰時にさらにAとBが宣言され上の重複みたいになる
◎A設定、A解放、B設定、B解放 ←正しい例
・メディアプレイヤーでMP4の高画質再生するとロード時間が凄まじくかかっていた
┗仕様把握が甘かったのが原因。再生ファイルのフォーマットを変更したら直った
・「WakeLock」が想定外の動作をする
┗WakeLockは機種によって動作が変化するというgoogle様のクソ仕様が原因
スリープ関係は結構厄介だとおもうけどがんばってみて
しっかり組めばしっかり動く場合がほとんどだから。
WakeLockだけはだめだけどw
>>653 追加
以下のものが含まれてるようなら
こいつらも設定・解除を適切に行わないとランダムに不安定になって
「なに!?私が一体なにしたの!?」とランダム現象に悩まされてパニックに陥りやすい(経験上)
・サーフェース関係
┗プリインストールされてる他のアプリに影響を及ぼす
突然音が鳴らなくなったり、スリープから復帰不能になったり
カメラアプリが激重になったり、動画が撮影不能になったり等
再起動では直らない。電源OFFでも直らない。バッテリー抜きでやっと復活する
・スレッド関係
┗使用中突然再起動がかかる。
・データベース関係
mp3=音楽再生のみだと思うから使ってないとは思うけど一応ね
もはやそこまでくると機種によりけりな気がするww
660 :
デフォルトの名無しさん :2012/06/08(金) 19:33:38.88
>>657 凄く丁寧にありがとうございます!
alarmmanagerを組み込んでみたら少しマシになりましたがやはり遅れます。
大体起動して二回目のアラームくらいから挙動がおかしくなるので何かが解放されていないのかもしれません。
今あげられた事1つ1つチェックしてみます
解決したら原因とけっかをまた報告しますね!
661 :
265 :2012/06/08(金) 21:09:47.64
流れぶった切って申し訳ない。 addPreferencesFromResourceは使用非推奨のメソッドになってるのだけど、 これ以外にPreferencesActivityでxmlをセットする方法はありますか?
662 :
615 :2012/06/08(金) 21:28:03.11
>>639 なるほどパッケージ名を指定してクエリ投げればいいのか
ありがとう
初歩的な質問をさせてください。 XMLにてレイアウトした場合、ViewやImageViewなどの 描画イベント(onDraw)などのイベントを受信したい場合はどうすればいいでしょうか?
>>656 もちろん実機デバッグでだよね?
実機のプラグが壊れてるかもよ
>>664 はい、Galaxy Sを使用してデバッグしてます。以下は端子にイヤホンを接続したときに吐かれたログです。長くてすみません。
06-08 22:04:42.048: INFO/notified_event(2315): NetlinkHandler::onEvent ->[switch] from uevent
06-08 22:04:42.048: INFO/HeadsetObserver(30688): HEadSetObserver : newState =2, newName = h2w
06-08 22:04:42.052: INFO/Vold(2314): NetlinkHandler::onEvent ->[switch] from uevent
06-08 22:04:42.052: DEBUG/Vold(2314): VolumeManager::handleSwitchEvent -> Changed USB status SWITCH_NAME(h2w),SWITCH_STATE(2)
06-08 22:04:42.052: WARN/Vold(2314): Ignoring unknown switch 'h2w'
06-08 22:04:42.068: INFO/FMRadioService(30688): mReceiver: ACTION_HEADSET_PLUG
06-08 22:04:42.068: INFO/FMRadioService(30688): ==> intent: Intent { act=android.intent.action.HEADSET_PLUG flg=0x40000000 (has extras) }
06-08 22:04:42.072: INFO/FMRadioService(30688): state: 1
06-08 22:04:42.072: INFO/FMRadioService(30688): name: h2w
自分がログを出そうと記述したのはこの2行ですが、これだけが何故か表示されません。
Log.d("onReceive", "plug true");
Log.d("onReceive", "plug false");
念のためショップに行って端末が故障していないかどうか調べてみます。
初歩的な質問かもしれませんが、 ACTION_HEADSET_PLUG が投げられる条件は、
イヤホンとマイクが1つになってるハンズフリーのヘッドセットのみなのでしょうか?
現在のデバッグ環境では、マイクはついていないイヤホンのみのもので試しています。
>>663 インフレートしてView取得してリスナをセットすりゃいいんちゃう
>>665 マニュフェストでインテントフィルタを定義すると検知漏れがあるっぽいよ
668 :
663 :2012/06/08(金) 22:47:07.92
>>666 回答ありがとうございます。
インフレートの意味をぐぐってみました。
確かにこのやり方で出来そうです。
試しにやってみます。
ありがとうございました。
米国のブログ「foottrackerluvya.wordpress」では、日本に滞在中の米国人男性がオムライスを食べ、そのおいしさに心を引かれたと語っている。
■「米国ブログ 日本食」に関する他の記事 - サーチナ・ハイライト
オムライスは米国にはないこともあり、筆者は卵料理が好きならぜひお勧めしたい一品だと紹介している。日本で人気の料理の1つで、
洋食屋と呼ばれる西洋料理のレストランでよく見られると記している。
チキンライスなどの炒めたご飯を木の葉型に整形して、卵で包んだもので、伝統的にはケチャップをかけて食べる、とどのような食べ物かを説明。
しかし、時代の変化とともにつけるソースも変わってきており、最近ではクリームソースやデミグラスソースのほかノリなどをかける店もあるようだと伝えている。
幸運なことに筆者がオムライス好きなのを知って、日本人の友人がオムライス専門店に連れて行ってくれたという。典型的なオムライスからシーフード
オムライスにチーズがかかったものまで、約20種類の異なるタイプのオムライスがあったことにとても驚いた様子。
サイズも小さなものから特大まで、その人の食べたい量にあわせて選べるのが素晴らしいと記している。筆者は、カレーソースの上にホワイトソースが
かけられていて、さらにチーズがのっている三種類のソースがかけられたスペシャルオムライスを注文し、絶妙な味だったと絶賛。日本食は一般的に量が
少なめだが、この店のオムライスはサイズが小さくてもかなり量が多く本当に満腹になったと語っている。
筆者が訪ねた店は全国展開するチェーン店なので、旅先でもオムライスを食べられるのが筆者にとってうれしかったようだ。数カ所の店で食べたが、
なぜか銀座店だけが高かったと感想を語っている。訪日したらぜひ日本のオムライスを食べてみてほしいと強く勧めている。
http://news.searchina.ne.jp/disp.cgi?y=2012&d=0608&f=national_0608_029.shtml
>>667 registerReceiver() を使用してマニフェスト登録ではないやり方を試したところ、検知してログを吐いてくれました。
これは端末によって違ったりするのですかね・・・。ありがとうございました。m(_ _)m
671 :
661 :2012/06/08(金) 23:13:30.68
>>661 ですが自己解決。
普通のActivityと同様setContentView(R.xml.xxx)で表示できました。
672 :
661 :2012/06/08(金) 23:41:16.83
ごめん。
>>671 はまちがい。やっぱり駄目だ。
addPreferencesFromResource(R.xml.xxx)以外の方法がわからないや。。
ちょっと頑張ってみる。何度もごめん。
インフレートって初めて聞いたんだけど ぐぐっても解説がないお ヒットするのはいきなり用語がでてくるのばっか 簡単に言うとどんなこと?
>>672 HONEYCOMB以降ならPreferenceFragment使えってことだろうけど
HONEYCOMB未満もサポートするなら
addPreferencesFromResourceの代替はないと思うよ。
警告がイヤなら、@SuppressWarnings("deprecation")するとか。
>>633 自分の場合は
-libraryjars libs
してから、クラス名とか変わると困る箇所だけkeepしてる。
あと、ライブラリとは関係ないけど
スタックトレースの行番号が消えないように
-renamesourcefileattribute SourceFile
-keepattributes SourceFile,LineNumberTable
も入れてる。
うまい方法は自分も知りたい。
AdLantisを試しに導入してみようとしてるんだけど・・・・表示されないorz 広告の表示位置を確認したいと思って端末とUSBで繋いで今やってるんだが・・・ これってapk化(リリース用のパッケージ化)しないと表示されない感じなの?
>>680 前に試したときはエミュレータでも表示されてたので
設定に間違いがなければ、表示されると思うけど。
ただ、エミューレータでも実機でも広告が取得できないことはある。
広告が取得できたときは
AdlantisView#setAdByIndexがコールされてたと思うので
ブレークポイント打つか
もしくは(意図的かどうかは知らないけど)AdlantisViewはfinalではないので
AdlantisViewをextendsしてログを仕込めば確認できると思う。
着信音設定でピッカーを起動させない方法でよくある手法としては ContentValues content = new ContentValues(); content.put(MediaStore.MediaColumns.DATA, file.getAbsolutePath()); content.put(MediaStore.MediaColumns.TITLE, file.getName()); content.put(MediaStore.MediaColumns.SIZE, size); content.put(MediaStore.MediaColumns.MIME_TYPE, "audio/*"); content.put(MediaStore.Audio.Media.ARTIST, "artist"); content.put(MediaStore.Audio.Media.IS_RINGTONE, true); content.put(MediaStore.Audio.Media.IS_NOTIFICATION, false); content.put(MediaStore.Audio.Media.IS_ALARM, false); content.put(MediaStore.Audio.Media.IS_MUSIC, false); Uri uri = MediaStore.Audio.Media.getContentUriForPath(file.getAbsolutePath()); Uri newUri = getApplicationContext().getContentResolver().insert(uri, content); RingtoneManager.setActualDefaultRingtoneUri(getApplicationContext(),RingtoneManager.TYPE_RINGTONE, newUri); ですが、この方法で着信音設定すると、アプリを再インストールした場合や、設定した音源ファイルが削除されたor移動した場合に バグります、同じファイルでまた着信音設定しようとすると、着信音設定がうまく行かなくなります。 他にいい方法はないでしょうか? 素直にピッカーさせるのが良いでしょうか
685 :
680 :2012/06/09(土) 11:33:28.16
初歩的な質問かと思いますが・・・ 自作アプリから端末にインストールされてる任意のアプリを起動するにはどうすればいいのでしょうか? ブラウザはuriとACTION.VIEWで起動できますけど、電卓とかゲームとかを起動する方法が分かりません。 ググったところパッケージ名とクラス名をsetClassNameするとありましたが、パッケージ名はともかくクラス名はどうやって取得すれば・・・
インテントがあるじゃろ
>>686 ACTION_MAIN と CATEGORY_LAUNCHER で PackageManager#queryIntentActivities すればアプリの一覧がもらえる
その中から好きなものを選べばいいが、手がかりがパッケージ名だけだったらひとつのパッケージに複数のランチャアイコンがあるアプリの場合に困るお
eclipseでプロジェクトを実行すると、実行自体は出来るのですがエミュレータに反映されません コンソールのところに下記のように赤い文字で表示される部分があります No Launcher activity found! The launch will only sync the application package on the device! どうすればよいのでしょうか?ご教授おねがいします
AndroidManifest.xml編集してないんでしょ
やり始めて4ヶ月ぐらいだけどmanifestに追加は今だに忘れる ショートカット一発で出来るようにならんかな
ではどのようにすればよいのでしょうか?
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="
http://schemas.android.com/apk/res/android "
package="jp.ac.ynu.nakano"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="10" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".Activity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="foo" android:mimeType="text/html" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".Item_detailActivity">
</activity>
</application>
<uses-permission
android:name="android.permission.INTERNET" />
</manifest>
>>692 MainActivityのクラス名無くね?
jp.ac.ynu.nakano 学校の宿題かなんかか
横浜国立大学
>>681 >>670 です、情報ありがとうございますm(_ _)m 勉強のためにこのスレはよく見ています。
>>692 <intent-filter> に <data> が付いてると、data無しインテントに引っかからなかった気がする
以下のように2つに分けて書くといいかもしれない
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="foo" android:mimeType="text/html" />
</intent-filter>
698 :
デフォルトの名無しさん :2012/06/09(土) 19:10:08.71
>>687 >>688 もう少し詳しく教えてもらえないでしょうか?
例えば端末に最初から入ってる電卓アプリ(com.sec.android.app.calculator)を起動したい場合はどう書けばいいのでしょう?
Intent intent = new Intent();
//この間をどうすればいいかわからない
startActivity(intent);
なんかデバッグでステップ実行した時、いきなり上や下の例外処理に飛んで戻ってきたり(決して例外が起こってるわけではない) 変な挙動が見えるけどこの処理系の表に出ないバグのようなものなのかな
何そのサイト面白い
R.String.xxをstringに変換するにはどうしたらいいですか? String.valueOf(R.String.xx); だと数値になります
>>704 android r.string 文字列 で検索すればアホみたいに出てくるが
getString(R.string.name)
なんかもうまったく調べてもいないだろという内容が増えたな 学校の宿題か?
>>706 みたいに簡単に教えてしまう人がいるの"も"問題
710 :
デフォルトの名無しさん :2012/06/09(土) 21:21:16.60
>>705-706 すいません
解決して見つけたページも開きっぱなしなのに質問してしまいました
学校の課題は、わからない時、自分で探す方法を身につける目的もあるのにね
> わからない時、自分で探す方法 それが「2chで聞く」だったんじゃねwww?
昨年、台湾の雑誌『遠見』が20歳以上の1000人にアンケートしたところ
「一番尊敬する国」「一番移住したい国」などの筆頭に日本が挙げられた
そうだ。
そういえば以前、台湾に旅行をした際に、現地で知り合った人に好意的に受け
入れられ、台湾は「親日」なんだと実感したことがある。
でも、どうして台湾は親日なのだろう。
「やはり歴史背景は大きいですね。日本統治時代(1895〜1945年)、
その目的はどうであれ、日本が台湾のインフラを整備したことは今でも高く
評価されてます。72歳になる私の父は、小学校4年生まで日本の教育を受け
ましたが、不思議と日本人に立ち居振る舞いも似てくるんですね。いわゆる
日本の頑固親父と一緒(笑)」
では、65年生まれの謝さんや若い世代にも親日派が多いのはなぜ?
「私の世代の場合、反日教育も受けましたが、父の世代からいい印象も聞いて
います。日本のテレビ番組や雑誌なども昔からあって、よく見てました。今、
20代くらいの若者には、日本の音楽やファッション、マンガやゲームなどの
サブカルチャーが人気です。彼らの世代になると、もう日本との歴史をよく
知らないんですよ。台湾も、日本のようにアメリカの影響は大きいんですが、
やはり同じアジアの日本文化の方が肌に合う。これは一過性の流行ではなく、
親日感情は昔から繋がっているんです」(同)
http://headlines.yahoo.co.jp/hl?a=20070802-00000002-rec_r-int
指定されたページを表示できませんでした。 記事がありません。すでに削除された可能性があります。
715 :
デフォルトの名無しさん :2012/06/10(日) 00:03:03.26
すみません ホームアプリを作ってるのですが、ホームボタンを押されたら最初の画面に戻るようにしたいのですが、 ホームボタンが押されたことを検知するにはどうすればいいですか?
え、そのレベルで作るの?
つか、そのレベルでホームアプリ作れんの?
けっこう難しい宿題が出るんだなw
ホーム♪ホーマ♪ホーメスト♪
プログラムではないんだけども・・・ 署名キーってアプリ毎に別の作ったほうがいいのかな? 毎回違うパスワード考える手間を考えると1つの署名キーを 複数のアプリに使おうという考えが生まれてくるんだが・・・ なんかマズイ事おこるのだろうか?(バージョンアップが不可能になるなど)
722 :
デフォルトの名無しさん :2012/06/10(日) 09:00:43.95
『米の慰安婦碑、撤去の請願署名が受理規定数超える』 を 『米国 「韓国人は歴史を捏造している」 韓国が建てた慰安婦記念碑が撤去されることが決定!!』 に改竄か。 これでは他者の捏造を言い立てても誰からも信用されなかろう。
ListViewを長押しでなくシングルタップした時に ContextMenuを表示する方法ってありますか?
>>720 特にマズいことはないと思うよ
もし複数のアプリを別々の名義で公開してたら署名を調べられれば同じ作者だとバレることくらいじゃないかな
>>720 え、署名キーってアプリ毎に変えるものなの?
全部同じだわー
>>724 署名って調べられるの?
デコンパイルとかしないで通常の公開でも?
> 署名って調べられるの? > デコンパイルとかしないで通常の公開でも? いやもちろん一般ユーザーには無理だと思うけど... 思ってたけど そういえばそういうアプリを作れるかもしれないな ちょっと試してみよう
やめてよ>< せっかく別アカウントにしてるんだからw
わかったとしてもどのアプリとどのアプリが同じ作者か調べる方が大変だと思うが
>>723 そもそもListViewアイテム長押しで
自動的にContexeMenuが出るもんでもないんだが
愛子さま JR目白駅で友達の改札機トラブルを機転きかせ解決
学習院大学の最寄り駅であるJR目白駅。6月1日の正午過ぎ、慣れた手つきでSuicaをピッとタッチされ、
愛子さま(10才)が改札を通られていく。そこには雅子さまのお姿はなく、仲良しのお友達3人と一緒だった。
お友達のひとりが改札を通過しようとすると、どうしたわけかゲートが開かず閉じたままだった。
このハプニングに、愛子さまは小走りで駅の事務所に向かわれ、
落ち着いた様子で駅員に事情を説明されていた。
愛子さまの迅速な行動により、数分でトラブルは解決。
その後、愛子さまは山手線に乗ると、扉付近に立って、お友達と談笑されていた。
駅で人が乗り降りする際には、邪魔にならないように端によけられるなど、
電車での移動もすっかり慣れたご様子だった。
そして、目白駅から4つ目の代々木駅で下車された愛子さまは、
電車のドアが閉まるまでホームに立たれ、手を振りながらお友達を見送られた。
この日は、学習院創立百周年記念会館で「芸術鑑賞会」が行われ、愛子さまはクラスメートと落語や曲芸を楽しまれたのだが、
冒頭のシーンは、その帰路のことだった。宮内庁関係者を次のように話す。
「昨年の『芸術鑑賞会』での愛子さまは元気がなく、雅子さまが付き添われましたが、
今年はおひとりで元気に参加されていました。しかも、駅で起こったトラブルに自ら対処なさったと聞いて、
“ひと回り大きく成長された”という思いを強くいたしました」
5年生に進級されてから、電車を利用される機会が増えている愛子さま。
この前日にも、新宿区にある学習院女子大学まで電車で行かれ、英会話セミナーを受講されている。
http://www.news-postseven.com/archives/20120610_115761.html
Serviceで質問なんですが、 START_STICKYを返してプロセスをkillしても、 onCreateは呼ばれるけどonStartCommandが来ません。 どういうことなんですかね。
>>720 管理が大変だがやりたきゃ分けるのも可。
まあ普通は一つの署名キーで全アプリ統一する方が楽だし一般的。
統一しちゃいなよ。
ちなみに署名キーが別々だとアプリ間のセキュアな連携は諦める事になるよ。
ノーガードでokな連携は全く関係無いけども。
735 :
720 :2012/06/10(日) 20:41:31.66
別に分ける必要はないんだね 基本全部同じ署名にしてるというのを聞いて安心した! 署名の件、統一することにしたよ。サンクス!
テーマってエディター以外適用できないんでしょうか。 Java パースペクティブの何点か、せめてPackage Explorer だけでもいいのですが。
問題無い
sdカード内のファイルを、他のアプリを使って開くにはどうしたら良いでしょうか? ファイラーアプリなどで適当なファイルをクリックすると、どのアプリを使って読み取るか選択できるダイアログが表示されたりしますが、あのダイアログを表示するにはどうしたら良いでしょうか?
インテントを飛ばす
740 :
デフォルトの名無しさん :2012/06/12(火) 01:03:26.01
<ListView android:id="@+id/listView1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_above="@+id/ad" android:layout_alignParentTop="true" android:listSelector="@color/lightblue"> </ListView> これだとリストビューのアイテムをクリックすると全部@color/lightblueの色になります 選択されたアイテムの背景だけ色を変えるにはどうしたら良いでしょうか
742 :
デフォルトの名無しさん :2012/06/12(火) 01:23:32.99
>>741 こんな感じでしょうか?
これでもなぜか変わらないです
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="
http://schemas.android.com/apk/res/android ">
<item
android:state_selected="false"
android:state_pressed="false"
android:drawable="@color/black" />
<item
android:state_pressed="true"
android:drawable="@color/lightblue" />
<item
android:state_selected="true"
android:drawable="@color/lightblue" />
</selector>
ListView selectorで検索
ServiceとActivity間のやり取りについて質問です。 Serviceを使って、裏で複数ファイルダウンロードとかさせたいんだけど、 1ファイル毎にダウンロード完了っていう通知をブロードキャストを使って実装すると、 onCreate()でregisterReceiver()を呼び出し、 onDestroy()でunregisterReceiver()を呼び出す、 ってやる必要があると思うんだけど、 そうすると画面回転時に一瞬レシーバが無くなる瞬間が出来てしまい、 この再レジストするまでの間にきたブロードキャストが受け取れなくて困ってます。 で、この方法は何か間違えているんだろうなーと思いつつ聞きたいのですが、 画面回転に対応させるのは、普通どうやるの?
Activity 回転 で検索
746 :
デフォルトの名無しさん :2012/06/12(火) 02:07:27.57
>>743 できました
参考にしたサイトがまずかったみたいですね
ありがとうございます
>>744 画面の回転とかなくても途中でactivityが破棄されるシナリオはいくらでもあるんだから、activityが生き続けてないと問題が起こる設計が間違ってる。
ダウンロード完了したファイルのリストは、activityが再生成されても復元できるようにキチンと記録しておくべき。
>>739 すいません。もうちょっとヒント貰えませんか?例えばテキストファイルを開く場合は、インテントを何処に飛ばせば良いでしょうか?
>>749 どこにもなにもない
IntentはIntentだよ
さすがにそのレベルの基本的なことはリファレンス読みなよ
setting.xmlって何?
lint切れ
水車を何百年もかけて結局普及出来なかった国のお話 エベンキ朝鮮猿の知能が犬や猿以下だったことの証明www ↓中国と日本から何度も輸入しているのだが・・・ 1429世宗11年12月3日 日本の水車が凄いと報告 1430世宗12年9月27日 水車を造ろうとする 1431世宗13年5月17日 「中国も日本も水車の利を得ているが我が朝鮮にはそれがない」 1431世宗13年11月18日 日本と中国の水車の研究の記述が散見 1431世宗13年12月25日 水車導入を試みる 1451文宗元年11月18日 20年かけて水車の導入失敗 1488成宗19年6月24日 水車導入の試み(成否不明) 1502燕山君8年3月4日 水車導入の試み(成否不明) 1546明宗元年2月1日 水車導入の試み。琉球(沖縄)と中国から福建式水車輸入 以後百年間水車の記述無し 一方お隣り日本では、鉄砲伝来後3年目にはすでに量産体制。 1650孝宗元年5月15日 水車導入の試み 30年記述無し 一方お隣りの日本では、鉄砲量産10万丁 1679肅宗5年3月3日 水車を造らせたと記述。そして70年記述無し 1740英祖16年4月5日 水車など無くなりました『孝宗大王嘗頒遼瀋水車之制於外方, 今無見存者』 1740英祖16年11月20日 水車を造らせたと記述(18世紀時点でわざわざ記録に残す程?) 1764 1763-64年の朝鮮通信使「日東壮遊歌」(淀城の水汲み水車の感想) 「その仕組みの巧妙さ見習って作りたいくらいだ」と記述 1795正祖19年2月18日 水車之制について盛んに出てくる。つまり試作中 1811純祖11年3月30日 ここの記述で水車なんか必要なのか?と書かれており全く普及していない事が読み取れる
ジェスチャーについて質問です LinearLayout ges = new GestureLinearLayout(context); FrameLayout fl = (FrameLayout) findViewById(R.id.hoge); fl.addView(ges, new ViewGroup.LayoutParams(....... } public class GestureLinearLayout extends LinearLayout implements GestureDetector.OnGestureListener, GestureDetector.OnDoubleTapListener { private GestureDetector gestureDetector; public GestureLinearLayout(Context context) { super(context); gestureDetector = new GestureDetector(context,this); } @Override public boolean onTouchEvent(MotionEvent event) { if(gestureDetector.onTouchEvent(event)) return true; return super.onTouchEvent(event); } GestureDetectorを実装したLinearLayoutを配置してみたのですが 画面を触ってもonTouchEventからはfalseしか返らず onDown、onShowPress、onLongPressしか走りません 何か準備や引数が間違っているのでしょうか? よろしくお願いします
GestureDetectorの戻り値は見なかったことにして常にtrueを返す
2.2以降の端末にストアで公開したいんだけど <uses-sdk android:targetSdkVersion="8" android:minSdkVersion="8"/> これであってます? targetSdkVersionの意味がちと分からない
俺も
>>756 の言うように、GestureDetectorの戻り値は取ってないなぁ
>>755 onSingleTapUpはどう実装したの?
760 :
755 :2012/06/12(火) 17:06:51.63
>>756 >>758 常にtrueにしてスクロールなど拾うか試したのですが何を起きませんでした…
Activityへ実装すれば問題なく動きますが
サーフェイスやその他レイアウト上の各viewへ任せようとすると反応してくれません…
以前のアクティビティで押したボタンからインテントを発行して、受け取ったアクティビティは一つで動的に画像やテキストの変更がしたいです。 画像の数がボタンを押した状況によって変更されるので、xml使うときついですよね? スマートではありませんがImageViewをwrapで横にいくつか並べて、必要に応じて配置して行く形でもできそうですが… コードだけで画面作ると微調整が大変なので、もし楽なやり方あったら教えて頂きたいです。
>>759 public boolean onSingleTapUp(MotionEvent e) {
Log.d("DEBUG", "onSingleTapUp");
return false;
}
必須メソッドは実行されているかLogへ渡すだけとなっています
その結果タップしただけでonDown→onShowPress→onLongPressと発生しています
>>760 そのレイアウトの上に載ってる他のビューからイベントを奪いたいのなら onInterceptTouchEvent をオーバーライドする
764 :
sage :2012/06/12(火) 17:40:38.52
LinearLayout にボタンを5個 addView したら、5個目が何故か表示されないです。 ただタッチすると反応は返ってきます。どなたか原因分かる方いませんか?
>>762 タップじゃなくて、ロングプレスしてるよね?
タップやフリックしたら違うメソッドが呼ばれるはず
あと、onSingleTapUpとかでtrueを返さないとgestureDetector.onTouchEventは
trueを返さないよ
>>757 targetSdkVersion は、俺はこのバージョンまで知ってるぜっていう意味だと思えばいい
例えば 3.0 以降メニューキーが無くなったろ
これから新しく作るアプリはそのことを知ってるから何なりと対応できるけど、過去のアプリはすでにメニューキーに頼ってるから、無くなると困るだろ
targetSdkVersion が 10 以下なら、それは新仕様を知らない過去のアプリなので、互換機能が働いて特別にメニューキーが現れる
targetSdkVersion が 11 以上なら、それは新仕様を知ってる新しいアプリなので、特別な動作はない
俺は 3.0 の新仕様知ってるから互換動作は要らないけど 2.2 でも動くアプリを作りたいってときは minSdkVersion="8" targetSdkVersion="11" にする
>>761 必要な最大数だけあらかじめ並べておいて余分を setVisibility で隠すのが一番楽
最大数が不明なら増える部分を別の xml にして LayoutInflater で必要な回数だけ読み込む
特定のホームアプリを呼び出す時、以下のようにパッケージ名だけ 指定しても一意に決まりますか? それともクラス名まで指定しないと駄目でしょうか? Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_HOME); intent.setPackage("パッケージ名"); startActivity(intent);
だめでしょう ひとつのアプリに CATEGORY_HOME の <intent-filter> を 2 つ以上書いちゃだめなんてルールは無いし
>>770 Intent.ACTION_MAINも複数記述できるから
やっぱり一意には決まらないですね…。
setClassNameでクラス名も指定するようにします。
去年に大規模な停電が起きた韓国で、今年早くも電力供給がピンチになっています。
韓国の電力予備率は、7日午後1時35分に約5%、350万キロワットまで落ち込みました。暑さで
大規模な停電が発生した去年9月以来、最低の水準で、韓国政府は供給電圧を引き下げるなど対応に
追われました。ソウルでは7日、今年一番の暑さとなり、冷房の需要が高くなったことが原因と
みられています。こうしたなか、今月21日には電力のひっ迫を想定し、エアコンや事務機器の電源を
一時的にオフにする停電対策訓練が実施される予定です。政府は、「計画停電が発生し得る実際に
近い状況での訓練」として、国民に積極的な参加を呼びかけています。
http://www.tv-asahi.co.jp/ann/news/web/html/220608038.html
メモ帳だけでプログラミングできないんですか?
できます
できるけどバカがやることです。 果てしなく非効率で挫折率100% メモ帳はHTML、JavaScript、PHPまでにしとけー
会社で見かけました
androidコマンドと高機能なエディタがあれば大丈夫だ… eclipse重いし
アプリが作れるアプリがあったような
会社のパソコンがゴミすぎる 新人は入ってくるたびに新しいのが与えられるけど、他は壊れるまでそのままだぜ メモリ1Gとか死ねる
そうやって上から下へ流そうとしたら、自分の環境設定で時間食うんだよね
環境移行するのが面倒で、未だにPentiumDで開発してます。
環境移行に掛かる時間と常にトロい速度でやることを考えるとさっさと移行すべきなんだろうけどな
>>783 そういう事
>>781 みたいに「移行に時間がかかる」とかいうやつに限って、
何かあったらPCのせいにする。
第一、移行に時間がかかるってなんだよ・・・。
その後の作業を考えたらむしろ余裕でおつりがくるぐらいだわ。
他のスレでやれ
お前が他スレへいけよ
糞のお前が行けよ
じゃあ俺がいくよ
誰かわかる方いませんか? LinearLayout layout_00 = new LinearLayout(this); LinearLayout layout_01 = new LinearLayout(this); 1.layout_00とlayout_01に複数のボタンを登録 2.最初に layout_01 をsetVisibilityで非表示に設定しておき、 特定のタイミングで、layout_01 を表示すると layout_01のボタンが クリッピングされたような状態(半分しか見えない)で表示されます。
layout_00と_01をRelativeLayoutでくくってみては
パッケージ名とクラス名が違うだけで同じプログラムなのに動きません 何が原因でしょうか? サンプルソースをパッケージ名とクラス名を変えてコピペしただけなんです><
私も初心者でよくわかりませんが、パッケージ名とクラス名が違うからじゃないでしょうか
変え忘れてるところがあるんじゃね
794 :
791 :2012/06/13(水) 15:25:28.20
サンプルをインポートしたやつは普通に動くんですよね パッケージ名は同じにできないのでクラス名は同じにしてみたのですが やっぱり動きません。表示はされるんですがタッチに反応しないんです。
元のパッケ名やクラス名でソース全文検索かけりゃイイんじゃね?
>< ←この顔文字使うやつでロクな奴見たことねぇな
わかんないです(><)
799 :
791 :2012/06/13(水) 15:42:42.04
デバックの実機を変えたら動きました。 エミュでも動きました。 こんなの初めてですよ。 サンプルは動いたので機種依存とかそいうのではないだろうし。 ちなみに私のアプリのDLは53万です。
800 :
791 :2012/06/13(水) 16:21:53.26
端末を再起動したら動きました><
よかったですね><
:)
ぱおーん
現在までに出てるAndroidOS搭載した端末は、スクリーンがoffからonにかわるとき、かならずスクリーンロックがかかっているのでしょうか? スクリーンがonになったときに何かしらの動作をさせるプログラムを組んでるのですが、スクリーンロック時の動作をどうしようか迷ってます。
スクリーンロックを勝手に解除するようなアプリは俺ならインストールしたくないが
>>806 「スクリーンロック自動解除をして、とある動作をするかしないか」、の設定をPreferenceActivityでユーザーにしてもらうようにしてます。
もちろん、設定項目の中でセキュリティ面での警告文などいれてます。
>>807 スクリーンロックは自動解除できても、パスワードやジェスチャによるセキュリティロックは抜けられないから
結局はまるのでは
ぼか〜ん
フジテレビ帝国が“醜聞カラー”に包まれている。
昨夏、異常な「韓流押し」で糾弾され、港区お台場の本社や代表的スポンサー・花王にデモを
かけられて以来ついていないのだ。
今年になってからは、視聴率三冠王を「'11年」および「'11年度」で日テレに奪還されてしまった。
また、春のドラマでオダギリジョー『家族のうた』が3%割れ目前となり、8回で打ち切りが決定。
さらに、“エース”アナウンサーの伊藤利尋が、ベンツを運転中に女性に接触。伊藤はそのまま
通り過ぎ、当て逃げ疑惑が取り沙汰された。
まだ続く。その伊藤が司会をつとめ、春から午後にリニューアルスタートした情報番組
『知りたがり!』も視聴率は2〜3%とさえない。裏番組の『ミヤネ屋』(日テレ系)にかなり水を開けられている。
そして極めつけは、社員の連続逮捕劇だ。5月20日、31歳の営業局員がタクシーから降りる際に暴れ、
運転手へ暴行を働いた。その3日後、今度はプロデューサーが酔っ払い運転で車に追突し、
またもや逮捕されるという事件を起こした。
フジのコンプライアンスはどうなっているのか、という声が聞かれる。そうした不祥事の連続を
「そら、みたことか」と新聞などは派手に書きたてるため、余計目立つのだ。
「一部のマスコミは『いまの広報局長になってから春と秋の記者懇親会をやめた。
その祟りだ』とやっかみ半分に書いている。たしかにこれだけ悪いことが続けば、
お祓いが必要でしょう」(テレビ雑誌編集者)
じつは先日の決算発表でも、フジの凋落がみられた。フジテレビ単体で、'07年度に
比べて'11年度は151%売り上げが落ちていることが明らかになったのだ。
つまり視聴率はまずまずだったのに、決算はそれほど良好ではなかったことになる。
今のフジは、サンケイビル買収などでテレビ事業よりも不動産事業に熱心。
そうなると、先に落ち目になったTBSと同じだ。
第二のTBSになりつつあるフジ。本業をおろそかにしたしっぺ返しは、
これからが本番といえよう。
http://wjn.jp/article/detail/2329338/
>>808 なるほどですね。今時セキュリティロックをかけない人は少ないでしょうし、この機能の実装は諦めます。
ども、ありがとうございました。
>>811 デフォルトでかかっていないなら、そういう機種固有の振る舞いこそ
ここで公開するべき情報だと思う。
明示的Intentで「実行中のサービス」(アプリケーションの管理にあるRAMの状況が見れる画面)に 遷移させたいんだけど、どうしてもやり方が見当たらないので教えてください。 new Intent(android.provider.Settings.ACTION_MANAGE_APPLICATIONS_SETTINGS) ってやれば、アプリケーションの管理に遷移できるのは分るんだけど あとはどうすれば、「実行中のサービス」に遷移できるか教えてください。
logcatに赤字でエラーがでてるけど強制終了しなくて ちゃんと想定した動きする場合、そのままにしておいて大丈夫?
>>815 それが自分で判断できない程度のスキルなら、
そのままにしておくのはやめとくのがいいだろうな
>>813 画面オンにしたらロック解除後と同じ動作になる
ちなみにSBM007SH
818 :
デフォルトの名無しさん :2012/06/13(水) 23:10:12.46
韓流詐欺の女…「朝鮮王朝の子孫」名も年もウソ
名前と年齢を偽り、うその結婚話を持ちかけるなどして、男性2人から計約1400万円をだまし
取ったとして、大阪府警門真署は13日、韓国籍の大阪市中央区船越町、無職吉京鳳(キルキョンボン)
(日本名・伊藤京子)被告(55)(公判中)を詐欺容疑で逮捕、送検したと発表した。
発表では、吉被告は同市北区の飲食店でホステスをしていた2009年4月、「吉村有里子」と名乗り、
38歳と偽った上で、店で知り合った同市内の男性会社員(60)に「結婚したい」と接近。「英国・ボストンに
住む母親は朝鮮王朝の子孫で、財産がある。結婚のあいさつに行く旅費がほしい」などと男性にうそを言い、
自身の預金口座に約625万円を振り込ませた疑い。この事件はすでに公判が始まっている。
また、11年2〜10月にも、別の飲食店で知り合った同府八尾市の無職男性(72)に「店をクビに
なったので生活費を援助して」と持ちかけ、計約760万円をだまし取った疑い。この時は「吉村陽子」、
39歳と偽っていたという。吉被告は両事件とも「援助してもらっただけで、だましていない」と否認している。
http://www.yomiuri.co.jp/national/news/20120613-OYT1T01115.htm
ハードウェアキーに機能割り当てしたいんだけど、搭載してるハードウェアキーが端末によってバラバラな断片化仕様にも対応するにはどーしたらいい? その端末が持ってるハードウェアキー一覧を取得できる便利なメソッドとかある・・・わけないか
>>820 OSがサポートしてるキーイベントはKeyEventクラスでなんとかなるだろうが
>その端末が持ってるハードウェアキー一覧を取得できる便利なメソッド
とれてもどうしようもなくね?
とれたとしてもそれが何を機能するボタンなのかわからないし
アプリの終了処理でonPuseとonDestroyて両方同じの書いたほうがいいの?
うん
プーズ時の処理が一番大切だよ。
スリープ時にプーズが呼ばれるんだよね? 裏で起動し続けたいなら書かないほうがいいんじゃないの
裏で動かし続けるような処理はサービスにしとけ
そういうこと
828 :
デフォルトの名無しさん :2012/06/14(木) 16:44:02.23
E/AndroidRuntime(4110): java.lang.NullPointerException: println needs a message って出たんですが printinを使ってないのでこれの出た原因が分かりません 助けてください
Log.*にnullを与えている
そういうこと
いわゆる覗き見防止のアプリってどう作ってるの? なんか設定ってあるのかな
フルスクリーン化について質問です setSystemUiVisibilityがAPI Level11からという事は 一つのアプリで2.3.3(10)から4.0(14)まで対応させてしまう場合 3.0や4.0でシステムバーのボタンを隠す方法はないという事でしょうか?
833 :
デフォルトの名無しさん :2012/06/14(木) 18:11:05.66
Android弄ってみたいんだけど オクとかで安売りしてる白ロムでも作ったアプリって動かせたりする? それともSIM無いと駄目?
simなしでおk
念のため、SIMなしで動かない機種もあるので、ぐぐってから落札するべし
>>834 ありがとう
早速糞安い端末オクで落として色々やってみるわ
後SIM無しでもWifi通信って可能
インターネットとの接続して検索サイトに飛ばすとかやりたい
>>836 だいたいの端末で可能。
出来ないのは電話ぐらいだ
自己解決しました。
SIMカードなかったら何も出来ない端末って具体的にどの端末? 今まで何機種か触ってきたけど、そういうのに巡り合ったことないんだけど。
xperiaの古いのはsimないと動かないっぽい
>>832 if (Build.VERSION.SDK_INT >= 11) { } で囲んでおけば問題ない
>>842 例えばこうすると…
int SDK_INT = android.os.Build.VERSION.SDK_INT;
if(SDK_INT >= 11) {
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
}
Viewに.SYSTEM_UI_FLAG_HIDE_NAVIGATIONがないので直接1を渡すように直すとして
やっぱり「メソッド setSystemUiVisibility(int) は型 View で未定義です」と怒られてしまいます
自分だったらもうすぐ出るって噂のNexusタブレットを待つ
846 :
デフォルトの名無しさん :2012/06/14(木) 20:38:04.83
>>829 ありがとうございます
if(変数 != null){
Log.v(...
}
で直りました
韓国の国宝1号に指定されている崇礼門の復元にあたり、日本製の接着剤を使用していることに対して、問題視する声が上がっている。
文化財庁は「品質のよい日本製の接着剤の使用は仕方ないこと」と説明した。韓国メディアが伝えた。
崇礼門は李氏朝鮮時代の1398年に都の南城門として建てられ、1962年に国宝第1号に指定された。
通称南大門の一帯はソウルの観光名所でもある。08年2月に放火によって木造楼閣の大部分を焼失し、10年2月から復元工事が行われている。
現在、復元工事は瓦を葺く作業と丹青(たんせい)を施す作業を残しており、12月に完成する見通し。
韓国の伝統的な技法による復元を強調しているが、丹青作業で使用する顔料と接着剤は日本から輸入品であることが明らかになった。
これに関して、一部から伝統的な方法による復元作業に外国製を使用することを問題視する声が上がった。
文化財庁は「品質のよい材料を使用するために避けられない選択だった」と説明した。専門家からも「日本製の接着剤は優れている。
国内製ではなく残念だが、国宝で実験はできない」との見方を示した。
韓国の伝統的な接着剤の製造技術は1980年代にすでになくなっており、09年に某大学の教授が再現して作ったが接着力が弱く、
崇礼門の復元には使用できなかったという。(編集担当:金志秀)
サーチナ 【社会ニュース】 2012/06/14(木) 13:46
http://news.searchina.ne.jp/disp.cgi?y=2012&d=0614&f=national_0614_052.shtml
エミュレータで電源再起動の時のテストをしたいんですけど 電源ボタン長押で電源を切るとやったあと、いくら待っても電源切れないのですが 何かコツとかあるのでしょうか?
>>844 SDK は新しいものを使う
AndroidManifest.xml に minSdkVersion="10" を書いておけば新しい API を呼ばない限り 10 で動く
新しい API をどこかで間違って呼んでないかどうかは Android Lint を使えばチェックできる
>>843 レグザフォンやHTCのでもいくつかあるし
ソフバの機種は結構動かないの多いよ
例えばAQUOS携帯は全てダメみたいなメーカー縛りではなく
機種単位によってなので凄くランダム、調べるの面倒だから自分でぐぐってね・・・
>>849 API Level 14で新規プロジェクトを作成しminSdkVersion="10"へ書き換えて
ソース内で警告が発生しないと状態と2.3.3へのインストール・起動を確認しました
ありがとうございます
が、「getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE); 」と記述しても
minSdkVersion="10"である限り、4.0だとシステムバーは無反応でした…
>>851 14でビルドして14のAPIが使えないのは別の理由じゃない?
minSdkとTargetSdk変えるのはandroid2.1とandroid2.2に対応させて、2.2以上でアプリをSDインストール対応させる時によく使われた技術だから先に回答してる人たちのやり方で間違いないと思うよ。
>>852 minSdkVersion="10"の場合には4.0では起動するものの
アクションバーではなくてタイトルバーが出現しているので
何かが足りないのかな…という気はしています
まだ試した事はありませんが
「同一アプリで2.3.xではメニューボタン操作、3.0以上ではアクションバーとアクションボタンを利用」
辺りが関係しているのかな?と考え中です
がんばってね。 新しいAPI周りの情報はみんな助かると思うよ。
>>733 だけど、一応。
Gingerbreadのバグだそうで。Honeycombでは規定通りに動きましたよ。なんだかな。
856 :
832 :2012/06/15(金) 01:13:20.98
同一アプリで2.3.xではステータスバーとタイトルバーの非表示 3.0、4.0ではアクションバーの非表示とシステムバーをブラックアウトさせる方法について ・プロジェクトのAPI Levelを4.0(14)以上に ・AndroidManifest.xmlのsdk設定を下記の通りに <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="14" /> ・ソース内でsdkごとに処理 requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); int SDK_INT = android.os.Build.VERSION.SDK_INT; if(SDK_INT >= 11 && SDK_INT < 14) { getWindow().getDecorView().setSystemUiVisibility(View.STATUS_BAR_HIDDEN); }else if(SDK_INT >= 14){ getWindow().requestFeature(Window.FEATURE_ACTION_BAR); getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE); } 返信いただいた方ありがとうございました
上記コードは2chの著作物なので勝手に使うと訴えられる恐れがあります
初代ペリアってX1とかいうガラケだっけ? しかも、国内では出てないような。 SIM以前にAndroidでもないと思うが。
>>860 国内じゃないってわかってるのにガラケって…
あぁ、やっぱりそこつっこまれたかw
ServiceをbindServiceでの起動とstartServiceでの起動についての説明が理解しやすい参考サイトとかある? Service難しすぎワロタ
startService を呼ぶとサービスが起動して onStartCommand が呼ばれる このように起動したサービスは stopService を呼ぶかサービス自身が stopSelf すると終了する bindService をフラグなしで呼んでもサービスが起動することはない 他の要因でサービスが起動されればサービスの onBind の戻り値が onServiceConnected に渡される 誰かがサービスを終了したら onServiceDisconnected が呼ばれる bindService を呼ぶときに BIND_AUTO_CREATE フラグを付ければ、 それによってサービスが起動し、 onBind の戻り値が onServiceConnected に渡される このように起動したサービスは unbindService すると終了する startService と BIND_AUTO_CREATE が両方行われた場合は両方の要因が消えた時点でサービスが終了する start〜stop 系をメインに使うか、 bind〜unbind 系をメインに使うか、どちらか選んでおいた方がいい start 系の場合は、外から stop するか、サービスが自分の判断で stop するかも、決めておいた方がいい startService の Intent で処理内容を送り、必要ならフラグなしで bindService してサービスの動作状態を監視するなどする bind 系の場合は Binder 経由で処理内容を送り、サービスが自分の判断でバックグラウンド処理が必要な間 start〜stop するなどする 他のやり方もあるかもしれないが、あんまり混ぜない方がいいと思う
サービスでちゃんとキャンセル処理書かないとゾンビアプリになるお
Google Play 上で、Play の表玄関からは表示しないが ホスティング/自動アップデート等の仕組みだけ用いる、と言う事はできるのでしょうか。 たとえば、アプリケーションA, B を作成して、A から B を呼び出して連携するが、 B だけではあまり意味のない動作となるので、A だけを公開する、しかし B について アップデートの仕組みなどは用いたい、と言ったような場合です。
867 :
863 :2012/06/15(金) 18:17:29.03
>>864 bind すれば activity などと情報のやり取りができるってこと?
やりたいことは、音声認識機能を使って別のアプリの起動や電話の開始とかできるアプリを作ること。
BroadcastReceiverクラスを用意し、何かアクションが起こったとき(例えば BlueTooth マイクとスマホが接続された時など)の Broadcast をキャッチして、音声認識を開始。
Service を使ってアプリを常駐させ BroadcastReceiver からの合図を待たせて、合図が出たら音声認識を開始、というやり方はできるのかな?と思ってます。
で、Service とはなんぞや?と思って解説サイトを読み漁っていたら Service を起動する方法として、bindService と startService の2種類があって、そこの違いを理解するところでつまづいてる・・・
ここで言うことじゃないことはわかってるんだが、一般向けアプリでマイク繋げたら自動起動はうざいかも…
869 :
863 :2012/06/15(金) 18:58:57.98
>>868 PreferenceActivityを使い「Bluetooth接続時に起動する」という項目を設けて、ユーザーが自分の環境に合わせられるように設定できるようにしてる。
contextってなんなの? よくエラーでてるところにcontext.をつけるとエラーが消えたりするんだけど
この前「android getapplicationcontext」とかでググって 出てきた候補上から追ったらcontextのことが結構分かった 気がする
>>867 bindService は Activity と Service を接続して相互に情報をやり取りする経路を作る
基本やり取りするためだけのものなので Activity が終了したら切れる
startService は Service を常駐させる
Activity が閉じてもバックグラウンドで動かし続けたいサービスは startService する
startService したら Activity が閉じても動き続けられる
停止したいときは stopSerivce する
その音声認識のケースを読む限りでは Activity と Service で何かやり取りする必要はあんまりなさそうに見える
単純に startService で常駐して stopService で停止するだけでいいんじゃないかな
>>870 お前さんがわかっていないのは、Context以前にJAVAの方じゃないか?
>>872 おおざっぱだけど理解できたような気がする・・・
startService/stopServiceで作ってみる、ありがとうございます。
でもcontextの中身が何か意識して使ってる?
意識しないわけ無いだろw
2つのjavaファイル間で定数を共通で使いたい。 どうすればいいですか? cならhをそれぞれにインクルードするだけ。。。
>>878 3つ目のjavaファイルに定数を定義して、両方にimportする。
っていうかpublicかつstaticなフィールドはどこからでも参照可能。
定数ユーティリティクラス作成して解決しました。 それぞれにimportすればどこからでも参照可能だったのか。なるほど。
public void mediascan(){ m = new MediaScannerConnection(context, mScannerConnectionCluent); m.connect(); progressDialog = new ProgressDialog(this); progressDialog.setMessage(getString(R.string.scan_now)); progressDialog.setIndeterminate(false); progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); progressDialog.setOnDismissListener(new OnDismissListener(){ public void onDismiss(DialogInterface dialog) { toast(getString(R.string.scan_end)); } }); progressDialog.show(); } MediaScannerConnectionClient mScannerConnectionCluent = new MediaScannerConnectionClient() { public void onScanCompleted(String path, Uri uri) { Log.d("MediaScannerConnection", "Scanned " + path + ":"); Log.d("MediaScannerConnection", "-> uri=" + uri); m.disconnect(); progressDialog.dismiss(); } public void onMediaScannerConnected() { Log.d("MediaScannerConnection", "onMediaScannerConnected "); String path = Environment.getExternalStorageDirectory().toString(); String mimeType = "audio/mp3"; m.scanFile(path, mimeType); } }; mediascanしようとしてもonMediaScannerConnectedが呼ばれないんですが 何が原因でしょ
getContext、getApplicatioinContext、thisが分からないけど アプリ作ってるけど問題ない
そのうち問題に直面するよ
例えばどういう時?
this解らないとか・・・Java初級で質問したほうがいい
thisなんてただの飾りですよ
>>882 m = new MediaScannerConnection(context, mScannerConnectionCluent); の
contextって中身なに?
this?
えっ
Intentに関して質問です Intent intent = new Intent(this, MyActivity.class) ; startActivity(intent) ; で新しくできたMyActivityのインスタンスを取得するにはどうすればいいのでしょうか・・・
>>890 なんか大きな勘違いがありそうだけど、何がしたいの?
電源再起動後に、アプリで使ってたPreferenceファイルを修正したいんだけど 起動後のレシーバー側で、getSharedPreferencesが使えなかった レシーバーから何かアクティビティを起動したら、そちらでは Preferenceファイルを編集できたのですが 1回アプリ画面を起動しないとダメなんでしょうか? 基本わかってないかもしれませんが教えてください
スリープ状態になるとバイブが停止してしまうのですが、 どうすればスリープ状態でバイブを振動させられるのでしょうか? スリープ状態から復帰させるのではなく、スリープ状態のまま振動させたいです。
>>890 インスタンスは取得できません
アクティビティに渡したいデータは startActivity 前に intent.putExtra で放り込んでください
受け取り側アクティビティで getIntent().getXxxExtra すれば取り出せます
それとももっと違うことがしたいのならそれを説明するといいです
>>892 特に使えなかった覚えはないですが
何か勘違いしているのではないでしょうか
基本わかってない自覚があるなら基本を勉強するといいかもしれません
もしかして: context.getSharedPreferences
897 :
890 :2012/06/16(土) 13:04:41.86
>>891 >>894 >>895 レスありがとうございます。
iPhoneから入ってきたので、ちょっとした仕様の違いでも困惑しています・・・
やりたいことは、遷移前のActivityから遷移後のActivity(今回だとMyActivity)にBitmapを渡したすことです
-MyActivity.java-
static Bitmap bmpGrobal ;
private Bitmap bmp ;
onCreate() {
...
bmp = bmpGrobal ;
}
static putBitmap(Bitmap _bmp) {
bmpGrobal = _bmp ;
}
みたいに書いて、(続く)
898 :
890 :2012/06/16(土) 13:05:14.85
>>897 続き
-遷移前のActivity-
MyActivity.putBitmap( bitmap ) ;
Intent intent = new Intent(this, MyActivity.class) ;
startActivity(intent) ;
などとして誤魔化しているんですが、スッキリしません・・・
インスタンスの取得をする方法があるのかなぁと思って質問しました。
>>896 ありがとうございます。あたりですww
基本勉強しまーす!
>>897 そんなに大きな Bitmap でなければ Intent 経由で渡せます
Intent intent = new Intent(this, MyActivity.class) ;
intent.putExtra("hoge", bitmap);
startActivity(intent) ;
onCreate() {
...
bmp = (Bitmap) getIntent().getParcelableExtra("hoge");
}
Bitmap の元になったファイルパスやら URI やらがあるなら、それだけ渡して再デコードする方がいいかもしれません
元になるパスも URI もないその場で生成した巨大な Bitmap は、あんまりスマートな方法はなかったと思います
どこかファイルに保存してそのパスを渡すか、 Application クラス経由で渡すか、 static 変数経由で渡すくらい
あれ? AlarmManagerって電源オフで設定消えるけど ICSだと設定残ってるのか? バージョンによって処理変えないとだめなのか!? 2.3 消える 4.03 消えない だった 認識あってるでしょうか?
>>897 >iPhoneから入ってきたので、ちょっとした仕様の違いでも困惑しています・・・
iPhone の画面遷移と Android の Activity は、ちょっとした仕様の違いどころか、根本的な考え方からして全く違うものだよ。
iPhone のことはいったん忘れて、ちゃんと Android を一から勉強すべし。
903 :
デフォルトの名無しさん :2012/06/16(土) 16:02:20.92
WindowManager.LayoutParams.FLAG_SECURE ってサムソンとかHTCのスクショ機能の禁止にも有効? 実機持ってないから誰か暇な人試して欲しい・・・ public class Main extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE); TextView textView = new TextView(this); textView.setText("hello"); setContentView(textView); } }
SurfaceView で Canvasに対して ARGB_4444なBitmapを描画した場合と ARGB_8888なBitmapを描画した場合では ARGB_4444のBitmapを描画した場合の方が劇的に重くなるんですがそういうものですか?
はい
日本のイメージが世界最高なのはなぜか?―米国タイム誌が56カ国12万人から調査、主要20カ国のイメージ
米タイム誌が主要20カ国を対象に実施した「国家イメージ」に関する調査で、日本は2007年から4年連続で
第1位に選ばれた。また、別の調査においても「中国のイメージのほうが日本よりも良い」と答えたのは
中国とパキスタンだけという結果となった。中国人ジャーナリストの王錦思氏は日本のイメージが
世界最高である理由について、自身のブログにまとめている。
筆者は、日本のイメージが良い理由の1つとして、日本経済の発展とハイテクなどの存在が
良好なイメージ形成に寄与していると主張し、「わが国のように、メラミンといった有毒物質が食品に
混入されることもなければ、下水油が使われることもない」と語った。
また筆者は、日本が世界の国々へ経済援助を行っていることを指摘。外務省によれば、
日本のODA拠出額は1991年から10年連続で世界一であり、日本は経済大国となったはずの
中国にも12年度だけで42億円を超えるODAを提供する。「多くの中国人は気付いていないが、
現在も日本は中国で病院を作ったり水の供給を行ったりしてくれている」と紹介した。
国家のイメージは国民によっても大きく左右される。
多くの外国人は、日本人は道徳を守り、大声でけんかしたりせず、礼儀や約束を大切にすると評価している。
東日本大震災に直面した日本人は秩序正しく、避難所にゴミを散らかすこともなかった。
日本の周辺国家は日本を低く評価しがちだが、こうした批評が世界における日本のイメージを損なうことはないと語る筆者は、
「確かに日本が過去に行った侵略戦争は日本のイメージを損なうものだが、その観点だけで日本を評価すべきではない」と主張した。
2012/06/12(火)
http://news.searchina.ne.jp/disp.cgi?y=2012&d=0612&f=national_0612_044.shtml 参考 米国Time誌 世界で最もイメージが良い国は?
1位 日本
2位 ドイツ
3位 シンガポール
>>904 そういうもん。ARGB_8888 ならそのままコピーすればいいけど、ARGB_4444 ならいちいち ARGB_8888 に変換しなきゃだからね。
>>888 すみません抜けてました
mediascanのメソッドがあるクラスのフィールドで
final Context context = this;
を宣言してます
getApplicationContext()にしたら動きました。 何でもかんでもthisではダメなんですね・・・ contextやっかい
ググると大体の用法が引っかかる。 正確に知りたかったらソース嫁
だからいつかトラブルっていったやん〜
どうせインナークラスでthisとかやったんだろ・・・
914 :
890 :2012/06/17(日) 00:26:32.48
>>900 BitmapでもputExtraで渡せたんですね・・・調査不足でした。
Applicationクラスは便利そうなのでこれから愛用します
情報ありがとうございました!
>>902 本当にその通りだと実感しました。
1から作りなおす気持ちで学び直そうと思います。
音楽をストリーミング再生できるアプリを開発中です。
アーティスト名とかタイトルとかをmp3から取得する際に
URL上にあるmp3ファイルから直接metadaを取得することできますか?
http://hoge/huga/piyo.mp3 SDに一旦保存して、contents providerから取得するのは
ストリーミングの手法をとってSDに保存しておきたくないので
合致しません。
metadaって何? ID3タグのこと? タグの位置を範囲指定してダウンロードすれば?
アプリの根幹部分が分からないのに開発中とかいっちゃう男の人って
GUIから作っていくのもありや
別のurlで取得する様に鯖で仕込めばいいんじゃ無い。鯖側にうpする際にでも事前にmp3の情報読み取れる訳だし。 そもそもストリーミングでも著作権的に大丈夫なのかって気が。jasrac請求高額だよw
かわいいおにゃにょ子でべろっぱーかもしれん
Android女子と仲良くなりたいです><
女子部見ても付き合いたい娘が居ない。 高学年ぐらいがピークだよな。適齢期過ぎると叩き売りしてるけど。
キャンバスについて質問があります。 a というBitmap から b というCanvas を生成して、そのCanvasに対して色々描画したいとします。 それを下記のように実装した時、 Bitmap a = Bitmap.createBitmap( W, H, Bitmap.Config.ARGB_8888 ); Canvas b = new Canvas( a ); この時 「WxHx色深度 の大きさのバッファ」は a と b がそれぞれ別々にもっているのですか? それとも b は、 aが持つバッファへの参照を保持しているだけでしょうか?
確認してみりゃわかるだろ
925 :
デフォルトの名無しさん :2012/06/17(日) 16:07:08.14
MediaPlayerで動画を再生させて、その上にGLSurfaceviewを重ねたいのですが、 片方ずつ動かすとうまくいくのに、重ねると動画が再生されません。(音もでません) 普通のSurfaceviewを重ねている記事を参考にして作ったのですが、何が原因かわかる方 教えてください。
ヒントすら出さず口を開けばググれとか自分で調べろとか スレの存在意義否定する人ってなんでここいるの?
あまりに低次元なのはそういう扱いを受けても仕方ないと思うよ
ここは答えらそうな簡単な質問しかレスつかないよなw
>>928 ですねー
本当にわからない時は海外のフォーラム覗いたほうが役に立つ
じゃなんで見てるの
暇つぶしに眺める以外に何かあるの?
2chで質問してまともな回答とか 山盛りゴミ箱にチンしたティッシュ遠くから投げ入れて 乗ったらラッキーてなもんだから
よほどひまなんだなw
授業や仕事で分からないkとをにちゃんで訊くのってどうかと思うけどなw
それ以前にAndroidはぶん投げたくなるほど作っててイライラする 機種・ビルド依存大杉。実現できることの絶対値的な幅はiPhoneやPSSよりも広いけど、 実際にふたを開けてみると制約だらけで時間と手間がかかりすぎる。
ふうん どうでもいいや
>>935 だよな
アイコンひとつ作るのも解像度とバージョンにあわせて複数作るとかマンドクセー
4.0のブラックとホワイトのスタイルとかウゼーw
こんにちは
電池残量を表示するウィジェットについて質問です。
ttp://boco.hp3200.com/beginner/widget02-3.html こちらのサイトを参考にしているのですが、
電池残量は、rv.setTextViewTextで.id.TextViewにセットし
表示させるはずが、
セットできずデフォルトのTextViewの文言が表示されているものと思われます。
ところどころ間違いがあるサイトのようです。
1.android:id="@+id/textView"→android:id="@+id/TextView"
2.AppWidgetManager〜以下略も中に入れてあげる必要がありそうです。
現状をDropboxにアップしたので、
分かる方がいましたら、お返事よろしくお願いします。
939 :
デフォルトの名無しさん :2012/06/17(日) 20:15:11.92
HTCJを使って開発をしているのですが ブート時にBOOT_COMPLETEDがとれないようなのです。 どなたか回避方法を知っている方 いますでしょうか。
>>939 エスパーするとandroid:targetSdkVersionが抜けてる
やだ
パーミッションなんじゃね
Android開発は開発コストに見合う収入が得られなくて どこの企業も目をつけてない ソーシャルゲームとかそのへん
944 :
デフォルトの名無しさん :2012/06/17(日) 22:08:21.10
android:targetSdkVersionは抜けてたので 入れてみたのですがうまくいかず・・・。 たぶんmanifestだろうと いらないものを削っていったところ Application Nodesからサービスを削ったところで 呼び出されるようになりました。 サービスを動かすために呼び出したいのに・・意味ない・・
945 :
デフォルトの名無しさん :2012/06/17(日) 23:15:18.29
今からアプリ開発してみたいと思ってる初心者なのですが android-sdk-windowsフォルダの中に SDK setup.exeが入っていないのですがこれは 前段階で何か間違っていたりインストールしていないものがあるからでしょうか?
<LinearLayout> <ListView> </ListView> <ListView> </ListView> </LinearLayout> こういう構成でリストビューを2つ画面にだそうとしたら、二番目のしか表示されないんですが。なぜですか?
weight
ウィジェットがたまに反応しなくなるんですが何故でしょう?
抽象的すぎる
950 :
948 :2012/06/17(日) 23:33:50.10
そのままぐぐったらぬこバッテリーに解決方法がw 参考にしますw
もはやプログラミングですらない質問まで現れた
953 :
948 :2012/06/17(日) 23:50:39.93
ぬこバッテリーさんいます? プロセスの再起動の設定ってonRestart()だけでいいんでしょうか?
>>946 listviewを一つずつlinearlayoutで囲ってlayoutのweightを1にしてみたら?
スルーできないお前らの方がうざいけどな
959 :
956 :2012/06/18(月) 00:31:44.91
ぬこバッテリーに嫉妬してる奴が騒いでるだけかw
いつまで不毛な争いすんだよw いい加減煽るのも反発するのもやめろ ガキかよ
自分の思い通りの流れに出来ない事に苛立つなら さっさと消えることだな
ここまで一人の自作自演w
アイコンってどうやって作ってる? フリー素材をそのままアイコンにするのか自作するのか
通行人写メって加工
開発者の態度が悪い★1
開発者はモチベーションを保つためにも ストアのコメントを見ないのが基本なのに・・・
俺はコメント見てるしたまにメールも来るけど返事は一切しない 有料無料ともに
海外からもメール来るけどネットスラングなのかスペルミスなのかわからないことあったなw だいたい普段、個人で英文やりとりなんかしないからな gmailできて金髪の女性のときはしっかり答えたよw
でも作者が乞食ユーザを論破しても、低評価の星は残りっぱなしなんだよな 普通のユーザはコメント欄なんてみないし 次は作者がユーザを星評価して、その評価をソフトの評価に重み付けするようにしてほしいね 星一つのユーザは影響力ゼロで
アホなコメントにはイラっとさせられるだけで実害はたいしてないだろ。 星の数がユーザの選択に大きく影響するとは思えん。
ストアのランク見れば大体評価する奴らのレベルがわかるだろ。
★☆☆☆☆ (^ν^)<英語がわからないから糞アプリ
979 :
デフォルトの名無しさん :2012/06/18(月) 22:47:44.82
どこもおかしくみえないんだが
981 :
デフォルトの名無しさん :2012/06/18(月) 22:54:55.08
PC初心者スレ行け
Yahoo知恵遅れで聞いてこい
984 :
デフォルトの名無しさん :2012/06/18(月) 23:00:54.61
フォント変更したらいい感じになりました すいませんでした
Eclipseスレ行けやゴミ
986 :
uy :2012/06/19(火) 02:00:34.14
ゴミがゴミとか言ってるし
↑ほんとだ
なんで2chに書く前に 「Eclipse フォント変更」とかでぐぐろうとか発想ないの? どんだけ2ch脳なの? バカなの?
糞固定の名無し潜伏だからじゃね
自分のアプリが売れてないからってイライラするなよ