トップページ⇒tech
1001コメント363KB

Androidプログラミング質問スレ Part23

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2012/06/19(火) 19:57:12.12
このスレではAndroidSDK・NDKやAndroidマーケットに関する質問を扱ってます。

※プログラミング自体が初めて!なあなたには↓↓↓こちらへ
スレ立てるまでもない質問はここで 118匹目
http://toro.2ch.net/test/read.cgi/tech/1331904826/
Eclipse統合M32【Java/C++/Ruby/Python/Perl】
http://toro.2ch.net/test/read.cgi/tech/1320318310/
★★Java質問・相談スレッド153★★
http://toro.2ch.net/test/read.cgi/tech/1334438859/

****関連リンク****
■ Android developers http://developer.android.com/
■ ソフトウェア技術ドキュメントを勝手に翻訳 http://www.techdoctranslator.com/

****前スレ****
Androidプログラミング質問スレ Part22
http://toro.2ch.net/test/read.cgi/tech/1337170429/
0002デフォルトの名無しさん2012/06/19(火) 20:26:55.69
>>1
乙です

<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android">
<stroke
android:width="1dp"
android:color="#00cccc" />
<corners
android:radius="10dp" />
</shape>


こんなXMLを書いたら↓こんなふうに表示されますが・・・なんでコーナーができてなくて、
上のところの隅だけ切れてるのですか?

http://www.dotup.org/uploda/www.dotup.org3109121.jpg
0003デフォルトの名無しさん2012/06/19(火) 20:27:38.38
>>1乙です

前スレの>>953さんへ
ぬこバッテリーの人です
ウィジェットの反応がしなくなるのを再度立ち上げるのは
端末がスリープから解除されたときのインテントを受け取ると
startServiceで再度立ち上げるようにしてます。
000422012/06/19(火) 20:31:24.03
勘違いでした
同じ名前のレイアウトファイルを複数使っていて更新してない方にだけパス通してました
新スレ早々すいません
0005デフォルトの名無しさん2012/06/20(水) 04:11:24.22
おーし
ゲームの基幹部分ができた
マップを考えよう
0006デフォルトの名無しさん2012/06/20(水) 08:51:14.97
iOSに比べたら明らかにタッチの反応が鈍いぐらいに
スレ立て遅いけど

>>1乙
0007デフォルトの名無しさん2012/06/20(水) 12:32:44.72
Environment.getExternalStorageDirectory()で機種依存が出るテスト環境をお持ちの方にお聞きしたいのですが、
context.getExternalFilesDir(null)でも機種依存がでるのでしょうか?
0008デフォルトの名無しさん2012/06/20(水) 12:36:49.24
ボタン連打ゲームを作ってるんですが
10秒間という時間制限がうまく作れません。
現状は、
スタートボタンにCountDownTimerを付けて変数timeに+1していって
timeが10以上の場合連打ボタンを押しても回数が増えないようにif文を組んでいます。
しかし、時間が動いてないみたいです。
誰か教えて下さい・・・orz
0009デフォルトの名無しさん2012/06/20(水) 12:45:48.99
>>8
スレッドでタイマーを動かして、スレッドが終了したらフラグ立てて
そのフラグをボタンが押せる押せないの判定につかったらどうでしょう。
0010デフォルトの名無しさん2012/06/20(水) 13:39:28.83
むしろ時間を止めて欲しいぜorz
0011デフォルトの名無しさん2012/06/20(水) 13:59:55.37
TabActivityをメイン画面で表示して、タブそれぞれに表示させるActivityを
予めonCreateしておきonPauseもしくはonStopで止めておくことは可能ですか?
やりたいことは、タブをクリックしてActivityが表示されるまでの間の時間を少なくすることです。
0012デフォルトの名無しさん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
0013デフォルトの名無しさん2012/06/20(水) 14:21:32.54
>>11
タブで表示されるActivityをActivityGroupで管理するとかかね
>>12
UIスレッドじゃだめなんじゃないか
Handler使わないと
0014デフォルトの名無しさん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;
これで合ってますか?
0015112012/06/20(水) 14:53:52.95
>>13
ありがとうございます。ActivityGroupについて調べてみます。
0016デフォルトの名無しさん2012/06/20(水) 15:25:33.57
できました。
ありがとうございました。
0017デフォルトの名無しさん2012/06/20(水) 18:46:11.55
今更だけど気になったので質問です
みんなレイアウト作るとき、XMLと動的どっちでやっている?
0018デフォルトの名無しさん2012/06/20(水) 18:55:15.69
sc-05dでスピナーのGUIが表示されないです
文字は辛うじて見分けられるし、動作するんですが、こうゆうのはメーカーの対応待つしかないのでしょうか?
0019デフォルトの名無しさん2012/06/20(水) 19:12:37.08
>>3
ぬこさんありがとう。953です。

別の方法で試してみたら解決しました。
remoteViewsにsetOnClickPendingIntentを使わずに
ACTION_WIDGET_TOUCHをブロードキャストで受け取る方法でやったら
反応しないのがなくなりました。
スリープ解除のとき毎回startServiceするよりもいいかもです。

このACTION_WIDGET_TOUCH って解説あるとこほとんどないけどとあるブログにたどりつきました。
リファレンスにものってないw(もしくは載ってるけどインデックスされてなくて検索できないのかも)
0020デフォルトの名無しさん2012/06/20(水) 20:26:57.11
ボタンを押すと、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文作ればいいんでしょうか?
0021デフォルトの名無しさん2012/06/20(水) 21:37:46.08
リニアーレイアウトを1/5と3/5と1/5に分割する場合、weightの値は幾つにすればいいのでしょうか?
0022デフォルトの名無しさん2012/06/20(水) 21:43:07.82
カスタムコンポーネントって簡単ですか?
WindowAPIとMFCの経験はあります
0023デフォルトの名無しさん2012/06/20(水) 21:48:26.97
簡単でありますん
0024デフォルトの名無しさん2012/06/20(水) 21:51:23.10
>>21
3,1,3じゃない?
0025デフォルトの名無しさん2012/06/20(水) 22:08:04.65
>>24
ありがとうございます
どうやって計算しました?
0026デフォルトの名無しさん2012/06/20(水) 22:24:45.23
>>25
比率の最小公倍数÷それぞれの数字

1と3と1の最小公倍数は3だから
3÷1=3
3÷3=1
3÷1=3
で3,1,3

これでわからなかったらすまん
説明下手なんだ
0027デフォルトの名無しさん2012/06/20(水) 22:27:25.68
ITXサイズのAndroid搭載ボードが出ると聞いたんですが、それについて話してるスレを教えてください
0028デフォルトの名無しさん2012/06/20(水) 22:27:43.53
え?
weightを1, 3, 1にして
width(かheight)を0dipにするんじゃないの?
0029デフォルトの名無しさん2012/06/20(水) 22:31:34.39
fill_parentでやるなら>>26
0030デフォルトの名無しさん2012/06/20(水) 22:34:12.39
全部に5をかけて 1,3,1 じゃね?
0031デフォルトの名無しさん2012/06/20(水) 22:36:06.25
今はfill_parentではなくmatch_parentになったんだな
0032デフォルトの名無しさん2012/06/20(水) 23:31:35.98
weightは余りを分割するって意味
単純に比率指定したいなら>>28

---------------画面サイズ
|10|30|10| 余り | ←この余りをweightで分割して各比率で割り振られる

--------------画面サイズ
||||   余り   | ←面積0dpなら全部余りを比率で分割
0033252012/06/20(水) 23:35:30.92
ありがとうございました。
0034デフォルトの名無しさん2012/06/21(木) 08:14:52.20
EclipseにAndroidプロジェクトをインポートしたら、トークンエラーが大量に出てくるんですが・・・・
原因はなんなんでしょうか?
0035デフォルトの名無しさん2012/06/21(木) 08:19:44.08
↑解決しました
インポートするプロジェクトにそもそもエラーありました!
0036デフォルトの名無しさん2012/06/21(木) 08:38:10.55
エラー残したままコミットすんなってぶん殴っとけ
0037デフォルトの名無しさん2012/06/21(木) 08:50:36.43
よくあるw
0038 忍法帖【Lv=40,xxxPT】 !2012/06/21(木) 13:55:17.58
a
0039デフォルトの名無しさん2012/06/21(木) 14:25:00.48
Androidの問題じゃないかもですが・・・

例えば、TabHostクラスを継承したHITabHostクラスがあったとして、

TabHost super = --- ;
HITabHost sub ;

とあったとして、

sub = (HITabHost)super ;

みたいにしてキャストしたいんですが、キャストできないというエラーが出ます。
TabHostからHITabHostにするにはどうすればいいのでしょうか・・・
0040デフォルトの名無しさん2012/06/21(木) 14:51:24.97
>>39
Javaの基礎を1から勉強したほうがいいかと
0041デフォルトの名無しさん2012/06/21(木) 15:20:44.63
ソンナコトハデキナイ
最初からHiTabHostで宣言しろ
0042デフォルトの名無しさん2012/06/21(木) 15:45:31.70
>>39です

できないのですか・・・ 親子なのにキャストできないクラスなんてあるんですね・・・
ありがとうございます、勉強になりました。
0043デフォルトの名無しさん2012/06/21(木) 15:57:56.08
>>42
子 = (子)親  ?
親 = (親)子  ◯
0044デフォルトの名無しさん2012/06/21(木) 15:59:32.85
文字化けした。一行目の?は×
0045デフォルトの名無しさん2012/06/21(木) 16:08:50.35
すいません教えて欲しいのですが、
アプリ制作の大きな流れについて
res内に使う画像ファイル(drawable)、画面構成(layout)、str等を置く。
↓
src内でそれらを定義付ける
↓
定義付けたそれらについて動作をつけていく

でよいのでしょうか?
Javaは理解できているものの、アプリ制作の流れが掴めず困っています。
よければ皆さんの順序等流れを教えて下さい・・・
0046デフォルトの名無しさん2012/06/21(木) 16:23:01.33
やりたいことのサンプルをみつける
↓
コードパクル
↓
改造する
↓
完成\(^o^)/

こうじゃないの?w
0047デフォルトの名無しさん2012/06/21(木) 16:36:49.26
>>42
親を継承した子には親にないもの(関数とか)が含まれる。
親を子と同等とみなすと子にしか存在しないものを参照できてしまう。
だから親を子にキャストする事は一般にはしない。
逆に子には親にあるものは全てあるので、問題にならない
0048デフォルトの名無しさん2012/06/21(木) 17:05:39.33
>>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だと無いんですよね。
0049デフォルトの名無しさん2012/06/21(木) 17:47:03.35
先日初めてアプリをグーグルプレイに投稿し、初めてのアプデをしようとしています。

配布中のアプリの仕様を大幅に変えたので自分の実機だけで仮アプデができるかどうか試そうと思い、
グーグルプレイから自分のアプリをインストール→eclipseでアプリ実行
をしました(この発想が違うと思いますが…)

すると証明書が前回と違うからアンインストールしろ とエラーを吐かれ
ネットで検索しいろいろ触ったらeclipseから実行できるようになりました。

ただ仕様を変えたところが変更されておらず、前のバージョン(グーグルプレイから落とした状態)のままでした。

自分の機種だけアプデを試すにはどうしたらよいでしょうか?
0050デフォルトの名無しさん2012/06/21(木) 18:31:30.27
Androidで3Dゲームを作成したいのですがお勧めの参考書はありますか?
0051デフォルトの名無しさん2012/06/21(木) 18:32:51.26
>グーグルプレイから自分のアプリをインストール→eclipseでアプリ実行
Play上からDLしたアプリには証明書ついてるけどEclipseで単に実行したやつには証明書つかないでしょ
だから怒られる。

アップデート確認がしたいなら
新バージョンのリリース用apkを作ってadbコマンドでインストールしる
0052デフォルトの名無しさん2012/06/21(木) 18:40:31.33
新バージョンのリリース用apkを作るってのはあれだぞ
プロジェクト右クリック→Androidツール→Export Signed Application Package
で作るやつだからね
ほんとは前バージョンのapkが残ってたらPlay上からDLインスコする必要ないんだけどね
0053デフォルトの名無しさん2012/06/21(木) 21:29:51.46
対象が480x800のアプリケーションであっても、横に960とかのレイアウトって作れるんでしょうか?

ビューを横にスライドしたら、次のビューが横から出てくる感じのものを作りたいんですが
Flipperだと1つしか出てこないから不満なんです
■ このスレッドは過去ログ倉庫に格納されています