Androidプログラミング初心者質問スレ Part6
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2011/02/20(日) 00:13:21.51Androidプログラミング初心者質問スレ Part5
http://hibari.2ch.net/test/read.cgi/tech/1294136149/
Androidプログラミング初心者質問スレ Part4
http://hibari.2ch.net/test/read.cgi/tech/1290152001/
Androidプログラミング初心者質問スレ Part3
http://hibari.2ch.net/test/read.cgi/tech/1286357268/
Androidプログラミング初心者質問スレ Pert2
http://hibari.2ch.net/test/read.cgi/tech/1282716370/
Androidプログラミング初心者質問スレ
http://hibari.2ch.net/test/read.cgi/tech/1278560954/
関連スレ
【Google】Androidアプリ作成part8
http://hibari.2ch.net/test/read.cgi/tech/1297616354/
0153デフォルトの名無しさん
2011/02/26(土) 13:35:46.140154デフォルトの名無しさん
2011/02/26(土) 14:50:42.842chが動かない。
0155デフォルトの名無しさん
2011/02/26(土) 15:22:49.58実機だと効いてるんだけど、同じアプリをエミュレータに送って
Ctrl-F12で画面回転するとonDestroyが呼ばれてる気がする…。
0156デフォルトの名無しさん
2011/02/26(土) 15:32:32.012点指定の座標(x1, y1), (x2, y2)が与えられていて、
その2点間が直径になるような半円を描画したいです.
Path#addArcにて
addArc(RectF(x1, α, x2, y2), 180, 180))
とすればよいのかと思い試してみたのですが、楕円っぽくなってしまい
うまくいきません
何か半円を描く方法があれば教えてください.
0157デフォルトの名無しさん
2011/02/26(土) 16:01:08.170158デフォルトの名無しさん
2011/02/26(土) 18:58:15.00RectFのtopの部分になるのですが、
描画したい半円の大きさに合わせて調整しよう思い、
任意の数値を入れる予定です。
(記載せずにすみませんでした)
0159デフォルトの名無しさん
2011/02/26(土) 19:08:25.93正円が描きたければRectFは正方形を指定
その上で描画開始と終端の角度を指定
0160デフォルトの名無しさん
2011/02/26(土) 19:45:42.00ありがとうございます.
矩形に内接であるという基本的な事を理解していませんでした.
正方形にしたら正円になりました.
0161デフォルトの名無しさん
2011/02/26(土) 19:53:48.69デフォルトだとエミュレータはスライド式のハードキーが付いてる設定
hardkeybordhiddenか何かも必要
0162デフォルトの名無しさん
2011/02/26(土) 20:32:53.30メモリはあまり多くとりすきるのはやめたほうがいいですか?
0163デフォルトの名無しさん
2011/02/26(土) 20:39:53.45ご利用は計画的に
0164デフォルトの名無しさん
2011/02/26(土) 20:42:29.270165デフォルトの名無しさん
2011/02/26(土) 23:31:43.12ローカルエリア接続を共有にすればブリッジ接続もいらず
IP値だけで行けるだけの話でした。お恥ずかしい限りですorz
0166デフォルトの名無しさん
2011/02/27(日) 11:50:41.58現状、Serviceの中でHandlerのスレッドを起こして、
指定時刻と現在時刻の差分を取ってからHandler#postDelayedの
引数に指定しています。
またスリープ中に止まらないようにWAKE_LOCKも使用しているのですが、
決まった時間に1回だけ発動するタイマー処理として、この方法は
正しいのでしょうか?WAKE_LOCKを使わない方法とかありますか?
0167デフォルトの名無しさん
2011/02/27(日) 13:49:11.25何も常駐しないのであれば、それでもいいかもだけど
普通はAlarmManager使うと思う
0168デフォルトの名無しさん
2011/02/27(日) 15:32:48.73端末の個々識別ってどうやってやりますか?
個々にIPアドレスが割り振られているわけではないとは思いますが、
MACアドレスで接続先の識別、指定でできたりするんでしょうか?
0169デフォルトの名無しさん
2011/02/27(日) 15:36:57.15AlarmManagerというのを使うんですね。ちなみに
タイマーが存在する間はServiceとして常駐させてます。
常駐する理由はHandlerをキャンセル出来るようにするためです。
0170デフォルトの名無しさん
2011/02/27(日) 16:49:16.74処理方法見直してみます。
0171デフォルトの名無しさん
2011/02/27(日) 20:42:34.030172デフォルトの名無しさん
2011/02/27(日) 20:51:25.520173デフォルトの名無しさん
2011/02/27(日) 23:11:08.81ああこれ記事が古いんだな2009
中のAndroidのイメージのバージョンも古いということか
新しいのどっかないかな
0174デフォルトの名無しさん
2011/02/28(月) 02:04:16.25あるいはそれに近い橋渡しはできませんか?
0175171
2011/02/28(月) 02:57:19.350176デフォルトの名無しさん
2011/02/28(月) 05:38:37.840177デフォルトの名無しさん
2011/02/28(月) 07:58:57.78そういうのってbluetoothじゃだめ?
0178デフォルトの名無しさん
2011/02/28(月) 08:12:47.48なにをしたいのかがわからない
adb installとか
adb pushじゃだめなの?
0179デフォルトの名無しさん
2011/02/28(月) 08:20:41.17フォント次第
0180デフォルトの名無しさん
2011/02/28(月) 08:40:08.94安くて、自分でbuildしたAndroidOSをインストール出来る
実機で何かいいのありますか?
Wifiさえ使えればOKで、G3回線は使いません。
結局ヤフオクでHT-03Aを買うのがいいのかな?
0181デフォルトの名無しさん
2011/02/28(月) 09:02:29.25公式サイトからSamsung Kiesをダウンロードする必要あり
0182デフォルトの名無しさん
2011/02/28(月) 09:09:07.49thanks
0183デフォルトの名無しさん
2011/02/28(月) 09:26:09.96なるほど、ありがとう。
申し分ないけど、ちょっと高いなあ。
使ってる携帯をMNPで乗り換えするなら
割引き価格の1万9千円くらいになる?みたいですね。
開発機と割り切ったものなら数千円でなんとかならないかなと
考えてましたが、HT-03Aでも1万2千ちょいするみたいですし・・・。
Dev Phoneがもっと安ければなあ。
0184デフォルトの名無しさん
2011/02/28(月) 10:05:15.390185デフォルトの名無しさん
2011/02/28(月) 19:45:59.22実験的なもので、携帯回線を使用したandroid同士のP2P通信をやってみたいんだ
だから、重要性はないんだけどできるのかなーって思って質問したんだ
引き続きご助言いただける方お願いします
0186デフォルトの名無しさん
2011/02/28(月) 21:05:22.09androidIDもMACもrootで書き換え可能だったはず
androidで端末ユニークなのってSIMのIDだけじゃない?
0187デフォルトの名無しさん
2011/02/28(月) 22:00:49.200188デフォルトの名無しさん
2011/02/28(月) 22:06:16.22実際にAndroidのAPIから取れるのは
不揮発にかきこまれたIMEIそのものではないけどな
0189デフォルトの名無しさん
2011/03/01(火) 00:02:34.63そもそもこれは、「割り当てられたIPをP2P上に配信して端末特定するにはどうしたらいいでしょうか?」という話なの?
>>185が何を質問しているのかがわからないんだけど……。
0190デフォルトの名無しさん
2011/03/01(火) 00:52:33.09>>187
それぞれに割り振られた固体番号使うって事?
>>189
自分でも、上手く言えてないのは分かってるんだが、
ネット上で他のスマフォを接続先に指定するのに何を使ってるのかなと
この言い方じゃ変わらんかorz
wifi下で行えば、ローカルに割り振られたIPで、できるか
つい携帯回線上でやるのに目線が行き過ぎて見落としてた
ローカル下で試してみるthx
0191189
2011/03/01(火) 01:12:45.76ネットワークレベルではIP以外には無いと思うんだけど……。
別に3GでもグローバルIPは割り当てられるでしょう?ただ、固定でないと言うだけで。
で、固定でないから特定の端末のIPを取得するにはどうしたらいいのか?っていう話に発展すると思うんだ。
ローカルで試してみればいいや、って話だとたぶん上でレスした人たちはずっこけていると思うよw
0192デフォルトの名無しさん
2011/03/01(火) 01:40:04.890193デフォルトの名無しさん
2011/03/01(火) 02:00:58.82http://desktop2ch.net/tech/1294136149/ の 439-
>>190
何がやりたいのかで変わってくるが、
個人的な知り合い同士でやるにしても3G回線下ならIPしか選択肢無いからIPアドレス伝える手段が必要
不特定多数でやるなら通信相手を見つけるロビーサーバは必要
それもキャリアにTCP/IPの接続待ち受けブロックされてたら無理だし、
割り振られたIPがグローバルIPじゃない可能性もある
素直に別途サーバ立てるのが一番簡単
0194デフォルトの名無しさん
2011/03/01(火) 02:16:52.59ロビーサーバは用意するとして、グローバルIPが割り当てられないのはSPモードかな?
とすると、P2PではSPモード端末同士ではコネクションが張れないってことになる。
SPモードでNAT越えの手段として有効なのってなんだろうね。
UDPホールパンチングとか試した人っている?
0195デフォルトの名無しさん
2011/03/01(火) 02:23:00.10今後はほとんどそうなって行くんじゃないかな?
0196デフォルトの名無しさん
2011/03/01(火) 02:29:02.03STUNくらいは通って欲しいね
0197デフォルトの名無しさん
2011/03/01(火) 02:31:04.80その場合、別途IPv6にも対応して欲しいなぁ……。
#そして、端末によってIPv6対応してないとか出てくると
0198デフォルトの名無しさん
2011/03/01(火) 03:17:18.440199デフォルトの名無しさん
2011/03/01(火) 03:43:48.32いや、だからそこまでしてP2Pにするメリットねーからクライアントサーバ型にすれば? と言っている
単純に好奇心で実験してるんだったらそれはそれで良い事だとは思うけど、
ソースレベルならともかく、実装方法どうするかって段階で質問するなって感じ
0200デフォルトの名無しさん
2011/03/01(火) 03:56:04.49具体的に言うとどうやったらonItemSelectedイベントが起こるのでしょうか
今はエミュレータの方向パッドを押すとonItemSelectedが起こるのですが
マウスではどうやればいいのか分かりません
0201デフォルトの名無しさん
2011/03/01(火) 04:29:25.400202デフォルトの名無しさん
2011/03/01(火) 04:38:02.97マウスでクリックしてもメッセージ出力されないんです
で、マウスでクリックした後に方向パッドを押すとメッセージが出力されています
なのでクリックしただけではonItemSelectedイベントは呼び出されないみたいなんです
0203デフォルトの名無しさん
2011/03/01(火) 05:05:40.47つ ttp://www.adakoda.com/android/000077.html
これ見て駄目ならソースうp
0204デフォルトの名無しさん
2011/03/01(火) 06:50:56.27ちょっとわからないところがあるんですが。61ページの
private void startSecondActivity() {
final EditText edittext1 = (EditText) findViewById(R.id.edittext1);
final EditText edittext2 = (EditText) findViewById(R.id.edittext2);
final EditText edittext3 = (EditText) findViewById(R.id.edittext3);
String s1 = edittext1.getText().toString();
String s2 = edittext2.getText().toString();
String s3 = edittext3.getText().toString();
Intent i = new Intent(this, SecondActivity.class);
i.putExtra("org.example.putextra.s1", s1);←
i.putExtra("org.example.putextra.s2", s2);←
i.putExtra("org.example.putextra.s3", s3);←
startActivityForResult(i, 0);
}
}
の矢印した部分でのorg.example.putextra.s1は、どこで宣言されてることになるのでしょうか。
よくわからないので、どなたか解説をお願いいたします。
0205デフォルトの名無しさん
2011/03/01(火) 06:59:17.09思考ゲームで話してるだけだからメリットとかは正直どうでもいいな。仕事なわけでもないし。
でも、通信内容次第ではクラサバよりP2Pの方がメリットがある場合があるから何とも言えないよ。
扱うものが音声・映像をとかだと、それに耐えるサーバ用意するのも大変じゃない?お金的にもつらいし。
組んでからこの方法は駄目でしたとか悲しすぎるから、実装方法の段階の疑問もOKだと個人的には思うけどなぁ。
ただ、もっと具体性のある形で質問してもらえると話が離散しなくて良いよね。
0206デフォルトの名無しさん
2011/03/01(火) 07:02:02.69宣言じゃなくて、格納データのキー名。文字列でしょう?
やってることはハッシュにデータ格納しているみたいなこと。
0207デフォルトの名無しさん
2011/03/01(火) 07:20:50.17そこは自分で試行錯誤するとこじゃね?
少なくとも初心者スレでやる問答ではないし、
このスレでの質問の回答としては現実的な所で >>189, >>199 みたいになるぜそりゃ
0208デフォルトの名無しさん
2011/03/01(火) 08:17:46.42タッチ操作ではonItemSelectedイベントは発生しない(IS01は除く)
タッチしてもタッチした行は選択状態にはならないよね?
0209デフォルトの名無しさん
2011/03/01(火) 08:27:16.10んー、質問者が試行錯誤でNAT traversalの手法を編み出せる可能性は考慮してなかったなぁ
初心者スレとしては、なんだかわからないけど難しそうっていう印象を与えることには成功したと思うよw
少なくともNATの考慮、端末の一意IDの考慮なんてことも主題としてあげられたし、質問スレとしても誠意がある対応ができたんじゃないかな?
P2Pなアプリは結構みんな作りたくなるので定番の手法があるといいね。
0210デフォルトの名無しさん
2011/03/01(火) 10:35:53.09オフラインで表示させることは可能ですか?
RecognizerIntent はネットワークに接続していないと使えないみたいなので・・・。
0211デフォルトの名無しさん
2011/03/01(火) 10:40:35.290212デフォルトの名無しさん
2011/03/01(火) 10:47:13.98そうですか。ありがとうございます。
0213185
2011/03/01(火) 11:36:34.27とりあえず、ローカル環境下で自分のやりたいことができるかを試してみて、
そこからどうしていくかを考えて生きたいと思います。
皆様、ありがとうございました
0214デフォルトの名無しさん
2011/03/01(火) 12:12:44.72自動的に高さが100pxに縮小されて表示されるようにしたいです。最悪は上下カットの100pxでもOK。
Layoutを使って配置したらボタンが縦200pxで表示されてしまいます。※全ボタンのheight:match_parent
期待した結果には一々全部のボタンのheightに100px設定するか、ソースで配置するしかないのでしょうか?
0215デフォルトの名無しさん
2011/03/01(火) 16:54:58.44scaleTypeをfitCenterにするんじゃだめなん?
0216デフォルトの名無しさん
2011/03/01(火) 16:55:18.09DecimalFormatでstringにしてからintに戻すのと
キャストで
int i = (int) d;というようにするのではどちらがいいのでしょうか?
とあるサイトではキャストは危険だから極力使わないほうがいいと書いてありましたので。
0217デフォルトの名無しさん
2011/03/01(火) 17:22:16.63Intger.parseIntではだめなのか?
0218デフォルトの名無しさん
2011/03/01(火) 17:25:10.07解決しました。
Math.roundを使ってみます。
0219デフォルトの名無しさん
2011/03/01(火) 17:31:44.24わざわざ文字列にするとかありえない。
普通はキャストを使うよ。
0220デフォルトの名無しさん
2011/03/01(火) 17:55:25.00大きい数が扱える型からそれよりも小さい数しか扱えない型へのキャストは危険というか
下手したらデータが飛ぶから要注意
それだけの話かと
0221デフォルトの名無しさん
2011/03/01(火) 22:34:39.44ピュアP2Pなら定番はDHT
だけどその前に質問者の根本的な知識が足りて無いと思う
0222デフォルトの名無しさん
2011/03/01(火) 22:46:36.84根本的なとこで話についてきてねえだろw
0223デフォルトの名無しさん
2011/03/01(火) 22:58:17.15fitCenterを試してみましたがやはり表示サイズは変わりませんでした。
うーん、ミスらしい所もわからないし、もうソースで配置します; どうもありがとうございました。
0224デフォルトの名無しさん
2011/03/01(火) 23:58:08.580225デフォルトの名無しさん
2011/03/02(水) 00:31:07.57ツールがないんだよな。dxとか。
0226デフォルトの名無しさん
2011/03/02(水) 09:12:31.52Proguardを有効にしてコンパイル(Export Signed Android Package)したいのですが,
以下のエラーが出て,完了できません。
- Proguard returned with error code 1. See console
- 'C:\Program' は、内部コマンドまたは外部コマンド、
- 操作可能なプログラムまたはバッチ ファイルとして認識されていません。
- '-jar' は、内部コマンドまたは外部コマンド、
- 操作可能なプログラムまたはバッチ ファイルとして認識されていません。
見てすぐ,パスを通し忘れてるんだろうかと思い,
SDKのtools,platform-tools,tools\proguard,\tools\proguard\bin
などにも通したのですが,結局成功しませんでした。
何が間違ってるのでしょうか?
環境は,Windows 7/SDK R10(API11)です。
proguard.cfgは別に新規プロジェクトをつくってその中のものを流用しています。
proguard.configのパス指定は間違ってません。
0227デフォルトの名無しさん
2011/03/02(水) 09:23:35.99パス自体に半角スペースが含まれているなら、""(ダブルコーテーション)で挟んで指定。
0228デフォルトの名無しさん
2011/03/02(水) 09:42:28.23アンドロイドタブレットがあるんだから、それ使ってコンパイル出来るようになっても良いよな
0229デフォルトの名無しさん
2011/03/02(水) 10:48:04.27ImageViewにdrawableのリソースを変数に入れたR.drawableを指定して割り当てているのですが
Android2.2では正常に動くものが、1.6でdrawableがずれてしまいます
具体的にいうと、a1.png, a2.png, a3.pngがあり、
a1.pngを表示させようとするとa2.pngが表示されてしまう状況です
1.6ではR.drawableをint[]に入れることがまずいのでしょうか
ちょっとエスパー必要かもしれませんが、思い当たることがある方、
アドバイスよろしくお願いします
0230226
2011/03/02(水) 10:49:12.89ありがとうございます。
そんな基本的なミスをorz・・・と思いつつ,半角スペースが入っている
パス全てにダブルクォーテーションを付けて再起動したのですが,
解決しませんでした。
ログを詳細に出すようにしても,Proguard関連で別に
何か出てるようでもなく・・・。
何かパスを通し忘れてるのでしょうか。
0231デフォルトの名無しさん
2011/03/02(水) 11:24:53.91エラーを単純に見ただけだど、どう考えても途中に空白があるフォルダにあるコマンドを"つけずに動かそうとしてる
SDKを入れたフォルダがそうなら移動してみれば?
0232デフォルトの名無しさん
2011/03/02(水) 11:27:19.70素直に半角スペース無しで再インストールすれば?
0234デフォルトの名無しさん
2011/03/02(水) 12:20:43.810235デフォルトの名無しさん
2011/03/02(水) 12:26:26.52タップの回数をカウントすればできるでしょ?
0236234
2011/03/02(水) 13:20:27.09押しっぱなしにするとClickイベントが連続して発生する動作です。
つか、それならソース見ろって話ですね。。。
失礼しました。
0237デフォルトの名無しさん
2011/03/02(水) 14:44:47.87どう書けばいいのでしょうか?
onUpdateの中にかけばいいのですかね
0238デフォルトの名無しさん
2011/03/02(水) 15:04:34.84黒い画面が一瞬現れて消える状態です
javaのバージョンは最新です
どうすればいいでしょうか?
0239デフォルトの名無しさん
2011/03/02(水) 17:54:40.530240デフォルトの名無しさん
2011/03/02(水) 19:26:40.36ButtonImage BT1, BT2, BT3 〜 BT30;
と延々と宣言するのが面倒なので下記のような関数を作ってみましたが、うまく動きません。
private void makeVar(String base, int k){ //makeVar("BT", 30); のように使用
int i;
String name;
for(i=0; i<=k; i++){
name = String.valueOf(i);
name = base + name;
ImageButton = name; //★
}
}
★の所で"ImageButton cannot be resolved to a variable"とeclipse上で×マークが出ます。
変数宣言に変数の値って使えないのでしょうか?
何か楽に大量の宣言ができる方法があれば教えて頂きたいと思います。
0241デフォルトの名無しさん
2011/03/02(水) 19:47:34.08ImageButton = name; //★
ImageButton の型は?
0242デフォルトの名無しさん
2011/03/02(水) 19:53:45.01配列使っては?
ImageButton[] buttons = new ImageButton[k];
for (int i = 0; i < k; i++) {
buttons[i] = new ImageButton(this);
}
// buttonsは後で利用
0243デフォルトの名無しさん
2011/03/02(水) 20:13:02.82あっ、そうか、型が違うから通るわけがないですね;
>>242
なるほど、配列を使えばいいんですね。
型が違うのは分かったけどその後どうするかでつっかかっていたので助かりました。
どうもありがとうございました。
0244デフォルトの名無しさん
2011/03/02(水) 21:32:46.45重くておそくて、まったく使い物にならないレベルでした。
2.2にいたっては、頻繁に強制終了。
みなさんの環境でも同様でしょうか?
あまりにエミュレータが使い物にならないレベルで驚いたんですが
Androidは実機使って開発があたりまえなんでしょうか?
0245デフォルトの名無しさん
2011/03/02(水) 21:36:19.36エミュだと実機と操作感が違うからどうにもならない
0246デフォルトの名無しさん
2011/03/02(水) 22:37:25.142.2 のエミュは普通に使えてるよ。 i7 MacBookPro
実機とエミュは必要に応じて使い分けてる。
0247デフォルトの名無しさん
2011/03/02(水) 23:01:38.36強制終了とか使い物にならないとかはない
一体何使ってんの?
0248デフォルトの名無しさん
2011/03/02(水) 23:11:40.13プレビュー版とくらべればマシになったが。
0249デフォルトの名無しさん
2011/03/02(水) 23:35:13.940250デフォルトの名無しさん
2011/03/02(水) 23:56:58.17JITが付く前のAndroidだとXEONの5000番台ですら実機の3倍くらい遅かったような気がするぞ。
0251デフォルトの名無しさん
2011/03/03(木) 00:02:52.170252デフォルトの名無しさん
2011/03/03(木) 02:47:11.61そう。だからOSのVerとかより、apiレベルは2.xのまま解像度低いavdつくって動かすと
けっこう普通に動く。ただ解像度が低いからピクセル単位の動作が確認できないw
■ このスレッドは過去ログ倉庫に格納されています