このスレではAndroidSDK・NDKやAndroidマーケットに関する質問を扱ってます。
※プログラミング自体が初めて!なあなたには↓↓↓こちらへ
スレ立てるまでもない質問はここで 118匹目
http://toro.2ch.net/test/read.cgi/tech/1331904826/
Eclipse統合M32【Java/C++/Ruby/Python/Perl】
http://toro.2ch.net/test/read.cgi/tech/1320318310/
★★Java質問・相談スレッド153★★
http://toro.2ch.net/test/read.cgi/tech/1334438859/
****関連リンク****
■ Android developers http://developer.android.com/
■ ソフトウェア技術ドキュメントを勝手に翻訳 http://www.techdoctranslator.com/
****前スレ****
Androidプログラミング質問スレ Part21
http://toro.2ch.net/test/read.cgi/tech/1334579588/
>>1おつ
前スレ998の名前は977じゃなく997です
>>1 乙。
1乙
>>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.
適当なことを言ってすみませんでした
ソースを見ると 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万とかするんですが、新規で安く買う方法ないんですかね…探してみます
>>1
乙
>>8
アイテムにOnTouchりすな、OnLongClickりすなを設定
アイテムをロングクリック
ListビューのonTouchを抑制する(リストビュークラスのonInterceptTouchEventあたりで判定)
onTouch()でアイテム動かす
リストの上下側にアイテム持ってきたらscrollby
みたいな
>>6
ありがとうございます
タッチイベントを取得できる状態でオーバーレイするにはどうしたら…
>>15
6じゃないけど
TYPE_SYSTEM_ALERTで取れないかな?
アンドロイドのアプリ開発を始めたばかりなのですが、よろしければ質問の回答お願いします。
if文の中でローカル変数の宣言を行うとif文を抜けた後は適用されないのでしょうか?
>>17
ローカル変数は { } の中だけで有効だからね
JAVA変数スコープでググるといいよ
>>18
返答ありがとうございます。
探してみます。
ペットボトルと蛇口みたいなもんだ
{
}
でくくられている中のものはペットボトルで、全部飲み干したら( {} からでたら)なくなる。
は?
この例えは酷いw
じゃ、蛇口はどこいった
tnkからでたせーえkみたいなもんだ
{}(mnkやティッシュ)に出した奴は、もう二度と他では使われないだろ
そういうことだ
グローバルという、保存庫に冷凍しておけばいつでも取り出して使えるぞ
>>16
一応とれたんですがタッチイベントやキーイベントが下のアプリに届かなくなりました
>>9
CPU性能上げれば早くなるぞ、俺もc2dだったがsandyにかえたらエミュでもサクサクだわ
ただ実機の方が早いし楽だ。実機開発がいいぞ
x86エミュ使えばいいよ
>>27
有難う御座います。Sandy/Ivyは多分MBP待ちです・・・
>>27
X86なんですが重いです・・・
安い白ロムでAndroid 2.2搭載のものを買おうとしてますが、最終確認ですけど
白ロムをいきなり購入しても開発機しての運用には支障はないものでしょうか?
通信するアプリではない限り・・・
今週からandroid始めました。
view の onTouchEvent
DOWNした時にしか呼ばれないのですが、何故ですか。
UPもMOVEも反応なしです。
Activity の onTouchEvent には全部来るのに。
仕様
>>31
そんなわけあるか!
といわけで
事故解決しました。お疲れ様です。
>>29
機種によるとしか
BitmapDrawableを使うと綺麗に回転できるけど
Matrix使ってCreateBitmapで回転させると縁がジャギが出ます
アンリエイリアスオプションもいれてますが変わりません
ジャギが出ないようにするにはどうすればいいでしょうか?
setFilterBitmap(true) も入れてみては
名前残ってた
それにまた勘違いで適当なこと言ってしまった
しばらく黙ってます・・・
北斗神拳伝承者を辞退する
png画像を使うとか
{(i)}
プログラミングとズレるけど、アプリ評価のコメントが
ざわつくと開発者として心配になります。
海外にも公開してるんだけど、
・うごかねー、カス (星2)
・↑開発者の好意で作った無料アプリだろボケカス。俺は動くわ(星5)
みたいなやりとりが出てくると、なんかハラハラします。
使ってくれてありがとう!みたいに心象よくしといたほうがいいかな。
>17
それの挙動、言語によってまちまちなんだよね。
はぁ?
ひぃ?
めぇ?
おはようございます。
rawフォルダにmp3ファイルぶっこんだら、
エミュレータの実行(起動はすでにしてる)に5分ほどかかるようになりました。
それまでは5秒程度だったのに。
サンプルでいれたmp3のサイズがでかすぎるせい?8メガなんですけど。
でかすぎるせいでした。700kbのファイルでも結構遅延しますね。お疲れさまでした。
キャッシュみたいなもん無いんですかね。
おはよう
アプリの起動履歴をLogcat監視しないで比較的正確に取る方法を考えてみた
AlarmManagerで5分置きに何もしないアクテビティを走らせる
RecentTaskInfoでそのアクテビティを基準にして5分の間に起動したアプリを取得する
結果:何もしないアクテビティ起動するたびに画面がちらついてイラつく
他の方法考えるか...
|●● 空白 ●|
2つ左寄せ、1つ右寄せその間は隙間。
こういうレイアウトをLinearLayoutで作りたい場合ってどうしてます?
Relativeだと作れるんですが、他部分との兼ね合いでなるべくLinearで作りたくて。
weightとかalignとかで頑張って作れませんか?
>>40
リリース直後に
ゴミw星1つ
ってコメントを自作自演してる俺は5つ星収集家
<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個入れればできます。
すいません追記です。
子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>
>>49
マネしたいけど、その勇気がないw
>>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にしてたがいいのかな?
ちょっと質問動機がスレチなんですが。
「無線ネットワークの使用」「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);
これでスクリーンオフにならないんだけど何か足りない?
>>72
Galleryじゃだめかい?
>>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しなさいと怒られますし・・・
どうすればいいのでしょうか・・・?
すいません、書いた矢先、Activity.addContentView見つけました
失礼しました
>>94
RSSのバージョンによって違うからね
自分がそんなような処理を書いたときは文字列マッチングで拾ってから
CalenderにsetTimeZone、setして
getTimeでDateを得るのが高速だった
GALAXY NEXUS(SC-04D)用のアプリを作っているんですが
NEXUS用のAVDスキンって出回ってないですよね?
グーグルの検索結果を取得したくて書いてたんですがこのコードだと途中から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);
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)
でできないか?
>>100
これ?
ttps://github.com/aaronsnoswell/android-emulator-skins/commit/c2db3b05ce4c677e30e7e1d907595c2fcbf22e3f#diff-0
AIDEって日本語文字化けなくす方法ない?
edittextで
----------------
テキスト
----------------
みたいにまん中に表示されんのを上に出来ませんか?
>>111
リファレンス読んだら出来るよ
onResumeってCreate時にも呼ばれるんですが、
これって毎回確実に呼ばれますか?
onCreateとonResumeに同じ処理を書いてて、
起動時に2回呼ばれるんでonResumeだけにしようと思ってるんですが、
onResumeが確実に呼ばれるっていう保証が欲しいんです。
そういう人はソースを読むといい
ソース読むなんてうそぶいてる奴が本当にちゃんと理解するところまで読んでることはほとんど無い
>>114
その実装依存でgoogle+アプリが4.0でクラッシュ祭起こしたので
実行するしないは静的に決めるべきでなく、動的に判定すべきだと思う
onResumeにブレークポイント置いてデバッグモードで呼ばれているか確かめればいいじゃん
>>117
手元の端末でだけ動けばいいならね。
>>117
手元の端末では、onCreate→onResumeって動いて、
じゃあonResumeだけでいいじゃんって思ってますが、
それがすべての端末で保証されているかは不明なので。
そんなにスペックにシビアな処理じゃないんで、
>>116さんの意見を見る限り、やめたほうがよさそうですね。
サンクスです。
>>101-102のコードで全部取得はできたんですが
取得したデータを毎回ログに出してみると
普通のデータがしばらく続いたあと�����������������������みたいに文字化けしてしまいます
漢字、数字、英語に関係なく文字化けするんですがどうしたら良いでしょう
>>120
javaのストリーム読み取りの基本に立ち返れ。
それだけでなおると思う。
eclipse!
Android ndkで全面的にC++で開発する場合は、AndroidアプリケーションフレームワークはJavaで書かれているから使えないので、自分で全て実装するしかないんですか?
JNI
>>123
いや、普通に使える
sqlite使ってデータ表示をする際に、
エスケープシーケンス(\n)が大文字変換されて\Nとなってしまい改行されません。
これ防ぐ方法ってありますか?
>>126
\Nを\nに変えればいいんだよ
>>121
いろいろ弄っても状況が変わらないので教えてください
123にアドバイスしなければそのまま新たなOSが出来ていたものを
マルチバイトデータの泣き別れ。
>>129
iTRON「時はきた!それだけだ」
>>128
UTF8について勉強して、何がまずいか考え直せ。
だめなら諦めろ。
webviewでズームをすると文字が大きくると同時に、以下のように文字が縦長になってしまいます。
いろはに
ほへと
↓ ズームする
いろ
はに
ほへ
と
これはiphoneのように文字を縦長にしないで、文字が大きくなった分スクロールバーが出てくる。
というようにはできないのでしょうか。
>>127
つまり事前防止策は無いってことですか?
ソースの取得について教えて下さい。
$ 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ソースが欲しいです。
何か良い解決策はありますでしょうか?
>>136
報告して直してもらう
アプリの正確な起動履歴を取るのはLogcat監視しないとキツそうだけど
5分毎にこの5分間で起動したアプリを調べるうまい方法はないのかな
RecentTaskInfoだと順番とIDくらいしか取れないけど...
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
すみません書き忘れがありました。
例外が発生する/しないは「アプリAからアプリBのActivityを呼び出す」時の話です。
アプリは終了させてもしばらくバックグラウンド残ってるわけだから
RunningAppInfoでimporanceを取ってバックグラウンドにあるのを最近起動したプロセスと見るとか
問題はアプリ起動しまくるとバックグラウンドのプロセスkillされちゃうから取得できないことだな...
ファイルパスを指定してmp3の音楽情報取得する方法ってありませんか?
全部取得なら会ったんですが特定のファイルだけってのが見当たらないです
killしても復活してくるアプリってそのアプリで作ったintentで
AlarmManagerなりをキャンセルしないと止まらないんだよね
だとすると端末の起動時に起動させなきゃいいわけだけど
それを他のアプリで阻止することってできる?
ACTION_GET_CONTENTでintentを投げるとき
ファイル名や拡張子でフィルタリングする方法ふぁあれば教えてください
そんなこと出来たらセキュリティ系のアプリ動作阻止して速攻乗っ取れちゃうなw
ホームアプリたたき落としてヲレホーム起動でもいいけどw
再度補足です。>>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とかだとどうしようも無いのかな、と思い質問させて貰いました。
自分のアプリがどのくらいメモリ使うのか調べることできます?
プログラムからmediascannerを呼び出すことて出来ますか?
いずれもくぐったら、何かしらわかると思うよ。
androidでメインのactivityのクラスから別のpublicのclassを作り、そこにmain()を置いたのですが
本来のJavaはそのclassのコンストラクタが作られた時点でmain()が実行されるはずですよね?
androidだと実行されないんですけど
インタプリタ自身がmain()の記述されたクラスのコンストラクタを呼び出さ
ないと実行されないと思うけど
ごめん、訂正
そもそもmain()はstaticなのだ
そのクラスのオブジェクトが生成されるされないは関係ない
今調べてみました
普通のJavaでもmain()はVM起動時に呼ばれるだけで、そのクラスのインスタンスを作るときに
呼ぶわけではないんですね
>>155-156
有難う御座いました。
Android同士でインターネット回線を使って通話するアプリ(VoIP?)を作りたいんですが、やっぱりかなりハードルが高いんでしょうか?
まずどうやって通話するのか仕組みを説明してくれよw
グーグルトークじゃ駄目なのかと。
説明してくれよwじゃなくて私が聞いてるんですが
そんなこと聞いてる様子ではそうとう難しいんじゃない
コピペで作れるかなくらいの感じなの?
わからない人はレスしなくていいですよ~
また荒らしか
分からないのに作ろうって無理じゃねw
>>159
うん
なんか設計書はおろか用件定義もろくにないのに仕様説明求めたら怒られるブラック企業みたいだ
アクティビティA(メイン)
↓
サービス
↓
レシーバ
↓
アクティビティB
という流れがありまして(アラームのまねごと)
アクティビティBからアクティビティAに
値を渡すことは可能ですか?
3.3Vピンを使うのと
デジタルピンでanalogWrite(11, 255*3.3/5);
するのって何か違いますか?
なんかPWMで動かしてるとかなんだとかで,
3.3Vピンにつないだときはうまく動くのにanalogWriteだとうまく
動かないことがあります。。。
なぜArduino? ADK?
すいません。スレタイ見間違えました。。。↓
>>160
グーグルトークや、Skypeみたいなものを作りたいってことじゃねーの?
>>169
アクティビテAに遷移するときにBundle使って渡すとかpreference使って受け渡しするとか
sdカードに録音した音声を保存したいのですが
どのファイルに保存するか指定するのはどうやればいいのでしょうか?
File file = new File("c:\\tmp\\newfile.txt");
このパソコン内のファイルの確認をするプログラムをandroidのSDカードで
使用するにはどのように書き直せばいいのでしょう。
>>169
普通にpreference使うかなあ
Bundle使う方法もあるか
ていうかBundleって中身なに入ってるの?
知らずにいつもそのままにしてあるけどw
>>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であれば
なんでもいいという意味になるようですが、そもそもこのメソッドを呼び出して引数渡すのは、フレームワーク内部ですよね?
ユーザーが手動で引数を送ることがないなら、なんで<?>がついて型を限定してるのかよく分からんのですが
your project contains error~
って出てきてぐぐってkeytoolでdebug.keystoreを再生成
それでも消えないっす
どうしたらいいん?
まず服を脱ぎます
脱いだらカゴに入れます
ウォーッと叫びながら床を転げまわります
>>181
先に該当アプリを手動でアンインストールするだけでOKなはず。うろ覚えだけど。
google検索からデータを取得したい時ってどうしてますか?
javascript用のは検索結果が通常と異なるので使いたくないです
そうなると直接取って正規表現で取り出すしかないんでしょうか?
>>159
簡単簡単SIPを独自実装すりゃいいだけだよ。
オープンソースのSIPサーバー動かしてSIP API使ったらあっさりできました
暴言吐いてすみませんでした
SmpleCursorAdapterで1行をチェックボックスとテキストに拡張したリストへ
DBの内容を読み込んでるんだが・・・
ある行のチェックボックスをオンにして、リストをスクロールすると、
オンにしてない行までチェックがオンになってしまう。
原因は1行のビューをリストが使いまわしてるからなのは分かってるんだが、
どうやって回避していいのか分からない。
どうやって回避したらいいんでしょうか?
check済みの行のpositionをメンバに持っておいて
bindViewでCheckedTextViewをfindByIdしてチェック済みならチェックないなら未チェック
positionはcursor.getPosition()でとってこれるべ多分
ちなみにチェック処理はonItemClickでしてる
Buttonの上に何もない空のLinerLayoutを重ねたら、Buttonはクリックには反応しますが、
イベントリスナーを拾いません・・・
どうすれば拾えるようになるのでしょうか?
>>192
なんのために重ねるの?
>>193
上部にヘッダーとフッターみたいなものがあるデザインなんですよ
┌──────┐
│ ヘッダー │
├──────┤
│ │
│ │
│ │
│ │
│ │
│ │
│ │
├──────┤
│ フッター │
└──────┘
これで真ん中のところに、新しく別のViewGroupを登場させたいんですが、
addContentView()だとできなかったので、仕方なく上に空のLinearLayout(ヘッダーと同じサイズ)を
つけて登場させることにしたんです。
>>194
上に重ねるんじゃなくて既にある真ん中のを使えば?
LinerLayoutのorientation=verticalの中にヘッダーコンテンツフッター入れてそれぞれweightで調整するとか
>>195
デザイン的に、重ねて若干透過させたいんです・・・
分かりにくいのでかなり単純化して整理いたしますと、
┌──────┐
│ ヘッダー │ ← ヘッダーLinearLayout。Buttonがついてます。
├──────┤
│ │
│ ('A`) │← メインのLinearLayout
│ ノ( )\ │
│ | | │
│ │
├──────┤
│ フッター │← フッターのLinearLayout
└──────┘
ここでボタンを押したりすると、下からViewGroupが上がってきて、
┌──────┐
│ ヘッダー │
├──────┤
│ ξ │ ← こんな風にヘッダーの下
│ヽ('∀`)ノ │ 加えて、フッターの上
│ ( ) │ つまり元にあったViewと同じ場所に
│ | | │ 新しくViewGroupが入るようにしたいのです。
│ │
├──────┤
│ フッター │
└──────┘
既に別の用途でViewFlipperを使用してるからViewFlipperは使いたくないので、
これらのルートとなるLinearLayoutからLinearLayoyt.addView();をすると
前にあったViewGroupの上とかに挿入されてしまい、重ならないんです。
Activity.addContent()だと、重なることは重なるんですが、ヘッダーの下とか位置を指定できないんです。
仕方ないので、挿入するViewGroupにヘッダーやフッターとして空のLinearLayoutをつけてaddContentView()をしたんですが、
そうなると既にあるButtonの上にLinearLayoutが被さったせいか、クリックイベントが拾われないんです・・・
>>196
すいません
もう少し詳しくやり方を教えていただけませんか?
すいません、今試してみたら、上に空のLinerLayoutが被さってもボタンはイベント拾いました・・・
単にsetOnClickListenerを設定してなかったようです・・・
こんだけスレ汚した上で、結局は初歩的な勘違いでしてし、誠に申し訳ないです。
とりあえずAAでなごんだ
http://iup.2ch-library.com/i/i0644277-1337870975.jpg
Eclipse 3.7を使用してるのですが
上の画像のように改行したら初めから記述されているコードとインデントが揃わないのですが
調整する事はできないのですか?
ごめんなさい自己解決しました
以前弄っていたのが問題でした
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でソフト的にタッチイベント生成したり、いろいろ試してみても
やっぱり遅延しちゃうんで、タッチしてから離すイベントでタイミングを計る方法にしました
やっぱりハード的に遅延してるみたいでソフトではどうしようもない
>>215
http://magpad.jugem.jp/?eid=109
ここオススメ。
別スレッド処理はらんなぼーでして、らんなぼーからはんどらよびだしてUIスレッド処理みたいな
間違えたProcessingか
スルーしてください
>>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
>>234
ありがとうございます、勉強になりました。
closeすべき
>>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をアシテビチと読むらしいよ。
アシテビチ以外のどんな読み方があると言うんだ
Androidアプリを作って例えばボタンに画像を乗せる場合、
アップスケーリングが発生するとどうしても汚くなるし、
そもそも、48px*48pxで作っても実際のボタンがきちんと正方形になるかは分かりませんよね?
実際にLayoutを作ってからgetWidth()とgetHeight()でピクセル数を数えて、ピクセルバイピクセルで画像を作るべきなのでしょうか?
それだと、854x480と800x480を代表にいろいろな大きさのボタンを作ることになりそうですが・・・
Androidって単独でその機能使うと問題ないんだけど
この機能とこの機能複合して使うととたんに不具合が出るってパターン多くない?
具体的にどの組み合わせの話か示さないとさっぱり。
普通に考えて使える訳無いだろって組み合わせで使ってるだけでは?
>>224
このての伝言ゲームで無駄な時間を消費って多いよねw
で毎回デスマになってるのに懲りないw
仕様書有るのに仕様通りに作らないのは、日本語読めないのかと思ったわ。
>>229
内臓ストレージって血なまぐさそうだな。
画面更新しても手動で画面タッチしないと更新されないことがある
そんなことないですか?
>>251
その辺が気になるならNinePatchDrawableでやるといい
onTouchイベントで ViewFlipperを左右に動かしたいんですが、
左右に動かすかどうかの判定をboolean型の右かどうかのフラグをたてて
boolean right = false
(中略)
if (right) {
viewflipper.showNext();
}
vf.showPrevious();
}
こんな風に書いたのですが、あまり綺麗じゃないように思うんです。多少スピードが落ちてもいいのですが
もう少し綺麗に書く方法はないのでしょうか
boolean right = false
(中略)
public boolean onTouch (View v, MotionEvent event) {
(中略)
if (right) {
viewflipper.showNext();
}
viewflipper.showPrevious();
}
コード訂正です
今のままでもいいんですけど、右にいくのがtrueと見なしてコード書くのに違和感があるんですよね・・・
remoteviewsでmatrixのpostScaleがきかないのですけど
そうすればいいですか?
そうするといいです。
いやまじでpostScaleきかないんだよ
>>259
コードも書かずにわかるかボケ
わかる人に聞いてるんだけど(^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等の値に問題が無いこともログで確認しています。
原因が分かる方がいましたらお願いします。
質問です。
DialogクラスをimplementsしたActivityクラスがあり、
AlartDialog.Builder dialog
とインスタンスを作成したのだけど、newできません。。
implementsした場合はこのdialogをshow()させるにはどうすればいいのでしょうか?
titleとtext、ボタンがあるサンプル程度でいいのてすが。
>>264
サイズが変化してない→Range指定位置のデータが存在しない
ってことじゃないの?
>>264
二回目の取得を新しいレスが書き込まれてからにしてみろ
あれ?なんか広告がいつの間にか出なくなってる…
リクエスト多すぎるとダメとかあるのかな?
でも、人気があるアプリは出てるもんなぁ…
>>254
オレの内臓ストレージを圧縮してくれ。
>>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だと(?)できなくなってた
>>240
flushしろよ
>>239
お前の日本語はだれにも伝わってない。
>>273
あら、ユーザー様の大事なデータにwebブラウザごときがアクセスするのはセキュリティ的にまずいってことなのかな?
file:///mnt/sdcard/より下に適当なHTMLファイルでもおいとくのが楽そうだと思ったのに
@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);
}
});
_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();
>>279
すいません
処理が間違っていて出来ないだけでした
mp3のアルバムアートが読み込めないんですがどういう原因が考えられますか?
手順は
mp3をスキャン→完了と同時にいろいろ取得+アルバムアートのパス取得→nullじゃなければ
Bitmap bm = BitmapFactory.decodeFile(albumArt);
im.setImageBitmap(bm);
でセットという感じです
>>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を表示しているのか
プリーズ。
>>265です。
>>283 >>285
テストでシンプルなテストプロジェクトを作ってみましたが、Dialogをimplementsしたクラスの中では
AlertDialogは使えないみたいですね?
とりあえず下記にソースです
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) {
}
});
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) {
}
});
// シークバー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のバージョンいくつなん?
>>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使うことをお勧めするわ。
>>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
とりあえずやりたいことここに書いてみたら?
>>281の追記です
ログにSkImageDecoder::Factory returned nullと出ていたので画像がないのかと思ったんですが
あるのに読み取れないようです
何が原因でしょうか?
>>295
> 結構基本的な事だと思うのだけど。。
それよりも技術英語が読めることのほうがもっと基本的なことだ
>>295
あのさ、
Dialogクラスの中でAlertDialog作って、
AlertDialogだけshow()して「余計なものが表示されなくなった!」って
おかしくね?
呼び出し元のDialogはどこ行ったの?
それ、呼び出し元のダイアログが見えてないだけで、
実際のところ、余計な処理じゃね?
っていうか何で直接AlertDialog作らないの?
間違いに間違い重ねて分けわかめにならないうちに、
一回どういう理屈で動くのか良く確かめた方が良いと思うんだ。
英語が読めないってのは言い訳にならんぞ。
高校3年間英語赤点の俺でも翻訳サイトとか使って読んでいるんだから。
scrollViewで現在のスクロール位置を取得するのは.getScrollY()というのを見つけたんですが
今度はスクロール位置をセットする命令がみあたりません。
スクロール位置を指定するにはどうすればいいですか?
yuv420spの画像データを、
90度時計回りに回転させる方法が知りたいのですが、誰か情報もってませんか?
yuv420Pの画像を回転させるソースを見つけて試しましたが、ダメでした。
http://www.lavrsen.dk/svn/motion/trunk/rotate.c
>>302
ちなみに、それって回転はしたの?
>>303
いや、しませんでした。
今いろいろ調べてるんですが、どうもPとSPでは違う部分があるらしく、
こんな感じらしいです。
ttp://stat.ameba.jp/user_images/20110609/19/ekispresso/00/90/j/o0800057911280338388.jpg
ttp://ameblo.jp/ekispresso/archive1-201106.html
>>301
scrollBy
scrollTo
>>304
できるかしらない
http://en.pudn.com/dl.asp?id=437852
>>306
中国だか台湾のサイトにあった奴ですね。
これも試しましたが、ダメだったやつです。
keytoolで所定コマンド入力後にキーストアのパスの入力を求められますが、
ここでEnter以外の入力を受け付けません。
原因わかる方誰か教えてください。
>>308
パスワード入力だから入力しても見えないとかそんなオチ?
しかし、署名しないとどうなるんだろう・・・
必要って言われたからとりあえず署名してるけど、アプリストアに登録できないとかなのかな?
>>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で回転させた後、元の位置に戻ってしまうのですが
そのままにしておくことはできるのでしょうか?
【速報】日本政府と日本民主党が必死に助け続けるも、ウォンがナイアガラで韓国が崖っぷち
http://engawa.2ch.net/test/read.cgi/poverty/1338225741/
韓国ウォンが急落しています。昨秋ウォンが急落して、日本がスワップ枠を5兆円に拡大して韓国を助けてあげた事がありましたが、
今月またウォンが急落して当時の水準に迫っています。
米ドル/韓国ウォン(USD/KRW)相場は先週末1ドル=約1180ウォン。昨秋のウォン危機で、
1200ウォン程度までドルが値上がり(ウォンが値下がり)しましたが、当時の水準に迫っています。
韓国ウォン/円(KRW/JPY)相場は、1ウォン=0.067円台に突入。(100ウォンいくらで表示されることも多く、現在100ウォン=6.7円前後)。
アジア通貨危機(1997年)当時の最安値が100ウォン=約6.6円、リーマン危機(2008年)直後の安値が100ウォン=約6.1円。
つまり、歴史的な大ショックが起きた当時の水準まで下がってきており、この先もし、ユーロ危機が拡散するなどすれば、
史上最安値更新も見えてくるかもしれません。
現在の韓国ウォンの為替レートが妥当かどうかについてですが、日本は、竹島問題や慰安婦問題などで韓国側の常軌を逸した行為に悩まされている中、
民主党政権は昨年の通貨スワップ5兆円に続いて、今年は韓国国債購入を表明するなど、全力で韓国を助ける政策ばかり実現しています。
本来ならもっと暴落して悲惨な状態になっているはずの韓国ウォンも、日本の信用をバックにして、
比較的マイルドな下落で収まっているという見方もできるでしょう。(執筆者:為替王)
http://news.searchina.ne.jp/disp.cgi?y=2012&d=0528&f=business_0528_180.shtml
チャート
http://www.forexpros.jp/currencies/usd-krw-advanced-chart
>>315
android:fillAfter="true"
android:fillEnabled="true"
>>317
それもやったんですが元に戻ってしまいます。
ウィジェットで使うと駄目みたいです。。
>>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も破棄すればいんじゃね?
>>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
居るんだよな知ったかしてこういう役に立たないレスする奴
>>332
え?正解だよ
地_方_分_権で日本がなくなる
テレビで韓国ドラマばかり流れても、見なければ良いので大きな問題はありません
しかし、地方分権で警察組織・権力を地方の犯罪については国から移管し
採用条件・組織等も地方で自由に決めれるようになったらどうなるでしょう。
今のテレビ局が数十年前に在日枠を受け入れて、今や完全に在日朝鮮人に乗っ取られ
都合の悪い報道は一切しなくなり、民主党が与党になったように
地方分権された警察組織が数10年後に、反日感情を持った外国人に支配される可能性はないでしょうか
在日の犯罪は取り締まられず、日本人の犯罪は過大な罰を与えられたりしないと言い切れるでしょうか。
維新に近い、みんなの党は道州裁判所を設ける案もだしてます。
地域の希望が、声の大きい外国人の希望に取って変わるかもしれません。
橋下氏(維新)の大阪都構想しかり
東海の大村氏、河村氏も地域政党を作って国政で候補者をだす予定です。
選挙まで時間はあります、検討したほうが良いかもしれません。
ぬるぽ
組み込みAndroidの開発環境って有料?
エミュレーターからのアクセスでも、サーバー側は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で識別していることはありえない。
サーバーから一意な値を付与されてるだけだと思われる。
>>342
スクロール制御したいということかな?
参考ほい
http://d.hatena.ne.jp/Kazzz/20101109/p1
Dialog表示時にダイアログの横縦幅を取得する方法を教えて下さい
実は知っているけど僕の態度が気に入らないんですか?
うむ
そうですか・・・
もう生きていくのが辛いので
今までありがとうございました
さようなら
イ㌔
自己解決ならぬ自決だな
>>350
教えてやりたいのは山々なのだがねぇ。
>>350
ちなみにきみはどの質問をした人なの?
多分、>>347なんじゃね?
いや、質問は348だろ。
>>356
ワロタw
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とかもうワケワカメ状態。
とりあえずここが参考になるよ。
つhttp://www.google.co.jp/
大きめの配列を大量に持った場合でも、
画像を大量に表示するのと同様にアウトオブメモリーエラーになっちゃいますか?
もちろん
ですよねー。。。
>>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);
// ここでリスト更新したい
} });
} }
スレッド型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でもいいぞ。
>379
サンキュー、更新できた。
自分はgetCursorしてなかった。
ファイル、フォルダ管理ソフト的な物を作りたいんですが、
内部SDカードと外部SDカードのフォルダが
Environment.getRootDirectory()で取れるパスの1つ上の階層にあるようで、
ここのパスを取得するにはどうすればいいでしょうか?
>>405
「機種に依らず外部SDカードの絶対パスを取得する」方法はない、、、はず。
ボリュームのマウントテーブル読めばなんとかなるかもしれんが、
「外部SDのボリューム名」は機種によって異なるので難しいんじゃね?
>>406
いや、外部SDの絶対パスというか、
AndroZipというアプリがやってるような感じでオペレーションシステムエリア?
という場所のパスが欲しいのです
>>405
getExternalStorageDirectory()とかいう話ではないのね?
Android4.0で、NDKでフォルダを作ると、stickyビットが立ってファイルの削除が出来なくなります。
以下参考です。
https://groups.google.com/forum/?fromgroups#!topic/android-group-japan/iYNHT9PwjxM
mkdir(dir_name, 0x777) とやっても、勝手にtのパーミッションが付いちゃうのですが、
2,3系の動作と同じようにtを付けない(通常のxが付く)ようにする方法はないでしょうか?
よろしくお願いします。
作った後に chmod で外せないのん?
0x777 は 0777 の間違い?
>>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ケーブルをいったん抜いて刺し直す
>>272
漏れ達じゃ分からんわ。
>>418
実機ではなくエミュレータで実行させてるんです…
ホーム画面→プロジェクトが実行される段階で
「The application ○○(プロジェクト名) has stopped unexpectedly.Please try again」
というメッセージが表示されます。本当どうしたもんだか
ADBコケてるからリセットしろ
インスコできる機種の除外ができるみたいだけど
リストにない機種はどうすればいいの?
>>421
android-sdkを入れなおしてパスの設定もして
adb kill-serverやstart-severなど試してみたんですがダメっぽいです
何かやり方がおかしいんですかね?
別にデフォルトプロジェクトを作ってそれを動かす
動く→作ってたプロジェクトにどっかミス
動かない→eclipseのclean起動とか試す
Manifest.xmlにアクティビティ追加し忘れとかでもそのエラー出るっぽいけど
どういうプログラムというかメソッドや計算が多いとシングルコアとデュアルコアで差がつくのでしょうか?
デュアルコアの端末が手に入ったので自分のアプリをインスコしてみたら
表示されるまでがシングルコアの端末に比べ遅いんです。(表示までにいろいろ計算が入ってます)
デュアルコアの方が早くなると思ったのですが。
マルチスレッドでプログラム書いてないんだろ
デュアルコアの端末に変えるだけで勝手に速くなることはない
それにデュアルコアつってもシングルコア性能が落ちてるんだろ
これ読むとマルチスレッドで書いてもシングルCPUで処理したら一番遅くなるみたい
http://www.atmarkit.co.jp/fdotnet/mthread/mthread01/mthread01_01.html
両方に対応するのはどうすればいいの?
コア数検出して分岐
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公式のチュートリアルが一番なんじゃね?
>>446
日本語版あるっけ?
ウィジェットがタスクキラーに巻き込まれて停止しちゃう。
普通のタスクキラーなら大丈夫っぽいけど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機も欲しいとこだな。
>>451
ギャラネク
4.0で正統派CPUでバッテリー10時間
中華でいいのでこの基準のやつが欲しいなあ
しかし10時間もつのは当面出そうにないな
gnはsdカードが無いのがちょっとな
他の機種はほとんどあるのに
使わないアプリならいいが
これからは解像度がHDの機種が増えるから
HDとWVGVの2機種があったほうがいいぞ
ほんとやっかいだorz
NDKに対応してない機種、
つまりarmやx86やではない機種ってどれぐらい存在するんでしょうか?
最新のNDKはmipsもサポートしてる
Application.mk の APP_ABI := に mips と書けばいいらしい
http://developer.android.com/sdk/ndk/index.html
理想言えばキリないからねぇ
俺は普段は実機使ってマルチディスプレーのテストでエミュ使うようにしてる。
あと、そういった機種依存の情報交換こそこういったスレを利用すればいいんじゃない?
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は使わない!
もしデータが消えるようなことでもあったら大変なことになる。
サーバダウンよりプログラマーがやっちゃいけないバグ筆頭。
>>465
当然普通に考えたらそうなんだけど、マルチスレッドでミスってるケースを作ってしまって
調べてるとhttp://d.hatena.ne.jp/ukiki999/20100524/
みたいに書いてるページが有って、閉じるの止めたら実際何の問題もなく動くようになってしまったんで
見かけ上ちゃんと動くようになった時に何が起きてるかもう少しくあしく知りたい
そのやっちゃいけない筆頭を(立場的には)トップディベロッパーであるドコモの
spモードメールがやらかした日本の開発力
(やからしたのは下請けなんだけど)
ソフトウェアのメイドインジャパンは、残業まみれのやっつけで作られてるから
チャイナと大差ないよ
>>449
端末の音量と、メディアプレイヤーの音量は、別物。
端末は、その15とかて正解。メディアプレイヤーのは、端末関係なく、0から1。
>>466
リンク見たけど、DB使う時にオープンして使わなくなったらクローズの法則は崩れてないよ。
別のスレッドでCursor呼び出したら前スレッドでDBクローズしてたってことでしょ?このリンクは
>>470
DB使わなくなったらクローズ、は当たり前だけど、それを誰がどこでやるかが問題で、
自処理してなくても、結局勝手に閉じるよ、って事かと思ったんだけど。
勝手に閉じるまでに何が起きるか分からんし、実際はどこかで閉じたほうが良いには違いないだろうけど
単純に使い終わったら即クローズにしてると、連打するとボロが出て
実際にデータまで保障する場合は、
DB関連は完全に割り込み禁止にして、開く前にチェックして、処理したら直ぐクローズ、
着信が入った場合とかは問答無用でクローズ、書き込む場合はバックアップまで作成するで良いんでしょうか?
>>471
なんかめんどくさくなってきた。
DBオブジェクト化してないのにCursor呼び出してるからエラーでてるんだよ。
>勝手に閉じるまでに何が起きるか分からんし、実際はどこかで閉じたほうが良いには違いないだろうけど
単純に使い終わったら即クローズにしてると、連打するとボロが出て
実際にデータまで保障する場合は、
DB関連は完全に割り込み禁止にして、開く前にチェックして、処理したら直ぐクローズ、
着信が入った場合とかは問答無用でクローズ、書き込む場合はバックアップまで作成する
ここらへんまったく関係ないから
>>458
ありがとうございます
arm、x86、mips以外はまずありえない、と考えても大丈夫でしょうか?
インスタンス無いからエラーが出るのは当たり前でしょ。
なんか質問が悪いのか、聞いてることと全く違うことの回答が返ってきてる気がするんで
先ずはAndroidの方のソース落として辿ってみるわ。すまん。
実際になる音量は3つのボリュームパラメーターの掛け算だよ
おまいら仕事だぞ
http://www.lancers.jp/work/detail/48168
この程度で5万か
相場的にどうよ?
>>476
「舐めてんの?」って感じ
>>476
自分で公開したほうがいいと思う
20万以上ならやってもいいかな
昔、携帯アプリ一本120万円くれるって言われた
っていうか貰った。中抜きされてこの値段だよ。
3本くらいやったと思う。
その代わり3ヶ月くらいずるずると修正対応したけど。
いまは暴落してるのかな?
100万ならやる
それ以下だと自分で開発した方が儲かる
>>476
5万とかなめてるわw
1本100万円で受けて、30%抜いて下請けに丸投げしたい。
5万円なんか1人の人間を1日使える程度の予算だな
その程度で出来るもんかね
知り合いなら1人月
2日くらいは使えるだろ
このくらいのレベルの仕事なら
ここにいる人は自分でアプリを作ってGooglePlayに公開とかしてるの?
少なくとも、5万ぽっちで他人に作らせてマケ公開までさせたりはしてない
>>482
内容によるでしょうね
もちろん、1本まるまるアプリを作れって要求ではないでしょうこの報酬なら
もしそうなら、King of the black
素材以外はすべてやってもらうつもりなんじゃないの?
しかもiPhone/Androidマルチ
iPhoneとAndroidでしょ?
両方作って5万はないな
50万なら両方作るよ
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つの相場なんじゃないの?
不具合対応とかクレーム処理とか考えると金に困ってない限りきついと思うけど。
実際フリーランスであれを受けるとなるとどのくらいなの?
結局無能しかいなくてワロタ
>>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
が関係しているようなのですが、どこを修正すればよいのでしょうか?
>>516
自分で書いてるじゃん
AndroidMnifest.xml中のversionCodeの値を1から2に変えれ
実機でもエミュでもonCreateOptionsMenuが動いてくれない件について
実機の右下(機種によっては左下?)についてるボタンってメニューボタンだよな?
>>519
たぶんそう、うちのは線が四本重なってるアイコン。
returnでfalse返してない?trueにしてみるとか
menu.add("test");
return true;
エラーにRuntimeExceptionが出た場合、どこをどう見直してますか?
ライブラリ読み漁ったり文法見直しても全くエラーが取れず・・・
下記を使用しています。
UniversalTweenEngine
http://code.google.com/p/java-universal-tween-engine/
>>521
発生元たどって自分が書いた所なら
渡してるパラメータとか見直してみれば?
>>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しなくても大丈夫だよ
>>531
無理
>>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月から突入した
ストライキがまた続いており番組に支障をもたらしていることも「ミス」の原因とみるメディアもある。
SDカードの中にあるmp3を順番に再生していくアプリを作っているのですが、
7曲目以降エラーで取得できません。
検索したところ、MediaPlayerでmp3は致命的なエラーがあるとかで、
mp3を再生し続ける方法が結局見つからなかったのですが、
どうにかして再生し続ける事は出来ないでしょうか?
既存のプレーヤーがどうしてるか探れば
>>540
既存のプレイヤーをいくつかデコンパイルしたら、
ソースだけで7Mは余裕で超えるものばっかりだった。
心が折れた
どのプレーヤー?
俺が覗いてやるよ
>>541
ソース貼って。
何か分かるかも
ちょっと外出てるんで、夜くらいにはるとおもいます。
ソースは要らん
アプリ名だけでいい
URL url = new URL(imgurl);
InputStream input = url.openStream();
bitmap= BitmapFactory.decodeStream(input);
画像をダウンロードしてbitmapに変換した時
bitmapにちゃんと画像が入っているか確認する方法を教えて下さい
if (bitmap != null) {
>>544
夜にでもソース宜しく
>>547
ありがとうございます
>>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[]) 行: 使用不可 [ネイティブ・メソッド]
>>554
いや実装されてる
>>530
逐一ちゃんとカーソルを閉じるようにしたら発生しなくなった気がします
ありがとうございました
>>553
gatt
落ちる理由がプログラムミスだったんでチラ裏程度にAndroidで曲再生する時のメモを
// 初期化
MediaPlayer player;
player = new MediaPlayer();
player.setOnCompletionListener(TestActivity.this);
// 曲設定+再生
player.reset();
player.setDataSource(file.getPath());
player.prepare();
player.start();
でもって、再生中の曲を別の曲に差し替える時はreset()からの4行を使えば差し替える事が可能で、
何度も何種類も曲を再生する場合にはMediaPlayerは出来るだけ削除してはいけない。
という事だそうで。
明みたいなのを普通の文字と相互変換する方法を教えて下さい
>>560
あ、変換されてる
&#26126;みたいなのです
今ジェスチャー機能等を搭載した高機能ファイラーをつくることを目標に勉強している途中なんですがcとjavaのどちらがいいでしょう?
!!!!!!!!!Cをお薦めします!!!!!!!!!
>>562
勉強途中といいながら、どちらがいいでしょう?
って何の勉強途中?
4.0端末対応させようと非公式ので無理やりアップデートした端末でテストするのはやっぱダメだな
ユーザーが10万もいるとアップデートが怖いお
こっちの実機テストは3台だけだし
海外の機種なんかしらんがなw
>>567
すごいな、全ダウンロード数は100万くらい?
>>568
50万ぐらいだよ
そこそこヒットして2年ぐらいだとこんなもんでしょ
1ヶ月で10万DLとかのアプリ作りたいよw
無料広告つきアプリ?
java.lang.NumberFormatException: unable to parse '
26126' as integer
ってログに出たのでおかしいと思い質問しようとしたところ
ペーストすると26126の前に改行っぽいのが入っていることがわかりました
\nをすべてけしているので\nの改行ではないと思いますがこの改行を消すにはどうしたら良いでしょうか?
\rでもない?
まずそのcharコードが何か見ろよ
\rと\n
BOMかもしらん
手動でインストールしたアプリとGooglePlayで
インストールしたアプリを判別する方法ありますか?
うん
自分でインストールしたふるいバージョンを、
Playのアップグレードで上げようとしたら警告が出たよ。
どっかで判断できるのかもしれない
>>569
どのくらい儲かった?
>>578
apkファイルもインストール先も同じなので
インストール時に内部で設定してるかもしれないですね。
Androidのソース確認してみます。
>>578
エクリプスからデバッグモードでインストールしてない?
Googleplayに上げる直前のファイルをSDカードに投げ込んで、
本体から直接アクセスすれば、
Googleplayから入れたものでも、上書きインストールされた気がするんだけど
PackageManagerService.javaあたりのインストール過程を
ざっと眺めてましたが、それらしい処理は見当たりませんでした…。
>>581
SC-04Dで確認してみましたが、
GooglePlayでインストール→SD上のapkでアップデート出来ました。
これだと判別してないって事になりますかね?
74 :可愛い奥様:2012/06/06(水) 17:05:45.85 ID:vRJcvd5t0
フジテレビ電話したら今日の番組の変更は無いと言われた
「皇族の方が亡くなられたのに変更はしないんですか?」
と聞いたら
「今のところありません。よろしくお願いします」だと
国の一大事に捏造人気アイドルの茶番をやるつもりらしい
津田大介 @tsuda
別にAKBに恨みはないし、がんばっていただきたいなと思うけど、国民的に大きく報じる話題は
ほかにもっともっとたくさんありますよねじっさい……。テレビは特に貴重な電波資源使ってるんだし。
http://twitter.com/tsuda/status/210265622502842368
東浩紀 @hazuma
同意。
http://twitter.com/hazuma/status/210266350730481664
>>572-575
\rでしたありがとうございます
初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から投げられるから、それキャッチしてうんぬんかんぬん・・・ってすればいいのね。
ありがとう。それらしきブロードキャストを探してみますね。
皆様、貴重なご意見ありがとうございます。
アホみたいにActivityを増やすのは
あまりよろしくない感じですね。
確かに携帯端末ですしね。
作成しているのはしょぼい画面がたくさんある
業務アプリ的なものです。
似たような画面が多いので、Activityは共通化して
593さんみたいな感じにしようと思います。
ありがとうございました。
劇場版『まどか☆マギカ』公開日きたあああ
前編 2012年10月6日公開!
後編:2012年10月13日公開!
http://blog-imgs-51.fc2.com/y/a/r/yaraon/d_20120606155115s.jpg
http://blog-imgs-51.fc2.com/y/a/r/yaraon/20120606155112233s.jpg
http://blog-imgs-51.fc2.com/y/a/r/yaraon/rwer_20120606160126.jpg
こんにちは
カスタムボタンの操作について質問です
起動時には以下の通りにボタンの外見を変更しています。
<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();
ビデオリサーチ社長の秋山創一(元電通顧問)「AKB総選挙の視聴率は高視聴率で当然。私たちは視聴率操作なんてしませんから(キリッ」 2
http://hayabusa3.2ch.net/test/read.cgi/morningcoffee/1339004540/
【元電通ビデオリサーチ社長豪腕秋山伝説誕生か?】 ビデオリサーチ社長に電通の秋山創一氏就任後突然AKBの視聴率が二倍に
http://hayabusa3.2ch.net/test/read.cgi/morningcoffee/1338956168/
AKBオタはCDの不法投棄やめろ
http://up3.viploader.net/news/src/vlnews056149.jpg
http://livedoor.blogimg.jp/yukawanet/imgs/8/7/878c05df-s.jpg
http://news.mynavi.jp/c_cobs/news/byokan/2012/06/akb48cd.html
>>606
よし、エヴァと真っ向勝負だな。
とりあえずエヴァスマホは買う
>>608
任意に外観の変更ができるようになりました
ありがとうございました
minサイズの異なるappwidget-providerのxmlが複数ある状況で
ウィジェットピッカーからそのうち一つが選択されコンフィグActivityが起動したとき
どの設定(appwidget-provider)が読み込まれたか判断したいのですが、
xmlにメタデータを追加する方法があればいいと思うのですが良いやり方はありませんか?
ImageViewは解放しなくていいんでしょうか?
AppWidgetProviderの継承クラスにstaticフィールドを定義し
その継承クラスはAppWidgetProviderInfoから特定できるので
そこからリフレクションを使ってフィールド値をとってくることにしました
リフレクションはコードが汚くなるから嫌い・・・
任意のアプリがホームアプリかどうか調べる方法を考えてるんだけど
下記のようにパッケージ名を全部チェックするしかないのかな?
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があればその時にデータを消す処理を入れるとか
>>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)){
// ホームアプリのはず
}
}
}
正規表現で?をmatchさせるにはどうしたら良いでしょうか?
String st = "?aaa?";
String regex = "?(.*?)?";//これだとmatchされず
String regex = "\?(.*?)\?";//これだとエラーです
Pattern pattern = Pattern.compile(regex, Pattern.DOTALL);
Matcher matcher = pattern.matcher(st);
おk
\\?
Ubuntu 64bit版ではAndroid環境構築できなの?
ビルドもエラーだし、ADBも動かない。
Gentoo amd64でできたので可能かと
ネットの情報見ながら同じ事やってるんだけど、(一部情報が陳腐化しててアドリブ入れてるけど。例えば、Sun-Java→OpenJava)
全然うごかない・・・
↓やったらAndroid-NDKのビルド出来るようになった!
sudo aptitude install ia32-libs
が、以前AVDとか動かない・・・・
突然すみません、スリープからの復帰がうまくいかない事ってあるんですか?
なんか、復帰したりしなかったり遅れたりするんですが。
プログラムが不完全だとあるよ
以前動画再生アプリ作ってる時に不安定になって色々学べた
proGuardを使ってみようとしたのですがproguard.cfgがありません
admobを使うためにAPIを14にしたのが原因だと思いますがこういう場合どうしたらいいのでしょうか?
API8で作ったアプリにはあるので引っ張ってきてもいいのでしょうか?
>>622
ありがとうございます
>>628
ありがとうございます、色々調べてみます。
よければ考えられる原因をいくつか教えていただけないでしょうか
プログラムとしては簡単なアラームなんですけどalarmmanagerを使わずに定期的に設定時間と現時間をチェックさせてマッチしたらスリープ復帰、mediaplayerでmp3再生させています。
USBに刺さってる状態なら確実にスリープ復帰するのですがUSBから離れると復帰したりしなかったりします。
>>629
まず試して駄目なら質問しようぜ!
ProGuardってかけた時ライブラリも難読化してしまうけど毎回シコシコkeep書いてる?
何かいい方法ないかな
>>629
proguard-project.txtとproject.propertiesない?
>>631
スリープ中に何かしようとしたらWakeLock#acquireで起こさないと大抵そのまますぐ寝る。
USBのは本体の設定でUSBささってるとスリープしない設定になってるから
「会議」がアイデアを潰す
若手や中堅がイノベーションを生み出す新しいアイデアを出す時
立ちはだかるのが老人どもの支配する「会議」という壁だ
・老人どもに理解できる企画でなくてはならない
・老人どもの好みに合う企画でなければならない
・既に成功した事例がなくてはならない
・老人どもに気に入られている人物が提案者でなくてはならない
・老人どもに気に入れられていない人物が関わっていてはならない
・老人どもの支援が不要な企画でなくてはならない
・にもかかわらず老人どもにも活躍の場を与えねばならない
・老人どもの気まぐれな口出しにいつでも応じなければならない
・失敗しても老人どもが責任をとらなくてよい企画でなくてはならない
・成功したら老人どもの業績になる企画でなくてはならない
若い頃は前世代のおかげで繁栄したくせに、自分らの時代には経済を衰退させ
そのツケを後世代に回す団塊老人、バブル老人どもが日本の病巣
>>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 {
// 存在しない
}