Androidプログラミング質問スレ Part23
1 :
デフォルトの名無しさん :
2012/06/19(火) 19:57:12.12
3 :
デフォルトの名無しさん :2012/06/19(火) 20:27:38.38
>>1 乙です
前スレの
>>953 さんへ
ぬこバッテリーの人です
ウィジェットの反応がしなくなるのを再度立ち上げるのは
端末がスリープから解除されたときのインテントを受け取ると
startServiceで再度立ち上げるようにしてます。
4 :
2 :2012/06/19(火) 20:31:24.03
勘違いでした 同じ名前のレイアウトファイルを複数使っていて更新してない方にだけパス通してました 新スレ早々すいません
おーし ゲームの基幹部分ができた マップを考えよう
iOSに比べたら明らかにタッチの反応が鈍いぐらいに
スレ立て遅いけど
>>1 乙
Environment.getExternalStorageDirectory()で機種依存が出るテスト環境をお持ちの方にお聞きしたいのですが、 context.getExternalFilesDir(null)でも機種依存がでるのでしょうか?
8 :
デフォルトの名無しさん :2012/06/20(水) 12:36:49.24
ボタン連打ゲームを作ってるんですが 10秒間という時間制限がうまく作れません。 現状は、 スタートボタンにCountDownTimerを付けて変数timeに+1していって timeが10以上の場合連打ボタンを押しても回数が増えないようにif文を組んでいます。 しかし、時間が動いてないみたいです。 誰か教えて下さい・・・orz
>>8 スレッドでタイマーを動かして、スレッドが終了したらフラグ立てて
そのフラグをボタンが押せる押せないの判定につかったらどうでしょう。
むしろ時間を止めて欲しいぜorz
TabActivityをメイン画面で表示して、タブそれぞれに表示させるActivityを 予めonCreateしておきonPauseもしくはonStopで止めておくことは可能ですか? やりたいことは、タブをクリックしてActivityが表示されるまでの間の時間を少なくすることです。
12 :
デフォルトの名無しさん :2012/06/20(水) 14:08:10.38
>>9 case R.id.button3:
// スレッド起動
(new Thread(new Runnable() {
@Override
public void run() {
// 通常バックグランドをここに記述します
new CountDownTimer(10000,1000){
public void onTick(long millisUntilFinished){
}
public void onFinish(){
flag=1;
}
}.start();
これじゃダメなんですか?
動かないんです・・・orz
>>11 タブで表示されるActivityをActivityGroupで管理するとかかね
>>12 UIスレッドじゃだめなんじゃないか
Handler使わないと
14 :
デフォルトの名無しさん :2012/06/20(水) 14:48:27.93
>>13 case R.id.button3:
// スレッド起動
(new Thread(new Runnable() {
@Override
public void run() {
// Handlerのpostメソッドを使ってUIスレッドに処理をdispatchします
handler.post(new Runnable() {
@Override
public void run() {
new CountDownTimer(10000,1000){
public void onTick(long millisUntilFinished){
}
public void onFinish(){
flag=1;
}
}.start();
}
});
}
})).start();
break;
これで合ってますか?
15 :
11 :2012/06/20(水) 14:53:52.95
>>13 ありがとうございます。ActivityGroupについて調べてみます。
16 :
デフォルトの名無しさん :2012/06/20(水) 15:25:33.57
できました。 ありがとうございました。
今更だけど気になったので質問です みんなレイアウト作るとき、XMLと動的どっちでやっている?
sc-05dでスピナーのGUIが表示されないです 文字は辛うじて見分けられるし、動作するんですが、こうゆうのはメーカーの対応待つしかないのでしょうか?
>>3 ぬこさんありがとう。953です。
別の方法で試してみたら解決しました。
remoteViewsにsetOnClickPendingIntentを使わずに
ACTION_WIDGET_TOUCHをブロードキャストで受け取る方法でやったら
反応しないのがなくなりました。
スリープ解除のとき毎回startServiceするよりもいいかもです。
このACTION_WIDGET_TOUCH って解説あるとこほとんどないけどとあるブログにたどりつきました。
リファレンスにものってないw(もしくは載ってるけどインデックスされてなくて検索できないのかも)
ボタンを押すと、this.addContentViewでViewが追加されるんですが、 このままだと何回もボタン押し続けるとViewが続けて追加されてしまうのでやめさせたいんですが、 LayoutInflater inflater = LayoutInflater.from(this); view = inflater.inflate(R.layout.first_form, null); this.addContentView(view, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); これでview足しているんだけど、2回目以降はviewがnullかどうかでif文作ればいいんでしょうか?
21 :
デフォルトの名無しさん :2012/06/20(水) 21:37:46.08
リニアーレイアウトを1/5と3/5と1/5に分割する場合、weightの値は幾つにすればいいのでしょうか?
カスタムコンポーネントって簡単ですか? WindowAPIとMFCの経験はあります
簡単でありますん
>>24 ありがとうございます
どうやって計算しました?
>>25 比率の最小公倍数÷それぞれの数字
1と3と1の最小公倍数は3だから
3÷1=3
3÷3=1
3÷1=3
で3,1,3
これでわからなかったらすまん
説明下手なんだ
27 :
デフォルトの名無しさん :2012/06/20(水) 22:27:25.68
ITXサイズのAndroid搭載ボードが出ると聞いたんですが、それについて話してるスレを教えてください
え? weightを1, 3, 1にして width(かheight)を0dipにするんじゃないの?
全部に5をかけて 1,3,1 じゃね?
今はfill_parentではなくmatch_parentになったんだな
weightは余りを分割するって意味
単純に比率指定したいなら
>>28 ---------------画面サイズ
|10|30|10| 余り | ←この余りをweightで分割して各比率で割り振られる
--------------画面サイズ
|||| 余り | ←面積0dpなら全部余りを比率で分割
33 :
25 :2012/06/20(水) 23:35:30.92
ありがとうございました。
34 :
デフォルトの名無しさん :2012/06/21(木) 08:14:52.20
EclipseにAndroidプロジェクトをインポートしたら、トークンエラーが大量に出てくるんですが・・・・ 原因はなんなんでしょうか?
↑解決しました インポートするプロジェクトにそもそもエラーありました!
エラー残したままコミットすんなってぶん殴っとけ
よくあるw
a
Androidの問題じゃないかもですが・・・ 例えば、TabHostクラスを継承したHITabHostクラスがあったとして、 TabHost super = --- ; HITabHost sub ; とあったとして、 sub = (HITabHost)super ; みたいにしてキャストしたいんですが、キャストできないというエラーが出ます。 TabHostからHITabHostにするにはどうすればいいのでしょうか・・・
>>39 Javaの基礎を1から勉強したほうがいいかと
ソンナコトハデキナイ 最初からHiTabHostで宣言しろ
>>39 です
できないのですか・・・ 親子なのにキャストできないクラスなんてあるんですね・・・
ありがとうございます、勉強になりました。
>>42 子 = (子)親 ?
親 = (親)子 ◯
文字化けした。一行目の?は×
すいません教えて欲しいのですが、 アプリ制作の大きな流れについて res内に使う画像ファイル(drawable)、画面構成(layout)、str等を置く。 ↓ src内でそれらを定義付ける ↓ 定義付けたそれらについて動作をつけていく でよいのでしょうか? Javaは理解できているものの、アプリ制作の流れが掴めず困っています。 よければ皆さんの順序等流れを教えて下さい・・・
やりたいことのサンプルをみつける ↓ コードパクル ↓ 改造する ↓ 完成\(^o^)/ こうじゃないの?w
>>42 親を継承した子には親にないもの(関数とか)が含まれる。
親を子と同等とみなすと子にしか存在しないものを参照できてしまう。
だから親を子にキャストする事は一般にはしない。
逆に子には親にあるものは全てあるので、問題にならない
>>45 drawableに配置した画像は、eclipse(AndroidSDK)の機能で自動的にプロジェクトに取り込まれる
取り込まれた画像は、img.pngならソースからR.drawable.imgというIDからアクセスできる
あとはソースからbitmapfactory.decordなんちゃらでIDから画像Bitmapインスタスを取得できる
BitmapインスタンスをImagaViewとかに設定すれば表示できる
俺の質問なんですが、アプリ内にアプリ紹介機能をつけようと思ってます
ユーザがアプリを誰かに紹介→その紹介によって誰かがインストール→インストールを検知して紹介者にボーナス
という事を実装する方法ってありますかね?
iアプリの頃は、紹介URL(
http://download.php?userid=1とか )から紹介者ユーザIDを取得して
そのユーザIDをアプリ起動時引数に設定とかできたのですが、Androidだと無いんですよね。
先日初めてアプリをグーグルプレイに投稿し、初めてのアプデをしようとしています。 配布中のアプリの仕様を大幅に変えたので自分の実機だけで仮アプデができるかどうか試そうと思い、 グーグルプレイから自分のアプリをインストール→eclipseでアプリ実行 をしました(この発想が違うと思いますが…) すると証明書が前回と違うからアンインストールしろ とエラーを吐かれ ネットで検索しいろいろ触ったらeclipseから実行できるようになりました。 ただ仕様を変えたところが変更されておらず、前のバージョン(グーグルプレイから落とした状態)のままでした。 自分の機種だけアプデを試すにはどうしたらよいでしょうか?
Androidで3Dゲームを作成したいのですがお勧めの参考書はありますか?
>グーグルプレイから自分のアプリをインストール→eclipseでアプリ実行 Play上からDLしたアプリには証明書ついてるけどEclipseで単に実行したやつには証明書つかないでしょ だから怒られる。 アップデート確認がしたいなら 新バージョンのリリース用apkを作ってadbコマンドでインストールしる
新バージョンのリリース用apkを作るってのはあれだぞ プロジェクト右クリック→Androidツール→Export Signed Application Package で作るやつだからね ほんとは前バージョンのapkが残ってたらPlay上からDLインスコする必要ないんだけどね
対象が480x800のアプリケーションであっても、横に960とかのレイアウトって作れるんでしょうか? ビューを横にスライドしたら、次のビューが横から出てくる感じのものを作りたいんですが Flipperだと1つしか出てこないから不満なんです
自作のレイアウトクラスを作ればどんなふうにでもできる
ScrollViewに960*800のレイアウトを入れて、そのレイアウトの中にview配置すればいいんじゃね Flipperだってスワイプしたら片方のビューを別のビューを動的に切り替えれば、横長風に見えるよ
developersのサイトデザインがかわっちょる
え?どこ?
どこ?ってあんた見たことないの・・・?androidプログラミングしてるのに・・・?
一週間ぐらい前から使い始めたからそれ以前はしらんぜよ
初歩的な質問でゴメン。 Listviewの中の要素を押して、そこから更にListが出てくるもののサンプルって何処かにある? わかりづらいけどこんな感じ +hoge1 +hoge2 +hoge3 ←ここをタップすると -test1 -test2 +hoge4 ↑こんな感じになるやつ。 名前が分からなくて困ってる。
ExpandableListview
64 :
デフォルトの名無しさん :2012/06/22(金) 17:35:16.95
Viewを持つフラグメントの入れ子って可能? フラグメントA :レイアウト1をインフレート フラグメントB:レイアウト2インフレート Activityのメインレイアウト内にフラグメントAを配置 レイアウト1の中にフラグメントBを配置 実行すると android.view.InflateException:Binary XML file #xx : Error inflating class fragment というエラーが発生するんだけど、なぜこうなるかがわからない 助けて偉い人!
すまん、上げてしまったわ
67 :
デフォルトの名無しさん :2012/06/22(金) 19:33:45.27
FrameLayoutはデフォルトだと左上の隅で揃えますが、それを左下の隅で揃えることはできませんか?
ブラウザアプリの試作を作っていてwebviewを使用しています。 キャッシュモードはノーマルに設定しているもののドルフィンブラウザのような速度は出ていません。 他のブラウザアプリでも独自のキャッシュ方法などで高速化されているのでしょうか?
69 :
デフォルトの名無しさん :2012/06/22(金) 22:45:23.46
Log.dで thisが指してるものを文字列にして表示させたいのですが、どうすればいいんでしょうか?
progressdialog.show thread.start() run() とやってもダイアログが表示されないです どして?
74 :
70 :2012/06/23(土) 17:05:19.51
分かんなくなったのでasynctaskに方針転換しました Asynctaskで使った値を外に渡すことはできないのでしょうか?textViewにsetするサンプルはあるんですが見つからない doinbackgroundからonpostexecuteに渡して行き止まりですか? ファイルに書き出すしかない? textView介してgetとか?
>>74 クラスの配置にもよるけど、外部クラスのメンバを呼ぶとか
そうでなきゃコールバック渡しといて呼ぶとかやりようは幾らでもあるとおもうが
76 :
70 :2012/06/23(土) 17:25:10.34
あざーす やってみまーす
ToneGeneratorで生成する音を網側に送出するのはどうしたらいいんでしょう IVRの対応を自動化させたいのですが
78 :
デフォルトの名無しさん :2012/06/23(土) 20:47:18.89
Win8に嫌気が差してWinアプリをandroidに移植したいんだけど java覚えないとダメっすかね?
NDK(ねえどんな気持ち?)って方法がある
Java SE 7u5のJDKインストールしてSDKは最新のr18入れようとしたんだけどJDK not foundっていわれてインストールできない 戻る押して次へにいっても変わらず どうすればいいんでしょうか
81 :
デフォルトの名無しさん :2012/06/23(土) 23:51:34.15
最近Androidアプリの勉強始めました。 実機確認用に端末を一台買おうかと思ってるんですが、 安価でオススメなのありますか?
好きなの買え
Android2.3以上がおすすめ あとインカメラあると使いたくなった時に試せるからおすすめ "HTC EVO 3D ISW12HT"ってのを開発用に使ってるけど、若干重いこと以外は特に不満は無いなぁ
OncheckedChangedメソッド内でこういうコードを書こうとしたらエラーになるんですが public void onCheckedChanged (CompoundButton view, boolean isChecked) { isChecked ? view.setVisibility(View.VISIBLE) : view.setVisibility(View.GONE); } 三項演算子って、 条件式 ? 処理1 : 処理2; なんじゃないですか?
85 :
84 :2012/06/24(日) 00:58:04.65
自己解決しました
>>84 エラーの内容くらい書けよ
三項演算子でぐぐれ
処理じゃなくて式だぞ
>>86 エラーつーかコンパイルが通らないんです
Javaの場合は代入式で、 性器 = 男 ? ちんこ : まんこ:みたいに使わないとエラーになると理解しました
JavaはCと違ってどんな式でも文になれるわけじゃないんだ 代入、インクリメント、デクリメント、メソッド呼び出し、new だけ
代入文にしたら通るのか。 view.setVisibility()がvoidで戻り値がないからかと思った。
>>83 アドバイスありがとうございます。
参考にさせてもらいます。
91 :
デフォルトの名無しさん :2012/06/24(日) 10:51:23.22
初心者な質問で申し訳ないですが xmlファイルをクラスで書き換える 方法を教えてください。 ウィジェット表示する際の色情報を xmlファイル(string.xml)に持っておきたいので、 ウィジェット設置時にアクティビティを 起動してダイアログで選んだ色を 書き込みたいと思ってます。 xmlって書き換えられないんですかね・・・
>>92 values以下のxmlに書くのはプログラムの中で変わることのない固定のもの。
そういうちょろっとした設定を保持する用途にはSharedPreferencesが用意されている
>>93 なるほど、調べてみます、
ありがとうございました。
昨日一日これで詰まってました。。。
95 :
デフォルトの名無しさん :2012/06/24(日) 16:37:12.82
勉強の為に、目覚まし時計のアプリを作っていて、 指定した時刻にAlarmServiceを使って、鳴らそうと考えているのですが、 時刻を過去の時間(今が13時の時にセットする時間が12時)にアラームセットすると すぐに起動してしまい、うまく扱えません。 過去の時間にセットしてもすぐに起動せず、明日の12時に起動させる方法はあるでしょうか? また、AlarmService以外に指定した時間にうまく鳴らせる方法があれば教えて頂きたいです。 ご教授お願いします。
自分で考えろよ
過去の時間にセットするのが間違いだってなぜ気が付かないんだろう 起動して欲しい時を指定すれば普通に未来になると思うのだけど
>>95 上司「俺が合図したらPM12時に鐘を鳴らせ!絶対にだぞ!」
部下「はい!!」
--- AM 7:30
上司「おい!」
部下「は、はい!!(鐘を鳴らすのは、あと4時間30分後だな!)」
--- PM 13:30
上司「おい!」
部下「は、はい!!(鐘を鳴らすのは・・・えっと・・・明日になるから・・22時間30分後だな!)」
>>95 まずは引数にナニを入れているか考えるんだ
ダウンロード前のmp3から曲情報を取得するにはどうしたらいいですか? Android java mp3 ダウンロード前 情報取得でググっても出ませんでした
>>95 AndroidでUNIXTIMEでもなんでも取得して
1日周期に変換
次回の時間を計算して、特定周期で判別
これでだめなのか?
初心者な質問で申し訳ないですが、 本に載っているサンプルコードを参考にプログラムを作っています 実行すると「予期せず停止しました。やり直してください。」と表示されます Logcatを見ると「NullPointerException」と出ています。 このエラーの解決策を教えてください。 エラーになってる部分は下記の箇所で、それぞれ違うクラスです。 書き込みじたい初めてなので、 質問の仕方も悪いかもしれませんが、宜しくお願いします。 public void drawPixmap(Pixmap pixmap, int x, int y) { canvas.drawBitmap(((AndroidPixmap)pixmap).bitmap, x, y, null); } public void present(float deltaTime) { Graphics g = game.getGraphics(); g.drawPixmap(Assets.startscreen, 0, 0); g.drawPixmap(Assets.title, 62, 100); g.drawPixmap(Assets.menuButton, 94, 320); } game.getCurrentScreen().present(deltaTime);
null渡してるんだからガッされるのは当たり前だろ
とりあえず強制終了は Logcat見て赤くなってる所を上から見ていって 自分のアプリのパッケージ名が最初に出てくるところに書かれている ソースと行数が問題を発生させている部分だ! ってのテンプレに入れて欲しいわ
public void drawPixmap(Pixmap pixmap, int x, int y) { canvas.drawBitmap(((AndroidPixmap)pixmap).bitmap, x, y, null); } のnullですよね? サンプルコードではこれで通っているので、 何でかなと思って
すみません、初心者質問なんですが、 アプリアップデートした際のダイアログ(アップデート後、1度だけしか表示されないダイアログ) ってどのビューを使用してるんでしょうか? どっかでフラグ管理してダイアログ消してるだけでしょうか?
まあたいがいはSharedPreferenceだろ
>>106 サンプルコードで通ると言っているのは実際に書いて動かして確かめたかどうか
>>109 実際に丸写しして、動かしました。
エミュでも実機でも問題なく動きました
111 :
デフォルトの名無しさん :2012/06/24(日) 23:14:05.31
ArrayAdapter<String>arr1 = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1); ArrayAdapter<String>arr2 = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1); この二つを 配列の中に入れたい時どうしたらいいですか? 普通の配列(intとかString)なら int[] ints = new int[2]; ints[0] = int1; ints[1] = int2; で入れられますがこの場合 ArrayAdapter<String>[] arrarr = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1)[2]; の時点でエラーが出ます
112 :
111 :2012/06/24(日) 23:15:12.55
ArrayAdapter<String>[] arrarr = new ArrayAdapter<String>[2];でした
>>103 そのコードのどの行なの?
Logcatに該当行が出てるはずなんだから、その行を書かないとエスパー待ちになるよ
>>95 丁度同じ事やってたので、これで解決できないかな?
独学なのでコードが汚かったらすまぬ
Calendar calendar1 = Calendar.getInstance();
int hour = calendar1.get(Calendar.HOUR_OF_DAY);
int minute = calendar1.get(Calendar.MINUTE);
int sec = calendar1.get(Calendar.SECOND);
long sa;
SharedPreferences sp = null;
int aa = hour*3600+minute*60+sec;
//設定から指定したい時刻を取ってくる。
int bb = sp.getInt("TimePicker_Hour", 0)*3600+sp.getInt("TimePicker_Minute", 0)*60;
if(aa<=bb){
sa = (bb-aa)*1000;//時間の差をミリで取得
}else{
sa=(86400-aa+bb)*1000;//次の日の時刻を取得 86400は一日の秒数
}
Context context = getBaseContext();
Intent intent = new Intent(context, Ar_Service.class);
PendingIntent pendingIntent
= PendingIntent.getService(
context, -1, intent,
PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager
= (AlarmManager)
context.getSystemService(ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,
System.currentTimeMillis()+sa,
60000, pendingIntent);
>>113 Logcatで出ている最初のエラー行はこれです
canvas.drawBitmap(((AndroidPixmap)pixmap).bitmap, x, y, null);
じゃあcanvasかpixmapかbitmapがnullなんだろ それくらい自分でログ出して調べてみぃ
最近どいつも具体的なエラー内容を書かないのはあれか 教えてクン養成マニュアルを皮肉だと理解できずに真に受けでもしてるのさ
あ、あれ
もしかして
>>64 って見当違いなこと聞いてた?
フラグメントの入れ子はそもそも仕様上不可能とか?
作ったアプリに広告を入れたいと思い medibaというサイトに登録しSDKをダウンロードしたのですが実装でつまづいてしまいました サイトにはまずビルドパスを通せとあるのですがパスを通すと4つほどクラスが作られるのですがクラスのソースがないと表示されるのですがこのままでいいのでしょうか?ご教授お願いします
クラスのソースってなに
javaclassのソースコードです
すいません。初歩的なことかと思いますが、ググってもさっぱりだったので... 自分のプロジェクトに import android.app.ActivityManagerNative; とやりたいのですが、ActivityManagerNativeが標準でSDKに含まれていないため、 gitでソースを落としてきました(10GBもある!) で、この中にActivityManagerNativeが含まれていることは分かりましたが (frameworks/base/core/java/android/app内)、 こいつをEclipse上でどうやったら自分のプロジェクトから使えるようになるかが 分かりません。ファイルやフォルダをプロジェクトにコピーしてもエラーだらけで... よろしくお願いします。
呼びたいメソッド使いたいフィールドだけ切り出して持ってくる メソッドは枠だけあれば中身カラで可 非公開APIはバージョン間の互換性が保証されないことを忘れないように (まあ公開APIも大概だけど)
このスレでいいのか分からないけど、最近の端末で 内部メモリを内部ストレージと本体メモリーの2つに 分けてある理由を書いてるサイトとかある?
>>125 そんなサイトは知らないけど
データの保存処理を外部ストレージ決めうちでやるケースが多いので
外部ストレージがない端末では困ることになるから、その対策でというのは想像がつく
>>126 アプリ側の互換を取るための配慮なのかな?
GalaxyNexusみたいに内部ストレージしかない機種もあるし
メーカーの方針の違いだろうか
すみません、質問させて下さい。 アプリ内課金のサンプルを動かそうと思っているのですが、 Eclipseのandroid sdk managerを開いても、extrasの下に Google Market Billing packageが表示されず困っています。 ちなみに表示されているのは、 Android Support package Intel Hardware Accelerated Excecution Manager package の2つだけです。 表示設定のチェックやリロードなど、色々試してみましたがだめでした。 原因をご教唆頂けますと幸いです。
bluetoothのプログラミングの参考文献を検索してもあまり出てこないのですが、おすすめのwebページあるいは参考書などはありますか?
android bluetooth で穴があくまでぐぐる
まさか「英語読めません」とか言わねぇだろうな?
質問するほうもアレだが、アホみたいにレスするやつもアレだな
アレとかソレとか老害への一歩だぞ しっかりしろよ
別にここだけじゃなく、最近はどこのスレもこんなんばっかだ 質問するときは情報隠せって、専門学校で叩き込まれるのか?
135 :
デフォルトの名無しさん :2012/06/25(月) 22:56:16.59
ダウンロード中の音楽ファイルを music.getDuration();で取得すると 例えば全部の長さが10000のファイルで20%しかダウンロードしてない状況だとgetDuration()の戻り値が2000になってしまうんですが ダウンロードが100%じゃなくても100%の長さを取得するにはどうしたらいいんでしょうか?
android ダウンロード中 音楽ファイル で穴があくまでぐぐる
137 :
デフォルトの名無しさん :2012/06/25(月) 23:31:53.18
>>136 かなり下の方まで探しましたがアプリ紹介サイトばかりで見つかりませんでした
139 :
デフォルトの名無しさん :2012/06/25(月) 23:52:09.81
extractMetadata
141 :
デフォルトの名無しさん :2012/06/26(火) 00:36:09.42
>>140 android 2.3.3 以上ですよね?
2.2までは対応させたいです
条件後出しすんなゴミ
>>135 絶対の方法はない。
メタデータの付いてない可変ビットレートのMP3ファイルは全フレーム読まないと長さがわからないので。
言い方はともかく至極当然なツッコミ内容だろう
煽りしかしない回答者とか雰囲気悪くするだけで迷惑 職場にこういうのいるよな
どういたしまして。
>>135 1. HTTPのContent-Lengthをみる
2. そのサイズのダミーファイルを作る
3. ヘッダ部分を本物で埋める
4. そのダミーファイルでgetDurationする
progressiveに対応してほしいのう
>>146 板じゃ確かに表現キツイかもね。
職場なら言われて当然だろ。
むしろ語尾のバカ、ゴミがクビじゃないだけいいと思う。
それただのブラックじゃ
そりゃあんな低能ブラックがせいぜいだろ
153 :
デフォルトの名無しさん :2012/06/26(火) 07:59:23.47
RelativeLayoutにEditTextを貼り付けたのですが、ソフトウェアキーボードがせりあがってEditTextにかぶさったとき、中身の文字だけがキーボードぶん移動して切れてしまいます。 キーボードを閉じても文字は切れたままです。EditTextごと動かすにはどうすれば良いでしょうか
AlertDialogでリストを表示させる場合setItemsメソッドを使いますが、 このリストの幅を細くする(文字のサイズを小さくする?)にはどうすればいいですか
AAAというクラスでTextViewを使っているのですが、TextViewにいろんな機能を持たせるために、TextViewを継承したクラスBBBを作って、AAAの中で使っています。 そしてAAAクラスの中でBBBクラスを基にして作ったTextViewをクリックした時、別のアクティビティを呼び出すためにstartActivityForResultをBBBの中で書いたのですが、実行時エラーとなってしまいます。 この実行時エラーを解決する方法はありますでしょうか。 関連するであろう部分を以下に記します。 ちなみに、呼び出すアクティビティのクラス名はxxxとしています。 package aaa.bbb; import android.app.Activity; import (他多数) public class BBB extends TextView implements View.OnClickListener { Activity act; private static final int RC = 501; public void onClick(View v){ Intent intent = new Intent(); intent.setClassName("aaa.bbb","aaa.bbb.xxx"); intent.putExtra("keyword", アクティビティに渡す値); act.startActivityForResult(intent, RC); } protected void onActivityResult(int requestCode, int resultCode, Intent data) { if(requestCode == RC_&& resultCode == act.RESULT_OK) { // ここで結果を取得して, 表示する処理を書いています } } } なにぶんAndoirdでのプログラムが初めてなもので、もしかすると基本的なミスだとお叱りを受けるかもしれませんが、ご教授の程、何卒よろしくお願い致します。 もし情報がこれだけでは不充分なのであれば、その旨を頂ければまた書き込ませて頂きます。
なんちゃらExceptionてlogcatにでてないの? あと、onActivityResultはどのクラスのメソッドか調べてみるといい
もしかして act に何も代入してなければ初期値 null なので呼び出した時点でぬるぽ
ガッ!
159 :
155 :2012/06/26(火) 11:18:59.59
>>156 すみません、logcatについてはあまり使ったことがないのですが、作っているアプリが音声認識を使っているので、エミュレータでの確認が難しいです。
実機でlogcatは見えなかったように思うのですが・・・
もしできるのなら私の勉強不足です、すみません。
>>157 確かに、何も代入してませんでした。
startActivityForResultメソッドだけ使いたい場合、何を代入すればいいんでしょうか。
>>159 このスレに来てlogcat使ったことないなんてよう言えるな。
>>160 でもスレみてると、半分ぐらいの人は知らない感じだよ。
回答みていてもそんな感じがする。
何人いようがその全員に同じセリフを言うだけだよ
同じような繰り返しが起きているのなら、テンプレに追加すればいいのでわ
Logcatも使えない奴がテンプレ読むかよ
毎回Logcat読めないやつガーって言うのかw
Logで1行だけ赤字ならいいけど 一気に数十行出てくることもある あれはしんどい だいたい最初の一行でわかるけど
>>159 Logcatは実機でも使えるよ。
呼び出し元のActivityだけど、static参照って出来なかった気がする。
>>165 結局、毎回「テンプレよめ」というのと何もかわらんだろw
>>159 それで、なんぼもろてんの?
AAAとか伏せなあかん内容やったら
多分、趣味でやってんちゃうやろ?
170 :
デフォルトの名無しさん :2012/06/26(火) 22:23:46.99
同じXMLをincludeで再利用する場合、findViewByIdでインスタンス化する場合はどうすればいいのでしょうか? 一意となるIDがないから、インスタンス化できなかったりしますか?
>>171 View v;
v = findViewById(R.id.test1);
とした場合、findViewById(R.id.test1)でインスタンスは作られてないのですか?
あと自分で解答みつけました
普段はView v = this.findViewById(R.id.test1)とするところ
View v1 = 親view.findViewById(R.id.test1);
とすればいいらしいです
>>172 インスタンスはそれより前のinflateで親Viewごと作られてる
findViewByIdは、その親Viewから指定されたIdのViewを探して、
vにそこへの参照を代入してるだけ。こういうのはインスタンス化と言わない
まんが王国とかのアダルト広告配信してるのどこやねーん
初歩的な質問だけど findViewByIdを変数に入れることをinflateといって それはつまりインスタンス化してるってことであってる?
Javaの基礎から勉強してこいカス
全然あってない
オナホにローション注入することをセクロスといって それはつまり童貞を捨てたってことであってる? っていうくらい合ってない
Javaの基礎以前のオブジェクト指向からキチンと把握しとかないと、いずれ大ハマリするよ
inflateってこのスレではじめてみたけど何? ぐぐっても詳しい解説どこもしてないぞ
Androidプログラムの経験が浅くて 単にActivityにsetContentViewでレイアウトをセットする位しかやったことないと、 LayoutInflaterなんてクラスを目にすることすらないから、 最初は分からんのも無理ないだろうさ。 ListViewとAdapterとか触り始めてようやっと 「レイアウトファイルからViewってどうやって作るの?」 ってなると思うんだ。 この時inflateという言葉を知っていれば、 後はさくさく解決するだろうさ。 俺は知らなかったから結構苦戦した記憶があるw
184 :
155 :2012/06/27(水) 00:19:08.05
160〜169の皆様
logcatは確かに初歩的な内容でした、調べてみるとわかりました。申し訳ありません。
そして今は実機をUSBで繋いでデバッグするためにドライバをインストールしたのですが、パソコン側で認識してくれなくて四苦八苦しています。
恥ずかしながら、普段はレンタルサーバーにアップしたapkをわざわざダウンロードして実行する手間なことをしていたので・・・
>>169 お金をもらってやっているわけではありません。
クラス名などを単純な名前に変えた方が、皆様にわかって頂きやすいかと思ったたけです、誤解を招いたようならすみません。
普段は2chを見ないので知りませんでしたが、営利なら聞いてはいけないというルールがあるんですね、もし仕事でプログラムをする機会があれば、ここでは聞かないようにします。
そんなルールないよ 気に障って突っかかる奴が居るだけ
ドライバをいったん削除して、実機繋がずにインストール→実機つなぐ のコンボでうまくいくかも 使ってる端末どこの? あと、ここを使うのはあくまでヒントを得るためで、まんま教えられたコードをそのまま使うんじゃなくてちゃんと検証しないとマとしてダメだよってこと 質問に営利非営利関係ないさ
設定→開発→デバッグ をONにしてないだけだったりして あとADBインターフェイス(だっけ?)ドライバじゃないとダメとか しらないと結構ハマる人が多かった気が 違う、それは端末をストレージとして認識させるドライバだ! と何度突っ込んだ事か
うおおおおLayoutInflater初めて知ったw 動的なレイアウトはjavaだけで書いてきたけど xmlでもいけるのか
190 :
155 :2012/06/27(水) 01:22:52.60
>>185 そういうルールはないんですね。
右も左もわからないところで言われると、ついつい信じてしまいがちになります。情弱とは私みたいなのを言うのかもしれませんね。
>>186 ドライバをインストールするのにinfファイルを右クリックでインストールしようとしても、「選択されたINFファイルでは、
このインストールの方法はサポートされていません」と言われてしまいましたので、教えて頂いた手順ではできませんでした。
端末はlenovoのIdeaPad Tablet A1で、ドライバは公式からダウンロードしました。
インストールすると、デバイスマネージャーでは「Android Composite ADB Interface」と出るのですが、adb devices
コマンドでは「List of devices attached」と出ます。また、eclipseで「実行の構成」からターゲットを手操作で実行しても、
「Choose a running Android device」に何も出てきません。
確かに、教えられたことを単純にコピペするだけで留まらないように心掛けてはいます、なぜそのコードで動くのか、意味を
ある程度理解できるよう自分なりに調べているつもりです。
>>187 実機の設定は、「デバッグ」と「提供元不明のアプリ」はONにしてあります。
ADBインターフェースドライバというのは、186さんへのレスで書いた「Android Composite ADB Interface」でいいのでしょうか?
>>189 マニフェストファイルのdebuggableもtrueにしてあります。
LogCatを見れるアプリもあるんですね、試してみます。
皆様、親切に教えて頂きましてありがとうございます。
191 :
デフォルトの名無しさん :2012/06/27(水) 01:31:59.60
android自体のソースどこかからダウンロード出来るもの? エラー出ても普段追えないソース追えたりするのかなと デバッグ実行以前にコンパイルも無理そうな予感がするから見るだけになるけど なんでエラー発生してるの?っていう場面が多くて堪らない 作法を知らないだけなんだけどさ
>>190 >実機の設定は、「デバッグ」と「提供元不明のアプリ」はONにしてあります。
>ADBインターフェースドライバというのは、186さんへのレスで書いた「Android Composite ADB Interface」でいいのでしょうか?
そう、それそれ。あってます。
じゃあ何が問題なんでしょうな…
adb kill-server
adb start-server
を試してみるとかどうでしょう。
たまにこれで見えないデバイスが見えるようになるんだけど。
あと、最近はdebuggableって無視されるんじゃなかったっけ?
俺そんなの書いたことない。
>>191 最近はSDKダウンロード時にソースも一緒に落とせるようになってるんだぜ。
但し完璧に全部ではないっぽい。
多分、ネイティブ側のソースはこれでは手に入らない。
昔はgitとか言うの使ってごりごり全部落としたんだが、
pythonのバージョンが違うとか何とか色々はまって泣きそうになってた。
あと落ちてきたソースのサイズが思いのほかでかくて泣きそうになってた。
今でも全ソースが欲しければコレやるしかないけど、
ネット上で日本語の情報を探しても、殆ど内容が陳腐化してしまっていて、
あんまり役に立たなかった気がする。
とりあえず気合と根性とcygwinがあればなんとかなる。がんがれ。
そしてやり方分かったらここに手順を報告していただけると助かりますw
native のソース持ってきた所でデバッガで追えるわけでなし、何知ったかぶりしてんだか
なんだ突然 ネイティブ側のソースが読めなかったのがそんなに悔しかったのか
197 :
155 :2012/06/27(水) 02:08:54.58
>>192 kill-server、start-server を実行し、改めて devices してもダメでした。
実機を接続しての実行はLogCatを確認するための手段でしたので、189さんに教えて頂いたCatLogをインストールして実機でLogCatを確認することにしてみます。
せっかく教えて頂いたのに結果を出せずにすみません、ありがとうございます。
おれもgrepcode見てるぜ かなり勉強になる
インテントで、ツイッタークライアントだけを取ってくる方法ってありますか? intent.setType("text/plain"); だと関係ないアプリが表示される
ない 自力でツウィッタークライアントのパッケージ名一覧を作るしか
>>201 BRAWSABLEで、hostを"www.twitter.com"とするフィルターでイケるんじゃね?
手元にあったPlumeとTwitcleは両方ともこのフィルター持ってた。他は知らんw
なんだよ"BRAWSABLE"てw 正しくは"BROWSABLE"な
Excelのようなセルの集合体を作りたい場合は EditTextを気合で並べるか、グラフィック(?)で描画するくらいしか方法はないですか? CodeZineのDBGridを使ってみたけど列と行が大量にあるとだめぽお・・・
GridViewをカスタマイズして使うか、ListViewやGridViewのように見えなくなったViewを再利用する方法を取れば?
>>206 再利用する方法を使います。
ありがとうございます。
208 :
201 :2012/06/27(水) 11:08:24.11
実装出来ました。
ありがとう御座います。
参考になれば使ってください。
try {
Tweet = "
https://twitter.com/intent/tweet?text= "
+ URLEncoder.encode(Title, "UTF-8")
+ "+"
+ URLEncoder.encode(HashTag, "UTF-8")
+ "&url="
+ URLEncoder.encode(mUrl, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
Intent intenttw = new Intent(Intent.ACTION_VIEW, Uri.parse(Tweet));
startActivity(intenttw);
自作アプリをブラウザにすればよろしい
Android4.0.xでWebViewを表示するアプリを作ってます。 以前の2.x系のWebViewではリンククリック時にリンクがハイライト表示されたのですが、 同じアプリでも4系ではハイライト表示されないようです。 なにか必要な処理が変わったんでしょうか?教えてください。
OutOfMemory対策に画像の展開メモリサイズを知りたいのですが方法はありますか?寸法はinjustdecodeboundsで得られても何ビット画像なのか分からないので詰まりました。
ARGB8888とか自分で指定すれば計算できるんじゃまいか
円にグラデかけてから歪ませればエエやん?
ComposeShaderでできたわ
3.0からwebviewで長押しすると画面上部にバーが出るようになりましたが、 これを出ないようにするか、これのコピーを検知する方法はないでしょうか。
>>219 startActionModeをオーバーライドしてnullを返せば抑止できた気がする
ActivityA⇒ActivityB⇒ActivityAと画面遷移した後、finish()を実行すると、ActivityBに戻ってしまいます 本当はアプリ自体を終了させたいのですが。。 ちなみにActivityBで動いている処理は、onPause()のタイミングで全て止めています
>>221 ActivityBでfinish()してないからじゃね
223 :
221 :2012/06/28(木) 21:13:03.48
>>222 基本的にstartActivity()した後は必ずfinishしています
224 :
デフォルトの名無しさん :2012/06/28(木) 21:13:21.52
http通信で100KBまでダウンロードして100KBの時点で終了したいんですが http.connect(); InputStream in = http.getInputStream(); InputStreamReader reader = new InputStreamReader(in); StringBuilder builder = new StringBuilder(); char[] buf = new char[1024]; int numRead; while (int i = 0;i < 50;i++) { builder.append(buf, 0, numRead); } reader.close(); in.close(); http.disconnect(); こんな感じに普通に途中で切ってしまっても大丈夫なんでしょうか?
225 :
221 :2012/06/28(木) 21:15:05.63
>>222 と思ったら、ピンポイント的にfinishが抜けておりました・・・
ありがとうございました!!
必ずfinishしています(キリッ
finish(人生)
標準のブラウザや他のブラウザアプリはタイトルバー+webview+メニューのパターンが多いのですが、 webviewのスクロールに合わせてタイトルバーもスクロール(下にスクロールすると隠れる)するのはどう実現しているのでしょうか? LinearLayOutでタイトル+webview+メニューで順番に配置した場合 タイトルバーはwebviewのスクロールに合わせて移動してくれません・・・
>>228 わざわざ、指摘してるのに
「それはちゃんとやってますから」とか自慢げにいうやつってなんなんだろうね。
「ちゃんと作ったのに動きません」とかさ。
いや、ちゃんと作ってないから動いてないんだよ。
プログラムは作った通りにしか動かない
これ分かってない奴多すぎだろ
(あぁ、コンパイラのバグとかは除いてw)
>>229 RelativeLayoutで重ねて置けばおk
アクションバーってメニューボタンを廃止して、 従来のメニュー・処理を常に押せるように表示しておけってことですよね。 ぶっちゃけこれってアイフォンのパクリってことでいいんでしょうか。 であれば、アイフォンと同じように機能を持たせようかと思うのですが。
持たせたらいいじゃない。
コンピュータの歴史はパクりの歴史だ いいと思ったら容赦なくパクれ
パクリじゃないインスパイアだボケ
アップルってどこまで特許申請してるん? オーバースクロールは問題になったから知ってるんだが他のUI面で特許あるん?
Serviceを開始するにはActivity継承クラス内でしかできないのですか?
Context持たせればどこでも
公開したアプリを更新する たびに再課金することってできますか?
app_name を変えればよろし
あ
ああ?
うおー。WiMAXで書き込み出来てるじゃん!
それローカルファイルだよ
早速質問です。曲の再生と曲名を表示させるService(AIDL実装)があるのですが、Widgetでも同じ様に次曲のタイトル等を自動更新させたいのですが、Click時のonUpdateでしか更新する方法が思いつきません。
おそらくBroadCastさせて情報を送受信させると思うのですが、 美味くコードがかけません。ググりまくっても中々同じ様なsampleが無いので、 どうかお知恵を貸してください。 ※久しぶりの2chだったので改行忘れてましたすまそん。
そのサービス内で曲が変わったときに明示的intent投げれ でAppWidgetProviderでレシーブしてアップデート
USB接続でデバッグすると、 PCがフリーズしてしまうのですが、 回避方法とかありませんか? 実機:xperia PC:dell(i3)/win7
250 :
246 :2012/06/30(土) 18:34:27.04
>>247 ログから取ってみようと思ったんですけど、それさえ取れません。
サービス側
Intent intent = new Intent(アクション名);
intent.putExtra("KEY", TITLE_NAME);
sendBroadcast(intent);
AppWidgetProvider側
onReceiver(Context context,Intent intent){
if (intent.getAction().equals(アクション名)){
Log.v(TAG,"onReceive");
}
}
}
251 :
246 :2012/06/30(土) 19:15:46.89
これでも駄目です…。 Service側 Intent intent = new Intent(Service名.this,AppWidgetProvider名.class); intent.putExtra("KEY", TITLE_NAME); sendBroadcast(intent); Widget側 public void onReceive(Context context,Intent intent) { Log.v(TAG,"onReceive"); Bundle bundle=intent.getExtras(); String text=bundle.getString("KEY"); Log.v(TAG,text);
マニフェストでプロバイダにintent-filterを追加してないに100ペリカ
253 :
246 :2012/06/30(土) 20:09:56.16
>>247 251の方法でログ通過してくれました。onReceiveからも無事Updateして
曲名が自動更新出来る様になりました。ありがとうございます。
>>252 アクション以外はマニフェストへのintent-filter追加ってしなくても良いはずじゃ?
とりあえず現時点では追加しなくても動作するようです。
マニュフェストって何ですか?
政権公約
>マニュフェスト 何で最初から全部の権限が許可されていないのかな…
>>257 ユーザーじゃなくて、
アプリの作者が権限を付加するくらいなら
なくても良いのに、ってこと。
ん? 開発者側としてはないと困るしょ
ユーザーからすれば余計なことをしてないのが一目でわかる。 開発者からすれば余計なことをしていないという証明になる。 権限があって困るのはマルウェアを作ろうとしている人だけ。
まあavast騒動でユーザに一目でわかる知能がないってわかったし 結局見ないなら全許可でもいいよねPCみたく
262 :
デフォルトの名無しさん :2012/07/01(日) 00:46:35.41
複数のアプリに広告を載せる場合、 admobのパブリッシャー IDは同じものを使って良いんですか?
>>261 わかる人は騒がず、わからない人だけが騒ぐからそう見えるだけ。
権限を気にせず開発がしたいならiPhoneでいいじゃん
アプリの仕様を弄ってる間にアプリから作った読めない画像ファイルが、ファイルマネージャからは見えないので削除出来ないんですが方法はありますか?
申し訳ありませんが、質問は日本語でお願い致します
ファイラーから見えないのになぜ存在するとわかるんだ・・・
Google検索から直接検索結果を取得して(apiなどを使わずに)いるんですがたまにGooglesorryに出会してしまいます どうしたらいいでしょうか?
妖精さん的なものだろ
>>264 アプリをアンインストールすればいいんじゃね
アンインストールしたって消えないだろ
271 :
デフォルトの名無しさん :2012/07/01(日) 14:17:51.81
何をどうしたらこんな分かり辛い日本語が書けるのか
外人が機械翻訳かまして質問してくるほど ここのレベルの高さが世界に知れ渡っているんだよんなわけない
273 :
246 :2012/07/01(日) 17:50:37.41
また、一つWidget周りで問題が出てきたので質問させてください。 現在、リストアイテム選択でIDを拾いつつ、サービスを起動してsetDataSource経由で曲を再生しています。 昨日、Widgetを追加したのでonStart後の処理は丁度以下の様になっていて、 曲を選択した後、曲が更新された場合、問題なく動作しています。 サービス側 @Override public void onStart(Intent intent, int StartId) { Widget関連処理ソメッド if( ! Widgetのプレイボタンクリック){ setOnCompletionListener(ここで曲情報をWidgetへブロードキャスト) setDataSource } }
274 :
246 :2012/07/01(日) 17:51:56.39
しかし、今現在、Widgetを画面に追加した直後はWidgetのボタンは無反応で曲情報も反映されません。 それらが使える様になるのは前途の通り、曲を選択した後か曲が切り替わったタイミングのみです。 これをWidgetを追加した後、ボタンが有効になる様に、或は曲が再生されているのであれば、 文字情報を予め表示させるようにしたいのですが、何か良い手は無いでしょうか? 省略しているところもありますが、以下がWidgetProviderでの処理内容となっています。 @Override public void onReceive(Context context,Intent intent) { Bundle bundle=intent.getExtras(); AppWidgetManager manager = AppWidgetManager.getInstance(context); RemoteViews view = new RemoteViews(context.getPackageName(), R.layout.widget); if(bundle != null){ String title=bundle.getString("曲情報"); } view.setTextViewText(R.id.text_title,title); ComponentName widget = new ComponentName(context, Widgetクラス名.class); manager.updateAppWidget(widget, view); }
そもそもremoteViewsにsetOnClickPendingIntentをセットしてあるの?
276 :
246 :2012/07/01(日) 18:50:11.71
>>275 クリックイベントは全てServiceに登録してます。
Widgetクラスはレシーバーと、onUpdateのサービス起動だけです。
277 :
246 :2012/07/01(日) 18:55:46.28
>>275 こんな感じになってます。
サービス側
@Override
public void onStart(Intent intent, int StartId) {
AppWidgetManager manager = AppWidgetManager.getInstance(this);
RemoteViews view = new RemoteViews(this.getPackageName(), R.layout.widget);
if (PLAY_CLICK.equals(intent.getAction())) {
mp.start(); or mp.pause();
}
Intent play = new Intent();
play.setAction(PLAY_CLICK);
PendingIntent playPending = PendingIntent.getService(this, 0, play, 0);
view.setOnClickPendingIntent(R.id.button_play, playPending);
ComponentName widget = new ComponentName(this, MusicWidget.class);
manager.updateAppWidget(widget, view);
if (!PLAY_CLICK.equals(intent.getAction())) {
再生処理メソッド
}
}
if (!PLAY_CLICK.equals(intent.getAction())) { この処理がおかしいのでは クリックがきかないってことはこれがトルーになってるってことじゃね
279 :
246 :2012/07/01(日) 19:35:12.66
>>278 今ですね。凄い事発見してしまったんですが、
通常、Widgetを画面に追加するとonUpdate呼ばれますよね?
ここのログが出て来ないので、startService()呼べてないのが原因じゃないかと。
ただ、その線も捨てられないのでログとってみます。
280 :
246 :2012/07/01(日) 21:20:10.88
>>278 onReceiveの処理をメソッドごと削除するとonUpdateが呼ばれる様になり、
ボタンが有効になりました。その代償として曲やアルバムアートなどが表示されなくなりましたけど。
onReceiveがあるとonUpdateが呼ばれないなんてことありませんよね?
もう少し色々やってみます。
282 :
246 :2012/07/01(日) 22:32:48.30
>>281 つまりAppWidgetProvider内はonUpdateのみにして、
ブロードキャストレシーバーを継承した独自クラスを作り、
その中でonReceiveをすれば良いと言うことでしょうか?
プログラム歴6ヶ月のおっさんには何だかハードルあ高いなぁw
スレッドつくるとき (new Thread(new Runnable() { @Override public void run() { //処理 } }.start(); っていうのがよく載ってるけど new Runnable()ってなくても動くんだけど なんのためにあるんでしょう?
>>282 あーちがう、
>>280 の「onReceiveの処理をメソッドごと削除する」前の段階のソースで
onReceiveの冒頭にsuper.onReceive(context, intent);入れるだけで意図通り動くと思うよ。
ちょっと回りくどかった
めんどくさいので読んでないけどこんな感じにしる −WidgetProvider側 −onUpdate() // ここでウィジェットのボタンにpendingIntent設定 // PlaybackServiceからカレント曲情報をもらってwidgetを更新 −onReceive() if("jp.hoge.updateStatus".equals()){ // ここでサービスからのIntentを受け取ってbundleから曲情報を取得してウィジェットを更新 // 再度PendingIntentを設定(ウィジェット更新するたびにこれやらないとダメだった希ガス) } −PlaybackService側 −onStart(); // 再生処理とか停止処理を行う。 // 再生状態(再生中か停止中か)、シャッフルの状態、リピートの状態、再生してる曲情報などをBundleにくっつけて // アクションを「jp.hoge.updateStatus」にしてIntentを飛ばす→WidgetProviderで更新処理 −マニフェスト −WidgetProviderのところにIntent-Filterを設定 例:jp.hoge.updateStatus
286 :
246 :2012/07/01(日) 23:54:43.20
>>283 なくても動くの意味がわからないけど。
まずrunableを動くように作って、それからthread化しない? それとweb serverとか考えるとrunableをclient数分だけthreadにするでしょう。
288 :
246 :2012/07/02(月) 00:17:40.55
実はもう一つ困っている事があるんですが、 リストとVIewPagerのスクロール速度がかなり重くなっています。 それが重くなったのはアルバムにアルバムアートのサムネイルを割り当ててからです。 処理的には起動時にqueryでALBUM名取得→ALBUM_ID取得→ALBUM_ARTを各アルバム毎に実行して、 リストを表示するようになっているのが原因と思われます。 これでは遅いのでART情報のUrlをDB化してリストに貼付けていたのですが、 MediaScanで取得された更新分だけをDBにinsartする方法が分からず、元に戻してしまいました。 ググりまくってStack Overflowとかも何度も除いてみたのですが、いい方法が見つかりませんでした。 何かいい方法ありますか?
複数のmp3ファイルを長さ順に並べたいと思ったんですが、自分で考えつくのはmediaplayerに一度入れて長さを取得して次のを入れて長さを取得しての繰り返す方法です これだと無駄に時間がかかるような気がします もっと効率的な方法はないでしょうか?
>>288 スクロールの速度を早くしたいだけなら
アルバムアートの読み込みをThread化するがよい
「Listview 非同期 画像」あたりでググると参考いっぱい
291 :
246 :2012/07/02(月) 01:08:45.00
>>290 ありがとうございます。ググってみます!
それと少し説明不足なところもあったので補足させていただきますと、
起動時間も早くしたいので、出来ればMediaScanで追加されたアルバムアートや曲データの
差分情報を取得する方法などのアイデアなどもあれば知りたいです。
アルバム数が100枚を超えると、その取得に1〜2分位、毎回起動時に要してしまうので。
>>287 (new Thread() {
public void run() {
//処理
}
}.start();
って書き方はなにか間違ってる?
自分でなにがわからないのかわからない状態なのかも
>>291 MediaStoreってどんな構造なんだっけ?と思ってみてみたけど
MediaStore.MediaColumnsのDATE_ADDEDとDATE_MODIFIED
辺りで条件判定して取り出せばいいんじゃないの?
>>291 ん? アプリ起動時にアルバム情報とアートを全取得してるの?
CursorAdapter使えばいいんじゃなかろうか
>>292 Threadはクラス、Runnableはインターフェイス
「Thread Runnable 違い」ででもggr
>>292 class service implements runable{
}
service servive=new service();
while(connect())new thread(service).start();
とかいう使い方を基本として考えて設計されたから、そういう使われ方が多いんじゃないかってことだ。
マルチスレッドに関して質問です。 多くのサンプルをネットで見させて頂いたのですが、基本的に呼び出し方法が ソース内で宣言するタイプにHandlerを記載するタイプしか見当たりませんでした。 new Thread(new Runnable() { }
すみません、途中送信した上に別の問題も見つかったので(´・ω・`)
299 :
246 :2012/07/02(月) 12:45:00.44
>>293 おお、データベース化出来そうな雰囲気ですね。
>>294 そうなんですよ。差分の取得方法が分からないので、
現在は起動時に全読み込みに戻してしてしまってます。
CursorAdapterも調べてみますね。ありがとうございます。
300 :
デフォルトの名無しさん :2012/07/02(月) 13:12:40.57
申し訳ありません。SPモードメールについての質問させてください。
SPモードメールがプッシュ型のメール受信を行っているとのことで、
ttp://android-inf.com/archives/501 のページを参考に、WAP_PUSH_RECEIVEDをonReceiveで受信するように
BroadcastReceiverを継承したクラスを作成したのですが、インテント
を受信できませんでした。
※ネットワーク変更などのインテントは受信できていることは確認
しているので、フィルターだけの問題かとおもっています。
SPモードメールのインテント受信を行うには、どのintent-filterを
指定すればよいでしょうか?
使用端末:sh-01d
android :2.3.5
301 :
297 :2012/07/02(月) 13:18:06.19
マルチスレッドの話です。 インターネット上にあるサンプルだと大体が、ソース内でThreadを作ってそこにThradの中身を書いておりますが 個人的には分けたいと思っています。 その場合こう書けばいいのでしょうか? //呼び出し class main { ThreadClass tc = new ThreadClass(); } //スレッド public class ThreadClass extends Thread implements Runnable { Handler hi = new Handler(); public void run() { hi.post(new Runnable() { public void run () { //処理 } }); } } 自分で確かめた結果だと現状Looper.prepare()部分でnot called呼ばれてないエラーが出てるので書き方として あってるかが分からない現状です。 開発媒体がProcessingなので中々…
302 :
297 :2012/07/02(月) 13:20:22.91
すみません、書いてからで申し訳ない。自己解決しました。 Handlerをnewする時にLooper.getMainLooper()を渡してやれば良いみたいです。 書き方としては問題ありませんでした
どうなってんだよ…
今、全裸です
3行にまとめて
>>305 Handlerのコンストラクタで引数なしだと、
作成されたスレッドのLooperが自動的に設定される。
スレッド側で作成するときはコンストラクタでメインのLooperを渡しておくこと。
307 :
297 :2012/07/02(月) 16:10:35.72
別の問題が出てしまった。
実機・エミュ共に現状動作はするのだが、描画処理中は他の操作を一切受け付けなくなってしまった
(描画中、mainでの操作が出来ない)
添削した簡単なソース
http://ideone.com/v6HRo 現在のソースをHandler削除して、Javaで描画すれば動作は受け付けるのだが
Handlerの何が邪魔してるのだろうか?
気の迷いが邪魔してるんだよ 無心になれ
馬鹿には無理
310 :
297 :2012/07/02(月) 16:36:59.34
馬鹿じゃなかったら質問スレに来ないと思うんだ
うましか無理
馬鹿だったら質問スレにすら来れないと思うんだ
313 :
297 :2012/07/02(月) 16:47:27.12
その辺取り敢えず置いといて分かる、うましかの人はおらんのけ(´・ω・`)?
>>313 MainLooperを使いまわしてるからじゃないの?
MainLooperを使うってことは、処理を描画スレッドで行うってことだから。
ThreadとHandlerとLooperの使い方は
LooperのJavadocにコードの例が載ってるから見るといい。
HandlerThreadでもいいと思うけど。
315 :
297 :2012/07/02(月) 17:03:10.54
そこまでしてスレッドを別クラスに持たせる意味がわからん スレッドとハンドラーの生成はメインで行なって、 ハンドラーへ渡すRunnableを描画処理等を持たせた別クラスにすればイイんじゃ?
317 :
デフォルトの名無しさん :2012/07/02(月) 17:22:29.88
Eclipse IndigoにGoogle APIs Level13を使ってて、エミュで日本語キーボードが表示されないんだけど、質問するのここでいい? いろんなところで日本語キーボードの設定方法を調べてたんだけど、結局できなくて困ってる。 「言語の入力 > 言語設定→言語を選択」で、Android全体の言語は「日本語(日本)」に設定できたんだけど、 「言語の入力 > キーボード→設定入力方法の設定 > Androidキーボード→有効な入力方法」の中に、「日本語のキーボード」とかそれらしいものが表示されないんだ。 分かる人がいたら教えてほしい。
>>313 今まさにServiceとThread使ってこねこねしている所なので
俺でも何かアドバイスとか出来るかなってソース見てみたが
そのソースでは何がやりたいのかさっぱりわからんちん
ごめんね、役立たずでごめんね
322 :
297 :2012/07/03(火) 09:32:13.11
HandlerThread試してみたけどさっぱりです、もうちょいヒント下しあ
http://ideone.com/iw6D7 (仮)
class main と class ThreadClassは別ファイルとなります。
class mainで宣言して、描画処理をThreadClassに丸投げします
class mainでは、何を描画するかを選択します
main部分はAndroidではないので、Activityではないです
えー、どうしよっかなー
変数tcってThreadClassに渡す必要あるの ThreadClass自身なのに
325 :
デフォルトの名無しさん :2012/07/03(火) 09:53:59.59
>>321 マジか。
結局表示されなかったから、何とか実機を調達することにしたぜ・・・
>>322 よくみたらそれじゃLooper設定されてないよ
ソース見れるなら親クラスのrunメソッド見てみるといいLooperをメンバに格納してるから
何が足りないかというと
super.run();
327 :
297 :2012/07/03(火) 10:02:45.70
>>324 確かにthis.getLooper();で良かった
>>326 なるほど、super.run()・・・
ぐぐってくる
Logcatでなんの例外が出てるかでも書きなよ っていうことをなんで何回も言わせるのか
>>327 ああ24行目にsuper.run();を書くといいよってことです
330 :
297 :2012/07/03(火) 10:18:18.31
>>328 LogCat何て搭載していないんだ(Eclipseじゃない)
printStackTrace()だと、さっきのソースじゃ何もなしだった、そのまま停止
println("test");
hl = new Handler(so.getLooper());
println("test2");
でかこって、最初のtestだけ表示されてフリーズ
Handlerの中を空白にしたらtest2まではいったけどそのまま終了で処理入らない
>>329 dクス、入れてみたらRuntimeException発生して
Can't Create handler inside thread that has not called Looper.prepre();
が出るようになって、Looperが呼ばれてないからハンドラ作れないって言われてしまった。
他の場所が悪そうなので思考中(´・ω・`)
>>330 Looper.prepareは親run()がやってるから、実行できるのはスレッドごとに一回だけなので二度目以降やるとRuntimeExceptionが発生するよ
だからLooper.prepareを書く必要はない
HandlerThread#run()の中身参考に貼っとくわ
public void run() {
mTid = Process.myTid();
Looper.prepare();
synchronized (this) {
mLooper = Looper.myLooper();
notifyAll();
}
Process.setThreadPriority(mPriority);
onLooperPrepared();
Looper.loop();
mTid = -1;
}
332 :
297 :2012/07/03(火) 10:37:23.24
すまん、色々と申し訳なかった。 super.run()を追加してからのエラーに関しては、テストで試してた処理がコンストラクタにいて、そいつが働いてエラーになってたので 本件とは関係無し。 で、その辺なのを抜いて super.run(); println("test"); Looper.prepare(); // ある・なしの両方 ↑これを試してみたのだけれど、super.run()がいるとThread側はその場でフリーズしてしまうぽい main側は動作が出来てボタンを押すと、println("aiueo")みたいなのは出せるんだが、一回出してしまうと main側も止まってしまう ということで、またちょっと考えてみます(´・ω・`)
333 :
297 :2012/07/03(火) 10:51:04.80
14行目のimplements Runnnable 消してみて あとわかりやすいように20行目に @Override public void run() って書いておいて
335 :
297 :2012/07/03(火) 11:08:43.72
個人でiphoneアプリ、Windowsアプリをマーケットに売って生き残れ
格安iPhoneEラーニング(学習動画多数あり)
http://tinyurl. com/7wj77om
コワーキングスペースJP
http://tinyurl. com/76vdrny
コワーキング帳
http://tinyurl. com/brzs486
WEBサーバーIIS Win2008ServerVPS SqlServer Oracle MySql 言語はマーケットで売れるメーカー製のみやる
ASP.net(C#)+管理EXEアプリ(C#)+iPhone C#のソースを出さなければWEBアプリの著作権も守れる
C#マーケット Windows8 Metroアプリ WindowsPhone Surface PS Vita Xbox360 iphone(mono使用)
iPhoneマーケット iPhone iPad 予定 iTv iCar i (家電製品)
地方に安い土地を買いコンテナ型の格安高性能オフィスを建て(300万〜500万)
レンタル自習室&シェアオフィス・コワーキングで収入を得ながらそこでアプリを開発する
http://tinyurl. com/7pb2yaa
http://bit. ly/iLIpJa
338 :
297 :2012/07/03(火) 11:58:24.89
>>337 thx、これを元にちょっと弄ってみたい。
main側での呼び出しは増やしたくないんだよね。
というのもmain側はProcessingで作成されてて、HandlerThreadを宣言すると
シンボルを見つけられません。
[java c] シンボル:メソッド HandlerThread(java.lang.String)
でエラーになるのだ(´・ω・`)import出来るんだけどね…
>>330 > LogCat何て搭載していないんだ(Eclipseじゃない)
logcatはEclipseの機能じゃない
adbさえあれば見れる
340 :
297 :2012/07/03(火) 12:53:21.37
まだやってたのかコレw
>>297 がやりたいことって
class main{
// 描画する絵を選択する処理
// int i = checkInputKey(); //入力されたキー番号を取得
Hoge hage = new Hoge();
hage.setDrawPattern(i); //描画するパターンiを渡す
}
public class Hoge{
private final HandlerThread mThread;
private final Handler mHandler;
public Hoge() {
mThread = new HandlerThread("hage");
mThread.start();
mHandler = new Handler(mThread.getLooper());
}
public void setDrawPattern(int i){
switch(i){
case 1:
mHandler.post(new Runnable() {public void run () { /* 描画処理1 */}});
break;
case 2:
// 以下略
}
}
}
こういうことじゃないのけ?
342 :
246 :2012/07/03(火) 20:48:42.45
とりあえず試しにこんなメソッド作って、曲を追加してからプログラムを走らせたら、 見事、データベース曲が追加されたんだが、TITLE以外に、ALBUM、ARTIST、IDと全てのカラムが データベースに追加されたんだけどどうしてですかね? public void checkUpdate(){ ContentResolver cr = getApplicationContext().getContentResolver(); c = cr.query( MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, new String[]{ MediaStore.Audio.Media.TITLE, MediaStore.Audio.Media._ID},null,null,MediaStore.MediaColumns.DATE_ADDED + " DESC"); c.moveToFirst(); String str1 = c.getString(c.getColumnIndex(MediaStore.Audio.Media.TITLE)); if(str1 != null){ DatabaseOpenHelper dbHelper = new DatabaseOpenHelper(getApplicationContext()); SQLiteDatabase db = dbHelper.getWritableDatabase(); ContentValues values = new ContentValues(); values.put("title", str1); db.insert("songTrack", null, values); db.close(); } }
343 :
246 :2012/07/03(火) 20:55:54.30
それと上記コードで後から追加された曲が全てデーターベースに追加されました。 whileもforも使ってないのに。どういう理論か分かる方いらっしゃいます? やりたいことが全部出来てしまったんで嬉しいんですけど気味が悪くて…。
DBのスキーマも書かずにどうしろと?
そろそろスレ汚してる勢いだな
346 :
246 :2012/07/03(火) 21:44:28.22
>>344 すみません。甘え過ぎなのでこれ以降自粛します。
SqlOpneHelper側
@Override
public void onCreate(SQLiteDatabase db) {
db.beginTransaction();
try{
StringBuilder createSql = new StringBuilder();
createSql.append("create table " + TABLE_NAME + " (");
createSql.append(COLUMN_ID + " integer primary key,");
createSql.append(COLUMN_TITLE + " text,");
createSql.append(COLUMN_ARTIST + " text,");
createSql.append(COLUMN_ALBUM + " text,");
createSql.append(COLUMN_ALBUM_ART + " text");
createSql.append(")");
db.execSQL( createSql.toString());
db.setTransactionSuccessful();
} finally {
db.endTransaction();
}
さすがに何度もソースだらだら書かれるとうざいわーw 1回ぐらいなら大目に見るけどさ
ソースうpするサイトとかあるしそこ使えよなー なんで私物化してんのこいつ
ちゃんとテーブル内のデータクリアしてから試した? 目の錯覚じゃね
>>342 あと、MediaStoreって便利なコンポーネントがあるのに
自前でテーブル持つメリットがいまいちわからないんだが必要?
>>342 のCursor使ってCursorAdapter構築してリストビューに反映させればいいんでないかと
SD抜き差しでMediaStoreが更新されるけどそのたびに自前のテーブルも更新しなきゃいけないのは面倒でしょう
まーソース示さないとできない質問もあるだろうけど 一部プログラマからは家に帰ってもコード見せるのかよと反発かうかもなw
ていうかこれぐらい調べられると思うんだけどな ぐぐってもわからなくて最終手段としてここで聞くもんじゃないの?w
ぐぐってわかる程度の事はすぐ回答が来ますが ぐぐってもわからないほどのことは、ここの人たちに答えられたためしがないので 最初にここで聞くようにしています
ぐぐってもわからなくてお手上げのときにここで質問をしたら教えてくれた
とりあえずここで質問してからぐぐってる
356 :
246 :2012/07/03(火) 22:46:17.82
>>347 ,348
すんません。自粛しますw
>>349 錯覚でしたw でも何でこのコードで複数のデータがデータベースに登録されるのかは依然謎ですけどw
>>350 実際、ContentProviderの併用で同じこと全部できるし、そちらの方がおっしゃる通り簡単なんですが、
アーティスト欄でアルバムが何枚あるかとかタイトル欄で曲の再生時間はいくつあるとか
毎回計算して表示してしまうと、曲数が多くなれば多くなる程動作面で不安が出てくると思うんです。
なので少しでも処理を軽くするためのデータベース化なんですね。
殆どのミュージックプレイヤーがデータベース化しているのもその為なのかと。
>>351 そうですよね。気をつけます!
謎で終わらせるんじゃなくてちゃんとデバッグしてよ
ヤめてくれw
OverScrollerを実装してみたんだけど、 ソニエリ系端末とサムソン系端末では動きが全然違うんだな。
教えてください。 AlarmManagerを使って定期的にアプリを起動しているのですが 起動時間に別のアプリを操作していた場合、裏で起動するというような 事はできないでしょうか?
サービスサービスゥ
AlarmManager&WakeLockの不安定さ・・・ AlarmManagerが悪いのか、WakeLockが悪いのか、機種が悪いのか・・ でもサービスにすると「常駐死ね☆1」とかあるしなぁ
>>363 おおかたbroadcastハンドラの外でlock取ろうとしてるんだろ
タイマーで直接サービス上げるのも御法度
365 :
297 :2012/07/04(水) 10:26:31.09
logcatはEclipse起動したままエミュ起動させたらEclipseの方が勝手に読み取って出まくってたワロ
>>341 神いわゆるGOD、うまくいくようになりますた。
後は他に影響があった操作を直すだけですみそうです。
次からThread分けるときはこれを応用させて頂きます(;´Д`)ハァハァ
>>365 > これを応用させて頂きます
いや、お前がやらなければならないことは、
なぜお前のやり方がとダメで、
>>341 のやり方なら上手く行くのか、
そこらへんをきちんと理解することだ
そうしないと、また別のところで同じようにドはまりするだけだよ
367 :
297 :2012/07/04(水) 10:53:51.28
>>366 思ったことはstart()さした中でやってるからだと
初期のpgでは
HandlerThread test = new HandlerThread("test")
test.start();
で、中身でthis.getLooper()をやってたわけですが
図で書くと
test -----------------
| handler
|
|____________________________________
今回の場合は
test --------------------
|
|__________________________________
handler-----------------
|
|_________________________________
中身にhandlerを書いたらうまくLooperをキャッチできていないのかなと
368 :
297 :2012/07/04(水) 10:56:31.28
で、呼び出し側としては Thread作成→スタート→Handlerという流れにしないといけないわけで、Thread側に継承させたら Handler内部の操作が出来ないしと うまく説明できませんが(;´Д`) であればThread作成用のClassを作って、内部で同じようなことをやらせれば良いかと
369 :
297 :2012/07/04(水) 11:00:58.67
なので最終的にclassを分けて使う場合は 呼び出されるクラス---------------------- | | thread------------------------------- | | | | Looper獲得用 | |______________________________________________________ | | handler------------------------------ | | GUI部分の処理 | | public void run() { | | スレッドに任せたいGUI処理 | |____}_____________________________________________ | | その他関数 |________________________________________________________ こんなメソッドを作るみたいな
理解しろとは言ったけど、それをここで書けとは言ってねぇえええええええぇ
371 :
297 :2012/07/04(水) 11:12:50.24
( ´゚д゚`)すまん
顔文字付けないと書き込めない病気か
次からは297専用スレを立ててやれ。な?
お前らの無駄な書き込みでスレがどんどん消費されていく
>>361 ありがとうございます。
サービスで常駐させて時間のチェックをし、時間がきたらIntentで
アプリを起動させるということですね。
その場合、「起動時間に別のアプリを操作していた場合、裏で起動する」
という部分はどのように実装すればよいのでしょうか?
>>375 その「裏で起動しておこなっていた処理」をサービスにしろ、ってことじゃねぇの?
サービス残業
アプリ間でデータを共有したい(かつ、既知のアプリ以外には見せたくない)場合、 ・ユーザーIDの共有 ・コンテントプロバイダ ・ファイルパーミッションの変更(+SharedPreference) ・データベースファイルのアクセス権限を利用 あたりがあることを知ったのですが、いまいち使い分けが分かりません。 多少面倒な事や、層があることで僅かながら呼び出しコストがあるかもしれない(想像です)を 除けば、コンテントプロバイダ+署名共有が良さそうに思うのですが、 他に理由があったりしますでしょうか?今のところ、データは簡単な文字列が幾つか、程度ではあるのですが。
AlphaAnimationはフェードインかアウトの一方通行ですよね? フェードインしてフェードアウトとかすることはできますか?
AnimationSet に AlphaAnimation を 2 個入れるとか
アクティビティ切り替え時のアニメーションを左から右、バック時は右から左へとしたいんですが、 参考サイトみたいなのないですか?FlipperViewとかならそこらへんに沢山あるんですけど。
トップダウン設計意識してやってみたけど難しすぎて結局ボトムアップになっちゃうビクンビクン
Asynkのクラスに行く前にクラッシュします。助けてくださいお願いします。
参考サイト
http://lablog.lanche.jp/archives/220 リストアダプター / getView
iv = (ImageView) view.findViewById(R.id.image);
if ( リストに表示する画像Uri != null ) {
String thumbUrl = リストに表示する画像Uri.toString();
iv.setTag(thumbUrl);
ImageGetTask task = new ImageGetTask(iv);←ここで強制終了
task.execute(thumbUrl);
}
Asynkのコンストラクタ
public ImageGetTask(ImageView image) {
スタックトレースも貼らずに何がしたいのコイツ?愚痴聞いて欲しいだけ?
なんか@Overrideを消さないとエラーになるように仕様変わってない?
JDK古いのになってんじゃね
junoにアプデした人いる?
>>383 Logcat見ないの?
スタックトレース貼らないとエスパー待ちになります
最近はLogcatなしで開発するの流行ってんの?
まあね。永田町界隈では有名な話だよ
logcatは動作しているんですけど得に何のエラーも出ないんですよ。
デバッグの方にListViewに関してのエラーのような記述がありますが。
>>385 それっぽいです。ありがとうございました。
強制終了したのにLogcatに何も表示されないって…
毎回タイミングよくデバイスが外れるとか
Logcatのフィルターがおかしいんじゃねぇの
韓国教授(88)が告白 「殺される覚悟で言う。韓国人は強制従軍慰安とか歴史捏造をやめるべきだ」 ★2
http://engawa.2ch.net/test/read.cgi/poverty/1341400277/ http://yeoksa.blog.fc2.com/page-0.html 韓国の88歳の大学教授がハングルで書いた文章です。日本語訳します。
"私は88才です。 もう事実を話したいと思います。" [チェ・キホ伽耶大学客員教授]
朝鮮末期の私は1923年の生まれです。 もう韓国のためでも、日本のためでもなく「事実」を話したいと思います。
それは相当な覚悟が必要です。 生命の危険も覚悟しています。 しかし、これは私の使命であると信じています。
私はソウルに住んでいました。 そして、時々、平壌や東京に行きました。 その当時の韓国人は「日本人以上の日本人」でした。
「親切でやさしい日本人」という印象を、必死に消すために「反日」を指導者はそそのかしてきました。
韓国と日本の歴史教育を比較すると、日本が10%の歪曲といえば、韓国は90%が歪曲です。
朝鮮末期の正常ではないで政治腐敗を教えず、日本が関与しなければ独立ができたことのように使われています。
韓日合邦によって「教育」 「医療」 「工業」 「社会インフラ」が整備されました。近代国家の基礎が出来たことは明らかな事実です。
その実績を「日本帝国主義の侵略政策の産物だ!」と糾弾する韓国にはあきれます。 より一層「日帝が民族産業を停滞させた!」
という主張にはコメントする気持ちもなくなります。
民族産業を殺したのは、朝鮮王朝です。 近代化を主張する先進的な思想家は反逆者とし、親族までも処刑されました。
韓国人は「日帝の虐待! 性奴隷!」と叫んでいますが、私は信じることができません。 歴史の真実を知っているためです。
朝鮮語でキウン「地獄」でした。 それは大韓帝国時代になっても同じでした。
1904年、日本は朝鮮の惨状を救うために、財政支援を決断します。
例えば1907年度、朝鮮王朝の歳入は748万円だったが、歳出は3000万円以上でした。
その差額は日本が負担していました。 1908年にはより一層増加し、3100万円を支出しています。
現在88才の老人の絶叫です。 どう思われますか?
Logcatのcatって猫じゃないんだってな カットって読むらしい
読み方は知らんけどunixのcatコマンドから来てるんじゃないかな catはconcatenateの略だからもう全然意味不明になってるけど
必殺!コンケイトネイトゥ
そもそも名前が悪い。変にカッコつけてLogcatとか固有名詞にするから見ない人が多いんだ。 MSのActiveXとかみたいにな! 「エラーウインドウ」とかわかりやすくして、標準で画面下のウインドウに自然と表示させれば 初心者だって何も意識せず使うだろうに・・・。 ちょっと設計がアレだとおもうぞ。 オープンソースならではの弊害かもしれないけどね<プラグインみたいに後付け後付けで機能拡張されていくため
> 標準で画面下のウインドウに自然と表示させれば おまえEclipseをなんだと思ってるんだ?
セヤナ大統領
途中でついたアイコンも ドロイド君がぶっ飛んでるあんまりログっぽくないやつだしな
質問です ホーム画面からアプリから全部の画面の アイコンやフォントの色とバックの色を指定するアプリを作ることはできますか?
404 :
379 :2012/07/04(水) 23:18:10.18
>>379 です
2個セットしても同時に動いてるみたいで
順にイン、アウトしない、、、
順番を指示する方法はあるんでしょうか?
FragmentPagerAdapterで、再読み込みしない方法ってないですかね? 画面遷移してから戻ると一々読み込みが発生して動作が重いんですよねコレ。
ベタベタだが、AnimationListenerでフェードインの終わりに フェードアウトを設定とかするとかどう?
logcat見てるときに新しいログが追加されたときいちいちしたに戻るのってどうにかならないんですか?
409 :
408 :2012/07/04(水) 23:50:22.50
ちょっと日本語おかしいけど 書き直すのもあれだから理解してくれ
自動スクロールオフボタンあるじゃん
>>404 AnimationのクラスにstartOffsetがあるじゃん
SDK間違えてアップデートしちゃって使いにくくて戻したいんだけどコレ戻せます?
アンインストール→旧バージョンインストール
(もっと)
うちのも昨日からおかしい アップデートするとさらにひどくなる
eclipse自体に、なんとも言いがたい使いづらさがあるのは確か 信用できないというか・・・なんというか・・・
xcodeと比べたら使いやすいよ
全部入れなおしたいんで皆の使ってるバージョンと安定度を教えて下さい JDK: eclipse: SDK:
JDK:6.0.31 eclipse:Indigo Service Release 2 20120216-1857 SDK:API15 安定度はよくわからんが特に不満は無い
サービス起動時だけサービス側に値を渡す、って出来ないですか? getIntent()出来ないですしね。
自己解決しました。すみません。
ライブラリプロジェクトHogeLibを取り込んだFugaApp、と言う状態をEclipse上で作って、HogeLibを 更新(例:public static なメソッドを追加してセーブ(自動ビルドON))しても、FugaApp側で認識しない。 プロジェクトの設定で一度外してから追加し直すと出てくるんだけど、リアルタイムにできないものでしょうか。
できないよ
HogeLibクリーンしてFugaAppでビルド
SDKって古いのどこで落とせます?
Android SDK Manager
Android SDK Managerで古いの落とせばしたっけ
せんとよ
SDK r20にしてからいちいちクリーンしないとエラーが消えないことが多くなった気がする
Widgetでフェードインのアニメーション使えないんだな。
レイアウトアニメーションでalphaを0→100で、できないっけ?
SDK r19ってどうやって戻せます?
サービスから起動したActivityをfinishした時 startIntentForResultみたいにActivityが 閉じたことを知るにはどうすればいいですか?
>>434 こんなのあるんだ。多分、最後はremoteView.addView(id,view)するんだろうけど、
二番目のviewの引数って何のviewを指定するんだ?
>>438 親ビュー(remoteView)が内包してる子ビューのIDが第一引数
そのIDのビューの中に第二引数のviewをaddする仕組み
ちなみにレイアウトアニメーションはRemoteViewsクラスを使ってアニメーションさせたりできないのでレイアウトxmlファイルに予め記述しておくしかない
>>439 ウィジェットのimegeを切り替える毎にフェードインさせたいんだが、
そう言うのは無理なのか?
xmlで書けばできるんじゃない
>>441 ウィジェット立ち上げると一度しかフェードインしない…
<LinearLayout
android:layoutAnimation="@anim/layout_animation"
略>
<ImageView
android:id="@+id/image"
略/>
</LinearLayout>
>>440 アニメーションは一度しか起動されないので、またアニメーションをさせたかったら再度
AppWidgetManager#updateAppWidget(appWidgetId, remoteViews);
をするしかないわけなんだが
>>440 のことがしたいなら、imageを切り替えるたびにupdateWidgetすると思うから特になにも考えなくてもいいと思うよ
まあまずは適当なプロジェクト作ってアニメーションするウィジェットを作ってみるといいよ
RemoteViewsもLayoutAnimationもクセがあるんで自分で確認したほうが早い
>>442 画像切替えるタイミングで
RemoteViews root = new RemoteViews(context, layoutId);
root.removeAllViews();
// ここでimageviewに画像をセット
manager.updateWidget(appWidgetId, root);
画像切替のタイミングはアラームマネージャかなんかで制御してるの?
>>444 切り替えはボタンでやってるよ。家に帰ったら早速トライしてみる!あんがと。
>>444 やはりウィジェットのボタンです。
removeAllViews()するとボタンまフェードインしちゃう感じですかね?w
>>445 あ、すまん。
>>444 の方法だとremoveAllViewsしたタイミングでImageView消えちゃうわ
だからLinearLayoutとImageViewをわけてxml作って対処してくれ
>>446 ボタンが
>>442 のLinearLayoutの下にあったら一緒にアニメーションするが、させたくないなら外に出せばいい
>>448 何故だろう。imageは無事フェードインするようになったけど逆にボタンが消えてしまうw
こんな書き方だと駄目なんだろうね。やっぱり。
Widget.xml
ーーーーーーーーーー
image.xml指定
ボタン
ーーーーーーーーーー
image.xml
ーーーーーーーーーー
android:layoutAnimation="@anim/layout_animation"
image.id
ーーーーーーーーーー
ボタンのView
RemoteViews view = new RemoteViews(context.getPackageName(), R.layout.widget);
イメージのView
RemoteViews view2 = new RemoteViews(context.getPackageName(), R.layout.iamge);
view2.removeAllViews(R.layout.image);
view2.setImageViewUri(R.id.iamge, uri);
manager.updateAppWidget(widget, view);
manager.updateAppWidget(widget, view2);
Widget.xmlのほうimage.xml指定しなくていいから、LinearLayout配置してid付与して view.addView(id, view2); してくれ manager.updateAppWidget(widget, view2); ←これいらない
>>450 こういう事か。ようやく上手くいった。助けてくれた方々ありがとう!
結構フェードインいれるだけで印象変わったわw
RemoteViews view = new RemoteViews(context.getPackageName(), R.layout.widget);
RemoteViews view2 = new RemoteViews(context.getPackageName(), R.layout.image);
view.removeAllViews(R.id.ll);
view2.setImageViewUri(R.id._image, uri);
view.addView(R.id.ll, view2);
よく考えるとここら辺はsetContentView()にaddViewするのとあまり変わらないのか。
仕様がチグハグだなウィジェット周りは。
1と2の間になるべく空きスペースを作りたくありません。 1が1行の時、2行指定を解除するような事をxmlで指定出来ないでしょうか? TextView1(line = 2) ああああああああ (1行の場合) (空きスペース) いいいいいいいい TextView2 うううううううう TextView3
maxLines = 2
MapViewについて質問です。 +-ボタンを押すかピンチ操作で地図を拡大縮小するときに地図がぐいんぐいんとアニメーションしますが、 「拡大縮小アニメーションが終了した瞬間」または「拡大縮小アニメーション中であること」を取得する方法はないでしょうか?
>>456 ありがとうございます。
ご提示いただいた方法でできました。
SurFaceView内でテキストのサイズが一定以上オーバーした際に、 オーバーした分を削除し末尾に…を貼付ける様にしたいのですが、 下だと高確率でエラーが出ます。安定した方法ってないですか? if( TextSize >= MainActivity.disp.getWidth()/2 ){ while( x > MaunActivity.disp.getWidth()/2){ StringBuffer sb = new StringBuffer(_text); x = sb.length()-1; sb.deleteCharAt(x); _text = sb.toString(); float textWidth = paint.measureText(_text); int textCounter = (int)textWidth; int textSize = Math.abs(textCounter); x = textSize; } StringBuffer sb = new StringBuffer(_text); x = sb.length(); sb.insert(x, "…"); _text = sb.toString(); } }
高確率でエラーとはどういうことですか? 表示される文字によってエラーが出たり出なかったりするのでしょうか?エラーが起きない場合もあるのですか? 具体的に投げられたエラーは何ですか? エスパー待ちになりますよ
sb.length()が0の時とか考慮してないんじゃないの
>>459 あ、すみません。どんな文字でも10回に半分位かちょっと少なめで以下のように。
Logを見ると、当該個所は
>>458 しかないと言う状況です。
E/Surface(17393): Surface::lock failed, already locked
E/SurfaceHolder(17393): Exception locking surface
E/SurfaceHolder(17393): java.lang.IllegalArgumentException
E/SurfaceHolder(17393): at android.view.Surface.lockCanvasNative(Native Method)
E/SurfaceHolder(17393): at android.view.Surface.lockCanvas(Surface.java:314)
E/SurfaceHolder(17393): at android.view.SurfaceView$3.internalLockCanvas(SurfaceView.java:767)
E/SurfaceHolder(17393): at android.view.SurfaceView$3.lockCanvas(SurfaceView.java:746)
E/SurfaceHolder(17393): at net.paka.MainActivity.GraphicsSurface.run(GraphicsSurface.java:77)
E/SurfaceHolder(17393): at java.lang.Thread.run(Thread.java:1019)
それと同じ文字でもなったりならなかったり。
>>460 TextSizeにキャストする前のStringに対してnullチェックは行ってるので、
lengthが0は無いかと。他のActivityからStringをstatic参照してるのが、
悪いとかあるんですか?みなさんどうしてます。Bundleして渡した方がいいとかありますか?
>>461 E/SurfaceHolder(17393): at net.paka.MainActivity.GraphicsSurface.run(GraphicsSurface.java:77)
これかな? 77行目ってどこ?
例外投げてる箇所って自分で書いたコードじゃないだろ そのコードと発生個所にどう関連が有るんだよ
>>464 コメントアウトしても発生しちゃいました…。Log仕込んだらそこで止まるので、
そこしかないと思ってたんですけど…。
>>465 >>458 のコードは100行目あたりなので、77行目はDrawableな画像を表示するcanvasです。
なのでnullとかは絶対にならないですよね。
ちょっといろんな所にLog仕込んだりコメントアウトしてみます。
ブラケットが対応してないしTypoっぽいところもあるし コンパイルできてる? 質問のために作ったコード?
470 :
526 :2012/07/06(金) 17:48:43.30
>>468 とりあえず77行目に書いてるコードのメソッドの引数を疑うべきだと思う
>>469 ちゃんとコンパイル出来ますし、半分位の確率で正常に動きますよw
一度、問題なく表示できたら、その後は一切問題が発生しません。
インストール後、失敗に終わったらもう駄目なんですよ。可笑しいですよね。
>>470 了解です。ちょっとやってみます。
そう言えば、この前、このクラスでUriの画像をBitmapにしたら、
全く表示されずにalready lockedされたんですよ。
>>471 これがエラーになるとは、ちょっと考えられないです。
private Bitmap img = BitmapFactory.decodeResource(res, R.drawable.image);
77行目 canvas.drawBitmap(img,getWidth()-300,getHeight()/3-5,paint);
お前の代わりにデバッグして欲しいならソースを全部だせってことだよね
そういうこと書くと真に受けて、100レスくらい延々とソース貼り付けられるぞ
>>473 458のコードで特に問題がないのであれば、
後は無難なコードの羅列なので、一旦全部コメントアウトして
問題の箇所を割り出すだけだから大丈夫だよ。ありがとうございました。
呼び出し元のメソッドが何かを判別するメソッドというのは元々用意されてるのでしょうか? たとえば、onAlpha()、onBravo()、onCharlie()の3つのメソッド の中でonDelta()を呼び出した時に、 3つのうちどのメソッドから呼ばれたのかを判別したいです。
Thread.currentThread().getStackTrace()
歌手キム・ジャンフンが日本の反韓流の雰囲気を強い調子で非難した。
キム・ジャンフンは23日午前、自身のミニホームページに「徐々に小さくなる日本」
という題名の文を載せ日本の反韓勢力に対し不快感を示した。
キム・ジャンフンは「最近日本で反韓流記事がたくさん出ている。チャン・グンソク氏や
キム・テヒ氏に対する記事を見ながらこれが本当に先進国であり大国を自任する日本の現実なのかと驚いた」と切り出した。
続けてキム・ジャンフンは、「キム・テヒ氏は日本のネットユーザーらの激しい抗議で行事を取り消したという。
こうしたことがまさに日本が沈み反対に進んでいるという反証だ。トレンドを読めず国際競争力を失った日本企業は
現在危機を迎えている。甚だしくはマニュアルの日本と呼ばれた国が論理を失い過激になった」として
日本の反韓ムードを強い調子で非難した。
また、キム・ジャンフンは「知韓派といっていた日本の水野教授、日本に帰って嫌韓の中心になったが
彼に被害が及んだことがあるだろうか? 嫌韓記事を浴びせる産経新聞の黒田氏を私たちが害しただろうか?
36年間わが国を強占し凌辱した日本だが、わが国民は日本の地震被害に温情と愛を送った。
それでも日本は教科書問題でわれわれの後頭部を叩いた。
その時私たちが韓国にいる日本人に脅威を加えただろうか?」と話した。
引き続きキム・ジャンフンは「韓国コンプレックスにとらわれた日本、
あなたたちの残っている良心に最後の望みをかけてみる」として日本の反韓勢力に呼びかけた。
一方、キム・テヒは21日に日本で開く予定だった化粧品のCMモデル発表会が前日になり突然取り消される状況を体験した。
チャン・グンソクは連日続く悪意の報道で疲弊することもした。
http://japanese.joins.com/article/564/148564.html?servcode=700§code=740
ここはレベル低いから難しいと思うぞ。 俺が答えてやりたい所だが、いまから用事があるんだわ
>>482 なるほど。じゃ、少し質問を変えてitemsを保存&呼び出す方法ってないですか?
これが出来れば何とかなりそうな気もしないでもないんですけど。
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
items = new ArrayList<Object>();をsaveInstance
}
>>484 おお。これでFragmentのonCreateViewで呼び戻せば結果オーライのような。
>>476 もう見てないかもしれないけど。
Paint#measureTextより、Paint#breakTextのほうが
やりたいことが簡潔にできそうな気がする。
あと、もしかしてGraphicsSurface#run()の中でcatch Throwableしてない?
もしそうなら、危険なのでやめたほうがいいよ。
>>485 もし結果オーライにならないようなら
一度traceviewで調べたほうがいいかもしれない。
すでに調べた結果の書き込みなのであれば、ごめんなさい。
AsynkTaskでコンテントプロパイダから画像を取得し、 itemsのimageに突っ込みたいんですけど良い方法ありますか? AsynkTaskを使っているサイトを見てても、どうすれば良いのか分からず途方にくれてます。 MainActivityでコンテントプロパイダから文字情報を取得 MainActivity#ListViewで表示 items.add( imageUri、textView、textView…); ↓ ↑ 独自リストアダプター → 一行完成 ↑(この様にしたい) AsynkTaskでコンテントプロパイダから画像のUriを取得、 それをitemsにadd
>>486 traceviewでは調べてないんだけど、
FragmentAdapterって使われていないFragmentは必ず破棄するから、
調べるまでもないかな?と思ってたんだけどParcelableやって駄目なら
一度調べるのもありかもね。
K-POPを買っていたのは在日だった!!! 誰だよ、日本人に人気とか言ってたやつwwww
http://engawa.2ch.net/test/read.cgi/poverty/1341580183/ 「在日韓国人同士の派閥争いに巻き込まれた!?」K-POPライブ頓挫“払い戻しナシ”の裏事情
チケットを買ったのにイベントは中止、それだけでなく代金も戻らないという最悪の事態だった。
「K-POP IN 豊岡・神鍋高原」
イベントに関わっていた広報関係者によると「主催者は、K-POPイベントは“やれば儲かる”という
確証もないウワサを信じ込んでいる様子だった」と話す。
「KARAが出るだけでテレビ番組の視聴率が1〜2%上がるとか、そんな話をしている人がいましたからね。
約1万人収容の会場が、最低でも7割は簡単に埋まると豪語していたり……」(同)
しかし、一方では複雑な人間関係のトラブルも浮上していたという。
「応援してくれるのはやはり在日韓国人の方々が多く、まとめて数千枚のチケットを引き受けると言ってくれていた在日実業家も
複数いたんです。でも、そういった方々の間では派閥のようなものがあるらしく“●●(タレント名)が出演するなら応援しない”とか
“■■(実業家の名前)が関わるなら協力できない” といった話が次々に出てきて、調整に苦労していたようです。
当初、大口でチケットを請け負ってもらうはずだった販売代理店にも、そんな感じで背を向けられていました」(同)
詳細 2012年7月5日 08:10 (サイゾー)
http://topics.jp.msn.com/wadai/cyzo/article.aspx?articleid=1174001
別に無理なことはない doInBackground で読み込んで publishProgress で送り出して onProgressUpdate で add するとか だいたいそんな感じでいいんじゃない
>>488 自分がよくわかってないのかもしれないけど。
FragmentPagerAdapterって
getItemで取得したFragmentをメモリに保持する
(タグ付きでFragmentTransaction#addする)から
破棄ってされないと思うんだけど。
FragmentStatePagerAdapterだったらstateしか保持しないから
破棄ってのもわかるんだけど。
ごめん、おかしなこと言ってたら、指摘してほしい。
493 :
デフォルトの名無しさん :2012/07/07(土) 02:56:45.45
初めまして Androidでゲーム開発を行っているものです ゲームのメインスレッドとOpenGLのスレッドが分かれている状態で テクスチャーを読み込むためにglSurfaceView.queueEventを使って読み込もうとしたところ 以下の関数の●のところでnullpointerexception止まってしまいました GLRendererのonSurfaceChangedで読み込んだときは出なかったので原因がわかりません public static final int loadTexture(GL10 gl, Resources resources, int resId){ int[] textures = new int[1]; ●gl.glGenTextures(1, textures, 0); 以下省略
つ SoftEther
>>491 AsynkTaskを使った場合、Activity側で追加していたaddImage())を
どうやって追加していけば良いのか分からないのです。
AsynkTask実装前
do{
コンテントプロパイダから文字情報や画像を取得
items.add(TrackListAdapter.addText().addText().addImage());
}while(c.moveToNest());
AsynkTask実装後
do{
コンテントプロパイダから文字のみ情報
items.add(TrackListAdapter.addText());
}while(c.moveToNest());
Fragmentはインスタンスが保持されていたとしても、 画面に付けたり外したりする時点でライフサイクルの一連のアレ (onAttach()とかonCreate()とか) が走ってしまうんじゃなかったっけ? それで時間かかるならどうにもならんのでは。 ViewPager使ったこと無いから仕様が分からんけど。
>>499 onDestroyが走るハズじゃなかったっけ?
このスレで人気ないよねFragment系はw 難しいだけにw
以下のようにアラームを設定しています。ここが呼ばれたら以前に設定している アラームを破棄して、新設定でアラームを登録するようにしたいのですが どうも複数アラームがたまってしまっているようなのです。 何か間違っていますでしょうか? long schedTime = System.currentTimeMillis() + m_BaseApp.GetSleepTime( m_SleepIndex ); Intent intent = m_BaseApp.CreateAppIntent();//new Intent( m_Activity, m_Activity.getClass() );//WebViewEx.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); PendingIntent pi = PendingIntent.getActivity( m_Activity, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT ); AlarmManager alarmManager = (AlarmManager) m_Activity.getSystemService( Context.ALARM_SERVICE ); alarmManager.set( AlarmManager.RTC, schedTime, pi ); System.exit( Activity.RESULT_OK );
ほう
Page1,2,3と3つのFragmentを生成するFragmentPagerAdapterで試してみた。 (Swipe Views + Title Stripの新規プロジェクトとほぼ同じ、エミュはGoogle API 16) 起動時 1、2の以下のメソッドが以下の順番で呼ばれる。 onAttach > onCreate > onCreateView > onActivityCreated > onStart > onResume 左にスワイプして2を表示させたとき 3の以下の〜 onAttach > onCreate > onCreateView > onActivityCreated > onStart > onResume さらに左スワイプして3を表示させたとき 1の以下の〜 onPause > onStop > onDestroyView 右にスワイプして2を表示させたとき 1の以下の〜 onCreateView > onActivityCreated > onStart > onResume (onAttach、onCreateは呼ばれない) ここから他のアプティビティを起動(メニューから) 1、2、3の以下の〜 onPause > onStop 最初のアクティビティに戻る 1、2、3の以下の〜 onStart > onResume アプリ終了(最初のアクティビティを閉じる) 1、2、3の以下の〜 onPause > onStop > onDestroyView > onDestroy > onDetach
なんで以下のことがわかる。
1. あるFragmentを表示したら、その両隣のFragmentも準備される
2. FragmentはActivityが死ぬまで保持されるので、生成に時間がかかるオブジェクトをFragmentのフィールドに持たせて再利用することで、パフォーマンスを向上できる
(もちろんActivityが死んだときのことを考慮して、Stateを保存しておくことも必要だと思う)
>>501 確かに難しい、というかAndroid自体がw
ライフサイクル多いし、ソース追うにしてもcase文ばっかり+10000行越えとかで萎えるときがある。
>>504 ずっとそのページ参考にしてました。もう少しがんばってみます。
>>507 毎回AsynkTask生成すれば?
生成しすぎると落ちるらしいけど
>>494 サーバー、クライアントのプログラム動かさんといかんのじゃないの?
510 :
494 :2012/07/07(土) 18:26:54.83
>>509 返答ありがとうございます。
確かに、このサイトで書いてあるのは、サーバ・クライアントで通信するようなプログラムを想定していると思います。
私はWi-FiDirectのデモアプリをエミュだけで動かしてみたかったので、同じLAN内で2つのエミュを起動させることはできないかと、このサイトを試していました。
ですがどうもやり方が見つかりません。
やはり実機がないと厳しいのでしょうか・・・
511 :
494 :2012/07/07(土) 18:27:24.99
×このサイトを試していました ○このサイトを参考に試していました
中国 「日本人がスマホを買わないのは理性があるから。韓国人と中国人は頭が悪いからスマホを買う」
http://engawa.2ch.net/test/read.cgi/poverty/1341582310/ 【中国BBS】理性的な消費の日本人、メンツでスマホを買う中国人、韓国人
「日本でのスマートフォン使用者の比率は中韓の半分だけ!」というスレッドが立てられ、さまざまな意見が寄せられた。
スレ主は、日本メディアによるニュースとして、日中韓でのスマートフォンの利用状況について調査を行ったところ、スマートフォン
利用者がもっとも少ないのは日本であることが分かったと紹介。調査結果によれば、中国は90%で韓国は91%だが、
日本は44%にすぎなかったという。この結果について次のようなコメントが寄せられた。
・「これを理性的な消費という。多くのものは一過性だ。本質的ではなく実用的でもない」
・「(日本は)生活が豊かだから、携帯電話もスマートフォンかそうではないとかの区別がない」
・「ごく正常な結果だ。日本人はスマートフォンに依存していない」
・「日本人は倹約家で、中国人のように死んでもメンツを守るという考えがない」
・「折り畳み携帯こそ王道であり頑丈だ」
中国でのスマートフォン使用者が多い理由については、「メンツ」を挙げる人が多く、中国人は
お金があってもなくてもメンツのためにiPhoneを買わなければならない、わが国の国民は
どんなに貧しくても良い携帯電話を買って自分を装う、などのコメントがあった。
http://news.searchina.ne.jp/disp.cgi?y=2012&d=0706&f=national_0706_028.shtml
R cannot be resolved to a variable ではまった。 なんとかしてくれ・・・。
クリーンするか、gen消してリビルド
>>515 それでなおらんからこまっとr・・・・なんだと!
今やったら直ったがな。
よくわからんが、サンクス!
こればかりはマジで意味不明だから困るよな クリーンしてもRがありませんとかぬかしやがるから再起動とかするときもあるし
エミュのEditTextにPCのキーボードから入力できなくなった 助けてアルゴマン
519 :
494 :2012/07/08(日) 00:59:06.62
>>512 すみません、
>>510 の「同じLAN内で2つのエミュを起動させることはできないかと、」は表現おかしかったです。
エミュ同士をWi-FiDirectでLAN接続できないかなーと思っていろいろ試してまして。。。
「2つのエミュを使い、Wi-FiDirectでLANを構成することはできないかと」の方が正しいです。
>>519 俺もよーわからんで付き合ってる
Wi-FiDirectでLANって言ってるのが理解できないんだけど
無線LANは接続手順があるってだけで
つながったら、ただのLANと同じ扱いが出来るんじゃないの
2つのエミュってのは同じマシン上にあるってだけなんじゃあ
同じマシン上接続手順はwebに書いてある
ただ、それを確認するにはプログラムが動かさないといけないってことじゃあ
p2pやりたいのなら、ipがわからないと通信できないのでは
続き Wi-FiDirectってのはローカルな接続が出来る機能なのね エミュのこともよー知らんけんけど、新し目の機能は使えんのかもね
このデモアプリケーションのソースコードは、Wi-Fi Direct API を利用して、3つの重要な事柄を達成する方法を示しています。
・接続相手 (peer) を発見する。
・Wi-Fi Direct API を利用して接続する。
・ファイルを転送するためにTCPソケットを開くことができるように、post connection に関するグループの詳細を見つける。
ttp://android.ohwada.jp/archives/709 >接続相手 (peer) を発見する。
ここが肝なのかも
くそー、もう朝方じゃないか・・・・。 startActivity呼んだだけで、本当にパーミッションいるのかよ・・・。 java.lang.SecurityException: Permission Denial: getTasks() from pid=10486, uid=10173 requires android.permission.GET_TASKS at android.os.Parcel.readException(Parcel.java:1322) at android.os.Parcel.readException(Parcel.java:1276) at android.app.ActivityManagerProxy.getTasks(ActivityManagerNative.java:1754) at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:1379) at android.app.Instrumentation.execStartActivity(Instrumentation.java:1377) at android.app.Activity.startActivityForResult(Activity.java:2849) at android.app.Activity.startActivity(Activity.java:2975) at com.tojc.ShowServiceMode.MainActivity.onClickButtonExecuteShowServiceMode(MainActivity.java:155) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:507) at android.view.View$1.onClick(View.java:2180) at android.view.View.performClick(View.java:2585) at android.view.View$PerformClick.run(View.java:9299) at android.os.Handler.handleCallback(Handler.java:587) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:130) at android.app.ActivityThread.main(ActivityThread.java:3691) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:507) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:670) at dalvik.system.NativeStart.main(Native Method) しかし、権限つけなくても、期待通りに動いてるんだけど。 GET_TASKSつけたら、でなくなるけどさ・・・こんな権限つけたくねぇよぉ どーしたもんかな。
Viewの罫線表示について教えてください. TextViewに対してxmlの <shape><stroke> を使って枠線(全辺囲み)を表示することはできましたが、 特定の辺を指定して(左辺と下辺など)罫線を表示するには どのようにすればできるのでしょうか. 極力xmlでやりたいですが、他の方法があるのであればそちらも 教えていただきたいです.
cssみたいにできないからねえ できないなら力業で描くしかないんですよ
できないよ
NinePatchでやれば?
Google検索を使いたいときAPIなどを使ったほうがいいんでしょうか? Google検索から直接取るとすぐにGooglesorryになります
530 :
494 :2012/07/08(日) 11:03:25.66
オリジナルフォントをStyle的な何かを使ってアプリ全体に適用させたいのですが、 コードでgetAssets()する方法しか見つかりません。もしかして出来ないですか?
532 :
531 :2012/07/08(日) 13:30:17.70
これでは駄目でした。何か良い手はありませんか?お願いします。 <item name="android:@assets/フォントのフォルダ名">フォント名</item>
android:typeface
>>530 デモ動かしたいだけなら、プログラムとはあんまり関係ないような
デモのソース見ることとエミュ同士で接続出来るって情報で
自力でやるしかないような
そのurlに書いてあるのはvirtualbox使ったってことみたいだよ
535 :
531 :2012/07/08(日) 14:28:13.56
>>533 そのtypefaceを使ってstyle上でassets/フォントフォルダを参照できないですか?
536 :
531 :2012/07/08(日) 16:39:51.16
質問の仕方が不味かったです。 style上でカスタムフォントを定義したいのですが、 可能でしょうか?
多分できにあからTextViewとEditTextViewのカスタムクラス作れば それでxmlからそのクラス呼べばstyle使うのと大差ないよ
538 :
531 :2012/07/08(日) 17:22:27.08
>>537 やっぱり出来ないですか。上でViewPagerの話が出てたんで、
自分もちょっと使ってみようと思ったんですけど早くもTitleStripで躓いてしまったw
ここはstyleじゃないとフォントサイズ等変更できないみたいなんですよね。
540 :
531 :2012/07/08(日) 19:01:51.78
>>539 そうか、そう言う手があったw ありがとw
>>534 本当ですね、すみません。
英語苦手でつまみ読みしかしてなかったので・・・
VirtualBoxにandroidx86 4.0eeepc入れて・・・
って感じですかね。
だから同じ設定が見つからなかったのか・・・・
もう少し調べてもダメそうならエミュだけでってのはあきらめようと思います。
ありがとうございました。
>>541 ちょっと、emu動かしてみた
emuのip調べる方法
emu起動
$ adb devices
一覧に
emulator-5554
というのが出る。2つ起動してると2個出るのかな?
$ adb -s emulator-5554 shell
# netcfg
ipの情報が出る
#exit
$ telnet localhost 5554
これでコンソールコマンドが使えるようだ
xmlレイアウト内で TextView に android:id で id を設定して、R.javaを見ると確かに id が割り当てられてるのに 実機デバッグすると、そのidはぬるぽだよって怒られる((っ´ω`c)) ---エラー (中断中 (例外 NullPointerException) ---xmlレイアウト <TextView android:id="@+id/text" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="ぬるぽ" android:textSize="12dp" android:textColor="#ffffff"/> ---R.java public static final int text=0x7f07000c; ---ソース内 TextView tv = (TextView)findViewById(R.id.text); tv.setText("がっ"); プロジェクトをクリーンしたのに直らないのは仕様ですか?
anroid.R. の方をインポートしてないかい
>>542 レスありがとうございます。
emuでtelnetまではやりましたが、よくよく考えると結局ポートフォーワードしてもWiFiDirectには
関係ないのかな、と考えたところでどうしたら良いかわからなくなり、ここで質問しました。
ちなみに、devicesでエミュ2つとも出現しました。
546 :
544 :2012/07/08(日) 23:54:04.20
>>543 ごめん、anroid.R.id.textなんて存在してなかったわ
無視してくれたまえ
>>545 wifidirectってのがなんとなくわかってきたかな、俺的に
2emu起動してみたけど
macaddress、ipaddress共に同じだった
directってのやりたいのなら、macaddressが同じだとまずいかも
emuで出来なくはないのだろうけど、中の人じゃないと無理かもね
部外者が出来ることは実機の動作をよく調べることかな
パケットダンプが出来ればいいかも
>>543 layoutにidがないんじゃない?
setContentViewで別のlayout設定してるとか
>>539 44,45,46のTextViewにカスタムフォントをセットしてやるだけだよね?
これなら初めてのリフレクション入門に丁度いいかなと思ったけど、
中々上手くいかん
44 private TextView mPrevText;
45 private TextView mCurrText;
46 private TextView mNextText;
550 :
543 :2012/07/09(月) 04:17:08.93
>>549 うまくいかないのがリフレクションのところだったら、以下でいけるはず。
PagerTitleStrip strip = ...;
try {
Field mCurrTextField = PagerTitleStrip.class.getDeclaredField("mCurrText");
mCurrTextField.setAccessible(true);
TextView mCurrText = (TextView)mCurrTextField.get(strip);
// ごにょごにょ
} catch (NoSuchFieldException ex) {
} catch (IllegalAccessException ex) {
}
ただ、ProGuardかけてる場合はめんどくさいかも。
フィールド名が変わってしまわないように、-keep付けないといけなくなる。
よく考えたら、addViewされてるんだから、以下でいいはず。
int childCount = strip.getChildCount();
for (int i = 0; i < childCount; i++) {
View view = strip.getChildAt(i);
if (view instanceof TextView) {
TextView textView = (TextView)view;
// ごにょごにょ
}
}
>>550 22行目は
dlgLayout = inflater.inflate(R.layout.dialog_layout, null);
dlgText = (TextView)dlgLayout.findViewById(R.id.dialog_text);
じゃない?
LayoutInflater#inflate(int, ViewGroup)は、第2引数のViewGroupが
・=null: 第1引数のlayoutをインスタンス化したものを返す
・!=null: 第1引数のインスタンスを第2引数にaddした上で、第2引数を返す
http://developer.android.com/reference/android/view/LayoutInflater.html#inflate%28int,%20android.view.ViewGroup%29 ソースの22行目を見ると、第2引数にfindViewByIdしたViewGroupを指定してるけど
事前にsetContentViewしてないので、第2引数はnullじゃない?
なので、dlgLayoutがView階層にaddされていないので、23行目の戻りがnullになってるんだと思うけど。
あとついでに言うと
Dialogの表示はActivity#showDialogかDialogFragment使ったほうがいいよ。
それだと、縦横きりかえるとメモリリークするはず。
「android dialog リーク」あたりでググるといいよ。
NativeActivityを使っていて、PreferenceActivityの設定画面を使ってる サンプルはどこかにありませんでしょうか? 設定画面からBackキーで戻る所で躓いてしまいまして。
554 :
デフォルトの名無しさん :2012/07/09(月) 11:49:10.01
教えて下さい。 MotionEvent.ACTION_DOWN発生時に円を描画させたいのですが、 どのようにさせればよいのでしょうか? onDrawを使用すると起動時既に円が描画されています。 描画タイミングをこちらの任意で設定したいです。よろしくお願い致します。
馬鹿には無理
↑こういうのにレス付けられる人は本当にかわいそう
>>554 public boolean onTouchEvent(MotionEvent event) {
if(event.getAction()==MotionEvent.ACTION_DOWN){}
}
の中でフラグ立たせてinvalidate();呼べ
onDrawでflag==trueのときに描画しろ
558 :
549 :2012/07/09(月) 13:07:40.30
>>551 ここを参考にしてたんですけど
http://www.ne.jp/asahi/hishidama/home/tech/java/reflection.html#getDeclaredMethod (
PagerTitleStrip strip = ...; を
Class<PagerTitleStrip> strip = PagerTitleStrip.class;して
TextView mCurrText = (TextView)mCurrTextField.get(strip); の後のごにょごにょに、
以下を追加して終わりだと思ってたんですけど上手くいかないです。
Typeface typeface = Typeface.createFromAsset(
mContext.getApplicationContext().getAssets(), "フォントフォルダ/フォント名.ttf");
f(typeface != null && mCurrText!= null ) mCurrText.setTypeface(typeface);
下段のこっちの方も試してみようと思ったんですけど、
int childCount = strip.getChildCount(); ← PagerTitleStripで未定義ですと言われるし
上記をアクティビティのonCreate()直下に記述しているんですけど、
FragmentPagerAdapter内のpublic CharSequence getPageTitle(int position) {内で書くものなんでしょうか?
質問です イメージボタンを透明にすることは出来ますが、 高速スクロールのボタンを透明化することは出来るでしょうか? また、高速スクロールのボタンへイメージ画像を充てがう事は出来ますか?
画像編集のアプリを作っています。 Viewに画像を表示してその画像の角をドラッグすることで拡大縮小や回転を行えるようにしたいのですがどのようにすればいいのでしょうか?
ちょwおまwww そこw機能の根幹じゃねぇかwww それ人に聞いてどうするよwww 「ギター・ベース・ドラム・キーボード募集、当方ボーカル」かよwww
スタジオもただで貸してくれる人を募集しています
>>560 マルチタッチの2本指で拡大縮小回転する方がかっこよくない?
>>558 AndroidってよりJavaの話になってしまうけど。
>>551 の"strip"はPagerTitleStripオブジェクト。
Swipe Views + Title Stripのプロジェクトだと
PagerTitleStrip strip = (PagerTitleStrip)findViewById(R.id.pager_strip);
って記述してるやつ。
> Class<PagerTitleStrip> strip = PagerTitleStrip.class;
の"strip"はClassオブジェクト。
PagerTitleStripオブジェクトじゃない。
左辺の型が、PagerTabStripとClass<PagerTitleStrip>で違うよね?
ちゃんとPagerTitleStripオブジェクトが取得できれば、getChildCountも使えると思うよ。
PagerTitleStripはViewGroupのサブクラスだから。
>>560 どのようにするかを考えるのがプログラミングです。
プログラミング質問はプログラミングしてからお願いします。
アプリをバックグラウンドにして長時間放置。 その後起動するとフォアグラウンドだったActivityが作りなおされているように見える。 この時って、それまでスタックしていたActivityも順番に再生成されているのかな?
autolinkでwebに飛べるようにしたときに内部ブラウザで開きたいんですが autolinkしたurlはどのようにすれば扱えますか?
>>566 フォアグラウンドな Activity がひとつだけ再生成される
Back キーで戻ると、戻った先の Activity がひとつだけ再生成される
>>567 TextView#getText の戻り値が Spannable にキャストできると思うので、
その中から getSpans かなんかで URLSpan を探して削除し、
URLSpan#onClick をオーバーライドした独自のサブクラスをセットし直すといいんじゃないかなぁ
たぶん
>>556 馬鹿には無理。特にお前みたいな馬鹿には一番無理
573 :
543 :2012/07/09(月) 19:35:04.85
>>552 レスありがとうございます。Dialog のメモリリークについての参考ページをggって読み漁ったのですが、自分が記述していたのはダイアログ管理も自分で行わないといけない記述の仕方だったのですね。
Activity#showDialog で Activity に任せたほうが楽で安全なので、showDialog で生成するようにしました。
ダイアログ内の TextView の文字列を、違う文字列で上書きする動作はまだ実現できていないのですが、ダイアログ内に表示されている画像やテキストなどは、動的に変化させることは無理なんですかね?
Activity#setContentView(R.id.layout.xml) で Activity にセットしたレイアウトの中にある TextView は上書き可能なのに・・・
inflateメソッドでレイアウト追加しているところが臭いので、少しだけ自力で探ってみます。
575 :
566 :2012/07/09(月) 20:11:44.12
>>568 なるほど。
じゃあ、ActivityAがBを起動したことを
boolean isBCreated = YESとかメンバ変数で持つとかはアウツなんですね。
アプリがバックグラウンド中にA,Bが破棄されて、
B復帰 -> 戻る -> A復帰 isCreated = NOに戻ってる?
>>575 破棄されるときにデータを一時的に保存するあれを使ったらいいんじゃない?
577 :
566 :2012/07/09(月) 20:26:03.21
>>576 savedInstanceStateですよね・・・
むーん。この辺iOSに比べて難しいなあ。
要するにアプリがバックグラウンドになったら、というよりは
Activityがバックグラウンドになったら、いつメモリから消えるかわからないと
考えるのがいいかな。
バックグラウンドのActivityを破棄をエミュレートできれば確認が楽なのだけど・・・
うん それでOK
しかしおおまかな概要がわからないと手も足もでないわな よくある画像をバウンディングボックスで拡大縮小とか どうやるのかさっぱりだよ あれはとりあえず画像の上に操作できる枠を表示させてるだけで 処理は4点の座標からわりだしてやるっていうふうなのかな?
>>577 乱暴だけどこんな確認方法がある
1. アプリを Eclipse からデバッグモードで起動する
2. アプリをバックグラウンド化する
3. アプリを Eclipse の DDMS から強制終了する
4. アプリをフォアグラウンドに戻す
XMLで作成したImageButtonに押したときなどに 透過画像の縁と同じ形(☆なら☆の縁取り)に縁取りをつけたいのですが 縁の画像を用意せずにShapeなどで表現できるでしょうか
585 :
577 :2012/07/09(月) 22:55:34.04
みなさん親切に回答有難うございます。 もう1点質問があります。 アプリケーション全体で参照するデータの扱いは、 シングルトンかApplicationクラスを拡張するか・・・ が、自分はどちらもNGではないかと思っています。 プロセスが死んだらメモリの内容は消えます。けれど復帰は前回のアクティビティから。 途中経過をメモリに保持するのは良くないのではないかと。 よって、そういうデータはSharedPreferenceに保存して、 アプリケーション起動時に初期値に戻すべきものは最初に起動するActivityのonCreateで行うのが、 良いかと思うのですがいかがでしょうか?
アプリケーション起動時に初期値に戻すべきものってなんか不自然な気がするような
質問なんですけどSDK 20 使ってる人でプロジェクト作る時にActivityの生成?のところで Done Loading Packages で止まるんですけど同じ症状の方います?
589 :
デフォルトの名無しさん :2012/07/10(火) 02:42:21.54
質問があります ImageViewから継承してサブクラスを作成したのですが、 レイアウトのxmlでandroid:src指定したソースは取得できるようになったのですが、 ActivityからsetImageResourceでセットしたイメージサイズを得たい時にはどうすれば可能ですか? BitmapDrawable src = (BitmapDrawable) this.getDrawable(); とやっても、最初にandroid:srcで指定したイメージのサイズしか取得できません。 よろしくお願いします。
590 :
564 :2012/07/10(火) 09:05:37.59
591 :
デフォルトの名無しさん :2012/07/10(火) 09:14:12.03
カメラアプリを作成中なのですが regza t-01c で画像サイズ854×480で写真を撮ると 撮った時の静止画像が乱れます(保存される画像は普通に取れます) 他の解像度では上記の現象は起きません。 原因、プログラム的な回避策がわかる人がいましたら教えてください。 お願いします。
>保存される画像は普通に取れます ??
画像を圧縮してjpgで保存するプログラムって自分で作るの? それとも用意してあるの?
「露骨に数字が下がるんです」ついにフジテレビの“K-POP離れ”が始まった!?
いよいよ日本での韓流ブーム終焉の日が近づいている。親韓流、親K―POPの急先鋒とみられているフジテレビ内部からも「まったく視聴率が取れない……」と弱気な声が漏れており、撤収のムードが漂い始めているという。
昨年、高岡蒼佑がTwitterで行ったフジテレビの韓流ゴリ押し批判をキッカケに、韓流・K-POPに嫌悪感を示す層が、インターネット上を中心に形成された。
その流れは根強く、先月には兵庫県でKARAや超新星らが出演するイベントが、チケットの売り上げ不振を理由に中止に追い込まれたほど。
それでもテレビでは「K-POPブーム」と称して相変わらずプッシュしていたが、もはや不人気は隠せない段階に入った。
ついには、フジテレビ内からもK−POPの不人気ぶりを嘆く声が漏れている。
「今K-POPアイドルを番組に出すと、露骨に数字(視聴率)が下がるようになってしまいました。
まだKARAや少女時代などの下がり幅はマシな部類ですが、あまり名前の知られていないグループだと、本当にひどい。
さすがにスタッフは頭を抱えていますよ。これまでのように、K-POPや韓流ブームと騒いでいられなくなる日は近いでしょう」(フジテレビ関係者)
この関係者が話すように、露骨なK-POP推し自粛は番組編成にも表れている。
例えば、7月9日に2時間特番として放送予定の『夏が来た!!HEY!HEY!HEY!お台場“生”の歌祭り』。
昨年ならば有名無名問わず、複数のK-POPグループがブッキングされるというケースが多かったが、今回韓国アーティストで出演を事前告知されているのは東方神起だけ。
8月8日の『FNSうたの夏まつり』にも、今のところK-POPアーティストの名前はない。
民放キー局関係者は「すでに『ミュージックステーション』を持つテレビ朝日も、K-POPと距離を置くことを決めたといいます。
必要以上にK-POPアーティストを出さないということですよ。数字が取れない上に、ネットであらぬ批判を受けてしまいますから、仕方ないですね」と耳打ちする。
今年も日本でのヒットを目指して多くの韓流アイドルがやって来ているが、現実はあまりにも厳しいと言わざるを得ないだろう。
http://www.cyzo.com/2012/07/post_10950.html http://engawa.2ch.net/test/read.cgi/poverty/1341880283/
webviewでGoogle検索の履歴が表示されないんですが何か設定が必要なのでしょうか?
JavaScript を有効にしてないとか
>>569 ありがとうございます
私にはまだ理解できないのでまた勉強してから参考にさせて頂きます
>>593 Bimap.compress (Bitmap.CompressFormat.JPEG, 100, xxxxx.jpg);
戻り値はbooleanで変換の成否
599 :
595 :2012/07/10(火) 13:08:52.70
>>596 有効にしても駄目でした
何かしら実装しないといけないのですかね?
>>589 setImageBitmap してないんじゃね?
>>572 大切な事なのでもう一度言います。
馬鹿には無理。特にお前みたいな馬鹿には一番無理
(悔しいから)大切な事なので(ry
ActivityManagerの ・getRecentTasks ・getRunningTasks ・getRunningAppProcesses で取得される値の違いがいまいちよく分からない(SDKも読んだけど余計に分からなくなってしまった) どう違うか教えてください。
俺の理解するところによれば、 Recent と Running の違いは、 Recent は終了したものも含むが Running は実行中のものだけ Task と Process の違いは、タスクはユーザーの見た目的なものでプロセスは OS 上の内部的なもの 例えばメーラーから添付ファイル選択でギャラリーを呼び出したらギャラリーとメーラーは別のプロセスだけどもユーザーの見た目的にはメーラータスクの一部 ホーム画面に戻って新たにギャラリーを起動するとこれは当然さっきのメーラーとは別のギャラリータスクだけどプロセス的にはメーラー上のギャラリーと新たに開いたギャラリーは同じプロセス上で動作している
ちなみに終了したタスクとは Back キーで全部の画面をきちんと終わらせたタスクのことで、 Home キーで抜けるなどバックグラウンド化しただけのタスクは終了していない また、プロセスが kill されても、それイコールタスクの終了ではない タスクが終了しても直ちにプロセスが消されるわけではないし、 タスクが生きてても直ちに必要なければプロセスは消されるし、 消されてもまた必要になれば再起動されるのが Android におけるプロセスというもの
>>554 自分で書いてる通りやればいいよ
invalid
SDKのダウングレードしたいんですけどどうすればできます?
>>604 ありがとうございます。
とりあえずあれから自分なりにさらに調べてテストソースも書いてみて
getRecentTasksの挙動はホームボタン長押しで出る「最近使ったアプリ」の値とほぼ同じだと考えて良いみたいですね。
getRunningTasks とgetRunningAppProcessesについてはやっぱり自分で調べてもよく分からなかったですけど
>>604 の説明をみて理解できました。
609 :
379 :2012/07/10(火) 20:27:45.07
Aというviewクラスの中で使った値を別のBというactivityクラスで利用する方法はありますか?2つのクラスは別々のファイルです
ウィジェットからスタートアクティビティ経由でアプリを立ち上げると、 キャッシュが効いてても、一から読み込みが始まり起動が遅くなります。 どうにかならんもんでしょうか?
アプリ側からgoogleカレンダーの予定作成はできるのですが、カレンダーそのものの作成が上手くできません。。。 アプリ側からカレンダーの作成はできないのでしょうか?
初期値を与えている変数だとonSaveInstanceState使っても初期値に戻るだけなんでしょうか?
「アプリケーション全体で参照するデータ」って例えばどんなんだろ 本当にデータ的なものはファイルとかデータベースとか使えばよさそうなもんだし 環境設定だったらそれこそSharedPreferenceに書いたほうがいいだろうし
>>612 onSaveInstanceState で保存した値は、自動的に復元されるわけじゃなく、自分で復元するんだから、
初期値を使うか、 savedInstanceState から復元するか、もっと別の値にするか、自分で自由に選べるだろ
615 :
デフォルトの名無しさん :2012/07/10(火) 22:54:13.69
GLSurfaceviewに、ポイントスプライトにテクスチャ貼り付けてフレーム毎にある一定の大きさまで拡大させるプログラムを書いたのですが、 Tegra2上のみで意図した通りに動作し、Adreno200とMali400MPでは一定の大きさで止まってしまい、それ以上大きくなりません。原因わかる方よろしくお願いします。
616 :
612 :2012/07/10(火) 23:06:04.72
更新させたらいけた てへ
617 :
デフォルトの名無しさん :2012/07/10(火) 23:17:08.74
基本的にコードを一つのActivityに書いて他のクラスに分けたりとかしないんだけどみんなは分けてる?
>>602 とても大切な事なのでもう一度言います。
馬鹿には無理。特にお前みたいな馬鹿には一番無理
MainActivityだけで済んじゃうような小さなものなら分けないが、 ある程度以上デカくなると分けないと管理しきれん
>>618 とても大切な事なのでもう一度言います。
馬鹿には無理。特にお前みたいな馬鹿には一番無理
>>617 再利用可能になりそうな部分のソースは別クラス化しておく
623 :
デフォルトの名無しさん :2012/07/10(火) 23:48:01.25
GLES2.0でCanvasに描いた文字をBitmapに貼り付けて描画する方法でフォントを作っていますが、真っ黒で表示されません。 GLES1.0で同じやり方で上手くいっています。 シェーダーなど思いつくところは全部試しました。 GLES2.0だと何か根本的に問題があるのですか?
624 :
デフォルトの名無しさん :2012/07/11(水) 00:03:18.29
625 :
デフォルトの名無しさん :2012/07/11(水) 00:03:24.68
3d launcherのように、画面遷移時に3d表示にするのは、どうやっているのでしょうか?? フレームワークやライブラリ等あるのですか? よろしくお願いします。
トップレベルのリニアレイアウトをcleanupViewしようとしても cleanupView(View)は未定義ですと言われるんですけど、どういうことですか? cleanupView(findViewById(R.id.allview_list));
627 :
626 :2012/07/11(水) 01:12:15.22
解決しました。
HOME系アプリでHOMEボタンをダブルクリックしてアクションを 実行する事があるけど、あれはどうやって実現してるんだろう?
onNewIntent を拾っているのでは
>>620 非常に大切な事なのでもう一度言います。
馬鹿には無理。特にお前みたいな馬鹿には一番無理
>>629 今Activityでログ仕込んでトレースしてみたんだけど、
launchMode="singleInstance"でHOMEボタン押したらonCreate()が走って
再度HOMEボタン押すとonPause()→onNewIntent()が走った
onCreate()は無視してonNewIntent()で処理すればいいって事かな?
onNewIntent はホーム画面がフォアグラウンドなときにホームボタンを押したらいつでも来るかと思われるよ もしシングルクリックとダブルクリックを区別する必要があるなら時間差が ViewConfiguration.getDoubleTapTimeout() 以内かとか判定しないといけない気がするけど
>>633 ViewConfiguration.getDoubleTapTimeout()なんてあったのか
どうやって時間を計ってるのかと思った
1回目のHOMEボタンアップと2回目のHOMEボタンダウンのイベント時間の
差分取って、getDoubleTapTimeout()以内だったらダブルクリック、
そうでなければシングルクリック扱いって感じだろうか
■■■■■クソチョン公を日本から叩き出せ。技術者よ、もう高額契約金に釣られてチョーセンには行くな。 シャープは台湾と組んで正解だった。 これからチョンを叩き潰す。 ※※※※※※台湾人と韓国人の民族性の違い※※※※※※ その昔、本田技研の創業者・本田宗一郎氏が台湾と韓国へ技術支援に行った。日本のモノづくりの真髄技術を伝えて、 その後台湾から、「日本と同じものが作れるようになりました。是非見に来てください!」と連絡が入った。 台湾人は技術力が向上したのは日本のおかげだったと、先生の本田氏に報告し、心から感謝した。 一方、しばらくして韓国からも連絡があった。それにはなんと、 「日本と同じものが作れるようになりました。もう来なくていいです。」 だった。 そして、韓国は本田とのライセンス契約を一方的に解消し、エンジンからデザインまで全くの物真似・コピー品を "韓国ブランド"として販売し始めた。つまり、技術を盗み終わったら先生は「用済み」だと言い、 しかも、技術提供の代価であるライセンス料は払いたくないというのが韓国の言い分だった。 恩を仇で返す、それがチョーセン人の本質だった。本田宗一郎氏はがっかりして、「韓国とはもう絶対に関わるな」と漏らした。 この話は『夢を力に ―私の履歴書』という本田氏の自伝に書かれている。 『併合で散々援助されたのに、身勝手な独立をした韓国』という韓国民族とは、そういう人種である。 恩を仇で返す民族と言われるゆえんだ。このチョンの性癖は2000年以上変わらない。
636 :
デフォルトの名無しさん :2012/07/11(水) 12:18:18.26
Android,というかeclipseの質問になるのですが、こちらで良いでしょうか? Androidの実機でのデバッグのため、manifestファイルにandroid:debuggable="true"を書き足し、 実行したのですが、指定のブレークポイントでストップさせることが出来ません。 見てみると、ブレークポイントの○印に、斜線が入っており、正常の状態ではないようです。 ブレークポイントのプロパティを確認しても、これを除くチェック等は見あたらず、 斜線が入るような何かをした覚えも無いため、困っています。 このブレークポイントの斜線を除くには、どのようにしたら良いでしょうか?
Eclipse(Version: 3.7.2 for Mac)の設定画面/DDMS/HPROFアクションを、
Save to DiskからOpen in Eclipseに変更したんですが、
フォルダにandroid~.hprofがコピーされてしまい、
自動的に Memory Analyzer が解析を始めてくれません。
Mac版だとこれらが出来ないとかありますか?
参考サイト
http://blog.hikware.com/article/54369112.html
638 :
637 :2012/07/11(水) 13:34:10.14
自己解決しました。すみません。
>>637 自分が困ってるときは助けを求めるくせに、
いざ自分が助かったらそれでお終いかよw
他にも同じことで困ってるヤツがいるかもしれないだろ?
そういう奴らが検索で見つけられるように、
自己解決したときでも、その方法をレスしておけよな
誰かがまとめサイトやら、まとめwikiを作らない限り 無限ループさ あ、俺は作らないんでヨロ。時間ねーもん。 お前らが生活費カンパしてくれるってんならやってもいいがなw
バグを見つけた 配列に文字"能"を代入すると何やらエスケープ系のエラーになる模様
>>641 「表現」「暴力」「予知」「申請」て代入してみて
pm install コマンドの -t オプションってどういう意味なんでしょうか。 説明は↓とあるのですが -t: allow test .apks to be installed. 実行シミュレーションかと思ったら普通にインストールされるようで…
eclipseバグ多いよね?
645 :
デフォルトの名無しさん :2012/07/11(水) 17:32:21.93
どうにもわからなくなってしまったので助けてください。
sqliteのDBからデータを取得し、ListViewで表示すると言う処理を作っています。
データをカーソルに取り出すところまでは何の問題も無く行ったのですが、そこから先、何故か表示がうまくいきません。
悪さをしているのでは無いかと考えたものを徹底的に省いてみたのですが、それでもダメでした。
-- result_list.xml --
<RelativeLayout xmlns:android="
http://schemas.android.com/apk/res/android "
android:layout_width="fill_parent"android:layout_height="fill_parent" >
<!-- リストのメイン -->
<ListView android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/result_main" >
</ListView>
</RelativeLayout>
-- result_list_item.xml --
<TextView xmlns:android="
http://schemas.android.com/apk/res/android "
android:id="@+id/date" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:layout_weight="1" android:width="0dp" >
</TextView>
-- リスト表示部 --
Cursor c = DBAdapter.getAllNotes(); // 内部でcursorを取得
SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(this,
R.layout.result_list_item, c, new String[] {DBAdapter.COL_DATE}, new int[] { R.id.date});
lv.setAdapter(mAdapter);
中身これだけなのに表示されません。いったい何が誤りなのか、ご教示願えませんでしょうか。
>>645 ListActivityを使っているなら、ListViewのIDは"list"にしないと駄目
OS 4.0でアクションバーを使ってsplitActionBarWhenNarrow設定すると、、 縦画面だと下にメニュー表示。横画面だと上にメニュー表示。となります。 別にこれは構わないのですが、横画面にして適当に画面を移動してから縦画面にすると、 メニューが下に表示されるのですが、左側によっている状態になってしまいます。 画面移動せずに、回転させて縦と横が切り替わる分には問題なく動作します。 なにか解決策はありますでしょうか。
>>645 android:width="0dp" ってのはそれでいいの?
スレ違いギリギリなんですけど、メモリリークを調べたいので以下のサイトを参考に
hprof-convコマンドを使ってターミナルで実行してもcommand not foundって言われる。
ホーム直下にandroid-sdksを置いているんだけど、下のパスって間違ってます?
/usr/local//MacBookAir/android-sdk/tools/
http://eikatou.net/blog/2012/02/memory-leak/
パスが間違ってるかどうかなんて Finder で開いて実際にモノがあるかどうか見てみればすぐわかるじゃないか
655 :
645 :2012/07/11(水) 20:13:17.07
ご指摘ありがとうございます。
>>647 >ListActivityを使っているなら、ListViewのIDは"list"にしないと駄目
Activityは普通の(?)Activityです。 問題になるかも知れない箇所を削るだけ削ったら、こんな形に。
>>652 >android:width="0dp" ってのはそれでいいの?
どこだかで見た、複数カラムある時に均等割する技、というので入れてました。
一応気になって外してみたのですが、結果は変わりませんでした。
>>654 そう言えば「情報を見る」にパスが書かれてた。
出来る様になったよ。ありがと。
やさしいAndroidプログラミングを買って、 序盤の章を試してるのですが、Androidエミュレーターがいつまでたっても、 「ANDROID」ってロゴがキラキラ光るだけで、ホーム画面に移りません。 開発環境はPenM1.6G、メモリ2G、XPSP3の古いノートPCですが、 これでは遅すぎでしょうか? JDKはjdk-7u5-windows-i586.exeです。 何か命令が足りてないのかな。 サンプルの動作は実機で起動して確認はできました。
>>657 そのスペックじゃきついかもな・・・
実機持ってないの?
持ってないなら、実機買うかPC買い換えるかのどっちかだな
>>657 よくあるからエミュ閉じてもう一回起動がいいよ
たしかにそのスペックじゃ厳しいな
単純にスペック不足なだけだろうなぁ
i7の16Gでも普通のエミュは少し遅いからな
2.3までは非公式のcalendarproviderを使用してカレンダーの作成を行ったのですが、 同期をすると作成したカレンダーがなぜか消えてしまいます。 非公式なので作成を諦めるしかないでしょうか?
>>657 それでエミュ起動とか無謀すぎるだろ・・・
俺の型落ちPCは3Ghzの4Gメモリでもどっこいどっこいだぞww
activityをfinishさせても22M残るんですけど、 これ完璧メモリリークですよね? ・onDestroy時、オブジェクトをnullさせる ・imageView.setImageURI(null); ・Context系はgetApplicationContext()に置き換えて 他にすべき事って何かありますか?
皆様ありがとうございました。 新しいマシン買ってきます。
>>657 メモリ足りなくてスワップしまくりなんじゃないかと。
メモリ2GとかEclipseとエミュレータだけで
他何もいらないもの動かさない状態でギリって感じ。
一度Eclipseは立ちあげずにコマンドプロンプトから
「android avd」と打つか、あるいはSDKフォルダの「AVD Manager.exe」を実行して
そこからエミュレータを単体で起動させればメモリが足りてそれなりに動くかも
あっと自分はやったことないけどリモートデバッグできるっぽいから 他にマシンがあるならエミュレータはそっちで起動して・・・いや面倒だな・・・
端末を叩く動作を正確に検出する方法ないですか? やりたいことは、iPhoneのtipskipとほぼ同じなんだけど、 端末を振ったときや置いたときに誤作動してしまう。。
>>664 オーバースクロールはアップルが特許だと主張するのでいつからか廃止されて代わりに端が光るようになった
>
>>666 具体的に何がリークしてるのかを調べた方がいいんじゃないかな
何かそういうツールがあった気がするのだけれど
>>666 だけど、他のアプリがメモリ要求したらそこ開放してくれる。
Cのアプリと考え切り離したほうがいいよ。
core2duoじゃ4.0のエミュきびしいよね?
x86ならいける
>>675 うちのCorei7の6コアなら普通にいけたよ
>>677 6コアなんてあるの!?
クワッドじゃなくて?
無いから安心していいよ
>>678 Core i7 3930K
Core i7 970
すげー6コアもうあるんだ
ガチなのかネタなのかしらんが、 6コアは前からあったし、8コア(Xeon)も普通にあるので、 そんなすげぇっていうことでもないと思うのだが・・・。
3年ほど意識を失ってたんじゃね
AMDの16コアは相変わらずいい値段だがな。
>>675 厳しいと言えば厳しいかもしれんが、
まぁ、あなたが短気でなければ問題ない。
起動はするので、優しく扱っておくれ。
ちなみに10コアも普通に出てる 高いけど
AMDが8コアOpteronを自作向けに売り出してたけど たしか2万円台だったし、いっぱいコアほしいならあれでいいんじゃね
コア数で盛り上がっているところ悪いけど エミュを起動させてタスクの様子を見てみたけどどう見ても1コアで頑張って動いているだけ。 このエミュレータはっきり言ってマルチプロセスで動いていない。 無駄なコア数論議しちゃってかわいそうだ。 自分でマルチコアで動くか確認してから物を語れ。
そんなの常識 お前が馬鹿っぽい
689 :
675 :2012/07/12(木) 10:48:45.01
>>687 そうしますと、Pen4もi7も変わらないってことですね。
了解致しました!
有難う御座います。
>>688 その常識から外れてコア数云々話しているのは恥ずかしい。
常識と言うが本当はおまえ知らなかったんだろwww
必死すぎ。
↑馬鹿
693 :
675 :2012/07/12(木) 10:56:14.22
>>690 なるほど。
ただ、i7とcore2duoでも型によっては
1コア当たりの性能が違うような気がするのですが、そこはどうなのでしょうか?
また、コア数多い方が、エミュ以外も同時に動かす場合に処理負荷が分散され
全体的に軽くなると思うのですが、そこはどうなのでしょうか?
そりゃそうだ。
>>692 論破されて必死すぎ。
>>693 >ただ、i7とcore2duoでも型によっては
>1コア当たりの性能が違うような気がするのですが、そこはどうなのでしょうか?
同じi7でもコアが同じなら1コアあたりの性能は同じ。
現状i7だけでも複数コアある。
また、QPI/DMIの性能の違いもある。
>コア数多い方が、エミュ以外も同時に動かす場合に処理負荷が分散され
>全体的に軽くなると思うのですが
正解。
↑必死
論破www
↑必死
俺はすごいんだぞ〜お前らは馬鹿なんだぞ〜認めてくれよ〜(号泣) w
>>699 みたいななじるだけの奴は2chによくいるけど
そういう奴に限って知識も技術もゼロがほとんど。
少しは、質問している人の実になる回答しろよ。
なじるだけならバカでもできる。
いやなじるだけしかできないのね。ごめんごめんww
僕のセロリンは動きますか><
>>701 セレロンって言っても世代がものすごく多いけど
セレロンってペン2の頃からあるから
今のceleronって結構早いんだよなぁ。 びっくりしたw
ノートだとセロリンヂュオとcorei5ってあんまり値段変らないんだよな
17インチでcorei3で4万とか ノートって安くなってるんだな
少 な い
くやしお・・・
コアが多ければ 0-11までの割り当てで 動画:2-4 ブラウザ:5-6 って感じに、シングルでもMultiでも分散割り当てさせてやればよくね
まあ、今のマルチコア販売戦略は明らかにPC業界の陰謀だからなー コアが4〜6あってもほとんどのアプリは1コアしか使わない マルチコア対応のプログラムなんてアホみたいに難しいから (同時に非同期で処理を投げまくっていく。イメージとしては 背後にサービスを4つ起動させて、それぞれに処理を渡す。 メインスレッドはその間も待ってはならず、処理を続ける。 ここで待つとシングル処理と同じになってしまい意味がなくなる) 個人作者のアプリで対応してるものなんて・・・全体の2%くらいなんじゃねーの? マルチコア完全対応してるのはOS、アドビ、大企業のゲームくらいだろうさ
×アホみたいに難しい ○アホには難しい
>>687 はきっとプログラミングなどで設計や仕様を考えるということをやったことがないんだと思う。
なんでかというと、そりゃ、エミュレータ『しか』動かさないなら別にそこまでコア数やCPUの性能は
今のCPUなら気にしなくてもいいかもしれないけど、
現実問題、それエミュ以外のものを同時に動かす事なんて当然ある。
その時に、コア数が少なければ、それだけエミュが動いているコアへの負担が大きくなるので
エミュの動作にも影響が出る。
なので、当たり前だけどコア数は多い方がいい。
それにかかわらず、
「無駄なコア数論議しちゃってかわいそうだ。
自分でマルチコアで動くか確認してから物を語れ。」
なんて言っちゃうあたり、まずお前が物事を多面的に考えろよとw
i7がいいよなんてコア数だけしか考えてないような奴もいるけどな
>>714 >現実問題、それエミュ以外のものを同時に動かす事なんて当然ある。
でも同時に動かすアプリは複数あっても同時に人間様が動かすアプリは一つ。
だからアクティブ以外のアプリは裏で処理をさせているのではなければ待ち状態でCPUは使われない。
よほど裏で重いバッチ処理をしているなら別だが
MacBookAirはどうなの? サクサク?
>>714 必死すぎ。
現実は
>>716 。
そりゃ裏で動画のエンコードしながらアプリ開発していれば確かにたくさんコア有った方が良い。
>>715 i7とi5の大きな違いってモデルによって違いがあるけどHTの存在だからね。
4コアでメモリが8GBあれば、開発程度なら余裕 6コア積んでメモリ4GBとか2GBだったら失笑
今見たらメモリ2GBだったわwwww アプリの報酬入ったらメモリ買うわ
自分のマシンのスペックぐらい把握しとけよ こういうハゲが、エミュが立ち上がらないんですけど〜なんて戯言ほざくんだろうなぁ
エミュとか話にならない 実機が定番
>>722 実機だとroot取ってないとDDMSでアクセス出来ないリソースがある。
ここで質問してたような奴がそんな事してるとは考えがたいがな
>>718 Eclipseとエミュって同時に使うと思うが…
>>725 バッカお前、ここの猛者どもは快適な開発環境のため、
シングルスレッド爆速のマシンをEclipse専用+エミュ専用で2台用意してリモートデバッグしてんだよ
必死と言ってる奴が実は必死という法則。 必死になって何回も言ってるし。
>>725 エミュが動いているときはEclipseは待ち状態でCPUは使われていない。
デバッグ時だって双方を交互に使って同時には使わないでしょ。
話ぶった切って悪いですけど onCreateで ArrayList<String> aaa = null; aaa.add("あいうえお"); aaa.add("かきくけこ"); aaa.add("さしすせそ"); とやってArrayListを使おうとするとアプリが停止するんだけど原因は何?
>>728 エミュ起動してイジりながら、コンソールからエミュにコマンド投げて、その様子をEclipse・DDMSのLogcatで眺めてるわ
>>729 お前はNullにデータ追加して何がしたいんだよ、コア談義の邪魔すんな
>>713 お前はたった今、残り98%の開発者を敵に回した
ぬるぬる〜を〜♪100倍に〜♪して〜♪ パーティーのー♪しゅやくぅーになろう♪
>>729 Android以前の問題だな
Javaの入門書でも読む事を強くお勧めする
736 :
デフォルトの名無しさん :2012/07/12(木) 14:37:16.30
流れぶった切ってすみません、質問失礼します。 作ったアプリがUSBデバッグでは何事もなく動作するのですが、アプリリストに追加されない現象が起きています。 設定の「アプリケーションの管理」には出ています。 apkで書きだしてインストールしてみても、 インストール自体は完了するのですが「開く」が選択できなくなっています。 ちょうどウィジェットのような扱いになっている感じです。 同じ症状経験されたことある方、原因に心当たりお持ちの方いらっしゃったらご助力願います。
>>736 ManifestにIntentFilterをちゃんと書け
流れぶった切ってすみません、
誰か
>>595 わかる方いらっしゃいませんか?
流れぶった切ってすみません ぬるぬる〜を〜♪100倍に〜♪して〜♪ パーティーのー♪しゅやくぅーになろう♪
>>736 最初に起動されるactivityのintentfilterにこれ記述してるかい?
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
>>721 だってそこそこ動いたしアプリもできちゃったし
今では100万DLの人気アプリです^q^
人気アプリ作るのにPCスペックとかあんまり関係なわな
742 :
デフォルトの名無しさん :2012/07/12(木) 14:52:24.60
>>737 >>740 解決しました!
intentfilterに、逆に余計なこと(DATA)を入れてたせいでした。
ありがとうございます!
Androidでネット対戦が出来て、アイテム課金とか そういうアプリを作る時とかってどういった本参考にして作りました?
リファレンスとかネットに散らばってる情報
こんにちは スリープとスレッドについて質問です // レイアウトにSurfaceViewを一つ追加します mySurfaceViewCallback = new classSurfaceView(Context); mySurfaceView = new classSurfaceView(Context); hoge.addView(mySurfaceView, new ... mySurfaceViewHolder = mySurfaceView.getHolder(); mySurfaceViewHolder.addCallback(mySurfaceViewCallback); // 内部クラス class classSurfaceView extends SurfaceView implements SurfaceHolder.Callback, Runnable { @Override public void surfaceChanged(略) { thread = new Thread(this); thread.start(); } // ループ public void run() { while (thread != null) { // 描画処理 } } 一度スリープして戻るとclassSurfaceViewのthreadがnullになり描画が止まります アクティビティ上のonResume()時にmySurfaceViewCallback.thread = new Thread(mySurfaceViewCallback); ....start(); などやってみましたが復帰できませんでした。どのようにすればthreadを復帰させられるのでしょうか? よろしくおねがいします
>>743 本ではあまりなさそうな気がする・・・ さぁ、ネットで頭痛くなるぐらい検索しよう!
ネット…あなるほどがんばいrます。。
>>745 うろ覚えですまぬが
> thread = new Thread(this);
これは、surfaceCreated(SurfaceHolder holder) の中でやるんじゃないのかい?
あと、Thread.sleep(long millis) はtry&catchで囲むとか。
>>741 同じ100万DLでも
無料で100万DL
有料で100万DL
脳内で100万DL
とでは、ずいぶん話が変わってきますお^q^
で、でたーwwwDL数自慢奴wwwwww
証明する物を何かアップしないとネタ扱いだから
とりあえずアプリ名でも頼むよ。
100万DLの人気アプリなら晒しても問題ないはずだよね
>>755 同意
いまこのスレにきたばかりだけど、
それは感じた
うらやましいのぅwww うらやましいのぅwwww
今のペースであと10年すれば100万DLいくぜ・・・
作成スレでやれ
TabActivityを使用し、タブ内にPreferenceActivityを表示させるときの質問です。 タブ内に表示させるPreferenceScreenに、更にPreferenceScreenを入れ子にして、子PreferenceScreenをタッチして表示させようとすると TabActivity自体が切り替わり、子PreferenceScreenが画面全体に表示されます。 タブの中で、子PreferenceScreenの切り替えを行いたいのですが、どのように記述すればよろしいのでしょうか?
片山さつき「大津の事件の原因は日教組政権下におけるハングル授業
大津のいじめ自殺について、本当にたくさんのメール、ツイートいただきました。
【中略】
担任の先生の、前任地、滋賀大学付属中学における、ハングルの授業・・?の記事なども入手しました。
英語習得段階もまだまだ中途であるはずの中学校で、なぜハングルを教育する必要があるのか?
子ども達に選択の余地はあったのか?
いかなる方針で、誰のオーソライゼーションによってそのような教育が行われていたのか?
それだけでも、かなり変わっているな、と感じられましたし、
【中略】
教育の自主性とか教育現場不可侵、、などを超えてしまっている現実を、
手をこまねいて見ていた多くの関係者、、。
3年前に「日教組政権?」が成立してしまったことで、
そこに、ますます歯止めがきかない空気が、浸透してしまった、そんな可能性はないのでしょうか?
ソース
http://blogos.com/article/42932/ 大津市立中学の韓国語授業の資料
http://blog-imgs-53.fc2.com/h/o/t/hotlog/1341623759_img6946.jpg
SimpleCursorTreeAdapter って、 作成時に渡した(&内部のgetChildrenCursorで作った)Cursorって 画面破棄時に自分で閉じなくても問題ないのかな? 作成時に渡したCursorはともかく、 子リスト分のCursorなんて全部閉じてられんのだが。
べっつにネットのエロ画像の寄せ集めしたやつを ただ表示させるだけでも無料なら100万ダウンロードなんか簡単にいくからな・・・・ そんなクソなアプリ自慢されても・・・・
今ソース見れないから不確かだけど やってみて、クローズしろカスって例外出されたらすればええんでないの
ソース見てみたけど一切閉じてないみたいだったよ 面倒なら Activity#startManagingCursor に放り込んじゃえば
100万DLは言い過ぎました本当は1万DLでした^q^
100DLの間違いとか
一億万円てやつだよ
つまり1DL
Activityの起動直後だけ背景画面を透過させて、 ボタンを押すと背景画面の透過率を変えたいのですが、 下記のようにonCreate()でsetTheme()を指定すると 以降背景を変更する事ができません。 どうすれば後から背景を変更させる事ができますか? setTheme(android.R.style.Theme_Translucent_NoTitleBar); super.onCreate(savedInstanceState);
起動用の背景透過したActivityと、ボタン押したら呼ばれる背景不透明のActivity、2つ用意したらエエんちゃうん?
AlarmManager に Service を set した場合、startService が呼ばれてしまうのでしょうか? bind して使って貰う Service なのですが、AlarmManager で起こすと startCommand が 呼ばれている様なのです...なので、誰かが startService してると思うのですが、 どこなのか突き止められていません。 AlarmManager の set に預ける PendingIntent を FLAG_NO_CREATE で生成しておけば、startCommand は呼ばれないのですが、 肝心のスケジュールがうまく動いていません(実際には、set でなく setRepeat で登録して反復させようとしています)。 どちらかというと PendingIntent 側の話なのかもしれませんが... startService/bindService は排他では無い様なのですが、 複雑になるので同じにしない方が良いとのことで悩んでいます。
AlarmManager に bind させることはできないから、直接サービスを起こしてもらうなら startService 経由で onStartCommand が呼ばれるしかない 呼ばれる用のサービスを別に作るとか BroadcastReceiver で受けるとかすれば?
>>773 > AlarmManager に Service を set した場合、startService が呼ばれてしまうのでしょうか?
はい。
> startService/bindService は排他では無い様なのですが
どういうこと?
Serviceは呼び出し方にかかわらず、Mainスレッドで動くと思うんだけど。
ServiceのJavadocより。
http://developer.android.com/reference/android/app/Service.html > Note that services, like other application objects, run in the main thread of their hosting process.
以下を試せば、Mainスレッドで動いてるかどうか判断できると思うんで
気になるなら試してみて。
Looper.getMainLooper().getThread() == Thread.currentThread()
== ならMainスレッド、!=なら違うスレッド。
変なこと書いた。 > == ならMainスレッド、!=なら違うスレッド。 結果がtrueならMainスレッド、falseなら違うスレッド。
>>771 そうですね。Activityを2つに分ける事にします。
ド素人ですんません。
eclipseでアンドロイドアプリを作ってみようと思ってJDK、androidSDKなど環境を整えたのですが、
ファイル>新規>プロジェクトとしてもandroidの項目に新規Androidプロジェクトがありません。
JDKのバージョンは7u5-windows-i586、Eclipseはpleiades-e3.7-java_20120225、
AndroidSDKはinstaller_r20-windows.exeでインストールしてあります。
OSはwindows7sp1です。
ADT Plugin -
https://dl-ssl.google.com/android/eclipse/ よりDDMS、開発ツール、階層ビューアー、tracer for OpenGL ES、
Android Native Development Tools がインストールされています。
ウィンドウ>設定>AndroidではSDKロケーションがC:\Program Files (x86)\Android\android-sdk、
Android1.5からAndroid4.1、Google APIsまで37個のターゲット、
ファイル>新規>その他>Androidでは10個の選択項目があります。
長文失礼しました。また、環境等について不足している情報があれば申し訳ありませんが指摘して頂けると助かります。
パスが通ってないんじゃね
あとC直下に置いたほうがいいかも
>>774 >>775 ありがとうございます。そうなのですね。カスタマイズも出来るのかなと悩んでいました。
頂いているものも含めて別の方法を検討します。
>>775 >> startService/bindService は排他では無い様なのですが
> どういうこと?
自分の文見返したら本当に訳が分からないですね。余計なエネルギーを使わせて済みません。
スタートサービスとバインドサービスを、1つのServiceの実装に書けなくは無いですが、の意でした。
もう少し細かく言うと
ttp://www.amazon.co.jp/dp/4844331345 の
> サービスは、スタートサービスとバインドサービスの2 つに分類できます。
> 1 つのサービスでスタートサービスとバインドサービスの両方に対応する
> こともできますが、サービスはアクティビティに比べてデバッグが難しく、
> マルチスレッドなどの動作も考え合せると、あまり複雑にしないほうが賢明
> です。両方とも実装する必要がある場合でも、あえて2 つのサービスに分けて
> 実装することをお勧めします。
と言う一節を読みまして、startServiceが避けられずbindも書きたいんだったら
そう書くことも出来るみたいですけど避けてます…と言った状況を説明不足で書いていました。すみません。
>>779 ありがとうございます、Android SDKをc:\に移してeclipseのSDKロケーションもそちらに移してみましたがAndroidプロジェクトは出てきませんでした。
windowsのpathも、
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;
C:\Program Files (x86)\Common Files\DivX Shared\;
C:\android-sdk_r20-windows\tools;
C:\android-sdk_r20-windows\platform-tools;
このように設定しましたが相変わらずです。
ちなみにOSのwindows7は64bitでした。後出しすみません。
ふと思ったのですが、Android Project from Existing Code というのは違うものですよね?
>>782 参考にしてるサイトかブログがあると思うけど
別の探してはじめからやり直した方がいいかも
r20ってr18と比べてだいぶ表示が変わったよね sdk誤って消したから入れ直したら以前と違って驚いた 参考書もr20対応はまだ出てないみたいで・・・ tech funのサイト見てやっと分かったけど techfun.cc/techinf/helloworld/android/
r20はDDMSのLogcatが見辛くて泣ける。 windowsだと改行マークが化けとるし
webviewを使ってListViewから選んだ文字を、googleやyahooで検索させたいのですが、 どこか良い参考サイトは無いでしょうか?
バージョンが変わる度に、今までのソース動かなくなるんじゃ・・・?と無駄に不安にさせられ バージョンが変わる度に、今まで出てなかった新たなエラーが出るようになり バージョンが変わる度に、いちいち無駄な作業が増えやがる なんてふざけた開発環境なんだ
他もそんなもんだろ・・・
バージョンを変えなければいいのに・・・
>>786 は自己解決しました
馬鹿な質問してしまったw
マニフェストにandroid:installLocation="auto" を追加して、PCから実機にインストールした場合は SDカードに移動出来たんだけど、play経由でダウンロードした場合は SDカードに移動出来ない。 うpから時間経ってるし、バージョンも確認したんだけど。 なにか原因になりそうな事分かる人いませんか?
Yahoo知恵袋で以前質問した問題なのですが、カテゴリ違いかそもそも解決法が存在しないのか不明なので 改めてここで質問します。マルチポストとなりますがご了承ください。 現在抱えている問題は以下の通りです。 ・NDKのネイティブプログラム内でファイルをfopen等で新規作成し、PCに繋げてエクスプローラ等で操作を行いたい。 ・SDカード内に書き込む場合はカードをマウントすれば問題ないが、 Android端末がMTPデバイスであった場合、ファイルを作成しただけでは見ることができない。 ・ファイルが見えないのはメディアデータベースに登録されていないのが原因であり、 ファイル作成後にMediaScannerConnection.scanFile()を実行すれば見えるところまでは確認できている。 ・同等の操作をネイティブプログラム側から行いたいが、そのためにはContextオブジェクトへの参照が必要。 ・ファイルを作成する機能は単一の.soライブラリファイルとして提供したい。 すなわち、Contextの参照を行うためのJavaファイルを別途用意する、というような実装方法は避けたい。 良い解決方法は無いでしょうか?
>>672 ,673,674
レスが遅くなったけど、がんばって取り除いて行きます。
今、MATをチラ見したんですけど、意味不明なリークもあったりするので、
また、質問させて頂きますので、その時はよろしくです!
>>791 たしか本体の優先インストール先みたいな項目をSDにしたら移動できる
ActivityからServiceを起動し、Service内で指定時間が来たら sendBroadcastで通知する処理を行っています。 教えていただきたいのですが、ServiceにBindしているActivityのリスト って取得可能なのでしょうか? あとActivityが強制終了した場合でもonUnbind()は必ず呼ばれるのでしょうか?
Webviewを使いyoutubeの動画を再生したいのですが上手く再生してくれません あるサイトを参考にしたんですがそれでも動いてくれません 何か間違っている所ありますか? WebView web = (WebView) getActivity().findViewById (R.id.webview); 設定} public class MyWebChromeClient extends WebChromeClient{ protected View customView; @Override public void onShowCustomView(View view, WebChromeClient.CustomViewCallback callback) { customView = view; FrameLayout mainFrame = (FrameLayout)findViewById(R.id.mainFrame); mainFrame.addView(view); View browserFrame = findViewById(R.id.browserFrame); browserFrame.setVisibility(View.GONE); } <FrameLayout android:id="@+id/mainFrame"> <LinearLayout android:id="@+id/browserFrame"> <WebView android:id="@+id/webview"/>
これは気にしないでください customView = view; 動画画像を押下するとonShowCustomViewが呼び出され、 そのメソッドの引数のviewをFrameLayoutに突っ込み、 LinearLayout以下のviewを非表示にするだけだと思ったんですけど、 そうでは無いみたいなんですよね。
>>785 なんであんなに見づらいんだろうね。
区切り線がなくなったからかな。
SurfaceViewでsetBackgroundResourceを使って 背景画像を設定した後、Canvas#drawBitmapなどで 画面に描画すると背景画像が最前面になってしまうのですがなぜでしょうか?
>>800 デフォルトではSurfaceViewのウィンドウはActivityのウィンドウよりも背後にいて、
Activityのウィンドウに穴を空けることによって背後にあるSurfaceViewのウィンドウが見えるようにしているので、
Activityのウィンドウ内に何かを書くとその穴をふさいでしまい、背後のSurfaceViewが見えなくなるから
アプリ起動した時に アンドロイド標準のアラートダイアログを表示するようにしてるのですが 最初からボタンにフォーカスが当たってしまっています(黄色くなる) Activity起動直後のダイアログ表示時にボタンにフォーカスを当てないようにする方法はあるのでしょうか? ダイアログは他と統一性を出すため標準のアラートダイアログを使用しています
他と統一性を出したいのなら統一性を出すためにフォーカスを当てておくべきじゃね
普通にダイアログを出した時はフォーカスは当たってないんですよ 普通というとあれですが、例えば何かボタンを押して次のダイアログを出した時には フォーカスはそのダイアログのボタンに当たってないのです 2つ目以降のダイアログでもEditTextが組み込まれてた場合は ExitTextにフォーカスがあたっています。しかし、ボタンだけのものには フォーカスはあたっていません 何故activity起動時直後に表示したダイアログだけボタンにカーソルが当たるのか それがわからないんです。でそれをどうにかして当たらないようにしたいのです
>>801 なんとなくわかりました
ありがとうございます
>>804 もしかしてエミュだろう
Android は OS の起動直後はタッチモードではないので、上下左右キーで選択操作できるように、ボタンでもなんでもフォーカスが当たる
一度画面のどこかをタッチすると、タッチモードに切り替わり、ボタンやリストビューにはフォーカスが当たらなくなる (EditText はいつでもフォーカスが当たる)
また上下左右キーを押すと、タッチモードから抜けて、またボタンでもなんでもフォーカスが当たるようになる
808 :
デフォルトの名無しさん :2012/07/14(土) 20:33:57.36
WebView webview = new WebView(this);
webview = (WebView) findViewById(R.id.webView1);
webview.getSettings().setJavaScriptEnabled(true);
webview.setWebViewClient(new LoadingClient());
webview.loadUrl("
http://ameba.jp/ ");
これでアメーバのページを読み込もうとしているんですが完全に読み込まれません
標準ブラウザで開けるので多分設定が足りないかなにかだと思うのですがわかりません
教えてください
809 :
808 :2012/07/14(土) 20:34:57.48
完全に読み込まれません→完全に表示されません 標準ブラウザで開ける→標準ブラウザで表示される
プラグイン有効にしないとフラッシュ読み込めないのでは
811 :
デフォルトの名無しさん :2012/07/14(土) 21:03:01.35
>>810 トップページにflashは使われてないみたいなので関係ないと思います
812 :
808 :2012/07/14(土) 21:43:38.92
プラグイン有効にしてもうまくいかないので webview.setWebChromeClient(new WebChromeClient()); を追加すると ローカルストレージを有効にしてくれって出てました ぐぐったのですがローカルストレージを有効にする方法が見つかりませんでした 有効にする方法を教えて下さい
>>806 Activityの起動後、ダイアログを表示する前にタッチモードに切り替えておけば
この問題は解消されるかもしれないということですかね?ちょっと考えてみます。
単にアプリの起動前に一度でも画面をタッチしてればいいだけだよ たとえばロック解除画面とか、ホーム画面のアイコンとかをさ OS 起動してから一度も画面にタッチせずにアプリを立ち上げるって状況は、エミュではよくあるけど、実機ではなかなか起きない その上でどうしてもフォーカスされたくないっていうんなら、AlertDialog#getButton でボタン取得して setFocusable(false) でも呼んどけば?
815 :
808 :2012/07/14(土) 23:06:41.15
816 :
792 :2012/07/14(土) 23:15:57.72
>> 794 試してみます。 あと、「Activity名をパッケージ名ごと登録する」というのを初期化処理に加えて、その初期化自体自体はJavaから呼ぶ、ってのを考え付きました。 Activityクラス名が分かればContextを引っ張って来れそうなので。 今試せる環境でないので、あとで試してみて報告します。
いくらやっても再生されない こっちのはレベル7だからGBでも再生されるハズなのに駄目なんですかね? public void onShowCustomView(View view, WebChromeClient.CustomViewCallback callback)
FrameLayout mainFrame = (FrameLayout)findViewById(R.id.mainFrame); ×FrameLayout ○ViewGroup 海外サイトだとFrameLayoutに突っ込んでるようだけど、 あれでどうやって再生しているのかは謎
スリープからの復帰について 2.3.x 「onPause→onResume」 3.0 4.0 「onPause→onStop→onRestart→onResume」 ライフサイクルが違うの嫌だなあ… そもそも「ホームに戻ってから復帰」「インテントで何か呼び出し後に復帰」「スリープからの復帰」 これらをアクティビティ上で区別できないのが嫌
バッテリーウィジェット作ってるんですが、ある時間経つと更新されなくなってしまいます。 みなさんはどうやって対処してるんですか?
viewの再利用について教えてください. viewそのまま再利用はincludeを使えば良いと思うのですが、 view全体はそのままで子viewだけカスタマイズを行いたいです. そして、このカスタマイズをxmlだけで行いたいと思っています. (ソースコード内ならインフレートすればいけるので)
>>820 困るかそれ?
2.3.x用に合わせて作ってれば3.0と4.0でも同じ動きじゃね?
>「ホームに戻ってから復帰」「インテントで何か呼び出し後に復帰」「スリープからの復帰」
この3つも共通して、何かに割り込まれて自アプリが一旦停止し、また復活した〜、な訳だから、これも同じ気がするのだが・・・
この3つを細かく検出して処理を分けたいアプリって何だろう・・・・
>>823 たまにはそういう判別できればなぁという時もあるだろうさ
例えばアプリ作成依頼して来たお客さんから
「スリープから復帰した時だけパスワードロック画面出してくれ」
と言われたりな
仕事だと直接の上司すらAndroidの仕様を全く知らない事も多いので、
割と無茶振りも多いんだぜ
画像の四方のエッジ部分をバックグランドの色になるようにしたいんですが、 そんな都合の良いxml、またはそれに近しいメソッドってありますか?
そういやViewを重ねて配置するときって、 回答では殆どRelativeLayout使えって書いてあるんだけど、 俺それを知らなくていつもFrameLayout使ってたんだ。 本当はRelativeLayoutじゃないとダメなのかな?
すみません 日本語おかしかったです 画像の四方のエッジ部分をバックグランドの色になるようフェーディングしたいのですが、 そんな都合の良いxml、またはそれに近しいメソッドってありますか?
>>824 な〜るほど。
まあ、「インテントで何か呼び出し後に復帰」「スリープからの復帰」
この2つの違いなら現状でも判別できるよん。
スクリーンON/OFF時に呼ばれるやつで判別できる。
問題は「ホームに戻ってから復帰」「インテントで何か呼び出し後に復帰」この2つ。
これは「それっぽい判別」は可能でも「100%完璧に識別」は確かに無理
Buttonが押された時の処理を別のクラス(OnClickListnerクラスを実装したButtonController)で操作したいんですが どのボタンが押されたかを区別する方法がうまくいきません。 public void onCreate(--){ ButtonController bc = new ButtonController(); Button b = (Button) findViewById(R.id.button); b.setOnClickListener(bc); } public class ButtonController implements onClickListner{
831 :
830 :2012/07/15(日) 18:27:23.02
途中で投稿されてしまいました。 すみません。 public class ButtonController implements onClickListner{ public void onClick(View view){
832 :
830 :2012/07/15(日) 18:32:13.50
また途中で投稿されてしまいました。 本当にすみません。 public class ButtonController implements onClickListner{ public void onClick(View view){ } } このonClickメソッド内で任意のActivityクラスの どのボタンが押されたのかを判別する方法などありますでしょうか? findViewById()はActivityクラスを継承していないと使えず出来ませんでした。 よろしくお願いします。
if (view.getId() == R.id.hogehoge) { とか
Button1Controller Button2Controller Button3Controller って分けておけばそもそも判別する必要がないけど
835 :
830 :2012/07/15(日) 20:51:21.04
>>833 ありがとうございました!!
出来ました!!
836 :
デフォルトの名無しさん :2012/07/15(日) 23:47:40.94
DefaultHttpClientを再利用しないで毎回newしていると使い捨てるたびにshutdownしてるのにもかかわらずOutOfMemoryErrorが出ます shutdownだけではダメなのでしょうか? できる限りメモリを開放する方法を教えて下さい
ガベージ対象にする方法聞いて、再利用はダメって意味わかんないんだけど?
>>796 誰か分かり方いらっしゃいませんでしょうか?
アプリの変更履歴をAlertDialogで表示する時 内部で変更履歴のテキストファイルを持たせて TextViewか何かで表示するのがよいでしょうか? みなさんはどんな方法で表示してますか?
Androidだとインスタンスは使いまわせと聞くけど Java的に綺麗に書けなくなる感じが・・・ もう2.33以降ならバリバリ、インスタンスしちゃってもいいのだろうか?
ActivityManagerのgetRunningTasks()から取得したRunningTaskInfoで numRunningが0の時があるのですがこれはどういった状態なのでしょうか?
よーし、みんなでバリバリインスタンスしようぜ!
preferenceActivityでメイン画面のレイアウト初期設定作ったんですが、初期設定画面から戻った時に反映されているようにするにはどうすれば?preferenceActivityにfinish()ボタンをつけてonActivityResultで更新させるんでしょうか?
PCや今までのプログラミングに慣れてるとメモリー関係は 確保から解放までしっかり自分で管理し、リークを起こさない為にも 礼儀で実行ファイル終了後に全て自分で解放! ・・・とやりたくなるだろうけども(そうやって教えられてきたからね) このやり方が「マニュアル車」として、 Androidのプログラミングは「オートマ車」と思った方がスマートですよ! つまり部屋中ゴミメモリーで食い散らかしても 自分で片付けず、そのまま退室しちゃえば あとでルームサービス(ガベージコレクション)が勝手に掃除してくれる。 そして「プロの仕事はプロのルームサービス(ガベージコレクション)に丸投げしてください。 素人が変にプロの仕事に割り込まないでください。邪魔になるだけです。」というのが Google側の推奨。 Androidプログラミングは、そういった意味でも、今までとは違う、新しいやり方なのかもしれないね
>>844 onSharedPreferenceChangedは?
847 :
846 :2012/07/16(月) 13:34:42.77
あ、すまない勘違いだった
>>845 こんなこと言ってる奴に限って、後から
「くっそGC止められんないかなぁ」
とか言う罠w
>>845 GCは関数型言語とかで云十年も前からあるわけで、たまたま触らずに生きて来ただけの話
前の職場で 「GCがあるからメモリリークとか絶対に起きていません!」 とか真顔で言い始める奴がいてワロタ まあ解放する術を失った状態をメモリリークと表現するなら 確かに間違っていないんだが、 「お前どこかで参照つかんだままなんだよ」って何度説明しても 話が通じなかった
質問です。 com.android.nfcパッケージのNfcServiceクラスがimportできないのですが、 どうやればimportできるでしょうか?
ビルドターゲットを上げる
853 :
デフォルトの名無しさん :2012/07/16(月) 19:41:58.73
質問失礼します。 twitter4jを使ってOAuth認証しようとしています。 2.3.3のエミュレーターや2.3.4の実機では正常に動くのですが、 4.0.3のエミュレーターではgetOAuthRequestTokenで停止してしまいます。 エスパーさん、なんでですかね…
ホームボタンを押して起動する某ランチャーアプリAがあって、 ホームアプリ上ではホームボタンを押してもAは起動せず、 ホームアプリのデフォルト動作(ホームポジションに移動)しているのですが、 これはどのようにして実現しているのでしょうか? 普通ならホームボタンのイベントはAに奪われていると思うのですが…
855 :
デフォルトの名無しさん :2012/07/16(月) 20:50:40.23
アクティビティ間で共通のオブジェクト(たとえば画像)って作れますか? アクティビティを遷移しても、そのオブジェクトだけそのまま残るみたいな感じです。 オブジェクトというか画面要素かな?まぁ画像だと思ってくれて良いです。 もし作れるならば、ヒントください。
>>853 よしエスパーに任せろ。
暗黙的に何らかのヘッダーがリクエストに入ってしまっているんだ。
それが原因でtwitter側で弾かれてしまっている。
というわけで、明示的に指定してオーバーライドすればよい。
858 :
デフォルトの名無しさん :2012/07/16(月) 21:00:07.47
>>856 ありがとうございます。調べ中です。
ちなみに、アクティビティ遷移のアニメーション使ってて、
そいつだけ遷移のアニメーションの影響を受けないで残ってる感じにするのは無理ですよね?
859 :
246 :2012/07/16(月) 23:00:58.29
もうどうにもならないので質問させてください。
このメソッドを実行するだけで約10秒(曲数2000)かかります。
この処理を出来れば1秒程度で終わらせたいのですが、何かいい方法は無いでしょうか?
ちなみにAsynkTaskを取り入れようとしたんですけど、どうにも上手くいきませんでした。
http://pastebin.com/1AHxhpr1
20倍ぐらい速い機種で実行すればいいんじゃないかな。
全部読み込んでるから重いんじゃないの? 上のほうで書いてるようにCorsorAdapterで必要な分だけ読めば?
AsynkTaskの何が難しいんだよ サンプル見ながら書けばいいだろ
質問なんですけどSDK 20で既存のプロジェクトで新規プロジェクトの作成ってどうやってやるんですか?
File->Import->Existing Project into Workspace
866 :
246 :2012/07/17(火) 00:18:15.02
>>860 やっぱりAsynkTaskが必要ですかぁ。AsynkTaskはホントに良く分からないんですが、
1、getAlbumのメソッドは文字だけ追加で、
AsynkTaskでは始めに汎用画像をセットして、
その後、onPostExecuteで直接リストアダプターに入れこむんでしょうか?
2、その場合、リストアダプターでtask.execute(引数はposition?)ですか?
3、だとしたらdoInBackgroundは画像1枚を取得し何度もnew Taskしてやると言うことでしょうか?
867 :
246 :2012/07/17(火) 00:19:29.42
>>862 CorsorAdapterですか。もう一度調べてみます。
ホントに困ってまして…。
868 :
デフォルトの名無しさん :2012/07/17(火) 01:38:00.96
>>857 なるほど、なんとなくは分かったんですけど具体的にどうしたら…
もう少しヒントをください!
869 :
246 :2012/07/17(火) 02:02:14.51
>>862 いま、CursorAdapteを調べてみたんですけど、
アルバムアートの様にカーソルをNextさせても出て来ない物がある場合、
CursorAdapteって不向きじゃないですかね?間違ってます?
もしそれが可能であれば、一番ベストな選択だと思うんですけど。
870 :
デフォルトの名無しさん :2012/07/17(火) 17:17:43.33
AndroidのByte[]データをGoogleAppsEngineのblobストアへアップロードしたいのですが、 どうすればいいのでしょう。 Webサイトからのアップロードはできるのですが、 Androidからのアップロードがよくわかりません。お願い致します
まだ時代が追いついてなんだ 6コアが主流になれば1秒で終了すると思うぞw
馬鹿には無理
カメラビューにOpenGLのビューを重て表示したいのですが上手くいきません。 どうやらActivity呼び出し時のデバイスの向きによってそれぞれのサーフェスビューの順序が変わってしまっているようです。 縦向きでActivityを呼び出すとちゃんと表示できるのに、横向きで呼び出すとうまくいきません。 そもそもサーフェスビューを複数使うということがいけないのでしょうか? ボスケテ。
setZOrderOnTopかな。
zorderあたりマジでややこしいよな
876 :
デフォルトの名無しさん :2012/07/17(火) 22:58:08.29
WebViewに関して質問です。 内部ストレージの/data/data/jp.hoge.android.piyo/web/hogera.htmlが存在したとして、 そのページをWebViewで表示させようとしたのですが、 WebView webView = (WebView)findViewById(R.id.webView); webView.getSettings().setJavaScriptEnabled(true); webView.loadUrl("/data/data/jp.hoge.android.piyo/web/hogera.html"); としても実行されません。 何か追加で書かないといけない点、loadUrlの使用方法などの誤りがあれば ご指摘ください。お願いいたします。 assetsから呼び出す方法ではすでに実装できているので、内部ストレージ内の ファイルを呼び出して表示する方法が知りたいです。
877 :
デフォルトの名無しさん :2012/07/17(火) 23:39:20.73
webView.loadUrl("web/hogera.html"); でできない?
879 :
デフォルトの名無しさん :2012/07/17(火) 23:48:03.39
>>879 extras/google/market_licensing/library
882 :
デフォルトの名無しさん :2012/07/18(水) 01:02:37.59
>>881 ありがとうございます
早速入れてみます
>>876 file:///data/data/.......で見れない?
初心者ですみません R.layout.main と opengl の画面を両方同時に出したいのですが、 どすればできますでしょうか ご教授いただければ幸いです
SC-01DでGoogleのADKのDemoKit動かせた人いませぬか? どうも修正するべきところ修正してもうまくいかない・・・
>>884 res/layout/main.xml の中に <android.opengl.GLSurfaceView>を書く
LVLのテストライセンスの設定って反映まで時間がかかったりしますか? 昨日設定を変えたのに反映されなくてさっきもう一度やってみたら反映されてました
解答お願いいたします。 現在、簡単な音楽プレイヤーを作成しているのですが、その際に使用するmediaplayerがアプリを再起動したときに毎回別のそれを参照してしまいます。 staticなど試したのですが、うまくいきませんでした。 常にひとつのmediaplayerを参照する方法はないのでしょうか? ご教授いただけたら幸いです。
表示方法を動的に変更するため、ArrayAdapterを継承したカスタムAdapterの getView()でプリファレンスを取得して切り替えています。 これだとgetView()の度に処理が走るので効率悪いと思いますが、 表示方法を切り替える度にAdapterのインスタンスを生成し直して コンストラクタでプリファレンスを取得した方がいいのでしょうか?
yes
>>889 よくわかんないけど,毎回同じmediaplayerじゃないと何が困るの?
>>889 最初にisPlaying()で再生中かどうか調べて再生中ならstop();release();する処理書けばいいんじゃない?
896 :
873 :2012/07/18(水) 20:10:12.64
解決しました。ありがとうございます。
897 :
デフォルトの名無しさん :2012/07/18(水) 21:50:01.65
ViewPagerでImageViewsスクロール実装しましたが、これに ピンチイン・アウトっていけます?
自作アプリからskypeを起動して発信させようと以下のコードを書きましたが うまくいかない部分があるんで知恵を貸してください。 Intent SkypeIntent = new Intent("android.intent.action.VIEW"); SkypeIntent.setData(Uri.parse("skype:" + user_name)); startActivity(SkypeIntent); 最初の1回はうまく動作します。 @skypeが起動する A"通話を開始します [skypeユーザ名]さんと通話しますか? "のダイアログが表示される。 Bはいをクリックすると発信、通話開始 C通話を終了すると自作アプリのアクティビティに戻る ところが2回目は @skypeが起動する A"通話を開始します [skypeユーザ名]さんと通話しますか? "のダイアログが一瞬表示されて消える Bskypeのホーム画面が表示される C変化せずそのまま という動作をして、発信ができません。 1回目のAのダイアログが出た時点で、"今後表示しない"のチェックを入れれば回避は出来るんですが、 もっと良い方法をご存知の方が居れば教えてもらえませんか? よろしくです。
くだらない事なんだけど、プリファレンスの値を取得するメソッドの 第2引数のデフォルト値はどこで管理するのがいいのだろう?
>>899 キッチリやるなら定数は全てリソースで管理する何だろうけど、
手間とメンテナンス性のバランスだね。
オレの場合は、そのクラスにstatic finalで定義するな。
>>899 俺はアプリ起動時に未設定の項目全部初期値で埋めて保存することにした
常に値があるから第2引数無意味になったので 0 とか false とか適当
>>900 1つのファイル内ならstatid finalで済むとして
例えばarrays.xmlに定義する配列の1要素が
デフォルト値だったらstrings.xmlに定義するのが
いいのかな
>>901 設定項目少なければそれもありな気がする
static classで管理するのもありかと
SDKをr20にしてからコンテンツローダー?の読み込みで起動と終了がすごい遅くなったのですがこれは仕様ですか?
うむ
どうにか起動と終了早くできないですかね
あかん、何度やってもglTexSubImage2d()で設定した画像がテクスチャに反映されない… NDKかつOpenGLの話題って、ここで質問しても良いんかね? OpenGLスレとか行くべき?
ここで聞いても解決しなさそうだけどなw
910 :
デフォルトの名無しさん :2012/07/20(金) 13:40:05.56
エラー: No resource identifier found for attribute 'layout_heigth' in package 'android' ってでるのですがどういう意味でしょうか? よろしくお願いします
layout_heigth layout_height
>>910 まんまの意味だね
落ち着いて見れば分かると思うけどスペルミスしたから出てる
思うんだが、エラー文なんでしょうと言われてもそのまんまの意味だよなぁ・・・
>>910 「layout_heigth」のスペルってそれでいいのか?
きっとまだ英語を習ってない小学生なんだよ
結局クラック対策にNHKの知識もいるんだから なんか二度手間だよなあAndroidって
ホームアプリ上でホームボタンをダブルタップした時は 自分のアプリを起動、シングルタップの時はホームアプリの 標準動作(ホームポジションに移動)をさせたいのですが、 どうしてもシングルタップ時の動作ができません。 自分のアプリのActivityをfinish()した後で上記の標準動作を 実行させる事は可能でしょうか?
Applicationクラスをextendsしたクラスで startActivityを実行すればできそうな気がしてきました。
どういう状況で何がしたいかさっぱりわからんがまあ頑張れ
919 :
908 :2012/07/21(土) 01:12:19.93
一応自己解決したので、誰の参考にもならんだろうが書いておく。 glほげほげ は、OpenGL用のスレッド以外で呼んでも動かないよ! ていう話だった。 ネットの至る所に転がっていたぜ… ネイティブ 側でGLSurfaceViewの持つスレッドなんて取得できるんだろうか。 結局殆どの処理がonDrawFrameに集中してしまう。
初歩的な質問ですみません 自前で用意したPDFファイルを読ませる方法はどんな方法がありますか?
読み込んで画面に表示する方法の間違いです
new File("directory").mkdir() でfalseが返ってきます。 何故でしょうか?
パスの指定を間違っていました。
うむ
927 :
デフォルトの名無しさん :2012/07/21(土) 11:14:22.43
今開かれているアプリを取得するにはどうしたら良いでしょうか? Android 開いてるアプリ取得などでぐぐっても見つかりません
ActivityManager#getRunningTasks とか
データを予めSQLiteで用意して使おうかと思ったのですがDBのファイルはどうやってアプリに同包するんでしょうか? というかデータはどのように用意しておくのが普通なんでしょうか? データはゲームキャラのパラメータです
>>929 「android sqlite database」で検索
流れぶった切ってすみません、質問があります。
お断りします
ホーム画面にシェルスクリプトを実行するショートカットを置きたいのだが、 簡単なものって作れないかな ScriptManagerで似たようなことはできるんだけど、大袈裟すぎるというか
Preferenceの設定画面でリストアイテムの右側に▽マークが 付いているのですが、これを見えなくするにはどうすればいいでしょうか? そのようなDialogPreferenceやListPreference等もマークが付いてしまいます…。
アホだった…まさにPreferenceを継承すればよかったんですね。
>>929 assetsフォルダにDBファイル入れておいてコピーするか、
csvファイルとか入れておいてアプリ初期化時にインサートするか。
「android sqlite assets」でぐぐる。
質問です。 activityクラスは一つのパッケージしか作れないのでしょうか? eclipseで最初に作ったパッケージとは別に 新しくパッケージを作ってそこにactivityクラスを作ったんですが layoutファイルを読み込んでくれません。 genフォルダのR.javaは最初に作ったパッケージ名のところに入っていて 試しにgenフォルダの中に新しく作ったパッケージ名と同じパッケージを作ってそこに R.javaとBuildConfig.javaを入れたんですが やはりlayoutファイルを読み込めませんでした。 よろしくお願いします。
作れるよ
940 :
838 :2012/07/22(日) 01:14:23.47
>>939 setContentView(パッケージ名.R.--)
で出来ましたね。。
広告admob付けて試しにタッチしてみると アプリが強制終了してしまうんですが どういうことが原因と考えられるでしょうか? 対策はどういうのがありますか?
>>941 原因は例外処理を行っていないことが考えられる。
対策は広告なんて出す前に基礎から勉強した方がいい。
原因は例外が発生していることが考えられる。
eclipseのバージョン何つかってんだよ書けやボケ そこのサイト見ると3.4インストールとか書いてあるが、 古いのだと動かない可能性があるらしい そのくらい自分で調べろや、そんなのじゃプログラミングもできんだろ
>>944 日付の書いてないページはどれだけ古いか分からないから信用するな
>>945-946 まったくおっしゃる通りでした。
ITproの7月に書かれた導入ページがあったので
そちらからやり直し無事完了しました。
ありがとうございます。
オーバーレイと裏にいるアプリ(壁紙でもなんでも)の両方ともイベント受け取れる方法ってないですか? たとえばTYPE_SYSTEM_ALERTだとオーバーレイしか受け取れず TYPE_SYSTEM_OVERLAYだとそもそもオーバーレイがイベント受け取れない 誰か教えてください
onUserLeaveHint()はHOMEボタン押した時と広告を踏んだ時にも呼ばれるようですが これらを区別するにはどうすればいいですか? 広告踏んだ時呼ばれるon〜という類なのはあるんでしょうか?
onPresentScreen()にブレークポイントおいても呼ばれませんでした (先にonUserLeaveHint()に行くせい?)
広告の親ビューでタッチ監視しとけばぁ
ハンドラーでonUserLeaveHint()の中身を時間差でonPresentScreen()の後ろに回すことによって解決できました。
ActionBarSherlockと一緒に使える、オヌヌメのUIフレームワークを教えてください。 ターゲットは、SDK10〜15で使えるとうれしい。 使う使わないはともかく、どんなのがあるのか知りたい。
>>952 それじゃ機種によっては、動かないだろ。
4.0以降一部の機能をSwitchを使ったものに切り替えているのですが、 android.widget.Switchをimportした時点で、4.0以前の端末だと以下のエラーがlogcatで表示されます。 Could not find class 'android.widget.Switch', referenced from method 〜(省略) 実際に動かしているときは4.0以前、以降で処理を切り替えているためエラー落ちしたりすることはないのものの、 気持ち悪いのでエラー自体を出ないようにしたいのですが何か方法はないでしょうか。 クラス自体を4.0以前、以降で2種類作る。という方法はありますが 無駄にクラスが増えてしまいますし、機能は同じなので極力一つのクラスで済ませたいです。
956 :
デフォルトの名無しさん :2012/07/23(月) 20:37:57.19
AndroidManifest.xmlの<activity>にandroid:label="@string/xxx"て名前を付けると ホームアプリとか共有で、android:labelの名前が出てきますが、 ここを動的に変更できるのでしょうか?
できません 名前のパターンが有限個なら全種類書いておいて PackageManager#setComponentEnabledSetting で有効無効切り替えるとか それくらい
apk 的に別のアプリケーション Hoge, Fuga があります。 1. Hoge 内の Activity から明示的 Intent で Fuga の Activity を呼び出し 2. Hoge の処理に戻って処理をさせたい(Fuga は自殺させたい) のですが、方法はあるでしょうか? Fuga で finish すると元の処理も死んでしまいます…よね。Hoge, Fuga とも触れます。
959 :
デフォルトの名無しさん :2012/07/23(月) 21:15:51.59
>958 startActivityForResultして、setResultして、finishじゃだめなn 別apkだと駄目なん・。 そうけ。
960 :
デフォルトの名無しさん :2012/07/23(月) 21:24:13.63
>957 そこをなんとか。
学ぶ力には三つの条件があります。
第一は自分自身に対する不全感。
自分は非力で、無知で、まだまだ多くのものが欠けている。
だからこの欠如を埋めなくてはならない、という飢餓感を持つこと。
第二は、その欠如を埋めてくれる「メンター(先達)」を探し当てられる能力です。
メンターは先生でもお母さんでも、ネットの中の無名の人でもいい。
生涯にわたる師ではなく、ただある場所から別の場所に案内してくれるだけの
「渡し守」のような人でもいいのです。
自分を一歩先に連れて行ってくれる人は全て大切なメンターです。
第三が、素直な気持ち。
メンターを「教える気にさせる」力です。オープンマインドと言ってもいいし、
もっと平たく「愛嬌(あいきょう)」と言ってもいい。
「学ぶ姿勢」のある人は、何よりも素直です。
つまらない先入観を持たないから、生半可なリアリズムで好奇心を閉ざさない。
素直な人に聞かれると、こちらもつい真剣になる。知っている限りのことを、
知らないことまでも、教えてあげたいという気分になる。そういうものです。
以上、この三つの条件をまとめると、
「学びたいことがあります。教えてください。お願いします」
という文になります。これが「マジックワード」です。
これをさらっと口に出せる人はどこまでも成長することができる。
この言葉を惜しむ人は学ぶことができないのです。
学ぶ力には年齢も社会的地位も関係がありません。
>>959 さんも、早く学ぶ力を身に付けてください。
962 :
デフォルトの名無しさん :2012/07/23(月) 21:42:26.73
963 :
デフォルトの名無しさん :2012/07/23(月) 21:50:28.14
>>958 >>Fuga で finish すると元の処理も死んでしまいます…よね
そんなわけ無いと思う。
>>962 >>958 ですが
>>961 は安価違いな気がします…私
>>958 か
>>960 さん宛てのような
で、
>>959 さま
>>963 さま、どうも私の
>>958 がFugaでActivityを複数経由して
最後のActivityでだけfinishしているのがおかしな動きをしていたようで、
あまりいい手段でないと思いますが、すべてnoHistoryかつfinishを呼び出すことで
今のところ希望した動きになりました。ありがとうございます。
965 :
デフォルトの名無しさん :2012/07/23(月) 21:59:59.87
>>961 そんなこと広めても、やってる振りする。調子のいい。偽善者ばかりふえるので
966 :
デフォルトの名無しさん :2012/07/23(月) 22:18:30.29
>>961 AndroidManifest.xmlの<activity>のandroid:label="@string/xxx"
を書換をしてみてください。
そりゃ、NET権限削除する人いるぐらいだから出来るんだろうけどさ。
>>955 今のクラスからSwitchを消して、そのクラスを継承したクラスにSwitch入れればいいんじゃないの。
>無駄にクラスが増えてしまいますし、機能は同じなので極力一つのクラスで済ませたいです。
違うのだから無駄ではない。
使う側からは同じクラスに見えるし、Switch以外はsuperの方でメンテされるのだから何が問題になるかわからない。
単にオブジェクト指向設計を理解してないだけだと思う。
>>955 消すだけならClass.forNameとかMethod.invokeとかメタプログラミングすれば消せそう。
そんなプログラムは読みたくないが。
969 :
デフォルトの名無しさん :2012/07/23(月) 22:51:20.82
エラーの原因がわからないので教えてください PackageManager pm = getPackageManager(); ImageView im = (ImageView) findViewById(R.drawable.ic_launcher); Drawable drawable = null; try { drawable = pm.getApplicationIcon(access_text); } catch (NameNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } if(drawable != null){ im.setImageDrawable(drawable);//☆ } 上記のコードだと☆のところでぬるぽが呼ばれます nullの確認をしているのになぜ呼ばれるのでしょうか?
ImageView im = (ImageView) findViewById(R.drawable.ic_launcher) R.drawable.ic_launcher
971 :
デフォルトの名無しさん :2012/07/23(月) 22:58:17.99
ガッ
973 :
デフォルトの名無しさん :2012/07/23(月) 23:03:01.17
974 :
デフォルトの名無しさん :2012/07/23(月) 23:17:31.32
975 :
デフォルトの名無しさん :2012/07/23(月) 23:18:02.80
976 :
デフォルトの名無しさん :2012/07/23(月) 23:36:39.52
>>969 layout中からR.drawable.ic_launcher取ろうとするって喃喃
リソースからdrawableとろうとするのはわかるが
977 :
デフォルトの名無しさん :2012/07/23(月) 23:41:01.96
>>969 この間違い探しのようなのは、わざとなのか??
978 :
969 :2012/07/24(火) 00:42:16.89
大体ヌルポ起きたら渡してる引数よりメソッド呼び出してる方をまず疑えよ。null渡して即ヌルポになるようなメソッドそうないから。
この前まで動いてたプロジェクトを実行したら突然強制終了したんですけどこんなことあるんですかね
>>980 あるもなにも、何もしてないのに動かなくなったなんて言葉は聞き飽きてスルー。
動いていてちょっとお昼寝してまた見たらエラーラインが付いてずっと消えなくなったことはある この開発環境はとにかく不安定だ
今一行書いたら(もちろんエラーでない文) 全く違う下の方の注釈文のかたまりに、「トークン ")" に構文エラーがあります。」 というエラーが出現したぞ eclpse
あとデバッグ実行してる時に try{} catch{} 間を 不可解な飛び方をすることがある
Equalizerクラス使って波形がでてこない・・・ 線は出てくるのになんでですかね
>>985 いやプロジェクト読み直したら消えた 環境のバグ
eclipseあるある ・ひさびさに起動したら、全部ビルドできなくなっていた ・バージョンアップしたらビルド時にエラーがメチャクチャ出るようになった ・いつのまにか「R」が勝手にインポートに追加されててフィーバー ・R内のIDが勝手にズレまくりんぐ ・サンプルコピペしたら動かない。4時間悩んだら全角スペースが原因というかなしい落ち ・30秒前まで普通に動いてたのに突然USB接続してるスマホを認識しなくなる など
下から二番目は自分の責任だけどな
・AndroidManifest.xml.outがいつのまにか作られる。 ・しかもeclipseがファイル掴んでて削除できない。
Manifest.xmlもいつのまにかエラーになってたりするんだよな
SDKのR20にアップデートで空のActivity作れないのは糞仕様すぎるだろ・・・
うち問題なく作れてるよ
Hello Worldすら敷居が高くなったな
マ板で聞いたら華麗にスルーだったんだけど誰かわかる方いらっしゃいますか? 「Intel Atom x86〜」のエミュレータを使いたいのですが、 IntelHAXM.exeのインストールがvtが有効になってないっていうエラーで失敗します。 対処法わかりますでしょうか? SDKはR20で、vtはBIOSでは有効にしてます
998 :
デフォルトの名無しさん :2012/07/24(火) 17:24:01.94
>>997 eclipseは終了して、アンドロイドSDKをインストールしたディレクトリの
\extras\intel\Hardware_Accelerated_Execution_Manager
にある、IntelHaxm.exeを実行してインストールする。
新しいバージョンになった時も、exeのダウンロードしかしてくれないから、
古いバージョンをアンインストールしてから、新バージョンをインストールし直す。
999 :
デフォルトの名無しさん :2012/07/24(火) 17:27:28.78
r20.0.1が出てるから、最新のRev.とプラグインにすると新規アンドロイドアプリケーションプロジェクトを作るウィザードも安定すると思う。 てか家のはそれで安定して4.1(JB)まで対応のアプリ作れてる。
1000 :
デフォルトの名無しさん :2012/07/24(火) 17:30:17.72
新しいウィザードだと、MinSdkVersionがデフォルトで2.2なんだよな。もう2.1は切り捨てでいいのかな。 でも2.1も未だにユーザが増えたり減ったりしてるんだよな。
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。