[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2chのread.cgiへ]
Update time : 09/20 13:10 / Filesize : 106 KB / Number-of Response : 400
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん [2012/09/01(土) 22:22:57.92 ]
このスレではAndroidSDK・NDKやAndroidマーケットに関する質問を扱ってます。

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

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

****前スレ****
Androidプログラミング質問スレ Part24
toro.2ch.net/test/read.cgi/tech/1343141095/


175 名前:デフォルトの名無しさん mailto:sage [2012/09/08(土) 23:16:48.08 ]
ScrollViewはScrollerが動いている限りscrollToするだけのViewGroupなんだから、
入れたもの全部に対して描画しようと頑張っているので遅いんじゃないの
その辺はListViewにしたほうが賢いと思うのだが

あとネットワークから取得したものを一時的にキャッシュとしてファイルに保存するのは常套手段なんだから、
「意味がないです」ってばっさり切り捨てないで少しは検討してみろよw
かくかくスクロールには関係ないとしてもさ


176 名前:デフォルトの名無しさん mailto:sage [2012/09/08(土) 23:23:13.49 ]
>>171
質問とは外れるが
>InputStream is = bufHttpEntity.getContent();
>BitmapFactory.decodeStream(is, null, options);
これ、極端に遅い回線だとエラーになるときあるぞ。
開発元も把握してるけど元々ローカル読み書き専用の
メソッドだから修正予定なし。BitmapFactory使うなら
キャッシュしろ。

177 名前:167 [2012/09/09(日) 00:18:22.68 ]
>>175
ListViewを使ってみます

すいません
ローカル以外の画像を扱ったことがなかったので

>>176
Mediaplayerとは違うんですね
一度キャッシュしてからリサイズしてみます

178 名前:デフォルトの名無しさん mailto:sage [2012/09/09(日) 01:29:12.62 ]
>>173
逆だぞ、ListViewが見える範囲のみインスタンス化し、使いまわす
ScrollViewはすべての子Viewを生成する

179 名前:デフォルトの名無しさん mailto:sage [2012/09/09(日) 01:38:00.85 ]
すまん。うっかり思い違いをした。

180 名前:デフォルトの名無しさん mailto:sage [2012/09/09(日) 09:11:24.38 ]
これからAndroid/iPhone向けドット絵ゲーを作る場合、
全画面の解像度は何を想定したらいいんだろう。
iPhone4の640x960にあわせたいけど、Androidでこの解像度はめったにないし。
よくある540x960の機種だと汚く潰れてしまう。

181 名前:デフォルトの名無しさん mailto:sage [2012/09/09(日) 09:14:51.95 ]
音データを生成してwav形式で保存するプログラムを作ったんだけど、
このファイルをmp3形式に変換したい(もしくは最初からmp3形式のデータを作りたい場合)
場合ってどうすればいいん?

RFCを理解しようとしたけど、さっぱりわからん。
tools.ietf.org/rfc/rfc5219.txt

wavファイルを作る時に参考になった
www.kk.iij4u.or.jp/~kondo/wave/

mp3のフォーマットはこんな感じらしい
homepage3.nifty.com/sabanisoft/pgroom/pr_mp3.html

182 名前:デフォルトの名無しさん mailto:sage [2012/09/09(日) 11:22:18.76 ]
さすがにスレチだろw

183 名前:デフォルトの名無しさん mailto:sage [2012/09/09(日) 14:10:44.01 ]
>>182
(´・ω・`)
javaの質問スレのほうが適切?



184 名前:デフォルトの名無しさん mailto:sage [2012/09/09(日) 14:18:27.47 ]
別にandroidもjavaもわからない人でも参加できそうな話。そういう規格のスレはどこかと聞かれると知らないから、見つけたら俺にも教えて。

185 名前:デフォルトの名無しさん mailto:sage [2012/09/09(日) 14:33:56.20 ]
>>181
Android Supported Media Formats
developer.android.com/guide/appendix/media-formats.html
を見る限り、AndroidにMP3のエンコードライブラリは含まれていないから
MP3エンコードの知識が無ければ
既存のライブラリを使うしかないのでは?
LAMEを使ったサンプルはあったよ
garage.uraroji.com/2011/03/03/android%E4%B8%8A%E3%81%A7%E3%81%AEmp3%E3%82%A8%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB/


186 名前:デフォルトの名無しさん mailto:sage [2012/09/09(日) 15:18:18.86 ]
LGPLか…

187 名前:デフォルトの名無しさん mailto:sage [2012/09/09(日) 15:21:40.59 ]
ttp://www.slideboom.com/presentations/464291/Android%E3%82%A2%E3%83%97%E3%83%AA%E3%81%A8LGPL%E3%81%AE%E7%9B%B8%E6%80%A7%E3%81%AB%E9%96%A2%E3%81%97%E3%81%A6
AndroidアプリにLGPLのソースは使えない?


188 名前:デフォルトの名無しさん mailto:sage [2012/09/09(日) 15:23:16.97 ]
AndroidアプリとLGPLライセンスについて問題ないという解釈のツイート
ttp://togetter.com/li/247947

189 名前:デフォルトの名無しさん mailto:sage [2012/09/09(日) 16:54:38.16 ]
DRM的な視点からはリバースエンジニアリングを許可したくないから
ゲームとかだとLGPLは避けるのが普通

190 名前:デフォルトの名無しさん mailto:sage [2012/09/09(日) 17:54:02.07 ]
String path=“/mnt/sdcard/〇〇〇/□□□.jpeg“;っていう指定パスの画像が端末内にあるかを確認するにはどうしたら良い?あくまで読み込まずにあるかどうかだけ知りたい

191 名前:デフォルトの名無しさん mailto:sage [2012/09/09(日) 18:22:06.53 ]
ディレクトリ開いてファイルの一覧取得してチェックかね?

192 名前:デフォルトの名無しさん mailto:sage [2012/09/09(日) 18:28:38.45 ]
File#exists()

193 名前:デフォルトの名無しさん mailto:sage [2012/09/09(日) 18:29:34.76 ]
>>185
MP3のエンコードかぁ。
Lameは使いたくないけど、Lameの劣化コピーすら
出来るきがしないから、再検討してみる。
ありがとう。



194 名前:デフォルトの名無しさん mailto:sage [2012/09/09(日) 18:43:37.53 ]
「SDカードに移動」で移す部分はこっちが指定できるのでしょうか?



195 名前:デフォルトの名無しさん mailto:sage [2012/09/09(日) 19:24:57.41 ]
移動できるか出来ないかはアプリ側で設定できる
「SDカードの移動」の文字列や移動先は指定できない

196 名前:デフォルトの名無しさん mailto:sage [2012/09/09(日) 19:38:48.21 ]
>>195
だとすると通常キャッシュに貯まるデータがユーザーデータに貯まるのは
その機種のバグなんでしょうか?
L-01Dのオプティマスなんですけど、使うたびにユーザーデータが増えて
すぐメモリ残量警告がでて困ってるんですよねえ

197 名前:デフォルトの名無しさん mailto:sage [2012/09/09(日) 19:51:00.07 ]
アプリをSDに移動でしても、ユーザデータやキャッシュは本体に保存されるはず

198 名前:デフォルトの名無しさん mailto:sage [2012/09/09(日) 19:57:30.46 ]
>>192
ありがとう。試してみる。

199 名前:デフォルトの名無しさん mailto:sage [2012/09/09(日) 20:01:47.39 ]
質問です。
ダウンロードして、VideoViewに渡すデータをSDにキャッシュしたいときって、SDに保存してからファイルとして渡すしかない?
この方法だと全てダウンロードしてからでないとエラーになったりした。
API9。

200 名前:デフォルトの名無しさん mailto:sage [2012/09/09(日) 20:17:01.92 ]
ストリーミングパイプラインの間に入り込むような記述はMediaPlayerでは書けない。
VideoViewも内部で MediaPlayer を使用しているので同じ制限がある。

端末が持っているコーデックにjavaからアクセスできるようになったのは APL lvel 16から
それ未満の端末では自分でコーデックを書いてサーフェスに描画する形になるかな

201 名前:デフォルトの名無しさん mailto:sage [2012/09/09(日) 20:26:02.77 ]
>>200
ありがとうございます。よくわかりました。

202 名前:デフォルトの名無しさん mailto:sage [2012/09/09(日) 21:18:39.94 ]
LVL実装しようとしてサンプルプログラムを構築まではできたんですけど、AVDだとgoogleアカウントがなくて認証できない?


203 名前:デフォルトの名無しさん mailto:sage [2012/09/10(月) 01:33:42.74 ]
できるよ

アカウント設定した?



204 名前:デフォルトの名無しさん mailto:sage [2012/09/10(月) 03:33:22.47 ]
ターゲットがGoogleApiだっけ?マップも使えるやつにしないとダメなはず

205 名前:デフォルトの名無しさん mailto:sage [2012/09/10(月) 07:51:28.85 ]
>>203
すみません、どこでアカウント設定できるのでしょうか?

206 名前:デフォルトの名無しさん mailto:sage [2012/09/10(月) 10:18:45.58 ]
>205

まず前提条件として、エミュレーターでデバックする場合、AVDで
Google APIsの2.2以上を作成してあることを確認して欲しい

Google APIs < ここ重要
(実機は1.5ならGoogle Playがインストールされてれば大丈夫)

その上で、エミュレーターを起動して、実機と同じようにホーム画面から
Menu, Settings, Account & sync, Add acountでアカウントを追加
上記はバージョンによって多少変わるはず。

207 名前:デフォルトの名無しさん mailto:sage [2012/09/10(月) 11:04:07.09 ]
>>206
ありがとうございます。
Android 2.2 で作っていました。APIsとは別物なんですね。

208 名前:デフォルトの名無しさん mailto:sage [2012/09/10(月) 20:41:15.10 ]
ListViewについて質問があります。
ArrayAdapterを継承してListViewを作成しているのですが、ListViewのデータとなる配列を空にしてデータを入れ替えた時に何故かListViewが空になって表示される事が稀にあります。
その後何らかの画面更新を行うと(例えばDialogの表示など)内容が反映されます。
データを入れ替えた後にadapter.notifyDataSetChanged();とlistView.invalidateViews();は行っているのですが何が原因やらさっぱり分かりません。
とりあえず画面更新を強制的に行うコードを入れようかと思ったのですが、それも分からず頭を抱えています・・・。

209 名前:デフォルトの名無しさん mailto:sage [2012/09/10(月) 22:56:16.29 ]
setListAdapter(nullpo);

210 名前:デフォルトの名無しさん mailto:sage [2012/09/10(月) 23:08:21.38 ]
>>208
空にしなきゃいいのでは?


211 名前:デフォルトの名無しさん mailto:sage [2012/09/11(火) 00:09:43.30 ]
>>209
更新時にsetListAdapter(adapter)を毎回しております・・・、更新前に一旦null入れた方が良いのでしょうか。

>>210
clear()にて配列を空にしてるのですが、上書きした方が良いでしょうか。

ListViewの更新箇所のプログラムですが、下記のようなコードとなっております。
中身を入れ替える度にUpdateEntry()が実行されます。何かヒントがありましたら宜しくお願い致します・・・。

private void createEntryData() {
//ListViewで表示するデータを取得
ArrayList<EntryStatus> tmpEntryList = getNeweEntry();
entryList.clear();
entryList.addAll(tmpEntryList);
}

212 名前:デフォルトの名無しさん mailto:sage [2012/09/11(火) 00:10:31.96 ]
続き

private void UpdateEntry(){
new Thread(new Runnable() {
@Override
public void run() {
handler.post(new Runnable() {
@Override
public void run() {
objDialog.show(); //更新中はダイアログを表示
}
});
createEntryData();

handler.post(new Runnable() {
@Override
public void run(){
if(adapter == null){
adapter = new EntryAdapter(MainActivity.this, R.layout.entry_row, entryList);
}
listView.addFooterView(footerView);
listView.setAdapter(adapter);
objDialog.dismiss();
adapter.notifyDataSetChanged();
listView.invalidateViews();
}
});
}
}).start();
}

213 名前:デフォルトの名無しさん mailto:sage [2012/09/11(火) 01:00:21.13 ]
(webブラウザを使わずに)
アプリ内のEditTextに検索したい文字を入力し、ボタンを押す。

入力した文字列がグーグル検索される。

検索結果を取得する。
(検索に引っかかったサイトの名前だけとか)

これの応用がしたいんだけど、初っ端からわからない。
どうやってweb上の検索蘭に情報を渡すの?intent?




214 名前:デフォルトの名無しさん mailto:sage [2012/09/11(火) 01:03:16.71 ]
www.google.com/m?q=検索ワード
の内容を拾ってくればいい

215 名前:デフォルトの名無しさん mailto:sage [2012/09/11(火) 01:04:35.24 ]
1バイトテキストデーターに半角カタカナを使っても
海外の端末で動くのでしょうか?

216 名前:デフォルトの名無しさん mailto:sage [2012/09/11(火) 01:10:24.98 ]
>>211
if(adapter == null)じゃなくて
if(adapter != null)では?
困ったときは!=nullを入れる
それがAndroid基準

217 名前:デフォルトの名無しさん mailto:sage [2012/09/11(火) 02:04:07.85 ]
>>216
createEntryDataメソッド内にadapter = null;を追加したら更新されるようになりました。
再現性があまり無いので、しばらくこれで様子見てみます。有難うございました。

218 名前:デフォルトの名無しさん mailto:sage [2012/09/11(火) 02:42:14.87 ]
>>216
ひでえ基準だなあ

219 名前:デフォルトの名無しさん mailto:sage [2012/09/11(火) 03:20:14.87 ]
>>211
データの取得だけサブスレッドで行なう。更新はUIスレッドで。
更新はentryListを直接変更するのではなく、ArrayAdapter.add()等のメソッドを使う。

このあたりが気になった

220 名前:デフォルトの名無しさん mailto:sage [2012/09/11(火) 09:05:35.40 ]
Androidは非アクティブでいきなりインスタンスが消えたりするが、
だからといってnullチェック入れればいいというものではない
そんな想定外の状態で動作を継続するのは危険だから、
ぬるぽでアプリ落とした方がむしろ安全だよ

221 名前:デフォルトの名無しさん mailto:sage [2012/09/11(火) 13:56:38.82 ]
>>219
有難うございます。初回adapter作成時以外での更新処理はArrayAdapter.clear()後にArrayAdapter.add()を使用してデータの更新を行うようにしてみます。

画面更新更新は
public void run() {
handler.post(new Runnable() {
内なのでUIスレッド上で行っているつもりです・・・。どこかUIスレッドじゃないところで画面更新を行っている箇所がありましたらご指摘お願い致します。

222 名前:デフォルトの名無しさん [2012/09/11(火) 17:19:38.33 ]
ググれば普通に出てくる初歩的な回答ばっか

223 名前:デフォルトの名無しさん mailto:sage [2012/09/11(火) 17:57:06.71 ]
>ググれば普通に出てくる初歩的な質問ばっか



224 名前:デフォルトの名無しさん mailto:sage [2012/09/11(火) 19:33:51.37 ]
>>ググれば普通に出てくる初歩的な質問ばっか

225 名前:デフォルトの名無しさん mailto:sage [2012/09/11(火) 19:40:45.23 ]
> > >ググれば普通に出てくる初歩的な質問ばっか

226 名前:デフォルトの名無しさん mailto:sage [2012/09/11(火) 19:59:15.73 ]
確かに世の中の重要な問題とはどこかに回答があるようなものではないが、このスレそんなに高尚じゃないよな。

227 名前:デフォルトの名無しさん mailto:sage [2012/09/11(火) 20:21:04.60 ]
root 取得済みの中華 Pad (Android4.0.4)で色々いじっているのですが、
/system/fonts にフォントを adb push したとき、そのまま継続して
使える(*1)フォントと、再起動で消えてしまうフォントが存在します。

(*1) プログラムからはTypeFaceとして指定できて、その通りに見える状態

フリーのTrueTypeフォントで確認できたものでは、

OK: しねきゃぷしょん
chiphead.jp/font/htm/cinecaption.htm

NG: あくあフォント
www.vector.co.jp/soft/dl/data/writing/se244261.html

となっています。system_fonts.xml, fallback_fonts.xml にエントリを
追加してみたのですが、同様でした。

この違いが思い当たらず、悩んでおります。何かヒントやキーワードだけでも
ないでしょうか?

228 名前:デフォルトの名無しさん [2012/09/11(火) 20:22:29.47 ]
Android develeoersで日本語で見たいのですがどうすれば日本語化することができますか

229 名前:227 mailto:sage [2012/09/11(火) 20:27:02.62 ]
なお、関係するか不明ですが、
adb push <フォントファイル> /system/fonts した際、リブート後最初の
push は成功するが、次の push で失敗すると言う様な状況も発生しています。
こちらも、一度目は成功して次が失敗すると言う理由がよく分かりません。

※¥説明しづらいのですが、以下の様な状態です。

$ adb push /path/to/cinecaption227.TTF /system/fonts
4295 KB/s (1680456 bytes in 0.382s) # ←成功

$ adb push /path/to/aquafont.ttf /system/fonts
failed to copy '/path/to/aquafont.ttf' to '/system/fonts/aquafont.ttf': Read
-only file system # ←失敗。しかしリブート後順番を逆にすると aquafont.ttf も成功(*2)

(*2)但し>>227に挙げた様に、あくあフォントは再起動で消えてしまいます。
  こちらの現象でフォントが何か、はあまり関係ありません。

一度目の adb push で何らかの状態が変わっていると思われるのですが、
何がそのような挙動をする(可能性がある)のか…
なお、この状態で adb remount や adb kill-server -> adb start-server も駄目でした。

230 名前:デフォルトの名無しさん mailto:sage [2012/09/11(火) 20:56:18.54 ]
rwでremountしてるの?
shellからコピー・移動させた場合はどうなる?

231 名前:227 mailto:sage [2012/09/11(火) 22:35:16.41 ]
>>230
ありがとうございます。remountし直そうとした際のパラメータはrwです(失敗しますが)
shell からの移動も同様にフォントの配置前後で失敗するようになってしまいますね。

他には、例えば配置前までは chmod できていた /system/fonts 以下のファイルが、
push 後にやはりできなくなる、というような状態です。

この現象からは、fonts 以下への配置をトリガーとする、もしくは監視している何かがいる、
もしくは adb/adbd あたりの何かしらの動作しか想像が付かないのですが(加えて、再起動時に削除する動きも)、
そのような実体をキーワードも知らないため悩んでいます。何かキーワードでも分かればぐぐれるかなと思っているのですが…

232 名前:デフォルトの名無しさん mailto:sage [2012/09/11(火) 23:55:29.57 ]
adb shellからmountコマンドでremountを行ってください
エラーメッセージが出たらここに貼ってね

233 名前:デフォルトの名無しさん [2012/09/12(水) 00:28:43.23 ]
Activityのライフサイクルで質問があります。
ライフサイクルの図
y-anz-m.blogspot.jp/2009/12/android-activity.html
などを見てると、onPause()またはonStop()のときに、他のアプリがメモリを要求すると自アプリが終了してonCreate()が呼ばれる
と書いてあります。onSaveInstanceState()や強制終了時にダイアログを出していた場合などのテストを行いたいので、
簡単に再現させたいのですが、どのようにすればいいでしょうか?




234 名前:デフォルトの名無しさん [2012/09/12(水) 00:31:28.01 ]
>>233
3Dゲームをやる
かなり重たいウェブサイトを開く

RAM512の機種ならこれでいける


235 名前:デフォルトの名無しさん mailto:sage [2012/09/12(水) 00:38:10.43 ]
>>233
画面回転させるだけで出るよ

236 名前:デフォルトの名無しさん [2012/09/12(水) 01:01:35.43 ]
>>234,235
ありがとう。無事に再現出来ました。


237 名前:227 mailto:sage [2012/09/12(水) 09:18:47.01 ]
>>232
ありがとうございます。同じく "Read-only file system" で失敗します。

# 1. 先に、push 前は問題なく mount 出来る状態であることを確認(/dev/block/nandd=元の/system)
$ adb shell
root@android:/ # mount -o rw,remount /dev/block/nandd /system
mount -o rw,remount /dev/block/nandd /system # ※エコーバックです。省略していますがマウント出来ています
root@android:/ # exit
exit

# 2. 再現のためフォントの push を行ってみる。一度目は成功するが、
$ adb push /path/to/aquafont.ttf /system/fonts
3949 KB/s (5615208 bytes in 1.388s)

# 3. 二度目は「Read-only file system」で失敗。
$ adb push /path/to/cinecaption227.TTF /system/fonts

failed to copy '/path/to/cinecaption227.TTF' to '/system/fonts/cinecaption227.TTF': Read-only file system

# 4. この状態で、先に成功した mount をもう一度行ってみると、"Read-only file system" で失敗する
$ adb shell
root@android:/ # mount -o rw,remount /dev/block/nandd /system
mount -o rw,remount /dev/block/nandd /system
mount: Read-only file system
255|root@android:/ #

…というような状態です。


238 名前:デフォルトの名無しさん mailto:sage [2012/09/12(水) 10:19:56.83 ]
その辺はほんと端末次第としか…
カスタムロムとかあるんだったら、そちらのsystem配下を置き換えた方が速いかも

239 名前:デフォルトの名無しさん mailto:sage [2012/09/12(水) 11:52:44.52 ]
通話内容の録音をしようとしたのですがうまくいきません。

TelephonyManager.CALL_STATE_OFFHOOK で

recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL);
recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
String filePath = Environment.getExternalStorageDirectory() + "/external_sd/phone.mp4";
recorder.setOutputFile(filePath);
recorder.prepare();
recorder.start();

としたのですが、受話口から音が聞こえません。
その状態でスピーカーホンにすると聞こえたのですが、その部分は無音で録音されていました。

普通に通話できる状態で録音するにはどうすれば良いのでしょうか。

240 名前:デフォルトの名無しさん mailto:sage [2012/09/12(水) 12:36:27.13 ]
SurfaceViewで重ね表示してると、表示されないページができてしまうんですが仕様ですか?

(例)
Canvas canvas = surfaceView.getHolder().lockCanvas();
1枚目描画
surfaceView.getHolder().unlockCanvasAndPost(canvas);



Canvas canvas = surfaceView.getHolder().lockCanvas();
2枚目描画
surfaceView.getHolder().unlockCanvasAndPost(canvas);



Canvas canvas = surfaceView.getHolder().lockCanvas();
3枚目描画
surfaceView.getHolder().unlockCanvasAndPost(canvas);

これだと2枚目が消えてしまいます
なぜか1枚目は消えません
わけがわかりません

241 名前:デフォルトの名無しさん mailto:sage [2012/09/12(水) 14:05:45.36 ]
前もあったけど、何でSurfaceViewを複数作ろうとするのだろうか

242 名前:デフォルトの名無しさん mailto:sage [2012/09/12(水) 14:38:31.60 ]
画像を表示するプログラムを作っているんですが、
ディレクトリ検索中に「/dev/ptmx」をBitmapFactory.decodeFileで
読み込んだタイミングでAndroid端末がフリーズしてしまいます。

原因自体わかっていないのですが、decodeFile前になんらかの
判定を入れるなどしてフリーズを回避することは可能でしょうか?

分かる方がいらっしゃいましたら、回答をいただけると助かります。

243 名前:デフォルトの名無しさん mailto:sage [2012/09/12(水) 14:50:23.50 ]
/dev を検索対象から外す

/dev やら /proc あたりは闇雲にアクセスしちゃダメだと思う。



244 名前:242 mailto:sage [2012/09/12(水) 15:04:01.93 ]
>>243
回答ありがとうございます。
やはりファイル名(ディレクトリ名)で判定して、decodeFile前に除外するしか無いですかね…。

現状は、decodeFileの結果(MIMEタイプ)が対応していない画像だったら
無視してるんですが、「/dev/ptmx」を読み込むと例外すら発生せずに
フリーズしてしまうため困っていました。

もう少し調べて他に方法が見つからなかったら、ご忠告通り、
危なそうなディレクトリは検索対象から省くことにします。

245 名前:デフォルトの名無しさん mailto:sage [2012/09/12(水) 15:25:43.13 ]
普通は画像ファイルだったらdecodeする。
あの辺りって、永久に読み込み終わらないファイルとかあったんじゃ…

246 名前:デフォルトの名無しさん mailto:sage [2012/09/12(水) 16:12:47.02 ]
implements Callbackって何のために実装するんですか?
実装しないサンプルプログラムもあるし、どれが正しいのか分かりません。
なんでこんなに難解キャンディーズなんでしょうか?


247 名前:デフォルトの名無しさん mailto:sage [2012/09/12(水) 16:28:36.55 ]
Callbackを必要とするメソッドに渡すためだろ
そのメソッド使わないなら継承しなくていいし、使う場合でも無名クラスですますこともできる
どちらにしろAndroidの問題じゃなくてJavaの問題

248 名前:デフォルトの名無しさん mailto:sage [2012/09/12(水) 19:30:27.34 ]
>>245
zeroとかrandomとかな。
>>244
せめてexternalStorage以下を対象にしろよ。
悪意のあるプログラムと判断されてもおかしくないぞ

249 名前:デフォルトの名無しさん mailto:sage [2012/09/12(水) 19:57:23.11 ]
このファイル何だろう?とcatコマンドを撃って部屋中にビープ音が鳴り響いた懐かしい思い出

250 名前:デフォルトの名無しさん [2012/09/12(水) 23:41:18.55 ]
ScrollViewがスクロール中か否かを判断するにはどうしたら良いでしょうか?
離したあともスクロールするのでOnTouchEventは使えませんでした

251 名前:デフォルトの名無しさん mailto:sage [2012/09/13(木) 00:03:01.24 ]
>>250
OnScrollListener

252 名前:デフォルトの名無しさん mailto:sage [2012/09/13(木) 00:03:10.19 ]
ScrollXとかを比較するしかなかった気がする

253 名前:デフォルトの名無しさん mailto:sage [2012/09/13(木) 00:22:20.47 ]
drawBitmapで500個くらいを動かしているのですが
速度が遅くてしかたありません
どうしたらいいですか?
スプライトとかないんですか?



254 名前:デフォルトの名無しさん mailto:sage [2012/09/13(木) 00:29:53.31 ]
かなり大雑把な質問だな

255 名前:デフォルトの名無しさん mailto:sage [2012/09/13(木) 00:56:24.39 ]
遅い原因はスプライト処理にすれば解決するものなの?

256 名前:デフォルトの名無しさん mailto:sage [2012/09/13(木) 01:26:55.25 ]
BitmapとDrawableの違いがいまいちわからない・・・

257 名前:デフォルトの名無しさん [2012/09/13(木) 01:30:57.38 ]
>>251
ListViewじゃないので使えませんでした

>>252
ScrollYを比較したらできました

258 名前:デフォルトの名無しさん mailto:sage [2012/09/13(木) 03:47:30.51 ]
質問です。

getPressure()関数で取得した数値を配列に入れて平均値をとりたいのですが、方法が分かりません。
getHistoricalPressure()関数を使えば取れるはずなのですが、上手くいかずじまいです。
どうすれば出来るでしょうか。

259 名前:デフォルトの名無しさん mailto:sage [2012/09/13(木) 05:01:44.89 ]
>>242
/から全部スキャンって馬鹿げてるから、ちゃんとexternalStorageとか確認してからスキャンするべき

>>246
class HogeActivity extends Activity implements View.OnClickListener とかのこと?
無名クラスだと余計なオブジェクトのインスタンスが1個増えるから、本当にパフォーマンスを気にする場合や
サンプルコード等でコード量を短く見せたい場合などに使われるね

>>253
速度を求めるならOpenGLでしょ。あとエミュで遅いとか言ってるんじゃないよな?

>>256
Drawableは状態を持つし、何を描画するかは派生クラスによって異なる。ShapeDrawableとかStateListDrawableとか
Bitmapはビットマップそのものであって「描画に使われるもの」か「描画される先」

>>258
1回のタッチイベントで複数のタッチデータ(位置と圧力)が取れることはあるが、
べつに過去のデータが取れてるわけじゃなくて前回のタッチイベントより後にハードウェアが検出したタッチデータが束ねられているだけ
あと、圧力を取れるかどうかは端末次第でもある

260 名前:デフォルトの名無しさん mailto:sage [2012/09/13(木) 05:18:34.31 ]
>>259
取得したデータが一つ一つ格納されている訳では無いのですね。
回答ありがとうございました。すっきりしました。

261 名前:デフォルトの名無しさん mailto:sage [2012/09/13(木) 09:14:44.23 ]
>>239
VOICE_DOWNLINKとかでもだめ?

262 名前:デフォルトの名無しさん mailto:sage [2012/09/13(木) 09:21:43.49 ]
通話を録音できるというアプリをみても
特定の端末では録音できません、みたいなこと書かれてたりするから、機種依存もあるんじゃないかな

263 名前:242 mailto:sage [2012/09/13(木) 12:09:48.26 ]
>>248 >>259
助言ありがとうございます。

一応補足しておきますと、Windowsのエクスプローラの様な画面を作ってました。
(下位ディレクトリ含めた全検索はさすがにしてません(汗))

何故移動可能ディレクトリに制限を付けなかったかというと、
アホな話ですが、実機を持っておらず、

「内部or外部ストレージ以外に画像ファイルっておけんのかな?」
「よく分かんねーから自由に移動できるようにすっかー」

という考えの末の仕様でした。



264 名前:デフォルトの名無しさん mailto:sage [2012/09/13(木) 16:20:46.45 ]
ゲームを作っているのですが、上手くできません。
ご教授お願いします。

メイン画面の開始ボタンを押す

画面遷移し、3秒間カウントダウンする(画面に3→2→1と表示)

ゲームスタート(具体的にはゲームで使うボタンが配置される)

としたいのですがカウントダウンが上手くいかず、
メイン画面の開始ボタンを押すと、そのままメイン画面で3秒間停止し(ボタンが押された状態のまま)ゲームスタートとなります。

今の方法が、初めにonCreateでレイアウトを作り、カウントダウンメソッドに作ったレイアウトを渡し、TextView,Thread.sleepを使い表示させようとしています。
(以下コード)
TextView tv = new TextView(this);
tv.setText("3");
/* TextView設定は省略 */
rl.addView(tv, tv_lp);
try {
Thread.sleep(1000);
tv.setText("2");
Thread.sleep(1000);
tv.setText("1");
Thread.sleep(1000);
rl.removeView(tv);
} catch (InterruptedException e) {
e.printStackTrace();
}

System.currentTimeMillisとif文を組み合わせてTextViewを変更していく方法もしたのですが、これも上記と同じ結果になってしまいました。
自分でカウントダウンするアニメーションを作って読み込ませるしかできないのでしょうか

265 名前:デフォルトの名無しさん mailto:sage [2012/09/13(木) 16:50:46.85 ]
>>264
別スレッド作って、そっちでやらないと更新されない

266 名前:デフォルトの名無しさん mailto:sage [2012/09/13(木) 17:00:02.96 ]
プレイストアの販売アカウント設定ですが、個人で行う場合の事業者名、明細に表示する名前は自分の好きなもので構わないのでしょうか。
また売上金を受け取る口座は、これまで支払いで使っていたクレジット番号がそのまま使われるのでしょうか?

267 名前:デフォルトの名無しさん mailto:sage [2012/09/13(木) 17:32:15.65 ]
>>264
タイマーで更新するのが簡単なんじゃない?
UIの操作はメインスレッド以外だと、強制終了する場合が
あるので。

268 名前:デフォルトの名無しさん [2012/09/13(木) 17:36:38.31 ]
>>264
(new Thread(){
public void run(){

スリープ処理

UIスレッドにpostしてtvにセット

スリープ処理



}}).start();
で出来ない?

269 名前:デフォルトの名無しさん mailto:sage [2012/09/13(木) 21:00:02.60 ]
>>265
>>267
>>268
返信ありがとうございます。
>>267の方法でいけました。

ご協力ありがとうございました。



270 名前:デフォルトの名無しさん mailto:sage [2012/09/13(木) 22:19:50.57 ]
>>264
この系統の質問って定期的に出てるなぁ
テンプレでも作って入れたら良い気がする

264はどうしてできなかったのか、どうしてできるようになったのか
ちゃんと理解はしたんよね?

271 名前:デフォルトの名無しさん [2012/09/13(木) 23:51:33.36 ]
派遣でアンドロイドのプログラム関連の仕事してる人居る?
イクリプスでJavaいじって3dのカブトムシ表示させるぐらいしか出来ないんだけど
俺でも働ける?

272 名前:デフォルトの名無しさん mailto:sage [2012/09/14(金) 00:08:10.45 ]
>>271
派遣は厳しいかもね。正社員なら大丈夫かも。

273 名前:デフォルトの名無しさん mailto:sage [2012/09/14(金) 00:22:29.07 ]
Canvas.save()の意味が分かりません。
あってもなくても何も変化を感じないのですが、何を保存しているのでしょうか?
イミフ



274 名前:デフォルトの名無しさん [2012/09/14(金) 00:49:00.38 ]
canvasを回転させるときに使ってんのをみたことある

275 名前:デフォルトの名無しさん mailto:sage [2012/09/14(金) 01:04:22.28 ]
>>271
未経験歓迎のとこなら働ける。
とりあえず、自分で作ったアプリをgoogleplayに登録するか
Webサーバにアップして見てもらうっていうのはどうだろう?
自分はそうしてiPhoneアプリの仕事を派遣でやってるw


276 名前:デフォルトの名無しさん mailto:sage [2012/09/14(金) 01:20:47.93 ]
正社員募集、未経験者歓迎のところに応募して
気がついたら経験者として派遣されてたりしないようにな…

277 名前:デフォルトの名無しさん mailto:sage [2012/09/14(金) 09:32:32.74 ]
ダイアログが開いた時に以下の方法でソフトキーボードを表示させています。

EditText editText = (EditText)update.findViewById(R.id.Start);
InputMethodManager inputMethodManager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.showSoftInput(editText, 0);

この時、数値入力モードで開くにはどうすればよいでしょうか。


278 名前:デフォルトの名無しさん mailto:sage [2012/09/14(金) 09:36:17.08 ]
>>277
そのView に android:inputType を指定する

279 名前:デフォルトの名無しさん mailto:sage [2012/09/14(金) 09:42:54.96 ]
>>278
すでに設定してあります。

<EditText
android:id="@+id/Start"
android:layout_width="80dp"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_marginLeft="10dp"
android:layout_weight="1"
android:ems="10"
android:gravity="center_vertical|right"
android:imeOptions="actionNext"
android:inputType="number"
android:maxLength="5"
android:selectAllOnFocus="true"
android:singleLine="true"
android:text="@string/defaultFrom" />


280 名前:デフォルトの名無しさん mailto:sage [2012/09/14(金) 09:50:38.47 ]
こいつイラっとすんな

281 名前:デフォルトの名無しさん mailto:sage [2012/09/14(金) 10:16:42.49 ]
んじゃIME側が対応してないんだろ

282 名前:デフォルトの名無しさん mailto:sage [2012/09/14(金) 10:44:52.40 ]
>>280
気分を害されたのでしたらごめんなさい。

>>281
設定/表示方法自体はこれで合っていると言うことですね。
Android標準、Google日本語入力、ATOK で試しましたが希望の状態には変わりませんでした。

283 名前:デフォルトの名無しさん mailto:sage [2012/09/14(金) 15:16:07.56 ]
エミュの実行速度が異常に遅いんですけど、設定とかあるんでつか?
PCは結構早いのを使っています。



284 名前:デフォルトの名無しさん mailto:sage [2012/09/14(金) 16:54:13.73 ]
>>283
現時点ではPC性能が良くても重い。どう設定してもあんまり変わらん。
安い実機買った方がいいよ。

285 名前:デフォルトの名無しさん mailto:sage [2012/09/14(金) 19:44:37.77 ]
誰か>>273答えてやれよw
ほら出番だぞ>>222
google先生では答えられない崇高な回答みせてやれよ


286 名前:デフォルトの名無しさん mailto:sage [2012/09/14(金) 19:49:55.90 ]
>>222の華麗な講義が聴けると聞いて来ましたワクワク

287 名前:デフォルトの名無しさん mailto:sage [2012/09/14(金) 20:03:40.08 ]
>>285
save->rotate->文字描画->restore
で斜めに文字描いたりじゃなかったっけ?

288 名前:デフォルトの名無しさん mailto:sage [2012/09/14(金) 20:25:09.23 ]
>>287
うん、まあそうなんだけど、
斜めの文字書く「だけ」ならrestoreする必要ないじゃん?
それだとsaveの何が便利なのか分からないじゃん?
そこを説明してあげないと、イミフなまま終わっちゃうじゃん?

でも俺だと
「STGのボスと、それに付随する破壊可能なパーツを、
 別々に描画するときに便利ですよ」
くらいしか説明出来ない訳ですよ。

だから>>222の華麗な講義に期待しているのです。



289 名前:デフォルトの名無しさん [2012/09/14(金) 20:43:02.98 ]
実機使え

290 名前:デフォルトの名無しさん mailto:sage [2012/09/14(金) 20:48:39.02 ]
Mp = MediaPlayer.create(this,R.raw.test);
Mp.setLooping(false);
Mp.seekTo(0);
Mp.start();
このような感じでサウンド(音声)を鳴らしはじめて、口パクのアニメをするものを作っています。
ところが端末の機種やサウンドのフォーマットの違いで微妙に開始が遅れたりする場合があります。
確実な再生のスタートを取得できるような仕組みはあるのでしょうか?
音ゲーのような物も存在するようなので、方法はあると思うのですが…。

291 名前:デフォルトの名無しさん mailto:sage [2012/09/14(金) 21:12:50.44 ]
>>290
mp.getCurrentPosition()はどう?
これも遅延があるっぽいけど、start()で時間計測を開始するよりかは正確なんじゃなかろうか。

292 名前:デフォルトの名無しさん mailto:sage [2012/09/15(土) 02:58:52.35 ]
>>290
サウンドのprepare が終わるのを確認したり、progressが変更するのを確認したりしてからアニメをそれに合わせて同期

293 名前:デフォルトの名無しさん mailto:sage [2012/09/15(土) 02:59:30.34 ]
ていうかオーディオの遅延の管理ができるのは2.2か2.3からで、それもNDK使用が前提だった気がする



294 名前:デフォルトの名無しさん mailto:sage [2012/09/15(土) 05:58:17.75 ]
起動おせーとか思ってたら
100Gの仮想ディスクをせっせと
作ってたことならある

295 名前:デフォルトの名無しさん mailto:sage [2012/09/15(土) 13:53:37.86 ]
音楽再生アプリを作ろうと思ってるんですが
音楽再生について詳しく解説した参考書はありますか?

296 名前:デフォルトの名無しさん mailto:sage [2012/09/15(土) 14:33:00.07 ]
>>295
API使うなら数行だから解説も何もないだろう。コーデックとかの話?

297 名前:デフォルトの名無しさん mailto:sage [2012/09/15(土) 15:13:47.44 ]
>>295
先週、一週間かけて作ったばかりだけど
つまずく度にぐぐったら何とかなったよ

この↓サイトがソースコード付きで解説してくれているのでお薦め
www.atmarkit.co.jp/fsmart/articles/android30/01.html

298 名前:デフォルトの名無しさん mailto:sage [2012/09/15(土) 17:28:25.78 ]
書籍を買いましたが役に立つ情報が全然ありません。
全部読んだ後でも返本できますか?

299 名前:デフォルトの名無しさん mailto:sage [2012/09/15(土) 17:48:46.69 ]
はい

300 名前:デフォルトの名無しさん mailto:sage [2012/09/15(土) 17:50:57.24 ]
   ∩___∩         |
   | ノ\     ヽ        |
  /  ●゛  ● |        |
  | ∪  ( _●_) ミ       j
 彡、   |∪|   |        J
/     ∩ノ ⊃  ヽ
(  \ / _ノ |  |
.\ “  /__|  |
  \ /___ /

301 名前:デフォルトの名無しさん mailto:sage [2012/09/15(土) 18:02:51.69 ]
setTheme(android.R.style.Theme_Black_NoTitleBar);の反対がわかりまてん
教えてくだちゃい

302 名前:デフォルトの名無しさん [2012/09/15(土) 18:26:28.72 ]
>>301
反対とは?

303 名前:デフォルトの名無しさん mailto:sage [2012/09/15(土) 18:45:17.41 ]
getTheme



304 名前:デフォルトの名無しさん mailto:sage [2012/09/15(土) 21:11:40.12 ]
ライブ壁紙を作っています
横480ピクセルでホームが5面と仮定して横2400ピクセルの画像を onOffsetChanged() に引っ掛けて
一部分ずつ表示させるという処理をしたいのですが
onOffsetChanged()の最初のパラメータ(xOffset)から、その時表示すべき画像の部分の始点x座標を
求めることはできないでしょうか

ホーム5面の場合、0.00/0.25/0.5/0.75/1.00の値が返ってくるので
単純に画像の幅 * xOffsetだとうまくいかないのです
また、端末かホームアプリによってはピクセル単位でのオフセット値がうまくとれない
ようです

305 名前:デフォルトの名無しさん mailto:sage [2012/09/15(土) 22:16:23.16 ]
ホームの最大幅は画面横サイズの2倍 480pxなら960px
2400pxを何もせずにonOffsetChangedに引っかけたら0〜960pxの範囲しか見えないんじゃない?
onOffsetChangedで返ってくる数値は
画面の左上がどこにあるのかっていう0〜-480pxのオフセットと0.0〜1.0の相対値だから
ここから移動範囲を0〜1920になるように調整してやってみたら?

306 名前:デフォルトの名無しさん mailto:sage [2012/09/15(土) 22:21:48.50 ]
最近の日本の端末はonoffsetchangedがそもそも動かない事が多いよ。

307 名前:デフォルトの名無しさん mailto:sage [2012/09/15(土) 22:51:14.79 ]
>>305
大きな画像自体はインスタンス内にBitmapで持ってて、onOffsetChange()でこの画像のどの
範囲を描画すべきかを計算、その範囲画像をCanvasに展開というような動きを考えてます
なるほど、xOffsetを画像の幅ではなく、左上の値域の幅ととらえればうまくいきそうですね
ありがとうございました

>>306
端末とホームアプリによってはonOffsetChanged()は入るのですが、パラメータが
バラバラですね
全部0返してくるのもあるのは参りました
この手のを作る場合、皆さん自力で移動量とか取ってるのでしょうかね

308 名前:デフォルトの名無しさん mailto:sage [2012/09/15(土) 23:44:33.31 ]
0が帰って来るものはoffsetとstepともう1つのやつを組み合わせれば行ける。組み合わせ方は自分でやってね。
ver2.3までは何かしら戻ってくる。0なら0が戻ってくる。特殊なやつは最初の設定画面のクリエイト時に端末を取得してpreferenceに保存しとけばいける。
1番厄介なのはさっきも言ったけどonoffsetchangedがそもそも呼ばれない端末。メソッド内に何を書こうが関係ない。俺は一回ジェスチャーディテクターで何とかしようとしたが出来なかった。もし対応策か回避策が出来たら教えてくれ

309 名前:デフォルトの名無しさん mailto:sage [2012/09/16(日) 01:59:12.66 ]
>>308
すげー努力家

310 名前:デフォルトの名無しさん [2012/09/16(日) 02:38:08.81 ]
パッケージの中身(srcとかgenとか)配布してるとこあったからダウソして見たんだが
これらをそのままeclipseにインポートする方法ってある?

新しくプロジェクトを作ってjavaファイルの中身を移植してその他もできるだけ復元してみたがエラーでてだめだった


311 名前:デフォルトの名無しさん mailto:sage [2012/09/16(日) 02:50:38.37 ]
>>310
.projectってファイルがあればインポートできるとおもうけど
ない場合は、自分でプロジェクト作ってでてるエラーみながら
修復だな


312 名前:311 mailto:sage [2012/09/16(日) 02:54:29.66 ]
念のため補足として
知ってると思うけど、.projectはファインダーでは
表示されません。
ターミナルで ls -laってやらないとみれない


313 名前:デフォルトの名無しさん mailto:sage [2012/09/16(日) 07:28:19.25 ]
>>304
0.0〜1.0 * (壁紙の幅- 画面幅) が実際のスクロール量じゃないの?



314 名前:デフォルトの名無しさん mailto:sage [2012/09/16(日) 10:26:15.85 ]
初心者な質問で申し訳ないのですが…
プロジェクトのBuild SDKをSDK4.0.3にして
Minimum Required SDKをAPI 8 Android 2.2したら
2.2の端末でそのアプリを利用できますか。

表示に関してvalues-v11とかでレベルごとに設定すればいけるのでしょうか。

315 名前:デフォルトの名無しさん mailto:sage [2012/09/16(日) 10:49:38.59 ]
AndroidでBitmapのPalletを操作する命令を探しているんですが見つかりません。
知りませんか??

316 名前:デフォルトの名無しさん mailto:sage [2012/09/16(日) 11:04:33.18 ]
>>314
うん。ビルド時のターゲットは高め、minSdkVersionは低めにしとけばいい。
APIレベルに関する問題はLintで警告が出る

317 名前:デフォルトの名無しさん mailto:sage [2012/09/16(日) 11:51:59.05 ]
>>315
Pallet?

318 名前:デフォルトの名無しさん mailto:sage [2012/09/16(日) 12:17:03.08 ]
androidプログラムの初心者です。
最近勉強を始めているのですが質問です。
javaでプログラムを作ったことがあるのですが
そのプログラムをandroidでも動かしたいと思ったら
そのjavaのプログラムのソースコードを
androidのjavaファイルに流用したらいいのでしょうか?

319 名前:デフォルトの名無しさん mailto:sage [2012/09/16(日) 12:20:32.79 ]
>>315
developer.android.com/reference/android/graphics/Bitmap.Config.html
にはインデックスカラーのピクセルフォーマットは存在しない。
デコード時にインデックス=>RGBの変換が行われてる

320 名前:デフォルトの名無しさん mailto:sage [2012/09/16(日) 12:21:14.50 ]
>>318
そのプログラムで使ってるJava APIライブラリの範囲がAndroidと同じなら、
適当に組み込んで適当に画面から呼び出せるようにすればいいよ

たいていそうなってないけど

321 名前:デフォルトの名無しさん mailto:sage [2012/09/16(日) 12:30:23.95 ]
>>318
androidでの開発はCネイティブでの開発より面倒くさい
javaだからって幻想抱いたら駄目だよ
MAC+Objective-Cなんて癖のある言語のiOSのが何倍も楽と言われているくらいだぜ?
開発の仕事でもandroidだけは経験者必須って条件での募集が多い

322 名前:デフォルトの名無しさん mailto:sage [2012/09/16(日) 12:34:42.80 ]
お前C使ったことないだろ

323 名前:デフォルトの名無しさん mailto:sage [2012/09/16(日) 13:23:20.35 ]
Cと比較するとアレだけど
Androidの開発環境が糞で、Javaが時代錯誤の化石言語だってのは同意



324 名前:デフォルトの名無しさん mailto:sage [2012/09/16(日) 13:31:22.40 ]
>>318
モデルとかnetまわりは割と使い回してる。もともとそういう設計にしてるからだけど。

325 名前:デフォルトの名無しさん mailto:sage [2012/09/16(日) 14:50:51.27 ]
ロジックベースではほぼそのまま流用できるけど
特定のフレームワークに依存してたりするとめんどい
後、標準APIレベルでも微妙に挙動が違ったりはする

326 名前:デフォルトの名無しさん mailto:sage [2012/09/16(日) 15:12:17.17 ]
おれAndroidとiOSとWPと全部開発やってるけど、Androidが一番安心できるわ

今から解像度変更に対応させられるiOSやあちこち出来損ないなWP7よりイイ
もちろんゲームやりたければ最初からネイティブコードでもやれる

Javaはマルチスレッド対応がしっかりしている
Javaはthrows宣言のないメソッドから出る例外が制限されている
Androidは解像度やスクリーンサイズをサポートする仕組みが充実してる

不満点はActivityManagerまわりがブラックボックスすぎることかな
現在のタスクスタックの状態くらい参照したい


依存ライブラリが違うのに既存コードを流用とかアホなことさえ考えなければ問題ないよ

327 名前:デフォルトの名無しさん mailto:sage [2012/09/16(日) 17:05:06.32 ]
AndroidでのSQLiteの使い方がイマイチわかりません。
オススメの参考書かサイトを教えていただけませんか?

328 名前:デフォルトの名無しさん mailto:sage [2012/09/16(日) 17:12:14.58 ]
エミュでCPU使用率が上がるアプリは
実機での消費電力が高いんですか?
また消費電力は少なめを考えたプログラムを作るべきなんでしょうか?
教えてくだちゃい

329 名前:デフォルトの名無しさん mailto:sage [2012/09/16(日) 17:14:44.17 ]
>>327
jdbcを使っても動くんだから無理にAndroidの基本機能で動かす必要は無い。
無能ならば無能なりに対処すれば良い。

330 名前:デフォルトの名無しさん mailto:sage [2012/09/16(日) 17:17:40.86 ]
>>328
>また消費電力は少なめを考えたプログラムを作るべきなんでしょうか?
そんなもん自分が何を作るのか次第だろう。
自分が考えるべきことをいちいち他人に指示してもらおうとする精神疾患は、
ゆとり教育のたまものなのか?

331 名前:デフォルトの名無しさん mailto:sage [2012/09/16(日) 17:25:29.24 ]
これからクワッドコアが主流になるかもしれないからエミュの負荷はあてにならないだぬ

332 名前:デフォルトの名無しさん mailto:sage [2012/09/16(日) 17:42:45.83 ]
JDBC使う方が情報も実績も少ないと思うが・・・

333 名前:デフォルトの名無しさん mailto:sage [2012/09/16(日) 20:54:07.12 ]
ListViewでfastScrollEnabledを設定した時に出てくる
太いつまみのバーを任意のデザインにしたい場合どうしたらいいでしょうか?
通常のスクロールバーは変更するオプションがあるみたいですが・・・



334 名前:デフォルトの名無しさん [2012/09/16(日) 20:54:20.76 ]
>>311
移植して文字コード狂ってるとこあったからそこ修復したがまだ少しエラーが残ってたから1つ1つ潰していったら動いた!
>>312←これはlinuxかなんかかな?とりあえず親切にありがとう


335 名前:デフォルトの名無しさん mailto:sage [2012/09/16(日) 21:03:02.54 ]
>>327
接続、切断、クエリ投げ以外はSQLiteやSQL全般の知識が参考になるかと

336 名前:デフォルトの名無しさん mailto:sage [2012/09/16(日) 22:19:20.14 ]
>AndroidでのSQLiteの使い方がイマイチわかりません。
なんだからAndroid以外の環境なら分かっていると言うことだ。
だったら素直にjdbcを使えばいいだけの話だろう。
SQLiteのソースを持ってきてndkから呼び出してもいいし、
好きなようにすればいい。

337 名前:デフォルトの名無しさん mailto:sage [2012/09/16(日) 22:20:11.18 ]
質問させてください
onDestroyをオーバライドしてファイルに保存する処理を書いたのですがホームボタンを押したときにはonDestroyは実行されずタスクが終了しても保存されていませんでした
馬鹿な質問だと思いますがアプリ終了時に自動的に保存するにはどうすれば良いでしょうか?
よろしくお願いします。

338 名前:デフォルトの名無しさん mailto:sage [2012/09/16(日) 22:35:41.47 ]
そもそもホームボタンを押すこととアプリ終了に何の関係があるの?

339 名前:デフォルトの名無しさん mailto:sage [2012/09/16(日) 23:14:55.67 ]
jdbc薦めるなよ…

340 名前:デフォルトの名無しさん mailto:sage [2012/09/17(月) 00:10:15.28 ]
>>337
ホームボタンを押したときに呼び出される
public void onStop()を使えばいいと思います。

341 名前:デフォルトの名無しさん mailto:sage [2012/09/17(月) 00:21:27.44 ]
ホームボタンを押した時はホーム画面が最前面に来るだけ、つまりホーム画面の裏に君のアプリがいる。
メモリを要求されてアプリが破棄されるか、コード内でfinish呼ぶか、タスクキラーに明示的に殺されないとdestroyは呼ばれない。
タスクキラーもガベージを呼ぶだけのものがあったりするし、他人の作ったタスクキラーを過信するのは禁物。

君の望むやり方は2つ。
@onstop、onpauseを使う
アプリの挙動を理解すべし
Aディスパッチキーイベント(だったかな?)を使う。
ホームボタンを押された時の挙動を変える
※google非推奨
俺は@をお勧めするよ。つまり基礎をやり直してねって事。

342 名前:デフォルトの名無しさん mailto:sage [2012/09/17(月) 00:39:38.87 ]
プリファレンスの値だけじゃなくてKeyだけ取得する方法ってあるの?

343 名前:デフォルトの名無しさん mailto:sage [2012/09/17(月) 00:52:47.68 ]
public void onKey()を使えばいいと思います。



344 名前:342 [2012/09/17(月) 01:16:58.97 ]
>>343
それは私へのレス?
できるのですかそんなことが・・・

345 名前:311 mailto:sage [2012/09/17(月) 01:25:13.73 ]
>>343
たぶん、キー違いかww


346 名前:デフォルトの名無しさん mailto:sage [2012/09/17(月) 06:20:07.51 ]
SharedPreferences.getAll でいい

347 名前:デフォルトの名無しさん mailto:sage [2012/09/17(月) 13:43:35.44 ]
Homeキーはキーイベント拾えないよ

348 名前:デフォルトの名無しさん mailto:sage [2012/09/17(月) 17:27:25.03 ]
特殊な方法をやれば拾えるよ。

349 名前:デフォルトの名無しさん mailto:sage [2012/09/17(月) 18:21:30.05 ]
特殊な方法を教えて下さい

350 名前:デフォルトの名無しさん mailto:sage [2012/09/17(月) 20:04:36.51 ]
ホームボタン押した時にデータを保存するだけならonpause()、onstop()、onuserleavehint()、onuserinteraction()、onsaveinstacestate()

y-anz-m.blogspot.jp/2010/10/androidhome.html?m=1

それからキーイベントの取得はonattachedtowindow()をオーバーライドしてからやれば出来る

stackoverflow.com/questions/3898876/how-to-disable-the-home-key

昨日も言ったけどgoogleはやらないでくれって公言してるし、マルウェアと勘違いされる事もあるらしいから、やっぱりキーイベントはやめた方が良いよ。
素直にpauseかstopで良いじゃん。しつこいよ

351 名前:デフォルトの名無しさん mailto:sage [2012/09/17(月) 20:14:05.67 ]
TimerのscheduleAtFixedRate()を使って繰り返し処理をしたいのですが、
端末がスリープモードになった時、指定した時間ごとに処理が実行されません。
指定した時間より後に複数回分の処理が纏めて実行されます。(時間のかかる処理ではないです。)

スクリーンを常時ONにすればキチンと動作するのですが、
スリープモードでも同様に動かす方法はないでしょうか?

timer = new Timer(true);
timer.scheduleAtFixedRate(new TimerTask() {
public run() {

// 繰り返し処理

}
}, 0, 5000);

352 名前:デフォルトの名無しさん mailto:sage [2012/09/17(月) 20:29:35.38 ]
>>351
にわかなので私の作った方法が合ってってのか分からないけど

タイマーをサービスで動かすってのはいかが?

メインアクティビティとインテントの応報で
実装がややこしくなるのが難点なんですが・・・

353 名前:デフォルトの名無しさん mailto:sage [2012/09/17(月) 21:05:21.98 ]
質問させてください
techbooster.org/android/mashup/13270/
このサイト様を参考にさせてもらいながら進めていったのですが

DropboxAPIクラスのメゾットの利用方法がわかりません...

サイト様では FileActionMenuActivity.java を編集するとなっているのですが
新規でプロジェクトを立ち上げた場合ではどの部分にあたるのでしょう?



354 名前:デフォルトの名無しさん mailto:sage [2012/09/17(月) 21:48:34.94 ]
>>350
それらはHomeキーが押されたとき以外も呼ばれるからHomeキーが押されたときにしか処理したくない処理を実装するのには不向き

355 名前:デフォルトの名無しさん mailto:sage [2012/09/17(月) 21:51:17.28 ]
>>351
・Wakelockを使ってスリープさせないようにする
・AlarmManagerを使ってスリープ中でもイベントを起こすようにする

タイマーの間隔や継続時間等で適当な方をどうぞ

356 名前:デフォルトの名無しさん mailto:sage [2012/09/17(月) 22:30:00.16 ]
なんか目的と手段がごっちゃになってる気がするけど…

357 名前:デフォルトの名無しさん mailto:sage [2012/09/17(月) 22:47:51.46 ]
>>354
バックキーならセーブ出来たけどホームキーではセーブ出来なかったから両方ともセーブ出来るようにしたいんだろ?pauseとstopの何がダメなの?

358 名前:311 mailto:sage [2012/09/17(月) 22:51:13.84 ]
>>349

ホームキーのハンドリング
ぐぐったら普通にでてきたけどこれでいい?

y-anz-m.blogspot.jp/2010/10/androidhome.html


359 名前:デフォルトの名無しさん [2012/09/17(月) 23:29:41.04 ]
&gt;
↑こういうエスケープ?された文字の戻し方を教えて下さい

360 名前:デフォルトの名無しさん mailto:sage [2012/09/17(月) 23:32:31.77 ]
unescapeurl とか・・・

361 名前:デフォルトの名無しさん mailto:sage [2012/09/17(月) 23:48:42.30 ]
何が聞きたいの?
エスケープシーケンス?
unicode?
ヒント少な過ぎて、さっぱり分からん

362 名前:311 mailto:sage [2012/09/18(火) 00:03:06.64 ]
>>361
おれにはわかるぞ。
>>359のいいたいことが・・・

たぶんHTMLデコードしたいんじゃないか?ww
「>」>「>」
こう変換するAPIをさがしてるのだろう。


363 名前:311 mailto:sage [2012/09/18(火) 00:03:53.34 ]
>>362
あ、エンコードされてしまったww




364 名前:デフォルトの名無しさん mailto:sage [2012/09/18(火) 00:13:14.32 ]
Html.fromHtml( getString(〜))
これじゃだめなの?

365 名前:デフォルトの名無しさん mailto:sage [2012/09/18(火) 00:59:40.09 ]
自分だったら、明示的に保存するのはonBackPressedでやって、
それ以外はonSaveInstanceStateで一時的に退避してonCreateで復帰させるかな

onPauseやonStopで保存するってことはonResumeやonStartで
保存したデータ読み込むんだろうけど、ちょっと無駄が多い気がする

366 名前:デフォルトの名無しさん mailto:sage [2012/09/18(火) 16:24:08.32 ]
Androisは2枚のcanvasが乱ダムに表示されるのでclearがないと不便なんですが
どう構築すればいいんですか?canvasのレイヤを指定する方法が見つかりません

367 名前:デフォルトの名無しさん mailto:sage [2012/09/18(火) 16:30:48.65 ]
canvasとか使い捨てでいいじゃん

368 名前:デフォルトの名無しさん [2012/09/18(火) 16:48:01.79 ]
>>360-364

>>362さんのいうようにしたいんです。>>364で出来ますか?

20時くらいに家に帰るのでそれまで確認出来ません

369 名前:デフォルトの名無しさん mailto:sage [2012/09/18(火) 17:09:07.19 ]
じゃあ帰って確認しろ

370 名前:351 mailto:sage [2012/09/18(火) 19:42:02.29 ]
>>352,355
WakeLockを使って思うような挙動になるのを確認しました。
ただバッテリーの消費が気になるので、AlarmManagerやServiceも試してみようと思います。
ありがとうございました。

371 名前:デフォルトの名無しさん mailto:sage [2012/09/18(火) 23:30:56.62 ]
外部jarをlibs配下にコピーしてAndroid Dependenciesにも表示されているのですが
そのjarがAPKに組み込まれず実行時にNoClassDefFoundErrorになってしまいます。
SDKのverは20.0.3です

どうすれば参照しているjarをAPKに組みこめるのでしょうか?

372 名前:デフォルトの名無しさん mailto:sage [2012/09/19(水) 00:46:26.59 ]
>>371
proguard有効にしてないよな?

373 名前:デフォルトの名無しさん mailto:sage [2012/09/19(水) 01:52:22.39 ]
ヒントが少なくて分からん。
android jar noclassdeffounderror
でググってみ。何パターンかの問題とその解決法が出てくるよ



374 名前:371 mailto:sage [2012/09/19(水) 02:51:07.40 ]
eclipse4.2でビルドしています。
対象のプロジェクトから外部のjarファイルを参照しており
Eclipseから実行/デバッグした時にこのjarファイルがパッケージに含まれずに
エミュレータ上で対象アプリを起動したときにNoClassDefFoundErrorになります。
検索で見つかったことは一通り試しているのですがどうしてもパッケージに含まれないままです。

>>372
proguardは有効にしていないです

375 名前:デフォルトの名無しさん mailto:sage [2012/09/19(水) 03:04:33.90 ]
質問です。

RelativeLayoutが使えるバージョンとかって決まっているのでしょうか?
android1.6で使おうとすると、ソースが見つかりませんでした。のエラーが出ます。

ちなみに同じ事をLinearLayoutでやろうとするとうまくいきます。


376 名前:311 mailto:sage [2012/09/19(水) 04:26:46.67 ]
>>374
eclipse終了させてターミナルから-cleanオプションつけて起動すると
うまくいくことがある。

eclipseのインストールフォルダで
./eclipse -clean

あとは、F5キーでプロジェクト更新したりとか
プロジェクトのクリーンを実行したりくらいかな


377 名前:デフォルトの名無しさん [2012/09/19(水) 05:15:56.79 ]
初歩的な質問で悪いんだが
画面下に
ボタンを横に4つ2行計8個
xml使わずに並べるにはどうしたらいい?

378 名前:デフォルトの名無しさん mailto:sage [2012/09/19(水) 05:52:37.59 ]
>>374
Java Build PathのOrder and Exportでチェック付いてる?

379 名前:デフォルトの名無しさん mailto:sage [2012/09/19(水) 08:28:11.18 ]
>>378
Android Dependenciesに含まれている場合はそれは不要のはず

どうしても解決しないならlibsに入れないで、ビルドパスに追加した後
>>378の設定やってもいけることはいける

380 名前:デフォルトの名無しさん mailto:sage [2012/09/19(水) 08:43:17.36 ]
>>377
xmlで組むのと同じことをJavaのコードでやればいい

381 名前:デフォルトの名無しさん mailto:sage [2012/09/19(水) 08:58:37.29 ]
>>377
普通にLineraLayoutをnew して Activity#setContentView に渡す
そのLLの中に好きなようにView階層を組んでいく

setLayoutParams でぐぐれば例はいくらでも出てくる

382 名前:デフォルトの名無しさん mailto:sage [2012/09/19(水) 14:53:36.40 ]
実機でも遅い気がするんですが仕様ですか?
でもグリグリ3D動かしてるゲームとありますよね?
Android−Javaでどうやってあそこまでできるんでしょうか?
教えてくだたい。

383 名前:デフォルトの名無しさん mailto:sage [2012/09/19(水) 15:03:18.46 ]
>>382
OpenGLES使ってる?Javaでも割と速度出るよ
それでも目標速度にならない場合はNDK一択。
凝った3Dで頑張ってるゲームはフルNDK開発と見て、まず間違いないんじゃないかしら



384 名前:デフォルトの名無しさん mailto:sage [2012/09/19(水) 19:12:21.25 ]
文字列の入力とリストからの選択が出来る custom preference ってどこかに落ちてませんかね?

385 名前:デフォルトの名無しさん mailto:sage [2012/09/20(木) 00:20:15.41 ]
 android初心者なので、もしかすると根本が分かってないかもしれませんが、よろしいでしょうか。

 今現在、クラスAで画面を作り、LinearLayoutにクラスBで作ったTextViewを貼り付けているのですが、
このTextView(クラスAのobj_tv1、またはobj_tv2)がタッチされた時、クラスA側でobj_tv1、または
obj_tv2がタッチされた事を察知させる方法は何かありますでしょうか。
 ちなみに、今は以下のような感じで作っています。(主要な部分を抜粋して記載しています)

public class クラスA extends Activity{
  private クラスB obj_tv1;
  private クラスB obj_tv2;
  private LinearLayout obj_LL;
  public void onCreate(Bundle savedInstanceState) {
    obj_tv = new クラスB(this);
    obj_LL = (LinearLayout)findViewById(R.id.xxxx);
    obj_LL.addView(obj_tv1);
    obj_LL.addView(obj_tv2);
  }
}

class クラスB extends TextView implements View.OnTouchListener{
  public boolean onTouch(View v,MotionEvent event){
    タッチした時の処理
  }
}

 質問の内容で不明な部分などありましたら、ご指摘頂けると幸いです。
 なにぶんandroidが初めてなもので、見当違いな事を言っているかもしれませんが、どうぞよろしく
お願い致します。

386 名前:デフォルトの名無しさん [2012/09/20(木) 00:38:46.55 ]
質問があります。
イヤホンジャックにイヤホンが刺さっているかどうかを判断したいのですが、なにか方法ありますか?
AudioTrackで再生するときにスピーカーだったら再生せずに、イヤホンのときだけ再生させたいです。


387 名前:デフォルトの名無しさん mailto:sage [2012/09/20(木) 00:47:34.35 ]
>>385
static経由で無理矢理呼べるけど、クラス分けずに素直に匿名のリスナ登録するのじゃだめなのかな

388 名前:デフォルトの名無しさん mailto:sage [2012/09/20(木) 01:12:43.88 ]
>>385
クラスBにコンストラクタを追加して引数でクラスAのインスタンスを受け取って
クラスBから好きな時点で好きなようにクラスAのメソッドを呼べばいい

389 名前:デフォルトの名無しさん mailto:sage [2012/09/20(木) 01:18:24.88 ]
コンストラクタって何ですか?

390 名前:デフォルトの名無しさん mailto:sage [2012/09/20(木) 01:54:03.86 ]
>>389
せめてぐぐってから質問しろ

391 名前:385 mailto:sage [2012/09/20(木) 02:41:13.90 ]
>>387
 static経由というのは、クラスA、クラスBのどちらに変数(メソッド?)を作ったらいいのでしょうか。
 基本的な質問かもしれません、すみません。
 あと、クラスを分けずにとのアドバイスですが、クラスBのプログラムも長くなっているので今から
クラスAに移動すると、正直どこをどう修正すればいいかわからない状況なので、できれば現状のままで
追加できるコードを探したいのですが・・・

>>388
 クラスA側で以下のように書いて、

 Intent obj_intent = new Intent(クラスA.this, クラスB.class);
 obj_tv = new クラスB(this, obj_intent);

 クラスB側のコンストラクタで以下のように受け取ればいいのでしょうか。

 public クラスB(Context context, Intent lo_int)

 書いててみましたが、lo_int の使い方がよくわかりませんでした。
 「lo_int.メソッド名」という書き方ではないんですね、googleでインスタンスやオブジェクトの受け渡し
について検索すると画面遷移の話ばかり出ており、私がやってるのと違うので余計にわからなくなりました。
 申し訳ありませんが、コード例を挙げて頂ければ有り難いのですが・・・


 387様、388様、アドバイスありがとうございます。
 私の理解が足りないばかりに、再質問の形になりまして申し訳ありません。

392 名前:385 mailto:sage [2012/09/20(木) 02:49:25.14 ]
 すみません、>>385の書き込みでクラスAで訂正がありました。

public class クラスA extends Activity{
  private クラスB obj_tv1;
  private クラスB obj_tv2;
  private LinearLayout obj_LL;
  public void onCreate(Bundle savedInstanceState) {
    obj_tv1 = new クラスB(this);         ←※訂正
    obj_tv2 = new クラスB(this);         ←※訂正
    obj_LL = (LinearLayout)findViewById(R.id.xxxx);
    obj_LL.addView(obj_tv1);
    obj_LL.addView(obj_tv2);
  }
}

 クラスBのオブジェクトを2つ定義しているのに作成が1つで、なおかつ「obj_tv」となっており、
1と2の番号をつけ忘れてました。
 そして>>391の書き込みでも388様への返事で同様に番号をつけ忘れてました。

 お詫びと訂正を致します、申し訳ありません。

393 名前:デフォルトの名無しさん mailto:sage [2012/09/20(木) 02:51:17.39 ]
インスタンスとインテントを混同してるとかwwwww



394 名前:デフォルトの名無しさん mailto:sage [2012/09/20(木) 03:18:33.78 ]
>>392
さすがになんか本買って仕切り直したほうがいいよ
Javaもよく分かってないのに、場当たりでググったりコピペしてたりすりゃそりゃ破綻するって。。

ここで全部説明貰おうとするより100倍早いかと



395 名前:デフォルトの名無しさん [2012/09/20(木) 07:55:26.06 ]
質問させてください(_ _)
ウィジェットを作っているのですが
メモリ不足とかタスクキラーとかのアプリで
システムがとまっちゃって変数とかも初期化されちゃうんで
保持しておきたい変数とかはSharedPrefarenceで保持しておくようにしたんですが
これで保持される人もいれば
保持されない人もいちゃうようなんです。
SharedPrefarenceにおいてもタスクキラーとか端末によっては消えちゃうもんなんでしょうか
ウィジェットのアプリで変数の中身とかを保持しておく良い方法はないでしょうか

396 名前:デフォルトの名無しさん [2012/09/20(木) 08:02:18.62 ]
すいません、Sharedpreferenceです

397 名前:デフォルトの名無しさん mailto:sage [2012/09/20(木) 09:05:04.19 ]
>>395
聞いたこと無いが・・・
どこかで上書きしてないか?

398 名前:デフォルトの名無しさん mailto:sage [2012/09/20(木) 09:19:50.53 ]
SharedPreferenceはファイルだから普通は残るよ

399 名前:デフォルトの名無しさん mailto:sage [2012/09/20(木) 09:42:07.71 ]
>>385
private クラスA _classA;
public クラスB(Context context, AttributeSet attrs) {
  _classA = (クラスA)context;
}

public boolean onTouchEvent(MotionEvent event) {
  _classA.touchClassB();
}

android初心者というよりJavaも初心者みたいだから、
まずはJavaを勉強するところから始めた方がいいよ






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<106KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef