Androidプログラミング質問スレ Part23
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2012/06/19(火) 19:57:12.12※プログラミング自体が初めて!なあなたには↓↓↓こちらへ
スレ立てるまでもない質問はここで 118匹目
http://toro.2ch.net/test/read.cgi/tech/1331904826/
Eclipse統合M32【Java/C++/Ruby/Python/Perl】
http://toro.2ch.net/test/read.cgi/tech/1320318310/
★★Java質問・相談スレッド153★★
http://toro.2ch.net/test/read.cgi/tech/1334438859/
****関連リンク****
■ Android developers http://developer.android.com/
■ ソフトウェア技術ドキュメントを勝手に翻訳 http://www.techdoctranslator.com/
****前スレ****
Androidプログラミング質問スレ Part22
http://toro.2ch.net/test/read.cgi/tech/1337170429/
008584
2012/06/24(日) 00:58:04.650086デフォルトの名無しさん
2012/06/24(日) 00:59:17.43エラーの内容くらい書けよ
三項演算子でぐぐれ
処理じゃなくて式だぞ
0087デフォルトの名無しさん
2012/06/24(日) 01:01:16.79エラーつーかコンパイルが通らないんです
Javaの場合は代入式で、 性器 = 男 ? ちんこ : まんこ:みたいに使わないとエラーになると理解しました
0088デフォルトの名無しさん
2012/06/24(日) 01:06:41.96代入、インクリメント、デクリメント、メソッド呼び出し、new だけ
0089デフォルトの名無しさん
2012/06/24(日) 01:18:13.23view.setVisibility()がvoidで戻り値がないからかと思った。
0090デフォルトの名無しさん
2012/06/24(日) 01:45:22.56アドバイスありがとうございます。
参考にさせてもらいます。
0091デフォルトの名無しさん
2012/06/24(日) 10:51:23.22ありがとうございます
0092デフォルトの名無しさん
2012/06/24(日) 13:24:59.22xmlファイルをクラスで書き換える
方法を教えてください。
ウィジェット表示する際の色情報を
xmlファイル(string.xml)に持っておきたいので、
ウィジェット設置時にアクティビティを
起動してダイアログで選んだ色を
書き込みたいと思ってます。
xmlって書き換えられないんですかね・・・
0093デフォルトの名無しさん
2012/06/24(日) 14:12:06.99values以下のxmlに書くのはプログラムの中で変わることのない固定のもの。
そういうちょろっとした設定を保持する用途にはSharedPreferencesが用意されている
0094デフォルトの名無しさん
2012/06/24(日) 14:14:11.92なるほど、調べてみます、
ありがとうございました。
昨日一日これで詰まってました。。。
0095デフォルトの名無しさん
2012/06/24(日) 16:37:12.82指定した時刻にAlarmServiceを使って、鳴らそうと考えているのですが、
時刻を過去の時間(今が13時の時にセットする時間が12時)にアラームセットすると
すぐに起動してしまい、うまく扱えません。
過去の時間にセットしてもすぐに起動せず、明日の12時に起動させる方法はあるでしょうか?
また、AlarmService以外に指定した時間にうまく鳴らせる方法があれば教えて頂きたいです。
ご教授お願いします。
0096デフォルトの名無しさん
2012/06/24(日) 16:56:53.500097デフォルトの名無しさん
2012/06/24(日) 17:26:35.90起動して欲しい時を指定すれば普通に未来になると思うのだけど
0098デフォルトの名無しさん
2012/06/24(日) 17:55:18.37上司「俺が合図したらPM12時に鐘を鳴らせ!絶対にだぞ!」
部下「はい!!」
--- AM 7:30
上司「おい!」
部下「は、はい!!(鐘を鳴らすのは、あと4時間30分後だな!)」
--- PM 13:30
上司「おい!」
部下「は、はい!!(鐘を鳴らすのは・・・えっと・・・明日になるから・・22時間30分後だな!)」
0099デフォルトの名無しさん
2012/06/24(日) 19:06:06.46まずは引数にナニを入れているか考えるんだ
0100デフォルトの名無しさん
2012/06/24(日) 19:31:09.62Android java mp3 ダウンロード前 情報取得でググっても出ませんでした
0101デフォルトの名無しさん
2012/06/24(日) 19:43:10.87AndroidでUNIXTIMEでもなんでも取得して
1日周期に変換
次回の時間を計算して、特定周期で判別
これでだめなのか?
0102デフォルトの名無しさん
2012/06/24(日) 19:49:54.56その技術欲しいな
0103デフォルトの名無しさん
2012/06/24(日) 20:10:16.24本に載っているサンプルコードを参考にプログラムを作っています
実行すると「予期せず停止しました。やり直してください。」と表示されます
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);
0104デフォルトの名無しさん
2012/06/24(日) 20:38:22.170105デフォルトの名無しさん
2012/06/24(日) 21:03:10.02Logcat見て赤くなってる所を上から見ていって
自分のアプリのパッケージ名が最初に出てくるところに書かれている
ソースと行数が問題を発生させている部分だ!
ってのテンプレに入れて欲しいわ
0106デフォルトの名無しさん
2012/06/24(日) 21:11:01.20canvas.drawBitmap(((AndroidPixmap)pixmap).bitmap, x, y, null);
}
のnullですよね?
サンプルコードではこれで通っているので、
何でかなと思って
0107デフォルトの名無しさん
2012/06/24(日) 22:25:15.69アプリアップデートした際のダイアログ(アップデート後、1度だけしか表示されないダイアログ)
ってどのビューを使用してるんでしょうか?
どっかでフラグ管理してダイアログ消してるだけでしょうか?
0108デフォルトの名無しさん
2012/06/24(日) 22:42:06.530109デフォルトの名無しさん
2012/06/24(日) 22:44:16.66サンプルコードで通ると言っているのは実際に書いて動かして確かめたかどうか
0110デフォルトの名無しさん
2012/06/24(日) 22:47:13.70実際に丸写しして、動かしました。
エミュでも実機でも問題なく動きました
0111デフォルトの名無しさん
2012/06/24(日) 23:14:05.31ArrayAdapter<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];
の時点でエラーが出ます
0112111
2012/06/24(日) 23:15:12.550113デフォルトの名無しさん
2012/06/24(日) 23:24:12.70そのコードのどの行なの?
Logcatに該当行が出てるはずなんだから、その行を書かないとエスパー待ちになるよ
0114デフォルトの名無しさん
2012/06/24(日) 23:27:38.12丁度同じ事やってたので、これで解決できないかな?
独学なのでコードが汚かったらすまぬ
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);
0115デフォルトの名無しさん
2012/06/24(日) 23:28:21.72Logcatで出ている最初のエラー行はこれです
canvas.drawBitmap(((AndroidPixmap)pixmap).bitmap, x, y, null);
0116デフォルトの名無しさん
2012/06/24(日) 23:30:07.00それくらい自分でログ出して調べてみぃ
0117デフォルトの名無しさん
2012/06/24(日) 23:30:08.48教えてクン養成マニュアルを皮肉だと理解できずに真に受けでもしてるのさ
0118デフォルトの名無しさん
2012/06/24(日) 23:54:13.99もしかして>>64って見当違いなこと聞いてた?
フラグメントの入れ子はそもそも仕様上不可能とか?
0119デフォルトの名無しさん
2012/06/25(月) 00:23:30.76medibaというサイトに登録しSDKをダウンロードしたのですが実装でつまづいてしまいました
サイトにはまずビルドパスを通せとあるのですがパスを通すと4つほどクラスが作られるのですがクラスのソースがないと表示されるのですがこのままでいいのでしょうか?ご教授お願いします
0120デフォルトの名無しさん
2012/06/25(月) 01:09:33.740121デフォルトの名無しさん
2012/06/25(月) 01:12:23.390122デフォルトの名無しさん
2012/06/25(月) 01:27:28.43http://techbooster.jpn.org/andriod/environment/4897/
0123デフォルトの名無しさん
2012/06/25(月) 12:38:20.98自分のプロジェクトに
import android.app.ActivityManagerNative;
とやりたいのですが、ActivityManagerNativeが標準でSDKに含まれていないため、
gitでソースを落としてきました(10GBもある!)
で、この中にActivityManagerNativeが含まれていることは分かりましたが
(frameworks/base/core/java/android/app内)、
こいつをEclipse上でどうやったら自分のプロジェクトから使えるようになるかが
分かりません。ファイルやフォルダをプロジェクトにコピーしてもエラーだらけで...
よろしくお願いします。
0124デフォルトの名無しさん
2012/06/25(月) 12:44:37.61メソッドは枠だけあれば中身カラで可
非公開APIはバージョン間の互換性が保証されないことを忘れないように (まあ公開APIも大概だけど)
0125デフォルトの名無しさん
2012/06/25(月) 13:36:37.88内部メモリを内部ストレージと本体メモリーの2つに
分けてある理由を書いてるサイトとかある?
0126デフォルトの名無しさん
2012/06/25(月) 15:00:55.18そんなサイトは知らないけど
データの保存処理を外部ストレージ決めうちでやるケースが多いので
外部ストレージがない端末では困ることになるから、その対策でというのは想像がつく
0127デフォルトの名無しさん
2012/06/25(月) 15:46:50.25アプリ側の互換を取るための配慮なのかな?
GalaxyNexusみたいに内部ストレージしかない機種もあるし
メーカーの方針の違いだろうか
0128デフォルトの名無しさん
2012/06/25(月) 15:53:10.62アプリ内課金のサンプルを動かそうと思っているのですが、
Eclipseのandroid sdk managerを開いても、extrasの下に
Google Market Billing packageが表示されず困っています。
ちなみに表示されているのは、
Android Support package
Intel Hardware Accelerated Excecution Manager package
の2つだけです。
表示設定のチェックやリロードなど、色々試してみましたがだめでした。
原因をご教唆頂けますと幸いです。
0129デフォルトの名無しさん
2012/06/25(月) 20:38:32.900130デフォルトの名無しさん
2012/06/25(月) 22:02:51.280131デフォルトの名無しさん
2012/06/25(月) 22:07:46.000132デフォルトの名無しさん
2012/06/25(月) 22:30:14.310133デフォルトの名無しさん
2012/06/25(月) 22:34:39.89しっかりしろよ
0134デフォルトの名無しさん
2012/06/25(月) 22:44:13.02質問するときは情報隠せって、専門学校で叩き込まれるのか?
0135デフォルトの名無しさん
2012/06/25(月) 22:56:16.59music.getDuration();で取得すると
例えば全部の長さが10000のファイルで20%しかダウンロードしてない状況だとgetDuration()の戻り値が2000になってしまうんですが
ダウンロードが100%じゃなくても100%の長さを取得するにはどうしたらいいんでしょうか?
0136デフォルトの名無しさん
2012/06/25(月) 22:57:05.090137デフォルトの名無しさん
2012/06/25(月) 23:31:53.18かなり下の方まで探しましたがアプリ紹介サイトばかりで見つかりませんでした
0138デフォルトの名無しさん
2012/06/25(月) 23:48:11.18”開発”とか付け足せよバカ
0139デフォルトの名無しさん
2012/06/25(月) 23:52:09.81ほとんどかわんないです
0140デフォルトの名無しさん
2012/06/26(火) 00:07:48.700141デフォルトの名無しさん
2012/06/26(火) 00:36:09.42android 2.3.3 以上ですよね?
2.2までは対応させたいです
0142デフォルトの名無しさん
2012/06/26(火) 01:00:19.720143デフォルトの名無しさん
2012/06/26(火) 01:00:26.70絶対の方法はない。
メタデータの付いてない可変ビットレートのMP3ファイルは全フレーム読まないと長さがわからないので。
0144デフォルトの名無しさん
2012/06/26(火) 01:11:52.46>>138
>>142
0145デフォルトの名無しさん
2012/06/26(火) 01:19:47.290146デフォルトの名無しさん
2012/06/26(火) 01:53:14.11職場にこういうのいるよな
0147デフォルトの名無しさん
2012/06/26(火) 01:54:52.81ありがとうございます
0148デフォルトの名無しさん
2012/06/26(火) 02:05:17.630149デフォルトの名無しさん
2012/06/26(火) 02:07:37.881. HTTPのContent-Lengthをみる
2. そのサイズのダミーファイルを作る
3. ヘッダ部分を本物で埋める
4. そのダミーファイルでgetDurationする
progressiveに対応してほしいのう
0150デフォルトの名無しさん
2012/06/26(火) 02:28:43.47板じゃ確かに表現キツイかもね。
職場なら言われて当然だろ。
むしろ語尾のバカ、ゴミがクビじゃないだけいいと思う。
0151デフォルトの名無しさん
2012/06/26(火) 02:34:03.630152デフォルトの名無しさん
2012/06/26(火) 07:36:29.840153デフォルトの名無しさん
2012/06/26(火) 07:59:23.47キーボードを閉じても文字は切れたままです。EditTextごと動かすにはどうすれば良いでしょうか
0154デフォルトの名無しさん
2012/06/26(火) 10:07:14.90このリストの幅を細くする(文字のサイズを小さくする?)にはどうすればいいですか
0155デフォルトの名無しさん
2012/06/26(火) 10:46:44.77そして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でのプログラムが初めてなもので、もしかすると基本的なミスだとお叱りを受けるかもしれませんが、ご教授の程、何卒よろしくお願い致します。
もし情報がこれだけでは不充分なのであれば、その旨を頂ければまた書き込ませて頂きます。
0156デフォルトの名無しさん
2012/06/26(火) 10:51:42.52あと、onActivityResultはどのクラスのメソッドか調べてみるといい
0157デフォルトの名無しさん
2012/06/26(火) 10:54:00.200158デフォルトの名無しさん
2012/06/26(火) 11:07:45.230159155
2012/06/26(火) 11:18:59.59すみません、logcatについてはあまり使ったことがないのですが、作っているアプリが音声認識を使っているので、エミュレータでの確認が難しいです。
実機でlogcatは見えなかったように思うのですが・・・
もしできるのなら私の勉強不足です、すみません。
>>157
確かに、何も代入してませんでした。
startActivityForResultメソッドだけ使いたい場合、何を代入すればいいんでしょうか。
0160デフォルトの名無しさん
2012/06/26(火) 12:48:51.46このスレに来てlogcat使ったことないなんてよう言えるな。
0161デフォルトの名無しさん
2012/06/26(火) 12:50:49.17でもスレみてると、半分ぐらいの人は知らない感じだよ。
回答みていてもそんな感じがする。
0162デフォルトの名無しさん
2012/06/26(火) 14:44:01.510163デフォルトの名無しさん
2012/06/26(火) 15:16:28.140164デフォルトの名無しさん
2012/06/26(火) 15:27:06.600165デフォルトの名無しさん
2012/06/26(火) 15:39:57.830166デフォルトの名無しさん
2012/06/26(火) 15:50:11.21一気に数十行出てくることもある
あれはしんどい
だいたい最初の一行でわかるけど
0167デフォルトの名無しさん
2012/06/26(火) 18:39:30.30Logcatは実機でも使えるよ。
呼び出し元のActivityだけど、static参照って出来なかった気がする。
0168デフォルトの名無しさん
2012/06/26(火) 19:25:46.22結局、毎回「テンプレよめ」というのと何もかわらんだろw
0169デフォルトの名無しさん
2012/06/26(火) 21:56:43.18それで、なんぼもろてんの?
AAAとか伏せなあかん内容やったら
多分、趣味でやってんちゃうやろ?
0170デフォルトの名無しさん
2012/06/26(火) 22:23:46.99一意となるIDがないから、インスタンス化できなかったりしますか?
0171デフォルトの名無しさん
2012/06/26(火) 22:35:28.54の時点で何か理解がおかしい気がするが
(インスタンス化してるのはinflate時だろう)、
includeするレイアウトにもid振れるんだからそれで何とか汁
ttp://www.techdoctranslator.com/resources/articles/articles-index/layout-tricks-reuse
ほれ
0172デフォルトの名無しさん
2012/06/26(火) 23:04:45.38View v;
v = findViewById(R.id.test1);
とした場合、findViewById(R.id.test1)でインスタンスは作られてないのですか?
あと自分で解答みつけました
普段はView v = this.findViewById(R.id.test1)とするところ
View v1 = 親view.findViewById(R.id.test1);
とすればいいらしいです
0173デフォルトの名無しさん
2012/06/26(火) 23:11:53.59インスタンスはそれより前のinflateで親Viewごと作られてる
findViewByIdは、その親Viewから指定されたIdのViewを探して、
vにそこへの参照を代入してるだけ。こういうのはインスタンス化と言わない
0174デフォルトの名無しさん
2012/06/26(火) 23:18:11.70なるほど
ありがとうございました。
0175デフォルトの名無しさん
2012/06/26(火) 23:28:26.290176デフォルトの名無しさん
2012/06/27(水) 00:02:01.11findViewByIdを変数に入れることをinflateといって
それはつまりインスタンス化してるってことであってる?
0177デフォルトの名無しさん
2012/06/27(水) 00:07:37.510178デフォルトの名無しさん
2012/06/27(水) 00:07:52.060179デフォルトの名無しさん
2012/06/27(水) 00:09:33.10それはつまり童貞を捨てたってことであってる?
っていうくらい合ってない
0180デフォルトの名無しさん
2012/06/27(水) 00:10:41.980181デフォルトの名無しさん
2012/06/27(水) 00:14:17.38ぐぐっても詳しい解説どこもしてないぞ
0182デフォルトの名無しさん
2012/06/27(水) 00:16:36.90単にActivityにsetContentViewでレイアウトをセットする位しかやったことないと、
LayoutInflaterなんてクラスを目にすることすらないから、
最初は分からんのも無理ないだろうさ。
ListViewとAdapterとか触り始めてようやっと
「レイアウトファイルからViewってどうやって作るの?」
ってなると思うんだ。
この時inflateという言葉を知っていれば、
後はさくさく解決するだろうさ。
俺は知らなかったから結構苦戦した記憶があるw
0183デフォルトの名無しさん
2012/06/27(水) 00:18:52.210184155
2012/06/27(水) 00:19:08.05logcatは確かに初歩的な内容でした、調べてみるとわかりました。申し訳ありません。
そして今は実機をUSBで繋いでデバッグするためにドライバをインストールしたのですが、パソコン側で認識してくれなくて四苦八苦しています。
恥ずかしながら、普段はレンタルサーバーにアップしたapkをわざわざダウンロードして実行する手間なことをしていたので・・・
>>169
お金をもらってやっているわけではありません。
クラス名などを単純な名前に変えた方が、皆様にわかって頂きやすいかと思ったたけです、誤解を招いたようならすみません。
普段は2chを見ないので知りませんでしたが、営利なら聞いてはいけないというルールがあるんですね、もし仕事でプログラムをする機会があれば、ここでは聞かないようにします。
0185デフォルトの名無しさん
2012/06/27(水) 00:21:37.76気に障って突っかかる奴が居るだけ
■ このスレッドは過去ログ倉庫に格納されています