Androidプログラミング質問スレ Part19at TECH
Androidプログラミング質問スレ Part19 - 暇つぶし2ch1:デフォルトの名無しさん
12/02/25 14:24:49.22
このスレではAndroidSDK・NDKやAndroidマーケットに関する質問を扱ってます。

※プログラミング自体が初めて!なあなたには↓↓↓こちらへ
スレ立てるまでもない質問はここで
スレリンク(tech板)
Eclipse統合M32【Java/C++/Ruby/Python/Perl】
スレリンク(tech板)
★★Java質問・相談スレッド152★★
スレリンク(tech板)

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


****前スレ****
Androidプログラミング質問スレ Part18
スレリンク(tech板)

2:デフォルトの名無しさん
12/02/25 14:42:09.52
getWritableDatabase - 『Make sure to call close() when you no longer need the database』

3:デフォルトの名無しさん
12/02/25 14:46:23.83
テスト用にAndroidOS搭載してる実機買おうと思いましたが、
世の中のAndroidタブレットって解像度を任意のものに変更できるものはないんでしょうか?

4:デフォルトの名無しさん
12/02/25 14:50:21.41
引きこもってないで店にいって確認してこい

5:デフォルトの名無しさん
12/02/25 14:56:25.51
GalaxyTabはrootとったら変更できたって話はあるが
他のは知らん

6:デフォルトの名無しさん
12/02/25 15:26:54.92
液晶の解像度が任意に変更できると思ってるの?

7:デフォルトの名無しさん
12/02/25 15:29:16.48
液晶とは言ってない
画像かもしれない


8:デフォルトの名無しさん
12/02/25 16:10:07.23
viewを2つ重ねて表示させます

view1 オープンGLで描画したモデル (手前)
view2 キャンバスに描画した図形  (背景)

GLで描画のバックに透過処理をして背景が透けて見えるようにしたい
のですが出来ません
キャンバスを手前にセットすると普通に透過確認出来る(モデルの手前に透けた図形が表示される)

サンプルを参考に
mGLSurfaceView.setEGLConfigChooser(8,8,8,8,16,0);
mGLSurfaceView.getHolder().setFormat(PixelFormat.TRANSPARENT);
等試しましたがダメ
タスケテ

9:デフォルトの名無しさん
12/02/25 16:15:42.99
このスレで>3を読んで液晶の解像度のことだと思うほうがおかしい

10:デフォルトの名無しさん
12/02/25 19:39:21.61
>>2
これ、helperのcloseを呼べって事だからな
databaseのcloseじゃないぞ

11:デフォルトの名無しさん
12/02/25 23:16:26.44
大分以前にRokonで書いたゲームを書き直そうと思ったんですが、当のRokonがいつの間にか開発終了していました。
何かAndroid向けの2Dゲームフレームワークでおすすめな物は有りませんか?

12:デフォルトの名無しさん
12/02/26 00:23:26.78
そんくらい自作しろよ・・・

13:デフォルトの名無しさん
12/02/26 00:32:20.30
窓アプリとして書き出せて、エミュも実機も使わずVisualStudio上でデバッグ完結できる
cocos2d-xが最強に捗るぞ。日本語の情報が絶望的に少ないが

14:デフォルトの名無しさん
12/02/26 00:55:12.08
で?

15:デフォルトの名無しさん
12/02/26 02:25:59.12
wavデータを鳴らそうと思っているのですが、

MediaPlayer.create(Context context, int resid)
で、リソースIDから createすることは出来たのですが、メモリ上に読み込んであるwavのバイナリデータからcreateする方法は無いのでしょうか?

16:デフォルトの名無しさん
12/02/26 04:10:29.18
GridViewの通常時の背景を変える事って不可能なのですか?
例えば、

<GridView
  android:listSelector="list_selector" />

<selector
  xmlns:android="URLリンク(schemas.android.com)">
  <item drawable="pressed_background" android:state_pressed="true">
  <item drawable="normal_background">
</selector>

としても、pressedの時の画像は表示されるのですが、通常状態の時は真っ黒です。

17:デフォルトの名無しさん
12/02/26 09:53:48.96
onKeyDownでカーソルキーとEnterに対応すれば、
XperiaPlayで上下左右と○ボタンに対応できるけど、
□と△はonKeyDownのどのキーに対応しているの?

18:デフォルトの名無しさん
12/02/26 11:18:45.55
setOnTouchLisnerで、ActionUpを指定すると、
指が離れた時の動作を指定できるわけですが、
ScrollView内に設置した場合だと、押したまま指をずらすとActionUpが動作しません。
対策方法はないでしょうか?

19:デフォルトの名無しさん
12/02/26 12:20:41.37
パスワード管理ソフトを自作しようとしています。
下記の仕様で作ろうと思いますが、
セキュリティ観点でどの程度問題ありでしょうか。

なお、自分用の開発であり
マーケットへの登録は全く考えていません。
(1.)の仕様は、そのためです。

1.アプリ実行時、onResume時などには、
  パスワード入力をさせる
 ※照合用の文字列は、ソースコード内にハードコーディング
  もしくは、String.xmlに登録して、ソース内で呼び出し
  (ビルド後はどちらでもセキュリティ的には同じかも)

2.アプリ内ユーザー操作で、IDとPASSの組を登録していく。
  登録したものは、SDカードにファイル保存する。

3.ファイル保存するものは、アプリ内で入力されたString文字列を
  適当に暗号化する

4.暗号化/復号する鍵は、ソースコード内にハードコーディング


apkファイルのリバースエンジニアリングが容易ということは
ググってわかりましたが、ハードコーディングした文字列(鍵)が
そのまま出てくるのかどうかなどは分かりませんでした。

JNI等を使ってC++やCのコードを呼び出せる、という情報も得ましたが、
この手段を使った方が、まだ安心できるものになりますでしょうか?

スマホを紛失した時のことを想定しています。

20:デフォルトの名無しさん
12/02/26 12:28:02.79
ひまたんぷれいやをandroidに移植したいんですが
手取り足取り教えてください。ちなみに女子高生です。

21:デフォルトの名無しさん
12/02/26 12:40:36.60
気持ち悪い。

22:デフォルトの名無しさん
12/02/26 13:04:43.62
>>19
リバースエンジニアリングしたら、String.xml含めて文字列はそのまま丸見えだと思うよ。
一方向ハッシュした文字をハードコーディングするならまだいいけど、
「照合用の文字列」と言ってるものが素のパスならアウトかな。

よくわからんけど、鶏が先か、卵が先か、っていう悩み?


23:デフォルトの名無しさん
12/02/26 13:28:54.17
>>18
そりゃそう

24:デフォルトの名無しさん
12/02/26 13:37:06.32
>>18
セキュリティを重視するならアクセス制御のかかる内蔵ストレージに暗号化したデータを保存するのがいいと思う。
SDカードは誰でも読めるが内蔵ならroot取ってない限り自分のアプリからしか読み込めないので一段と安全になる。

後もう一つ。パスワードが正しいか否かの判定方法について。
1.パスワードはどこにも保存しない。
2.暗号化されたファイルの先頭数バイトを予め決められた固定文字列や自分の生年月日で割り切れる整数とかにしておく。
3.ユーザーが入力したパスワードを使って試しにファイル先頭付近を復号化し、その結果が期待された通りのデータなら認証成功。

ってのはどう?
この手順にするとapkを解読しても、元のソースを読まれてもパスワードは直ちには分からない。

25:デフォルトの名無しさん
12/02/26 14:15:11.81
>>23
すみません、押したまま指をずらして、離しても、ActionUpが動作しません。
でした。

26:18
12/02/26 14:36:07.55
自己解決しました
scrollviewのsetOnTouchListenerで設定すればよかったみたいです

27:デフォルトの名無しさん
12/02/26 14:41:57.46
>>19
ハードコーディングした文字列も見れる
JNIで機械語にしてもリバースエンジニアリングされたら終わりなので解決にならない
紛失を想定するなら、端末を盗まれてデータを吸い出される、といった状況も対策しなければならない
>>24
ハッシュを使うだけでは

28:デフォルトの名無しさん
12/02/26 14:59:39.87
>>27
たとえば128bitのAES暗号を使う場合、暗号鍵(=パスワードから生成される鍵)は過不足なく128bit長である必要がある。
人間が入力するパスワードは固定長じゃないからそのままでは鍵として使えず、長さを128bitジャストになるよう加工する必要がある。
ではパスワードを128bitにするにはどうやったらいいかというと、パスワードのMD5ハッシュを求めるのが一番妥当だろう。
逆算不可能性と分散性を考えると自前でパスワード長を128bitに加工するよりはるかにいい鍵ができる。
だから一般的には、ハッシュをハードコーディングするのは暗号ライブラリに渡す本物の鍵をハードコーディングするのと大差ない。
それを回避するにはやっぱり暗号データを試しに解読して成否を見極める手法が理想的と思うけどね。

29:デフォルトの名無しさん
12/02/26 15:21:40.82
>>19
うーん、なんていうか・・・。言い出すときりがないよね、この分野は。
むしろ発想の転換してみたら?
スマホ紛失したら、PCからの遠隔操作で一発削除ができるようなアプリにするとか(笑)
これ意外といい案でない?
出来たらマーケットで公開してくれ(w

30:19
12/02/26 16:24:14.30
>>22
素のパスをソース内に書くことを想定していました。
丸見えなんですね、ありがとうございます。

ハッシュ値を保存するとした場合でも
 ・ハッシュ関数と
 ・照合するハッシュ値
がバレてしまったら結局ダメなのかと
思うのですが、誤りでしょうか?
他の方のレスを見る限り、誤っていると思いますがよく分かりません。


>>24
内部ストレージにもアクセスできるんでした、ありがとうございます。
結局データを読まれてしまう恐れはありますが、SDカードよりは強固ですね。
代替案についてもありがとうございます。


>>27
はい。データを吸い出されること懸念して、
どう暗号化しようかと悩んでいます。
おそらく、暗号の分野についての知識が不足しているため、
中途半端な質問になってしまっているのかと思います。


>>29
PCそういうサービスを出している企業がありましたね。
ブロードキャストをうまく使ってできないか。。。考えてみます。

31:デフォルトの名無しさん
12/02/26 18:05:15.30
プログラミング入門サイトのコードについて質問です
Eclipseを使ってstring.xml、main.xmlを設定したあと
当該ページのようにコードを書いて実行しようとしたところ
@Override public void onClick(View v) {
のonClickに波線がついて@Overrideを消すように提案されます
そして、消して実行すると動作します。
このonClickには@Overrideが付くのとつかないの、どっちが正しいんでしょうか?
----------------------
抜粋 URLリンク(libro.tuyano.com)

public class SampleApp extends Activity {
  略
  @Override
  public void onCreate(Bundle icicle) {
    // イベント組み込み
    button.setOnClickListener(new MyClickAdapter());
  }
  
  // イベントクラス
  class MyClickAdapter implements OnClickListener {
    @Override
    public void onClick(View v) {
      Editable s = edit.getText();
      text.setText("こんにちは、" + s + "さん。");
    }
  }
--------------------------
環境はWin7、JDK(6Update31)、Eclipse(3.72)、android(2.2)です。
ちなみにこのプログラムが初のandroidプログラムです。(気づかない設定不備の可能性もあります)

OnClickListenerを継承したMyClickAdapterには標準でonClickが備わっている(?)から
@Overrideするのが正しい気がするんですが・・・

32:デフォルトの名無しさん
12/02/26 18:09:22.52
>>31
javaのバージョンか設定で波線付いたり付かなかったりした気がする
@Overrideなくても特に問題ないよ

33:デフォルトの名無しさん
12/02/26 18:11:13.77
>>31
ちなみに、
@Overrideはメソッド名タイポしてオーバー ライドできないことを防ぐためのもの
だったはず

34:デフォルトの名無しさん
12/02/26 18:51:51.77
protected なメソッドって下記の状態で呼べますか?

class A{
protected funcA();
}

class B extends A{
}

B b = new B();
b.funcA();
↑これって呼べるんでしょうか?

35:デフォルトの名無しさん
12/02/26 18:57:59.01
>>34
やってみろよ。無理だから

36:デフォルトの名無しさん
12/02/26 19:02:22.74
どこから呼ぶの?

37:デフォルトの名無しさん
12/02/26 19:44:49.89
>>34-35
レスどうもありがとうございます。
>>35
呼び場所は「他ファイル、他クラス」からです。 詳しく書くと下記の感じです。
A.javaファイル
class A{
protected funcA();
}
B.javaファイル
class B extends A{
}
C.javaファイル
class C {
void func(){
B b = new B();
b.funcA();
}
}
これでクラスCがprotectedなfuncA()にアクセスしてるのにコンパイルが通ってしまって困っているんです。
コンパイル通りませんよね?

38:デフォルトの名無しさん
12/02/26 19:49:52.93
「Android」じゃなくて「Java」の初心者スレに行ったほうがいいと思うぜ

39:デフォルトの名無しさん
12/02/26 19:55:42.39
同一パッケージなんだろ

40:デフォルトの名無しさん
12/02/26 20:03:49.19
>>38-39
レスどうもありがとうございます。
>>38
たしかにそうですね。そっちにに行って来ます。
>>39
たしかに同一パッケージでした。C++のprotectedとは若干違うんですね。
どうもありがとうございました。

41:デフォルトの名無しさん
12/02/26 21:16:11.15
>>30
つ 一方向ハッシュ
javax.net.sslあたりに手頃に使えるのがあるべ


42:30
12/02/26 22:42:49.63
>>41
再度、一方向ハッシュについて調べてみて、
有効性が分かりました。ありがとうございます。

ちなみに一方向ハッシュを勧めているのは
「最初のパスワード認証」のところですよね?

IDとPASSの組を保存するファイルの暗号/複合化には
使えませんよね。一方向なので。

43:デフォルトの名無しさん
12/02/26 23:52:39.35
>>42
利用者がリスクを理解した上でroot化しなければ保護されてるわけだから
root化した結果保護されないのはユーザーのせいだと思うけど
文句いうのは理解してないのにroot化してるやつなんだろうなw

root化した場合のリスクを初回起動時に表示して免責確認を
取るくらいがせいぜいかもね

44:デフォルトの名無しさん
12/02/27 00:25:35.38
>>24でFA



45:デフォルトの名無しさん
12/02/27 01:07:54.90
root化端末は普通にOSのアップデートすると起動しなくなるからなぁ
裏技つかってもデータがいったん初期化されるそうだし、まあ使いづらいだろうね

46:デフォルトの名無しさん
12/02/27 02:42:51.10
>>43

>19の趣旨とちょっと違うんじゃない?

47:デフォルトの名無しさん
12/02/27 02:45:53.46
canvasuにbitmapを描画する時にテクスチャに色味を与えることはできますか?

元絵は同じで、赤くなったり、黄色くなったりさせたいのですが

48:デフォルトの名無しさん
12/02/27 03:07:32.76
・暗号化
ユーザがパスワードを入力
パスワードをハッシュ化して得たハッシュ値を暗号化キーとする
固定文字列Xを暗号化キーで暗号化しファイルAに保存
データを暗号化キーで暗号化しファイルBに保存

・復号
ユーザがパスワードを入力
パスワードをハッシュ化して得たハッシュ値を復号キーとする
ファイルAを読み込んで復号キーで復号を試みる
固定文字列Xに復号できなかったらパスワードは誤り
固定文字列Xに復号できたらファイルBを読み込んでデータを復号

ハッシュ関数と暗号化関数と固定文字列Xがばれても問題ない

49:デフォルトの名無しさん
12/02/27 03:25:20.53
>>47
グレースケール変換の応用でどうかな?
このへんなどを参考にして、RGBの比率を希望する色味ごとに変更するとできるはず。
ただしドット単位での色変換なので、画像サイズが大きいと処理がかなり重くなるので要注意。
URLリンク(detail.chiebukuro.yahoo.co.jp)

50:デフォルトの名無しさん
12/02/27 04:11:44.19
>>48
毎回パスワードを入力したくないからアプリ作ってるんじゃないのかなw
代わりにスクリーンロック解除みたいな操作を要求するとスマホっぽいかもね

51:デフォルトの名無しさん
12/02/27 04:22:28.02
>>50

>19の趣旨をもうちょっと理解してやれよ・・・

52:デフォルトの名無しさん
12/02/27 04:40:35.76
その管理アプリが起動時に認証するマスターパスワードは必要だろ
何もなしで起動するパスワード管理ソフトなんか作っても誰が使うんだよ

53:デフォルトの名無しさん
12/02/27 08:07:07.78
WebViewについて質問です。
JavaScriptの開閉式メニューがあるページで、メニューを開いたあと
他のページにいって戻ってくると開閉式メニューが閉じた状態になってしまいます。
開いたままにしておくにはどうしたらいいですか?
(JavaScriptの実行状態を保持?したい)

端末標準のブラウザで見ると開いたままになるので、同じ動作にしたいのですが……。

54:デフォルトの名無しさん
12/02/27 11:46:11.57
>>45
そんなことないよ
それどんな糞端末?

55:デフォルトの名無しさん
12/02/27 11:53:36.06
XPeria

56:デフォルトの名無しさん
12/02/27 11:56:51.05
SDカード上のファイルに対して
File file = new File( path );
ってやったら多少処理時間かかりますか?

それともこれはパスを作るだけだから全くと言っていいほど処理時間はかかりませんか?

57:デフォルトの名無しさん
12/02/27 12:06:09.36
うん

58:デフォルトの名無しさん
12/02/27 12:11:10.86
やってみりゃ分かる事は自身でやれよアホか。

59:デフォルトの名無しさん
12/02/27 12:40:22.68
>>47
canvasじゃダメかもしれんが、 ColorMatrixColorFilter。


60:デフォルトの名無しさん
12/02/27 14:32:52.80
>>54
ぐぐればわかる
7割はそうなる

61:デフォルトの名無しさん
12/02/27 17:23:55.02
はわわ

62:デフォルトの名無しさん
12/02/27 18:12:25.22
>>59
どうもありがとうございました!
調べたらcanvasuのdrawBitmapでも出来そうですね!

63:デフォルトの名無しさん
12/02/27 19:31:56.16
>>60
3割助かるなら十分

64:デフォルトの名無しさん
12/02/27 21:30:06.54
起動しなくなると修復不能になるのに?メーカー修理も受け付けてくれないよ
ジャンクとしてヤフオク行きになる

65:デフォルトの名無しさん
12/02/27 23:20:12.38
>>51
>>24を考慮したうえでの対応の一手段じゃん
ほかのサービスで使う以上取り出せないといけないわけで、
その場合完全な保護なんてそもそも無理

66:デフォルトの名無しさん
12/02/27 23:32:48.32
>>52
マスターパスワードを入力するかわりにパターンによる
スクリーンロック解除のような操作にするのは便利だろ
そこでどれだけ強いパターンを設定するかはユーザー次第だが
それはマスターパスワードでも同じこと

67:デフォルトの名無しさん
12/02/27 23:35:03.19
画面全体がサーフェイスビューのImageViewの上ににキャンバスで全てJavaソースで表示しているのですが
更にこの上にSeekBarを乗せたいのですがJavaソースで任意位置に表示というのは追記可能でしょうか?


68:デフォルトの名無しさん
12/02/27 23:41:34.05
>>67
読みにくい

69:デフォルトの名無しさん
12/02/28 01:26:10.16
BlackBerryならパスワード管理ソフトが標準で付いてるなw

70:デフォルトの名無しさん
12/02/28 02:08:15.78
そういえばSeekBarを縦向きに設置する事ってできないのん?

関係ないけど俺のまわりもアイフォンだらけになってきたw
AU解禁後の今年のアイフォンの猛攻は凄まじい気がする

71:デフォルトの名無しさん
12/02/28 08:36:35.91
縦向きシークバーはないので自分でつくる
VerticalSeekBarでググって参考にしる

72:デフォルトの名無しさん
12/02/28 09:20:46.06
速く打てる力がついても
頭で組み立てる速さが遅すぎて意味なかった

73:デフォルトの名無しさん
12/02/28 14:02:49.31
NDKを使ってCでフォントを扱いたいのですが、
JavaからBITMAPにして送ってやる以外の方法はないのでしょうか?
この方法だと1文字一文字使う場合にオーバーヘッドが心配でして。

74:デフォルトの名無しさん
12/02/28 17:26:04.86
機種依存の不具合ってどっかにまとまってないかなー
その機種買うしかないんかなー

75:デフォルトの名無しさん
12/02/28 18:00:42.82
オンメモリに作ったSQLiteデータベースがメソッドまたぐとレコード消えてんだけどなんで?

76:デフォルトの名無しさん
12/02/28 18:40:31.38
res\layout\test.xml のGraphicalLayoutでGUIを作成してtest.xmlで編集すると、Error in an XML file: aborting build. というエラーが
起こるんだが、これって仕様なんですか?
あと、これを回避するにはxmlを開かない様にしたらいいんですか?

77:デフォルトの名無しさん
12/02/28 19:03:30.58
ActivityManager activityManager = ((ActivityManager) getSystemService(ACTIVITY_SERVICE));
ActivityManager.MemoryInfo memoryInfo = new ActivityManager.MemoryInfo();
activityManager.getMemoryInfo(memoryInfo);
memory = memoryInfo.availMem;

で、現在の使用可能メモリ残量がわかりますが、
端末での使用可能最大メモリ量を得る方法はありますか?
メモリの使用量を%で表示させたいです

78:デフォルトの名無しさん
12/02/28 19:30:22.31
Runtimeクラスで取得できるやつかな
たぶん

79:デフォルトの名無しさん
12/02/28 19:40:39.27
画像ファイルを表示するアプリケーションを作成しています。
画像形式がbmp,jpg,png,gifのファイルは、BitmapFactoryを使って
表示できる事が分かりました。ところがこの形式以外の画像ファイルを
表示する方法が分かりません。(TIFF,RAW,JPEG2000等)

これらの形式の画像を表示する方法はあるのでしょうか?
参考になるサイト等ありましたら、教えてください。

80:デフォルトの名無しさん
12/02/28 20:00:19.61
>>79
自分で作るしかないんじゃね?
byte列にするとかで。


81:デフォルトの名無しさん
12/02/28 20:14:31.02
apache commonsとか使った時ってどっかに謝辞って書いてます?他の人のアプリでは見たことないけど・・。
commonsじゃなくてもapache2.0ライセンスのライブラリ使ってる時には書いたほうがいいのか?とか。

82:デフォルトの名無しさん
12/02/28 20:32:18.26
>>79
バイナリで読み込んで自前でデコードする

83:デフォルトの名無しさん
12/02/28 21:10:34.82
>>79
Java tiffとかでググる。既存のJava用コードがそのまま使えれば御の字、
使えなければAndroidへ移植する。

>>81
ライセンスを渡す必要がある、とあるね。
URLリンク(sourceforge.jp)
apkに入れても見られないから、アプリのwebサイトを作って使用しているライブラリを列挙して、
それぞれのライセンスファイルも上げて、リンクしておけばいいんじゃね。

84:デフォルトの名無しさん
12/02/28 21:40:37.56
rawフォルダに入れられるファイズサイズに制限はありますか?
10Mくらいのファイルを入れても大丈夫ですか?

85:デフォルトの名無しさん
12/02/28 21:49:06.39
入れてみれば

86:デフォルトの名無しさん
12/02/28 21:49:44.26
>>73
freetype

ただ、SHARPの端末みたいに独自仕様で入れてるフォントは扱えないかも。

87:デフォルトの名無しさん
12/02/28 22:10:25.70
>>85
レスどうもありがとうございます。
入れてみたら、コンパイルは通ったんですが、そのリソースIDでopenRawResource()でInputStreamにして読み込もうとすると
例外が投げられてしまいます。

そのExceptionのgetMessage()は null でした

ある程度以上の大きさのファイルはresフォルダに入れると読み込めなくなるんでしょうか?

88:デフォルトの名無しさん
12/02/28 22:29:45.38
すいません上の記述はresフォルダじゃなくてrawフォルダでした
rawフォルダに10Mのファイルを入れると読み込み時に最初の4バイト読もうとしただけで例外が発生します

テストで同じ名前のファイルで500Kバイトくらいにしたら全部読み込めているんですが、やはりサイズによって制限があるのでしょうか?

89:デフォルトの名無しさん
12/02/28 23:09:25.19
newしたバイト配列の長さを知る方法がわかりません

byte[] a = バイト配列取得関数

このaの長さを知るのってどうすればいいですか?

90:デフォルトの名無しさん
12/02/28 23:18:20.68
>>89
もはや準スレチ

91:デフォルトの名無しさん
12/02/28 23:26:48.82
>>89
もうやめちまえ

92:デフォルトの名無しさん
12/02/29 00:24:12.85
SerfaceViewに描画した絵をAndroidの待ちうけ画面みたいに指でフリックして動かすのって何かAPIがあったりする?
それともタッチイベントを拾って加速度を計算して自前でするしかない?

93:デフォルトの名無しさん
12/02/29 01:02:17.82
SurfaceViewな

94:デフォルトの名無しさん
12/02/29 03:30:42.28
Javaの基礎まで学習してJavaでAndroidのアプリを作りたいのですが
おすすめの書籍は何でしょうか?

95:デフォルトの名無しさん
12/02/29 03:31:24.06
>>89
ぐぐったらすぐにわかるよ、超メジャーというか基本だべ

96:デフォルトの名無しさん
12/02/29 03:32:53.63
>>94
独習Java

97:デフォルトの名無しさん
12/02/29 03:56:21.79
android.intent.action.SENDのアクティビティを
共有一覧から動的に表示、非表示させる方法ある?

98:デフォルトの名無しさん
12/02/29 06:44:46.39
>>89
>バイト配列取得関数
そうだな。Array.getLength(new byte[123]) でよいんじゃないか。
普通はそんなことしないが

99:デフォルトの名無しさん
12/02/29 09:40:20.44
>>98
普通はしないが、関数だと妥当かと。

100:デフォルトの名無しさん
12/02/29 09:58:27.88
>>97
自分の?他人の?
自分のなら、Packagemanager.setComponentEnableSetting()。
他人は知らね。普通にはできねんじゃね?


101:デフォルトの名無しさん
12/02/29 09:58:32.37
>>97
ある

102:デフォルトの名無しさん
12/02/29 10:49:08.39
>>100
>>101
ありがとう
自分のアプリなのでちょっと試してみる

103:デフォルトの名無しさん
12/02/29 11:47:57.56
機種別のDalvikメモリ量ってどこかのサイトで分ったりしますか?

104:デフォルトの名無しさん
12/02/29 13:02:35.06
for(int i = adapter.getCount(); i >= 0; i--) {

105:デフォルトの名無しさん
12/02/29 14:01:02.67
}


106:デフォルトの名無しさん
12/02/29 14:03:03.23
なんかしらんが笑った

107:デフォルトの名無しさん
12/02/29 14:49:34.32
>>104
for(int i = adapter.getCount() - 1
; i >= 0; i--) {

じゃなくて大丈夫か?

108:デフォルトの名無しさん
12/02/29 14:51:55.73
for(int i = 0; i<adapter.getCount(); i++){
でいいじゃない
}

109:デフォルトの名無しさん
12/02/29 16:02:30.03
:-)
;-O

110:デフォルトの名無しさん
12/02/29 23:25:50.19
30FPSぐらいで画像を描写しつつ、上にさらに格子状の画像を被せたいんですが、
透過PNGで大きな1枚を描写するのと、格子をパーツごとに分けて細々と描写するのではどちらが処理が軽くなりますか?
Surfaceview使ってますが出来る限り高速化したいので…

111:デフォルトの名無しさん
12/02/29 23:44:19.93
おいクソ虫
自分でやってみろよ

112:デフォルトの名無しさん
12/03/01 00:22:57.83
>>111
手持ちの実機でテストしてもどちらも大して変わらなくて…
もう少し低スペックな端末があればいいんですけど
簡単には用意できないので質問してみようかな、と

113:デフォルトの名無しさん
12/03/01 00:29:56.06
低スペックなら簡単に用意できるじゃないか
頭わるいのか

114:デフォルトの名無しさん
12/03/01 00:39:01.69
>>113
そんなものなんでしょうか?
エミュレータ以外で方法が思い浮かばないんですが…
もちろんエミュレータだとどっちでも重たくてテストどころじゃないですし、
実機が簡単に用意できるなら是非欲しいです

115:デフォルトの名無しさん
12/03/01 02:03:05.85
docomoから出てるGalaxy Nexusって素のままじゃUSB Host API使えない?
ググったらカスタムROMがどうこう書いてあってゲンナリなんだけど。
なんのためのICSなのかと。

116:デフォルトの名無しさん
12/03/01 02:23:06.40
MedibaAdのSDK導入した人いますか?
3/1から統合されて新しいSDKになったんですが、HP通りにやると吹き飛びます
3月のはじめは広告の機会を失うんでしょうかねぇ・・・

117:デフォルトの名無しさん
12/03/01 08:31:27.62
>>114
同じ処理を一度に何十回もやればいいじゃない

118:デフォルトの名無しさん
12/03/01 08:52:52.71
>>117
>>110 のやりたいことはそういうことじゃないだろ。

119:デフォルトの名無しさん
12/03/01 08:56:45.39
やってみて、結果テキストにでも出力して今後に活かすために記録しといたほうがいいんじゃないの
エミュレータは自分のアプリの仕様でVMの限界などをチェックするのに使っているな
VMの容量の仕様の分岐点でトラブることはよくある


120:デフォルトの名無しさん
12/03/01 08:57:38.35
やってみて経験しないと身につかんで

121:デフォルトの名無しさん
12/03/01 08:57:45.95
>>110
格子状の画像をタイル配置表示する方が、リソース的には優しい。


122:デフォルトの名無しさん
12/03/01 09:06:38.48
>>118
どっちのが軽いか体感できるだろってつもりで言った

123:デフォルトの名無しさん
12/03/01 09:48:33.76
for(int i = 0; i<adapter.getCount(); i++){

携帯端末でこんな糞コード書くやつがいたら首にするわ

124:デフォルトの名無しさん
12/03/01 09:52:19.71
最適化されるから問題ないよ

125:デフォルトの名無しさん
12/03/01 10:13:34.14
携帯端末でってなに

126:デフォルトの名無しさん
12/03/01 11:16:55.52
>>123
こんなことで辞めさせる上司いたら訴えますね☆


127:デフォルトの名無しさん
12/03/01 11:17:27.86
>>123がなぜダメなのか割とくぁしく教えて欲しい

128:デフォルトの名無しさん
12/03/01 11:35:41.52
つまりPCを使わず携帯端末でぽちぽちとコードを書くやつのことを批判しているんだよ
そんな奴は見たこともないが

129:デフォルトの名無しさん
12/03/01 11:38:36.18
そう言えば何日か前に端末上での開発環境の話を読んだ気もする

130:デフォルトの名無しさん
12/03/01 12:37:23.09
>>123 に同意。携帯端末に限らずかな。
まぁ、首にするかどうかは別として(笑)

>>127
えっとだな・・・。
>>108 のどこが悪いかというと、forループで毎回getCountが評価されるのがNG。
>>104 のコードだと、初回しか評価されない。


131:デフォルトの名無しさん
12/03/01 12:52:03.67
>>130
今北だけどなるほど

一回変数にぶちこむべきってこと?

132:デフォルトの名無しさん
12/03/01 13:00:36.45
googleの検索結果のhtmlをパースして見やすく表示するアプリを作ろうと思うんですが
広告を消したらやっぱりアウトですかね?

133:デフォルトの名無しさん
12/03/01 13:02:08.13
>>132
Google検索のAPIって広告あった?

134:デフォルトの名無しさん
12/03/01 13:11:13.99
どうしてもスクレイピングしたいんだろ

135:デフォルトの名無しさん
12/03/01 13:24:06.66
こういうコンパイラーの最適化すら知らない奴が
聞きかじった知識で他人を貶すのは、この業界でよく見かける事だよ。

実際にほとんど意味の無い最適化を騒いでる奴が
字句解析でindexOfとか使って馬鹿サーチとかしてるのをよく見るよ。

136:デフォルトの名無しさん
12/03/01 13:36:32.09
こういうコーディングルールすら知らない奴が
聞きかじった知識で他人を貶すのは、この業界でよく見かける事だよ。

実際にほとんど意味の無いコードしか書けないやつ奴が
仕事中に2chに書き込んでるのをよく見るよ。

137:デフォルトの名無しさん
12/03/01 13:43:12.95
>>86
ありがとうございます、試してみます。

138:127
12/03/01 13:58:17.16
>>130
あぁなるほど 機械に優しくね☆ ってことかな?ほーん

139:デフォルトの名無しさん
12/03/01 15:09:16.41
質問させてください。

ホーム画面にアイコンを出さないアプリを作りたかった
(他でインストールしたアプリから起動させたかった)
ので単純にintent-filterを消したんですが、
インストールはできるものの、他から起動すると次のエラーが出ます。

java.lang.SecurityException: Permission Denial:
starting Intent {略} from ProcessRecord{略} (pid=4628, uid=10090)
not exported from uid 10129

どうやればいいでしょうか?

140:デフォルトの名無しさん
12/03/01 16:46:03.02
解説ページに載ってたwebから情報を得るプログラムなんですが
public String getData(String sUrl) {
HttpClient objHttp = new DefaultHttpClient();
HttpParams params = objHttp.getParams();
HttpConnectionParams.setConnectionTimeout(params, 1000);
HttpConnectionParams.setSoTimeout(params, 1000);
String sReturn = "";
try {
HttpGet objGet = new HttpGet(sUrl);
HttpResponse objResponse = objHttp.execute(objGet); //①
if (objResponse.getStatusLine().getStatusCode() < 400){
InputStream objStream = objResponse.getEntity().getContent();
InputStreamReader objReader = new InputStreamReader(objStream);
BufferedReader objBuf = new BufferedReader(objReader);
StringBuilder objJson = new StringBuilder();
String sLine;
while((sLine = objBuf.readLine()) != null){
objJson.append(sLine);
}
sReturn = objJson.toString();
objStream.close();
}
} catch (IOException e) {
return null;
}
return sReturn;
}
アドレスをセットして呼ぶと①のところで何故か例外が発生してしまいます。
何がよくないのでしょうか?

141:デフォルトの名無しさん
12/03/01 16:54:07.22
あ、manifestに下のは追加してますし、必要なimportも書いてます。
<uses-permission android:name="android.permission.INTERNET" />

142:デフォルトの名無しさん
12/03/01 16:56:14.41
>>140
エミュだと証明書の関係で落ちた気がする
実機だったら知らん

143:デフォルトの名無しさん
12/03/01 17:23:51.33
>>139
action_main消して、自前のactionだけ受ければいんじゃん?


144:139
12/03/01 18:27:00.28
>>143
ありがとうございます!いけました。
もっと勉強しなきゃですね・・・頑張ります。

とても助かりました。

145:デフォルトの名無しさん
12/03/01 19:06:48.53
いいってことよ

146:デフォルトの名無しさん
12/03/01 19:11:22.20
>>124
コンパイラはどうやってこれを最適化できると判断できるの?

147:デフォルトの名無しさん
12/03/01 19:13:43.93
>> 140
SDKのバージョンによってはStrictModeってのがONになっていてメインスレッドでネットワーク処理はできなくなっているのでそれでは?
解決法としてはネットワーク処理は別スレッドで行う(AsyncTaskLoaderとかAsyncTaskとか)

148:デフォルトの名無しさん
12/03/01 19:37:25.14
>>104
こんなクソコード書かせる奴がプロジェクトリーダーだったら、
真っ先に降格させるわ。
こんな短いコードで既にバグってる時点で、これが如何に直感的な書き方じゃ無いか自分で証明してるし。

プロジェクト全体にこんな書き方が蔓延したら収集つか無い事になる
普通に書くことにいかに価値が有るか理解しなきゃ駄目よ。

149:デフォルトの名無しさん
12/03/01 19:44:20.29
素直にscala使え

150:デフォルトの名無しさん
12/03/01 19:52:09.02
>>123 のコードではっきり遅くなったりしたら普通はコンパイラのバグ疑うよなぁw

151:デフォルトの名無しさん
12/03/01 19:57:22.59
あたまわりいな

152:デフォルトの名無しさん
12/03/01 20:17:34.96
for文使うとかアフォだろwww
ループは再帰で実装するだろjk
なーにコンパイラが最適化してくれるから大丈夫

153:デフォルトの名無しさん
12/03/01 20:56:29.65
1分毎にSDカードへlogを出力するテストアプリを作成中です。
sendMessageDelayedを使用しているのですが…
端末がスリープになるとlogが出力されない状態が発生しています。
テストアプリはサービスを起動して常駐しています。

スリープ中でもlogを出力する方法はあるのでしょうか?
教えてください。

154:デフォルトの名無しさん
12/03/01 21:03:05.49
ホームアプリ

155:デフォルトの名無しさん
12/03/01 21:06:54.16
参考意見を聞かせてください。
エミュレータ作成時の設定で
「Max VM application heap size」はいくらくらいにしてますか?
デフォルトは16MBか24MBですが今の実機状況だと256MBくらいが標準でしょうか?


156:デフォルトの名無しさん
12/03/01 21:28:48.91
Galaxy Nexusレベルのが今の標準だと?

157:デフォルトの名無しさん
12/03/01 21:32:23.31
質問を質問で返すな

158:デフォルトの名無しさん
12/03/01 21:41:41.93
↑馬鹿

159:デフォルトの名無しさん
12/03/01 21:49:25.12
Galaxy NexusってGNって略すんだな
はじめガンガンノベルかと思ったよw

160:デフォルトの名無しさん
12/03/01 22:28:20.90
>>154
ありがとうございます。
ホームアプリとは作成したアプリをホームに置くことを指すのでしょうか?
無知で申し訳ございません。

161:デフォルトの名無しさん
12/03/01 22:33:12.73
サービスならバックグラウンドで動かないかな?

162:デフォルトの名無しさん
12/03/01 22:40:30.32
3/1に新しくなった mediba adを実装しました
その際、広告の取得に失敗するとアプリ内のHttpRequestまですべてブロックされてしまうようなのですが、
何かご存知の方いませんか?

163:デフォルトの名無しさん
12/03/01 22:48:44.81
ほう、スリープ状態で停止するのはセンサーだけかとおもったら
ファイル出力も止まるのかw

164:デフォルトの名無しさん
12/03/01 22:52:01.56
>>161
activityからボタン押下でserviceを起動しています。
スリープに入っても2時間ぐらいは1分毎にlogを出力しているのですが
その後は止まってしまいます。端末のロックを解除してlogを見ると再開する状態です。
このアプリが実行中の間は強制的にスリープしないように運用回避しようかと検討中です。

165:デフォルトの名無しさん
12/03/01 23:06:32.53
子部品を90度回転させて表示させるカスタムLayout部品を作成しようとしています。
FrameLayoutのサブクラスにして、以下実装をおこないました。
・onMeasure/onLayoutにて、通知されたw/hを入れ替えて子部品のmeasure/layoutをCALL
・dispatchTouchEventにて、通知座標を90度座標変換して、superクラスのdispatchTouchEvent
をCALL
・dispatchDrawにて、canvasを90度回転させて、子部品のdispatchDrawをCALL

以上の対応で、大体希望の動作になったのですが、子部品にButtonを配置したところ、
Button押下時の反転表示のみ、不正(回転しない場合の位置)に表示されてしまいます。
反転表示はButton部品内部でinvalidateしており、親とは無関係に描画処理されるため
だと思っていますが、何か対応策はありますでしょうか?
子部品の描画更新を検知して、カスタム部品のdispatchDrawが流れるようにすることを
考えましたが、実装方法が見当つきませんでした・・・


166:デフォルトの名無しさん
12/03/02 00:06:05.47
>>104
for(int i = adapter.getCount(); i-- > 0;)
こうでね?

167:デフォルトの名無しさん
12/03/02 00:08:31.94
またその話題をぶり返すでござるか・・・ようかろう戦争だ

168:デフォルトの名無しさん
12/03/02 00:14:32.80
拡張for文使うか

169:デフォルトの名無しさん
12/03/02 00:43:27.89
そうだ、こうすれば良いんじゃね

int len = adapter.getCount();
for(int i = 0; i < len; i++){


170:デフォルトの名無しさん
12/03/02 02:19:12.11
>>164
俺はlogではなくセンサー関係で、もがいていたんだけど
これはやったことあるかい?
URLリンク(y-anz-m.blogspot.com)
※下記マニフェストが必要
<uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission>

これでもダメならダメかもね・・・
スリープ後2時間後にWi-FiがOFFになるって記事をネットで見たことあるから
こういう仕様なのかもしれないさー

ちなみにスリープしないように=画面つきっぱなしってことだとおもうけど
実験したら12時間くらいで電池切れになったので参考にしてちょ
あともしかしたら画面の焼きつき起こすかもしれないから、そこら辺も考えといた方がいいっす

171:デフォルトの名無しさん
12/03/02 02:42:03.91
RemoteViews経由でBitmapのインスタンスは指定できるのにDrawableが指定できないのはなんでなんだろう
設定できてしまうとセキュリティ的に問題あるとか?

172:デフォルトの名無しさん
12/03/02 03:04:55.83
他アプリのActivityの有効/無効(android:enabled)を調べる方法ありますか?
PackageManager#getComponentEnabledSettingを使おうと思ったのですが、
これだと戻り値がCOMPONENT_ENABLED_STATE_DEFAULTとなってしまい、
true/falseの判断が出来ません。

173:デフォルトの名無しさん
12/03/02 03:49:17.20
>>171
Drawbleが再現可能なクラスによって実装されてる保証がないからじゃないかな。

Bitmapの実態が標準化されたバイナリデータなのに対して、Drawbleで何が描画されるかはdrawメソッドの実装次第だからな。


174:デフォルトの名無しさん
12/03/02 04:10:25.35
>>169
どうせなら…
final int len = adapter.getCount();

175:デフォルトの名無しさん
12/03/02 04:13:18.85
final原理主義者キター

176:デフォルトの名無しさん
12/03/02 04:15:53.24
それだけだとスコープ汚すからこうだな

{
final int len = adapter.getCount();
for(int i = 0; i < len; i++){
//
}
}

177:デフォルトの名無しさん
12/03/02 07:05:59.40
質問です。
リソースの異なる同一アプリを1つの端末に複数インストール可能にしたいんですが
パッケージをそれぞれ変えるしかないですよね?
ビルド時にAndroidManifestのpackage文字列をビルド時に書き換えればよいかなと
考えたんですがR.javaが曲者で・・・。

参照するリソースを設定画面等で変えるようにすればいいんでしょうが
隠蔽化したい思いがあります。

よろしくお願いします。


178:デフォルトの名無しさん
12/03/02 07:45:49.66
よしんば設定出来たとしても、マーケットに登録できるのは結局一つだからなー
端末の言語や国で動的に分けるとかなら可能だけど・・・

179:デフォルトの名無しさん
12/03/02 07:49:22.28
初心者もいるんだろうから、正しい書き方はこうな
for (int i = 0, len = adapter.getCount(); i < len; i++) {
}

180:デフォルトの名無しさん
12/03/02 08:40:55.34
名前がよく分からないのでググり方が分からないのですが、例えば画面下部にメッセージを表示させて、スクロールさせても位置固定で表示させるってどうやればいいんですか?

181:デフォルトの名無しさん
12/03/02 08:50:11.37
つ 「Android xml textview 固定」

182:デフォルトの名無しさん
12/03/02 08:57:06.24
ありがとうございます
TextViewを改造して自分で作るしかないんですね
部品として用意されてんじゃないかと期待したんですが

183:デフォルトの名無しさん
12/03/02 09:07:02.20
>>173
おおおおなるほど
Viewに関してもカスタムしたものは使えないよっていうのはボンヤリと理解してましたが
そもそも予めSDKに用意されているクラスしか使えないって意味で理解すれば色々納得できました

184:デフォルトの名無しさん
12/03/02 09:13:51.45
>>177
追加コンテンツみたいなイメージ?
intentでやり取りするしかないんじゃないかな

185:デフォルトの名無しさん
12/03/02 11:01:36.73
暗号、復号をBlowfishで試してみたんだが、
Android1.6だと動かず2.3.3だと動いた
Androidで使う際は動作バージョンが限られてるのか?

186:デフォルトの名無しさん
12/03/02 11:19:06.56
ググったら2.2以下は実装されてないっぽいな
AESとかに切り替えた方が無難か

187:デフォルトの名無しさん
12/03/02 13:01:40.81
>180

LinearLayout(Vertical)の中にScrollViewとTextViewを設置して、
weight設定してみるってのはダメ?

188:デフォルトの名無しさん
12/03/02 14:14:23.04
relativeLayoutは?

189:デフォルトの名無しさん
12/03/02 15:24:25.94
主に国産端末で写真とると縦横が固定されてメンドイ

190:デフォルトの名無しさん
12/03/02 17:12:08.72
アニメーションに関して質問です

回転しながらフェードアウトし、回転しない状態でフェードインさせたいのですがうまくいきません
どなたがご助言くださいorz

<set xmlns:android="URLリンク(schemas.android.com)">
<rotate
android:duration="400"
android:fromDegrees="0"
android:toDegrees="360"
android:pivotX="50%"
android:pivotY="50%"/>
<alpha
android:fromAlpha="0.0"
android:toAlpha="1.0"
android:duration="800"/>
<alpha
android:fromAlpha="1.0"
android:toAlpha="0.0"
android:startOffset="800"
android:duration="400"/>
</set>

191:デフォルトの名無しさん
12/03/02 17:19:03.29
SPモードメール送信時に自動で3GをONにするアプリを作りたいのですが
メールアプリがメールを送信するときの動き等、外部アプリの動きを取得することは可能でしょうか?

192:190
12/03/02 17:40:59.41
fromAlphaとtoAlphaの値を入れ替えたイン→アウトのパターンはうまくいくのになんでやのん・・・?(´・ω・`)

193:デフォルトの名無しさん
12/03/02 17:45:28.34
それが可能ならプリインストールされてるメーカーのメーラーに標準実装されてるはず
いつまでたっても未実装な所から技術的に無理なんじゃねーかな?・・・と俺は思う。
PCでもそういうソフトは見たことがない

可能なら俺も知りたいから続報をまちましょそーしましょ

194:デフォルトの名無しさん
12/03/02 18:00:34.90
カメラで自分撮りにデフォルトする方法がありましたら教えて下さい。
鏡アプリみたいなのを作っています。

195:デフォルトの名無しさん
12/03/02 18:39:14.55
ブラウザから独自スキーまでアプリを起動して、
アプリがインストールされていない場合マーケットにジャンプさせようとしています。

下のコードだiframe.onloadが呼ばれず(onclick="launchApp('URLリンク(www.google.co.jp)') だと呼ばれます")、
アプリが起動して、ブラウザに戻った時にマーケットに飛ばされてしまいます。
どうにかして、アプリが起動できたことをブラウザで検知することはできないでしょうか?

196:195
12/03/02 18:39:47.72
<script type="text/javascript">
var timer;

var launchApp = function(url){
window.alert("launchApp");

timer = setTimeout(function(){
window.alert("setTimeout");
window.location.href="market://details?id=com.example.app";
}, 3000);

var iframe = document.createElement("iframe");
iframe.style.width = "0px";
iframe.style.height = "0px";
iframe.style.border = "0px";
iframe.src = url;
iframe.onload = function(){
if(timer != null){
window.alert("onLoadFrame");
clearTimeout(timer);
timer = null;
}
};
document.body.appendChild(iframe);
};
</script>

<button type="button" onclick="launchApp('myscheme://host.examle.com/path')">
<img src="../img/img.png" alt="img">
</button>

197:デフォルトの名無しさん
12/03/02 19:01:29.46
>>195
動くか調べてないけど
「ブラウザからアプリを起動する為のHTMLサンプル」でググってみてください

198:デフォルトの名無しさん
12/03/02 19:04:16.09
あ、そこを参考にしてたのか
失礼

199:デフォルトの名無しさん
12/03/02 19:41:40.23
R.drawble.item_1
R.drawble.item_2
R.drawble.item_3
というようにファイル名の最後の数字だけ違う画像があって
ユーザーが3を選択した場合
GraphicUtil.loadTexture(gl, res, R.drawable.item_3);
としたいんですがすべて読み込むとメモリ的にきついんじゃないかと思って
GraphicUtil.loadTexture(gl, res, Integer.parseInt("R.drawable.item_" + number));
とやりたいんですが無理でした
指定した画像だけを取り込む方法を教えて下さい

200:デフォルトの名無しさん
12/03/02 19:49:02.19
>199
www

201:デフォルトの名無しさん
12/03/02 19:51:04.59
Galaxy Nexusで自分のゲームアプリを動かしたらやたら遅かったけどなんでだろう?
SurfaceViewでcanvas.drawBitmapを繰り返して画面幅にcanvas.scaleしてるんだけど、
解像度が高いからフィルタ処理が重いとか?それかスケール?

202:デフォルトの名無しさん
12/03/02 19:53:21.63
int item[] = {
R.drawble.item_1,
R.drawble.item_2,
R.drawble.item_3};

GraphicUtil.loadTexture(gl, res, item[number-1]);


203:デフォルトの名無しさん
12/03/02 19:56:57.58
2chMateのレスアンカー先を表示するびろ~んて動いてぶら下がるビューはなにViewなんでしょうか?

204:デフォルトの名無しさん
12/03/02 19:57:17.19
>>201
if文が多いとデュアルコアだとかえって遅くなると勝手な憶測
パイプラインがどうこうとか



205:デフォルトの名無しさん
12/03/02 20:00:48.51
デュアルコアは関係ないだろ

CPUインストラクションパイプラインの分岐予測が外れてペナルティとかはあるかもしれんが。



206:デフォルトの名無しさん
12/03/02 20:03:24.64
>>202
こんなやり方があったとは

ありがとうございます

207:デフォルトの名無しさん
12/03/02 20:06:39.56
どういたしまして

208:デフォルトの名無しさん
12/03/02 20:07:38.40
>207

www おまっ 誰だよ

209:デフォルトの名無しさん
12/03/02 20:21:12.16
いいってことよ^^

210:デフォルトの名無しさん
12/03/02 21:59:33.67
Androidと関係ないんだが、、
Googleの短縮URLのAPIに"URLリンク(t.co)~"を入力すると
エラーが返ってくるんだが、意図的に弾いてるのかな?

211:デフォルトの名無しさん
12/03/02 22:05:15.04
質問。

自動生成されるRクラスについてなんだけど、stringやdrawableなどリソースの
種類ごとにstaticな内部クラスが出来ると思うんだけど、この分類ごとの内部クラスの
種類を増やしたり、またはネストすることってやっぱり出来ないもんだろうか?

要は、普通にやると文字列なら文字列のリソースIDは全部R.stringに放り込まれる
訳だけど、これが気に入らないと。

212:デフォルトの名無しさん
12/03/02 22:09:24.40
そんなんxml編集すれば何でもできるよ
決め事作っとくとエディタが自動化する上で都合がいいってだけ

213:デフォルトの名無しさん
12/03/02 22:26:52.67
androidのwebviewでHTMLを動的に作ろうと思っているます。

ajaxっぽくwebview内でjsで動かすやり方だとわかるのですが
java内でapiでデータを取得し、
html内に入れてwebview吐き出す方法を取る場合、
HTMLファイルをテンプレート的な使い方ってできるんでしょうか?
宜しくお願いします。

214:デフォルトの名無しさん
12/03/02 23:02:54.69
>>157
ジョジョヲタ乙
たまにリアルでその言葉を連呼してる低脳がいて正直引いたわ。
相手の質問の意図を明確にするために質問で確認をすることは、
現実社会では必須のコミュニケーション能力だぞ。

アホは反論できないときの免罪符だとでも思ってんだろうな。


215:デフォルトの名無しさん
12/03/02 23:15:49.43
ん?悔しすぎたかな?

216:デフォルトの名無しさん
12/03/02 23:42:46.77
漫画で得た知識をさも一般論と信じ込んでるやつは確かに痛い

217:デフォルトの名無しさん
12/03/02 23:56:53.39
エスパーする努力をしろ

218:デフォルトの名無しさん
12/03/02 23:59:47.82
Javaスレにも同時期に同じこと言ってたやついるから、なんとなく言いたかっただけなんだろう。

219:デフォルトの名無しさん
12/03/03 00:01:50.02
>>214
元ネタは『アナライズミー』って映画の方だと思うけどね。
まあ馬鹿っぽいと思うのはまったく同意。

220:デフォルトの名無しさん
12/03/03 00:02:45.19
オラ!オラ!オラ!

ごごごごごごごごごご・・・・・

221:デフォルトの名無しさん
12/03/03 00:08:19.49
変な質問であれなんだけど、なぜかJDKにパスを通してやらないとSDK Managerが
起動しない環境とそうでない環境があるみたいなんだけど、この違いって何?

222:デフォルトの名無しさん
12/03/03 00:48:51.04
JDKにパスが通ってる環境とパスが通ってないと見せかけて通ってる環境の違い

223:デフォルトの名無しさん
12/03/03 00:53:26.20
禅問答かよ

224:デフォルトの名無しさん
12/03/03 00:55:08.17
アプリをアップデートした時のイベントで
前バージョンの値を取得できる?

225:デフォルトの名無しさん
12/03/03 00:59:10.92
>>224
SharedPreferenceに自分で現在のバージョンを記録するようにすれば?
起動時にその値を読みこめば前回起動時のバージョンと現在のバージョンを比較できる。

226:デフォルトの名無しさん
12/03/03 01:12:29.88
>>225
あ、そうか…単純な話だね

227:デフォルトの名無しさん
12/03/03 02:11:58.45
外部アプリがintentを投げた時にそれを動的に確認する方法ってありますか?

228:デフォルトの名無しさん
12/03/03 02:28:42.72
よく分からん。何が動的なのか。

229:デフォルトの名無しさん
12/03/03 02:43:09.15
すいません自分でも意味わからんこと書いてました・・
なんかのアプリによって投げられた時にそれをフラグとして何か実行できないかという事です。

230:デフォルトの名無しさん
12/03/03 02:47:40.77
そりゃ出来るだろ

231:デフォルトの名無しさん
12/03/03 03:09:57.54
>>229
せめて何が投げられた時なのか、
自分がどういうアプリとして振る舞いたいのか
書かないと分からない
出来るか出来ないかで言えば出来る

232:デフォルトの名無しさん
12/03/03 03:51:19.95
どれだけマルウェアなんだよ。

233:デフォルトの名無しさん
12/03/03 04:28:02.15
public class TestView extends SurfaceView implements SurfaceHolder.Callback {
private SurfaceHolder holder;
private AndroidTest activityAndroid;
private TestClass testClass1;
public TestView(Context context) {
super(context);
init(context);
}
public TestView(Context context, AttributeSet attrs) {
super(context, attrs);
init(context);
}
private void init(Context context) {
Log.v("Test", "TestView - init");
testClass1.init();
holder = getHolder();
holder.addCallback(this);
setFocusable(true);
requestFocus();
activityAndroid = (AndroidTest) context;
}
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {}
public void surfaceCreated(SurfaceHolder holder) {}
public void surfaceDestroyed(SurfaceHolder holder) {}
}

と書いた場合testClass1.initが呼び出せずエラーがでます。
ログには「TestView - init」までは確かに動いてるのですが
何方か分かる方ご教授お願いします><
下記がtestClass1のソースになります。

234:デフォルトの名無しさん
12/03/03 04:28:23.99
public class TestClass {

public TestClass() {
}

public void init() {
Log.d("TestLog", "TestClass - init");
}
}

235:デフォルトの名無しさん
12/03/03 04:39:41.63
private TestClass testClass1 = new TestClass();

こうしなくて大丈夫なのか?


236:デフォルトの名無しさん
12/03/03 04:46:06.17
>>235
すみません。。。
てっきり生成してたものと思ってましたが
すっかり忘れていました・・・
この数時間なんだったんでしょうね・・・
ありがとうございます><

237:デフォルトの名無しさん
12/03/03 05:03:43.28
ステップ実行して追いかければ?

238:デフォルトの名無しさん
12/03/03 05:22:40.39
ぬるぽ

239:デフォルトの名無しさん
12/03/03 05:45:14.60
    ↑震↑
/|\( *´∀`)ぬるぽ
⌒⌒ (    )
 ←-┤ | |
   (__)_)

240:デフォルトの名無しさん
12/03/03 06:36:57.78
エラーメッセージも読まず
なぜか動かないとしか言えない奴はプログラム触るな

241:デフォルトの名無しさん
12/03/03 09:02:15.19
>>219
漫画や映画を引き合いに出すほど最近では珍しい言い回しなのか?

242:デフォルトの名無しさん
12/03/03 09:12:52.41
ユダヤ人乙

243:デフォルトの名無しさん
12/03/03 10:24:02.61
エラーメッセージはどんどん上に流れてくからな

244:デフォルトの名無しさん
12/03/03 11:13:02.22
onCreate時のView生成をANR回避のためwaitdialog出しつつ裏スレッドで・・・とかできんよなあ・・・

245:デフォルトの名無しさん
12/03/03 12:36:44.93
>>244
する意味がないだろ

246:デフォルトの名無しさん
12/03/03 12:39:04.06
顔認識させてユーザが笑ったり起こったりしたら
画面の中の赤ちゃんも笑ったり起こったりさせたいんだけど
難しそう?

247:デフォルトの名無しさん
12/03/03 12:59:20.26
アプリが作ったデータファイルってアンインストール時に削除されるんだよね?

SDカードの中にアプリ名のフォルダ作ってSQLiteデータベースを作成してるけど
俺のアプリをアンインストールしてもデータを削除してくれない。

設定でアプリケーションの情報を見てみても俺のアプリだけデータサイズ0.00Bになってる。

まだマーケットで公開してないからこうなるの?

248:デフォルトの名無しさん
12/03/03 13:24:40.05
>>245
アクティビティ遷移後、SurfaceView生成時にANR

249:デフォルトの名無しさん
12/03/03 13:32:12.23
>>248
SurfaceViewCreatedを軽くしろ

250:デフォルトの名無しさん
12/03/03 14:06:23.67
配列の指定位置からのデータ検索なんですがJavaの
Arrays#binarySearch(T array, int from, int to, T key)

はandroidでは使えないんでしょうか。
代わりになる命令はないでしょうか?

251:デフォルトの名無しさん
12/03/03 14:07:26.42
>>246
もしライブラリーみたいのが配布されてるようなら簡単だろうけど
自作で1から作る場合は大企業に就職できるほどの高度な技術力が必要だとおもうよ

SONYがサイバーショットで顔認識機能実現させてブームになっただろ?

252:デフォルトの名無しさん
12/03/03 14:19:32.53
>>246
OpenCVでがんばれ


253:デフォルトの名無しさん
12/03/03 15:22:33.39
>>247
/Android/data/パッケージ名/
は消えるはずだけどちゃんとそこにデータ作ってる?
それ以外のデータは消えないよ

254:デフォルトの名無しさん
12/03/03 15:59:36.30
>>249
コンストラクタで画像読み込みに時間がかかるんでしょ
SurfaceViewCreatedは普通ループトリガーだから事後

255:デフォルトの名無しさん
12/03/03 16:00:30.63
Android開発はやはりeclipse必須でしょうか?
我が家のPCにeclipseを入れると固まってどうにもならなくなります。
コマンドラインツールとviでコツコツ作っていけるものでしょうか?
eclipseじゃないと出来ないこと、などがあれば教えてくださいませ。

256:デフォルトの名無しさん
12/03/03 16:02:42.86
迷わず行けよ、行けばわかるさ

257:デフォルトの名無しさん
12/03/03 16:16:55.14
NetBeansでも開発できるよ


258:デフォルトの名無しさん
12/03/03 16:19:52.75
そうなんだ

259:デフォルトの名無しさん
12/03/03 16:41:36.54
>>255
eclipseのバージョンは?
3.5とか少し古くすれば軽くなるぞ。あとはプラグイン減らしたり。

260:デフォルトの名無しさん
12/03/03 16:41:45.72
Eclipse入れないと無理。
補完無いとやってられんよ。画面のデザインとかも無理が出てくる。
どうしてもemacsで開発したい、っていう自己満キチガイが社内にいるんだが
一緒に仕事する上で話が合わないし仕事も遅くて殴りたくなる。早く解雇しろ。

261:デフォルトの名無しさん
12/03/03 16:55:57.36
マ板へ

262:デフォルトの名無しさん
12/03/03 16:58:58.85
エクリプスエディター使いにくい
補完無くても良いからvi使いたい。

でもクラスブラウザーは動いて欲しい

263:デフォルトの名無しさん
12/03/03 17:02:45.07
一般的にはEclipseよりもNetBeansの方が軽い
補完もあるし
ただAndroid開発はEclipseが主流
俺もNetBeansを入れてはいるけどアプリ1本丸々作り上げたことは無い


264:デフォルトの名無しさん
12/03/03 17:08:47.62
EclipseのUIはNetBeansと違ってなんかピンとこないんだよね
でも仕方なく使ってる

265:デフォルトの名無しさん
12/03/03 17:32:45.31
特にデバッグ周りがピンとこないよな
パースペクティブ切り替えないようにしてもやっぱり何か違う

266:デフォルトの名無しさん
12/03/03 17:35:12.69
InteliJでもいけるみたいだけど、最新機能への追従とかはどうなんだろうね

267:デフォルトの名無しさん
12/03/03 18:18:48.64
どうなんだろうね

268:デフォルトの名無しさん
12/03/03 18:31:20.67
ByteArrayOutputStreamなどでバッファを生成しながらwriteしている場合にメモリがなくなっていって

それがruntime.totalMemory() のMAXまで達した(runtime.freeMemory()=0になった)けど、
runtime.maxMemoryまでは十分余裕がある場合って自動的にヒープを空けてくれますか?
それともOutOfMemory?

269:デフォルトの名無しさん
12/03/03 18:48:37.25
っていうか、メモリー足りなくなったらパソコンみたいにファイルにページアウトしてくれれば良いのにね。
「メモリーきついから消すわ」とか酷すぎるよ。


270:デフォルトの名無しさん
12/03/03 19:01:53.68
エミュ起動すると27%で止まるんだけど
何か対策はありますか?

271:デフォルトの名無しさん
12/03/03 19:03:52.23
開発環境を変えればいい

272:デフォルトの名無しさん
12/03/03 19:42:41.53
>>262
vrapper

273:デフォルトの名無しさん
12/03/03 20:16:31.28
>>270
エミュ壊れてる可能性がある
エミュを強制終了したりするとImageファイル内の必要なファイルがごっそり消えたりする
可能ならAVD Managerで作成しなおすのが早い

274:デフォルトの名無しさん
12/03/03 20:21:55.47
>>270
たまにあるわ

275:デフォルトの名無しさん
12/03/03 21:04:36.97
ビルドしたイメージでAVD作りたいんですがどうしたらよいですか?

276:デフォルトの名無しさん
12/03/03 21:28:16.29
>>274
たまにあるよね


277:デフォルトの名無しさん
12/03/03 21:29:57.14
>>276
稀にね

278:デフォルトの名無しさん
12/03/03 21:32:16.65
>>277
極稀にね

279:デフォルトの名無しさん
12/03/03 22:00:54.82
たまの失敗はスパイスだよね

280:デフォルトの名無しさん
12/03/03 22:07:25.42
>>275
snapshot有効にしてSave to snapshotで起動&アプリ転送してエミュ終了
次からはsnapshotから起動すればよい

281:デフォルトの名無しさん
12/03/03 23:18:08.25
質問なんですけど、皆さんボタンを20個くらい作ってそれをonCreatの中で
findViewById(R.id.~)とかやる時にいちいち名前を指定してますよね?

何かfor文で一気にセットする方法無いですかね?

button[20]とか配列つくって
for(i=0;i<20;i++){

}
とかやってその中で一気に指定したいよ。いちいち一個ずつ指定とかめんどくさすぎる。



282:デフォルトの名無しさん
12/03/03 23:20:55.95
IDが連番になるよう配置


283:デフォルトの名無しさん
12/03/03 23:26:31.80
質問です。

メールソフトやメモ帳を開いたときに、
画面下に半透明のツールバーが出ていてボタンがありますが(新規作成、設定、削除、など)
あれはどのようにして配置できるのでしょうか?

一見オプションメニューを固定してるように見えたので
頑張ってみたのですが、どうも違うようです。
ご回答よろしくお願いいたします。

284:デフォルトの名無しさん
12/03/03 23:29:44.09
forループで回せるほど処理が似通ったボタンなら
xmlじゃなくてコードで生成してなんとかしたい

285:デフォルトの名無しさん
12/03/03 23:30:02.66
alpha指定したActivityでできない?

286:デフォルトの名無しさん
12/03/04 00:06:51.84
>>285
ツールバーの為にActivityかぶせるんですか?
半透明じゃなくても、画面の下にツールバーをビシーっと並べたいだけなんですが。

287:デフォルトの名無しさん
12/03/04 00:24:48.16
R.id.~を配列にもっておけばいいじゃない

288:デフォルトの名無しさん
12/03/04 00:54:13.76
>>281
ListViewかGridViewの使用、もしくはJava側で生成することを考える。
一から作ってもいいし、xmlで作ったひな型をinflateで量産してもいい。

289:デフォルトの名無しさん
12/03/04 07:08:49.16
充電中のLED点灯を強制OFFにしたいのですが、どの項目でいじれますか?
そもそも可能でしょうか?
ARROWSで動きさえすれば満足なのですが…

290:デフォルトの名無しさん
12/03/04 09:11:06.75
>>286
Viewを重複できるFramelayoutとかRelativeLayoutにツールバーを配置するviewと他を配置するviewを重ねればいいんじゃない

291:デフォルトの名無しさん
12/03/04 11:42:25.48
解説にあったhtmlソース取得のものなんですが。
public String getData(String sUrl) {
HttpClient objHttp = new DefaultHttpClient();
HttpParams params = objHttp.getParams();
HttpConnectionParams.setConnectionTimeout(params, 1000);
HttpConnectionParams.setSoTimeout(params, 1000);
String sReturn = "";
try {
HttpGet objGet = new HttpGet(sUrl);
HttpResponse objResponse = objHttp.execute(objGet);
if (objResponse.getStatusLine().getStatusCode() < 400){
InputStream objStream = objResponse.getEntity().getContent();
InputStreamReader objReader = new InputStreamReader(objStream);
BufferedReader objBuf = new BufferedReader(objReader);
StringBuilder objJson = new StringBuilder();
String sLine;
while((sLine = objBuf.readLine()) != null){
objJson.append(sLine);
}
sReturn = objJson.toString();
objStream.close();
}
} catch (IOException e) {
return null;
}
return sReturn;
}
取得データが全角文字が文字化けしてしまいます。
全角対応にするには何を追加すればいいでしょうか?

292:デフォルトの名無しさん
12/03/04 11:56:43.02
new InputStreamReader の第2引数に文字コード名 ("ISO-2022-JP" とか "EUC-JP" とか) を指定する

293:デフォルトの名無しさん
12/03/04 12:06:19.51
指定してみました。 どうもそれだけではだめなようです…

294:デフォルトの名無しさん
12/03/04 12:18:39.84
当然 "windows-31j" とか "Shift_JIS" とか "UTF-8" とかも試した?

295:デフォルトの名無しさん
12/03/04 12:24:46.55
"Shift_JIS"でできました。ありがとうございます。

ページによって違うんですね。
全部自動のようなことは出来るんでしょうか?

296:デフォルトの名無しさん
12/03/04 12:44:49.99
出来るといいね
IE とか Firefox とかもがんばって自動検出してるけどたまに失敗して化けることもあるんだから
カンペキな方法はなくて最終的にはメニュー用意してユーザが選択できるようにしてるよね
とりあえず全通りデコードしてみて化けてるっぽい文字の少ないのを採用してみるとか
HTML だったらいったん読み込んで <meta> タグの Content-Type を解析すれば
何か書いてあるかもしれないからそれを見て読み込み直すとか (たまにウソ書く人もいるけど)
聞いた話では Firefox は頻度分析とか使ってるらしいよ

297:デフォルトの名無しさん
12/03/04 12:50:15.61
わかりました。完全な方法というのはないようですね。
参考にさせてもらいます。
ありがとうございます。

298:デフォルトの名無しさん
12/03/04 13:43:53.12
初歩的な質問かもしれませんが、ボタンの横幅を指定したいのですが、
xmlのlayout_widthでdpで指定するのと、onCreateの時に.setWidth(int)で指定するのとどちらがいいのでしょうか?
ちなみにxmlのlayout_widthとwidthの違いが分かりません。。

あと、dpで指定する時のその値の決め方もよく分かりません。。
今はeclipseの画面とエミュで確認して手探りで値を変えている状態です。


299:デフォルトの名無しさん
12/03/04 14:10:25.31
>>290
>ツールバーを配置するview
その配置の仕方で悩んでます。
自分でツールバーのイメージを作って置くしかないんですかね。

300:デフォルトの名無しさん
12/03/04 14:17:46.79
>>298
どっちでもいい

301:デフォルトの名無しさん
12/03/04 14:46:33.70
メールアプリでメール送信時、
I/ActivityManager( 248): Starting: Intent { cmp=jp.co.nttdocomo.carriermail/.activity.SendProgressor (has extras) } from pid 3586
、とintentが渡されるんですが、SendProgressorってのに渡った時に自分で書いた処理を行いたいんですがなんかいい方法ありませんかね?

302:デフォルトの名無しさん
12/03/04 15:18:35.45
>>298
Android dp px 変換

303:デフォルトの名無しさん
12/03/04 15:20:51.60
>>298
wrap_content でなんか困るわけ?
手探りで決めるっていうのは何かおかしい

304:デフォルトの名無しさん
12/03/04 15:27:50.52
>>164です。

結局、service実行中は「PowerManager」でスリープモードに遷移しないようにしました。

pm = (PowerManager)getSystemService(Context.POWER_SERVICE);
lock = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "My tag");


305:デフォルトの名無しさん
12/03/04 15:34:23.06
>>303
そういうことじゃなくて、

例えば「オプションメニュー」なら、自動的に画面下に表示してくれるじゃないですか。
それみたいに、元からある機能を使って設定するものじゃないんですかね?
ツールバーって。

306:デフォルトの名無しさん
12/03/04 15:36:54.13
>>299
あなたがやりたいことを汲んで作ってくれるプログラムはまだできてない。



307:デフォルトの名無しさん
12/03/04 16:01:22.70
多分アンドロイドデベロッパーのレイアウト関係の所をしっかり読んで理解出来れば出来ると思うよ。
正直、出来ない奴がいるのは自分のソフトの価値が上がることだから、出来ない人は出来ないまま
のほうがうれしい。

308:デフォルトの名無しさん
12/03/04 16:08:52.65
>>305
3.0 以降ならアクションバーがそういう役割だね
2.x には標準では無いはず
まぁ俺が作るとしたら、画面内に収まるのが確実なら LinearLayout にいれて等サイズで分割するかな
あふれたら more メニューでポップアップとか面倒臭いことを考えるなら自前のレイアウトクラス書く

309:デフォルトの名無しさん
12/03/04 16:24:26.64
>>308
今はおっしゃるとおりLinearLayoutにボタン入れてますが、
これでは何かモサいしバーを表現できないんですね。
やはり面倒なことになるんですかね?
色んなソフトで当たり前のように使われてますが。

310:デフォルトの名無しさん
12/03/04 16:25:59.13
モサいとかバーっぽいとか表現とかはすべて絵次第だろ
レイアウト的には問題ない

311:デフォルトの名無しさん
12/03/04 16:35:44.98
>>309
actionbarcompatってのがサンプルに入ってるからモロパクリすれば良い。

312:デフォルトの名無しさん
12/03/04 19:09:07.51
メモリの仕様状況により直前のActivityが生きていることもあれば死んでいることもあると思うのですが、それをチェックする方法ってありますか?
あったら、実装のヒントを教えてもらえないでしょうか

313:デフォルトの名無しさん
12/03/04 21:21:49.33
フレームをこういう形の構造にして、
それぞれの四角に画像とボタンを埋め込みたいのですが・・・
やり方が分かりません・・・

テーブルレイアウトのXMLをいじるだけでは無理そうなのですが・・・

┌───┐
│        │
├─┬─┤
│   │   │
├─┤   │
│   │   │
│   ├─┤
└─┴─┘

314:デフォルトの名無しさん
12/03/04 21:25:05.68
>>313
リニアレイアウトの上にリニアレイアウトを置けば簡単だよ。

315:デフォルトの名無しさん
12/03/04 21:34:10.91
ライナーとリレイティブとフレームがあればだいたいどうにかなるよな

316:デフォルトの名無しさん
12/03/04 21:55:16.09
>>314
>>315
ありがとうございました。
weightで分割することでできました

317:デフォルトの名無しさん
12/03/04 23:19:47.29
Preferenceのキーが存在するかどうか
判断する方法ありますか?

318:デフォルトの名無しさん
12/03/04 23:21:43.33
Preference#containsで分かりました

319:デフォルトの名無しさん
12/03/04 23:40:44.29
LauncherPro Shortcut CreatorでNotificationを開くショートカットを作成したいのですが
どこにどの値を入れていいかわかりません。
お手隙の方がいましたら是非教えて下さい
URLリンク(launcherpro.com)
URLリンク(developer.android.com)

320:デフォルトの名無しさん
12/03/05 02:51:23.39
「Unity」という開発環境でAndroidアプリつくってる人おる?
3Dゲーム作るときようの無料開発環境なんだけどこいつでもアプリ作れるらしくてさ。
これ使えればAndroidで3Dゲーム作るのめっさ簡単になりそうなんだけど・・・

321:デフォルトの名無しさん
12/03/05 02:57:09.45
今の時代で3Dゲーム作る環境は何がいいんだろうね
そこら辺はあんまりわからないから聞いてみたい

322:デフォルトの名無しさん
12/03/05 03:00:09.84
Androidかどうか知らんがUnity技術者募集の求人見たことあるから使われてるんじゃないの

323:デフォルトの名無しさん
12/03/05 05:06:47.71
public class TestView extends SurfaceView implements SurfaceHolder.Callback {
public void start() {
try {
executor.shutdown();
} catch (Exception e) {}
executor = Executors.newSingleThreadScheduledExecutor();
executor.scheduleAtFixedRate(new Runnable() {
public void run() {
if (activityAndroid.leftSensor)
img.move(0);
if (activityAndroid.rightSensor)
img.move(1);
draw();
}
}, 100, 100, TimeUnit.MILLISECONDS);
}
}
上記のようにスレッドを開始しているのですが、drawを行なっている間隔と別に
imgを1秒間隔で自動的に動かしたいと思っています。
この場合、スレッドを別に作成を行わなければいけないのでしょうか?行うとしたら下のようなソースでも大丈夫でしょうか?

324:デフォルトの名無しさん
12/03/05 05:07:23.65
public void start() {
try {
executor.shutdown();
} catch (Exception e) {}
executor = Executors.newSingleThreadScheduledExecutor();
executor.scheduleAtFixedRate(new Runnable() {
public void run() {
draw();
}
}, 100, 100, TimeUnit.MILLISECONDS);
executor2 = Executors.newSingleThreadScheduledExecutor();
executor2.scheduleAtFixedRate(new Runnable() {
public void run() {
if (activityAndroid.leftSensor)
img.move(0);
if (activityAndroid.rightSensor)
img.move(1);
}
}, 100, 1000, TimeUnit.MILLISECONDS);
}

325:デフォルトの名無しさん
12/03/05 05:09:46.49
うん

326:デフォルトの名無しさん
12/03/05 08:16:44.35

顕正新聞 平成24年2月5日号「原発全廃特集号」

原発は日本を滅ぼす、即時全廃せよ
人のDNAを破壊、国土を居住不能にする
代替は天然ガス・コンバインドサイクルで十分
惨禍もたらすを知って推進するは犯罪

URLリンク(d.hatena.ne.jp)

327:デフォルトの名無しさん
12/03/05 08:17:59.20
自身でテストすりゃ解るだろうに。

328:デフォルトの名無しさん
12/03/05 08:24:21.41
>>325
ありがとうございます><
>>327
すみません・・・動くかどうかの確認ではなく
ソース自体に不備がないかの確認です・・・
スレッドの作成自体が不恰好だったので
これでも問題は無い?と言う質問でした><

329:デフォルトの名無しさん
12/03/05 08:44:54.27
原発は地下に作れば済む話
穴掘って配管やケーブルを伸ばすだけだから現在の技術で可能
建設費の増加分は二割以下
最悪の事故でも被害は地下核実験程度で済み放射能が漏れず安全
津波などの自然災害だけでなくテロなどの攻撃にも強くなる


330:デフォルトの名無しさん
12/03/05 08:52:13.61
地下だと冷却できないので爆発する。

331:デフォルトの名無しさん
12/03/05 09:08:24.62
荒らしに触るとかどんだけ阿呆だよw

332:デフォルトの名無しさん
12/03/05 09:26:31.37
リニアーレイアウトの多重構造にボタン埋め込んだら反応しません。
ボタンって、最上位じゃないと反応しないんですか?

333:デフォルトの名無しさん
12/03/05 09:31:31.58
そうだおっおっおっ(^ω^)

334:デフォルトの名無しさん
12/03/05 10:23:51.41
ボタンが最上位じゃないと反応しないなら、リニアーレイアウトに埋め込んでやるってのもできないんですか?

335:デフォルトの名無しさん
12/03/05 10:31:56.42
おまえはこれからも2ちゃんで「これはどうですか?あれはどうですか?」って
聞きながら開発するのか?
おまえが聞いてることは全部アンドロイドデベロッパーのとばっくちに書いてある事ばかりだ。

ある程度の質のプログラム書くつもりなら
まずはある程度の英語を読めるようにするのは避けられない。

10年前ならそこそこ良質な書籍が発売されたかも知れないけど
今はがんばって翻訳したりなんなりしてもさくっとコピペされて
アフェリエイトブログとかに転載されるのが落ちだし、良質の文書の
日本語化はどんどん期待できない状況になっていってる

英語の文書をある程度すらすら読むのはそれなりに大変だと思うけど、自分で解決してる人は
その努力をしたから読めるわけで、いちいち聞いて解決しようとしてる人たちは
これからもずっと、分からないことは2ちゃんで聞いて解決するつもりなのか?

336:デフォルトの名無しさん
12/03/05 10:36:22.59
どのViewGroupでもボタンが重なってたら最上位のボタンしか反応しないお(^ω^)
もし下層のボタンを反応させたいなら上層のボタンのListenerメソッドから
TouchEventならdispatchTouchEvent()で下層のボタンにディスパッチするか
ClickイベントならperformClick()で下層のボタンをクリック扱いにするお(^ω^)
説明ヘッタクソですまんお(^ω^)

337:デフォルトの名無しさん
12/03/05 10:54:20.65
>336
w 糞プログラム乙

338:デフォルトの名無しさん
12/03/05 11:52:38.09
右90度の横画面と、左90度の横画面でレイアウトの異なる画面表示を考えています。
configrationChangedで通知を受け取ろうと思ったのですが、orientationでは二つの画面は区別ができないようです。
自分でセンサから傾きを受け取って、requestedOrientationで画面設定を行えば出来そうなのですが、もっと簡単な方法はないでしょうか?

339:デフォルトの名無しさん
12/03/05 12:14:28.63
>>335
私ですか?
確かにアプリケーション開発に関してはテキストで調べるよりもネットで検索したりググったほうが早いので安易にかんがえていたふしがありました


>>336
ありがとうございました。
ただ、問題は、ボタンが複数重なったことじゃなくて、
LinearLayout(縦)
→LinearLayout(水平)
→→LinearLayout(水平)
→→→Button (match_parent)
→→→TextView (match_parent)

この状況にて、Buttonが作動しなかったんです
なんとかググって探してみます

340:デフォルトの名無しさん
12/03/05 12:23:54.22
Advanced Task Killer とかのタスカーアプリって
どうやって他のプロセスとかサービスとかkillしてるの?

341:デフォルトの名無しさん
12/03/05 12:56:49.84
>>340
ActivityManager.RunningTaskInfoで取得して
killProcess(int PID)で切ってやればOK

342:デフォルトの名無しさん
12/03/05 14:18:45.80
>>341
まじで!サンクス!
KILL_BACKGROUND_PROCESSES とか要りそうだね
やってみる!

343:デフォルトの名無しさん
12/03/05 14:37:31.28
killProcessは自プロセス以外もキルできるんだっけ?

344:デフォルトの名無しさん
12/03/05 14:57:21.41
そういう公式リファレンスに無い情報ってどうやって見つけるんだ?

345:デフォルトの名無しさん
12/03/05 15:04:42.01
>>343
javadocにはそう書いてあるね・・・
バックグラウンドは
KILL_BACKGROUND_PROCESSES

ActivityManager.html#killBackgroundProcesses
すれば殺せそうだけど、
フォアグラウンドはどうすればいんだろ

346:デフォルトの名無しさん
12/03/05 15:05:38.53
>>345
ミス
javadocには自分か、自分が起動したプロセスしか殺せないってなってる

347:デフォルトの名無しさん
12/03/05 15:08:02.85
androidプログラミング初心者でストップウォッチを作ってみてるんですが
chronometerがいまいちよくわかりません
SystemClock.elapsedRealtime()は起動してからの時間をカウントアップしてると聞いたのですが
chronometer.setBase(SystemClock.elapsedRealtime())するとなぜ時間が0秒に戻るのでしょうか?
どなたかご教授お願いします

348:デフォルトの名無しさん
12/03/05 15:10:01.11
教えて下さい。
froyo-x86ソースを取得後、ビルドしてエミュレータを立ち上げようとすると
エラーが出ます。コマンドに間違いがあるのでしょうか?
まったく検討がつきませんので同じ経験がある方、思い当たることがある方
教えて下さい。

【コマンド】
% cd mydroid
% source build/envsetup.sh
% lunch full_x86-eng
% make -j2
% emulator-x86

【エラー】
emulator-x86: command not found

349:デフォルトの名無しさん
12/03/05 15:34:19.53
>>348
pc初心者スレ行きじゃないか?

350:デフォルトの名無しさん
12/03/05 15:42:36.99
>>346
やっぱりそうだよね
そのAdvancedなんちゃらってのは
本当に2.2以上でタスクキルできるのだろうか?

351:デフォルトの名無しさん
12/03/05 16:04:29.59
>>350
connectbot で ps しながら Advanced~ でキルしてみたけど
一応ちゃんと殺せてる
バックグラウンドもフォアグラウンドも両方殺せてる
バックグラウンドは
ActivityManager#killBackgroundProcesses(String packageName);
で殺せるとして(KILL_BACKGROUND_PROCESSES 要求ついてる)
フォアグラウンドはどうしてるんだろうね
と思ったけどAdvanced~がフォアグラウンドな時点で他はバックグラウンドかw

352:デフォルトの名無しさん
12/03/05 16:41:31.26
>>344
Androidのソースをダウンロードして手元に置いとくといろいろ便利ですぜ

353:デフォルトの名無しさん
12/03/05 16:44:38.40
>>347は自己解決しました
setBaseは現在の時刻から引数の時刻を引いたものをsetするって意味だったんですね

354:デフォルトの名無しさん
12/03/05 17:01:00.71
>>351
そうなのか
2.1以前はrestartPackageでやってたけど
2.2以降はそれ使えばいいのか
あとググったらHOMEなActivityを呼んで
フォアのタスクをバックに持ってきてキルする
方法があったけど問題ありそうだな

355:デフォルトの名無しさん
12/03/05 17:45:19.53
ServiceのonStart()はサービス起動時と
システムによってサービス再起動された時の
どちらの場合も呼ばれるという認識で合ってる?

356:デフォルトの名無しさん
12/03/05 18:26:32.67
ライブ壁紙を実機でデバッグしてて、canvas.getHeight()すると
解像度1280x720のエミュでは値が1280になりますが
同じ解像度の実機(L-01D)で試してみると800になってしまいます。
実機でcanvasのheightを1280にすることってできるんでしょうか?

357:320
12/03/05 18:42:35.23
>>321-322
「Unity」だけど、質問ばかりじゃいかんよなーと思い、今日本屋サクっと言ってきた。
普通に書籍並んでたので立ち読みした感じだと、無料版と有料版にわかれてて
無料版はWindows、Mac、WebPlayer(Flashみたいにブラウザ上から起動できる)用のビルドしかできんそうだ。
有料版(36000円)を買えばAndroidとiOS用にビルドできるようになるんだと。
有料版は30日間の体験版もあるそうだ。
JavaScriptかC#でやるようで、3Dゲーム作るならUnityよさそうだった。

358:デフォルトの名無しさん
12/03/05 18:46:09.20
つかれた

359:デフォルトの名無しさん
12/03/05 18:47:05.71
C#勉強しないといけないのか大変だね

360:320
12/03/05 18:47:33.87
URL長すぎて貼り付けられないんだけど
ようつべで「Unity tutorial 球転がしゲーム」で検索かけると出てくる動画みてみるとわかるけど
3Dプログラムがおっそろしく簡単に書ける・・・
過去の開発ツールのいい所全部融合させたみたいな感じに個人的にはオモタ

てかやっぱ本屋は偉大だなw

361:デフォルトの名無しさん
12/03/05 18:48:01.10
いきなり有料を買うのはやめたほうがいい
今の時点では調べるほどにガッカリする

362:デフォルトの名無しさん
12/03/05 18:49:31.56
>>361
俺が買ってしまう前に少しでいいから詳しく!お願い

363:デフォルトの名無しさん
12/03/05 18:51:21.22
まずは無料のやつでがっちりやってみる事だ
それからでも遅くは無い

364:320
12/03/05 18:53:03.17
いきなり有料版ははやまりすぎだろ・・・まずは体験版さわってみるべきだ

金額は不明だったけどライセンス料っての払えばPS3、Wii、X-BOX360のソフトも作れるんだとさ。
プロ用だなこれ・・・

365:デフォルトの名無しさん
12/03/05 19:01:07.36
これか
URLリンク(www.youtube.com)
これからはUnity一択なのかねよく知らないけど

366:デフォルトの名無しさん
12/03/05 19:20:53.54
複数OS対応の開発環境はコケる印象あるんだけどな
Javaとか

367:デフォルトの名無しさん
12/03/05 19:49:08.33
AndroidにPerlとかインストールできないのですか

368:デフォルトの名無しさん
12/03/05 20:11:52.83
出来るよ

369:デフォルトの名無しさん
12/03/05 20:21:44.94
byte [] buffer;
BitmapFactory.decodeByteArray( buffer )
で中身がpngのバイト配列を渡してBitmapを作成したのですが、これはBitmap用にbufferからコピーされた新しいメモリ領域ががとられているのでしょうか?
それともbufferへの参照が保持されているだけでしょうか?

decodeしたあとbufferの内容を書き換えてしまっても影響はありませんか?


370:デフォルトの名無しさん
12/03/05 20:22:22.79
Unityはゲームエンジンとツールでしょ
Monoで.NET動かしてその上に乗っかってるだけ

371:デフォルトの名無しさん
12/03/05 20:22:45.23
ListViewで、一番下までスクロールしているかどうかを調べるメソッドってありませんか?


372:デフォルトの名無しさん
12/03/05 21:00:33.70
>>355
onCreate なら呼ばれる
onStartCommand が START_REDELIVER_INTENT か START_STICKY を返してれば onStart も呼ばれる

373:デフォルトの名無しさん
12/03/05 21:01:29.79
>>369
コピーするよ
影響ないよ

374:デフォルトの名無しさん
12/03/05 21:09:06.58
>>371
getLastVisiblePosition とかどう

375:デフォルトの名無しさん
12/03/05 21:15:43.07
>>374
それだと最後の要素が少しでも画面内に出た時点で処理してしまうので、
最後までスクロールして、これ以上進めませんっていうのが欲しいのです

376:デフォルトの名無しさん
12/03/05 21:27:09.92
下のようなメニューを作ったら、ダイアログが画面横幅いっぱいになってしまいました。
どこで調節するのでしょうか?
new AlertDialog.Builder(ExifViewerActivity.this).setAdapter(new ArrayAdapter<String>(Xxxx.this, android.R.layout.simple_list_item_1, new String[] { "Menu 1", "Menu 2" }),null).show();

377:デフォルトの名無しさん
12/03/05 21:27:53.21
Listの最後に自分で認識できる最終用アイテムを置いても>>374と同じかなぁ?

378:デフォルトの名無しさん
12/03/05 21:42:11.02
うん

379:デフォルトの名無しさん
12/03/05 23:03:06.02
>>330
お前めちゃくちゃ頭悪いな


380:デフォルトの名無しさん
12/03/05 23:20:19.62
2Dゲームエンジンは何がいいんだ
やっぱe3roidか

openGLイミフな俺にはすべてがイミフ
もうやめよう

381:デフォルトの名無しさん
12/03/05 23:26:31.06
実機でデバッグするときSDカードにアクセスする場合パスはどうなるのでしょうか?


382:デフォルトの名無しさん
12/03/05 23:31:41.98
SDカード

383:デフォルトの名無しさん
12/03/06 00:30:51.13
>>380
この業界に向いてない

384:332, 334
12/03/06 02:05:45.25
すいません、あれから帰宅してこの時間までAndroid Developersのサイトを見たのですが
自分が知りたいことはリファレンスになかったのですが
どの部分を参照すればいいのでしょうか

ただ、>>339は原因はわかりまして、リニアーレイアウトを何個入れ子にしてそこにButtonを置いても
クリック自体は問題なくできるようですが、TextViewと重ねてしまうと反応しないようです。

多分教えて頂いたボタン重ねのときと同じく、TextViewをクリックしたときのイベントリスナーで
Button.performClick()をやればいいのかなと今の時点で思ってますが。

385:デフォルトの名無しさん
12/03/06 02:26:57.77
お前さんは一体何がしたいんだ


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch