Androidプログラミング質問スレ Part19
getWritableDatabase - 『Make sure to call close() when you no longer need the database』
3 :
デフォルトの名無しさん:2012/02/25(土) 14:46:23.83
テスト用にAndroidOS搭載してる実機買おうと思いましたが、
世の中のAndroidタブレットって解像度を任意のものに変更できるものはないんでしょうか?
引きこもってないで店にいって確認してこい
GalaxyTabはrootとったら変更できたって話はあるが
他のは知らん
液晶の解像度が任意に変更できると思ってるの?
液晶とは言ってない
画像かもしれない
8 :
デフォルトの名無しさん:2012/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);
等試しましたがダメ
タスケテ
このスレで>3を読んで液晶の解像度のことだと思うほうがおかしい
>>2 これ、helperのcloseを呼べって事だからな
databaseのcloseじゃないぞ
大分以前にRokonで書いたゲームを書き直そうと思ったんですが、当のRokonがいつの間にか開発終了していました。
何かAndroid向けの2Dゲームフレームワークでおすすめな物は有りませんか?
そんくらい自作しろよ・・・
窓アプリとして書き出せて、エミュも実機も使わずVisualStudio上でデバッグ完結できる
cocos2d-xが最強に捗るぞ。日本語の情報が絶望的に少ないが
で?
wavデータを鳴らそうと思っているのですが、
MediaPlayer.create(Context context, int resid)
で、リソースIDから createすることは出来たのですが、メモリ上に読み込んであるwavのバイナリデータからcreateする方法は無いのでしょうか?
GridViewの通常時の背景を変える事って不可能なのですか?
例えば、
<GridView
android:listSelector="list_selector" />
<selector
xmlns:android="
http://schemas.android.com/apk/res/android">
<item drawable="pressed_background" android:state_pressed="true">
<item drawable="normal_background">
</selector>
としても、pressedの時の画像は表示されるのですが、通常状態の時は真っ黒です。
onKeyDownでカーソルキーとEnterに対応すれば、
XperiaPlayで上下左右と○ボタンに対応できるけど、
□と△はonKeyDownのどのキーに対応しているの?
setOnTouchLisnerで、ActionUpを指定すると、
指が離れた時の動作を指定できるわけですが、
ScrollView内に設置した場合だと、押したまま指をずらすとActionUpが動作しません。
対策方法はないでしょうか?
パスワード管理ソフトを自作しようとしています。
下記の仕様で作ろうと思いますが、
セキュリティ観点でどの程度問題ありでしょうか。
なお、自分用の開発であり
マーケットへの登録は全く考えていません。
(1.)の仕様は、そのためです。
1.アプリ実行時、onResume時などには、
パスワード入力をさせる
※照合用の文字列は、ソースコード内にハードコーディング
もしくは、String.xmlに登録して、ソース内で呼び出し
(ビルド後はどちらでもセキュリティ的には同じかも)
2.アプリ内ユーザー操作で、IDとPASSの組を登録していく。
登録したものは、SDカードにファイル保存する。
3.ファイル保存するものは、アプリ内で入力されたString文字列を
適当に暗号化する
4.暗号化/復号する鍵は、ソースコード内にハードコーディング
apkファイルのリバースエンジニアリングが容易ということは
ググってわかりましたが、ハードコーディングした文字列(鍵)が
そのまま出てくるのかどうかなどは分かりませんでした。
JNI等を使ってC++やCのコードを呼び出せる、という情報も得ましたが、
この手段を使った方が、まだ安心できるものになりますでしょうか?
スマホを紛失した時のことを想定しています。
ひまたんぷれいやをandroidに移植したいんですが
手取り足取り教えてください。ちなみに女子高生です。
気持ち悪い。
>>19 リバースエンジニアリングしたら、String.xml含めて文字列はそのまま丸見えだと思うよ。
一方向ハッシュした文字をハードコーディングするならまだいいけど、
「照合用の文字列」と言ってるものが素のパスならアウトかな。
よくわからんけど、鶏が先か、卵が先か、っていう悩み?
>>18 セキュリティを重視するならアクセス制御のかかる内蔵ストレージに暗号化したデータを保存するのがいいと思う。
SDカードは誰でも読めるが内蔵ならroot取ってない限り自分のアプリからしか読み込めないので一段と安全になる。
後もう一つ。パスワードが正しいか否かの判定方法について。
1.パスワードはどこにも保存しない。
2.暗号化されたファイルの先頭数バイトを予め決められた固定文字列や自分の生年月日で割り切れる整数とかにしておく。
3.ユーザーが入力したパスワードを使って試しにファイル先頭付近を復号化し、その結果が期待された通りのデータなら認証成功。
ってのはどう?
この手順にするとapkを解読しても、元のソースを読まれてもパスワードは直ちには分からない。
>>23 すみません、押したまま指をずらして、離しても、ActionUpが動作しません。
でした。
26 :
18:2012/02/26(日) 14:36:07.55
自己解決しました
scrollviewのsetOnTouchListenerで設定すればよかったみたいです
>>19 ハードコーディングした文字列も見れる
JNIで機械語にしてもリバースエンジニアリングされたら終わりなので解決にならない
紛失を想定するなら、端末を盗まれてデータを吸い出される、といった状況も対策しなければならない
>>24 ハッシュを使うだけでは
>>27 たとえば128bitのAES暗号を使う場合、暗号鍵(=パスワードから生成される鍵)は過不足なく128bit長である必要がある。
人間が入力するパスワードは固定長じゃないからそのままでは鍵として使えず、長さを128bitジャストになるよう加工する必要がある。
ではパスワードを128bitにするにはどうやったらいいかというと、パスワードのMD5ハッシュを求めるのが一番妥当だろう。
逆算不可能性と分散性を考えると自前でパスワード長を128bitに加工するよりはるかにいい鍵ができる。
だから一般的には、ハッシュをハードコーディングするのは暗号ライブラリに渡す本物の鍵をハードコーディングするのと大差ない。
それを回避するにはやっぱり暗号データを試しに解読して成否を見極める手法が理想的と思うけどね。
>>19 うーん、なんていうか・・・。言い出すときりがないよね、この分野は。
むしろ発想の転換してみたら?
スマホ紛失したら、PCからの遠隔操作で一発削除ができるようなアプリにするとか(笑)
これ意外といい案でない?
出来たらマーケットで公開してくれ(w
30 :
19:2012/02/26(日) 16:24:14.30
>>22 素のパスをソース内に書くことを想定していました。
丸見えなんですね、ありがとうございます。
ハッシュ値を保存するとした場合でも
・ハッシュ関数と
・照合するハッシュ値
がバレてしまったら結局ダメなのかと
思うのですが、誤りでしょうか?
他の方のレスを見る限り、誤っていると思いますがよく分かりません。
>>24 内部ストレージにもアクセスできるんでした、ありがとうございます。
結局データを読まれてしまう恐れはありますが、SDカードよりは強固ですね。
代替案についてもありがとうございます。
>>27 はい。データを吸い出されること懸念して、
どう暗号化しようかと悩んでいます。
おそらく、暗号の分野についての知識が不足しているため、
中途半端な質問になってしまっているのかと思います。
>>29 PCそういうサービスを出している企業がありましたね。
ブロードキャストをうまく使ってできないか。。。考えてみます。
プログラミング入門サイトのコードについて質問です
Eclipseを使ってstring.xml、main.xmlを設定したあと
当該ページのようにコードを書いて実行しようとしたところ
@Override public void onClick(View v) {
のonClickに波線がついて@Overrideを消すように提案されます
そして、消して実行すると動作します。
このonClickには@Overrideが付くのとつかないの、どっちが正しいんでしょうか?
----------------------
抜粋
http://libro.tuyano.com/index3?id=1023&page=6 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するのが正しい気がするんですが・・・
>>31 javaのバージョンか設定で波線付いたり付かなかったりした気がする
@Overrideなくても特に問題ないよ
>>31 ちなみに、
@Overrideはメソッド名タイポしてオーバー ライドできないことを防ぐためのもの
だったはず
protected なメソッドって下記の状態で呼べますか?
class A{
protected funcA();
}
class B extends A{
}
B b = new B();
b.funcA();
↑これって呼べるんでしょうか?
どこから呼ぶの?
>>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()にアクセスしてるのにコンパイルが通ってしまって困っているんです。
コンパイル通りませんよね?
「Android」じゃなくて「Java」の初心者スレに行ったほうがいいと思うぜ
同一パッケージなんだろ
>>38-39 レスどうもありがとうございます。
>>38 たしかにそうですね。そっちにに行って来ます。
>>39 たしかに同一パッケージでした。C++のprotectedとは若干違うんですね。
どうもありがとうございました。
>>30 つ 一方向ハッシュ
javax.net.sslあたりに手頃に使えるのがあるべ
42 :
30:2012/02/26(日) 22:42:49.63
>>41 再度、一方向ハッシュについて調べてみて、
有効性が分かりました。ありがとうございます。
ちなみに一方向ハッシュを勧めているのは
「最初のパスワード認証」のところですよね?
IDとPASSの組を保存するファイルの暗号/複合化には
使えませんよね。一方向なので。
>>42 利用者がリスクを理解した上でroot化しなければ保護されてるわけだから
root化した結果保護されないのはユーザーのせいだと思うけど
文句いうのは理解してないのにroot化してるやつなんだろうなw
root化した場合のリスクを初回起動時に表示して免責確認を
取るくらいがせいぜいかもね
root化端末は普通にOSのアップデートすると起動しなくなるからなぁ
裏技つかってもデータがいったん初期化されるそうだし、まあ使いづらいだろうね
canvasuにbitmapを描画する時にテクスチャに色味を与えることはできますか?
元絵は同じで、赤くなったり、黄色くなったりさせたいのですが
・暗号化
ユーザがパスワードを入力
パスワードをハッシュ化して得たハッシュ値を暗号化キーとする
固定文字列Xを暗号化キーで暗号化しファイルAに保存
データを暗号化キーで暗号化しファイルBに保存
・復号
ユーザがパスワードを入力
パスワードをハッシュ化して得たハッシュ値を復号キーとする
ファイルAを読み込んで復号キーで復号を試みる
固定文字列Xに復号できなかったらパスワードは誤り
固定文字列Xに復号できたらファイルBを読み込んでデータを復号
ハッシュ関数と暗号化関数と固定文字列Xがばれても問題ない
>>48 毎回パスワードを入力したくないからアプリ作ってるんじゃないのかなw
代わりにスクリーンロック解除みたいな操作を要求するとスマホっぽいかもね
>>50 >19の趣旨をもうちょっと理解してやれよ・・・
その管理アプリが起動時に認証するマスターパスワードは必要だろ
何もなしで起動するパスワード管理ソフトなんか作っても誰が使うんだよ
WebViewについて質問です。
JavaScriptの開閉式メニューがあるページで、メニューを開いたあと
他のページにいって戻ってくると開閉式メニューが閉じた状態になってしまいます。
開いたままにしておくにはどうしたらいいですか?
(JavaScriptの実行状態を保持?したい)
端末標準のブラウザで見ると開いたままになるので、同じ動作にしたいのですが……。
XPeria
SDカード上のファイルに対して
File file = new File( path );
ってやったら多少処理時間かかりますか?
それともこれはパスを作るだけだから全くと言っていいほど処理時間はかかりませんか?
うん
やってみりゃ分かる事は自身でやれよアホか。
>>47 canvasじゃダメかもしれんが、 ColorMatrixColorFilter。
はわわ
>>59 どうもありがとうございました!
調べたらcanvasuのdrawBitmapでも出来そうですね!
起動しなくなると修復不能になるのに?メーカー修理も受け付けてくれないよ
ジャンクとしてヤフオク行きになる
>>51 >>24を考慮したうえでの対応の一手段じゃん
ほかのサービスで使う以上取り出せないといけないわけで、
その場合完全な保護なんてそもそも無理
>>52 マスターパスワードを入力するかわりにパターンによる
スクリーンロック解除のような操作にするのは便利だろ
そこでどれだけ強いパターンを設定するかはユーザー次第だが
それはマスターパスワードでも同じこと
画面全体がサーフェイスビューのImageViewの上ににキャンバスで全てJavaソースで表示しているのですが
更にこの上にSeekBarを乗せたいのですがJavaソースで任意位置に表示というのは追記可能でしょうか?
BlackBerryならパスワード管理ソフトが標準で付いてるなw
そういえばSeekBarを縦向きに設置する事ってできないのん?
関係ないけど俺のまわりもアイフォンだらけになってきたw
AU解禁後の今年のアイフォンの猛攻は凄まじい気がする
縦向きシークバーはないので自分でつくる
VerticalSeekBarでググって参考にしる
72 :
デフォルトの名無しさん:2012/02/28(火) 09:20:46.06
速く打てる力がついても
頭で組み立てる速さが遅すぎて意味なかった
NDKを使ってCでフォントを扱いたいのですが、
JavaからBITMAPにして送ってやる以外の方法はないのでしょうか?
この方法だと1文字一文字使う場合にオーバーヘッドが心配でして。
機種依存の不具合ってどっかにまとまってないかなー
その機種買うしかないんかなー
オンメモリに作ったSQLiteデータベースがメソッドまたぐとレコード消えてんだけどなんで?
res\layout\test.xml のGraphicalLayoutでGUIを作成してtest.xmlで編集すると、Error in an XML file: aborting build. というエラーが
起こるんだが、これって仕様なんですか?
あと、これを回避するにはxmlを開かない様にしたらいいんですか?
ActivityManager activityManager = ((ActivityManager) getSystemService(ACTIVITY_SERVICE));
ActivityManager.MemoryInfo memoryInfo = new ActivityManager.MemoryInfo();
activityManager.getMemoryInfo(memoryInfo);
memory = memoryInfo.availMem;
で、現在の使用可能メモリ残量がわかりますが、
端末での使用可能最大メモリ量を得る方法はありますか?
メモリの使用量を%で表示させたいです
Runtimeクラスで取得できるやつかな
たぶん
79 :
デフォルトの名無しさん:2012/02/28(火) 19:40:39.27
画像ファイルを表示するアプリケーションを作成しています。
画像形式がbmp,jpg,png,gifのファイルは、BitmapFactoryを使って
表示できる事が分かりました。ところがこの形式以外の画像ファイルを
表示する方法が分かりません。(TIFF,RAW,JPEG2000等)
これらの形式の画像を表示する方法はあるのでしょうか?
参考になるサイト等ありましたら、教えてください。
>>79 自分で作るしかないんじゃね?
byte列にするとかで。
apache commonsとか使った時ってどっかに謝辞って書いてます?他の人のアプリでは見たことないけど・・。
commonsじゃなくてもapache2.0ライセンスのライブラリ使ってる時には書いたほうがいいのか?とか。
rawフォルダに入れられるファイズサイズに制限はありますか?
10Mくらいのファイルを入れても大丈夫ですか?
入れてみれば
>>73 freetype
ただ、SHARPの端末みたいに独自仕様で入れてるフォントは扱えないかも。
>>85 レスどうもありがとうございます。
入れてみたら、コンパイルは通ったんですが、そのリソースIDでopenRawResource()でInputStreamにして読み込もうとすると
例外が投げられてしまいます。
そのExceptionのgetMessage()は null でした
ある程度以上の大きさのファイルはresフォルダに入れると読み込めなくなるんでしょうか?
すいません上の記述はresフォルダじゃなくてrawフォルダでした
rawフォルダに10Mのファイルを入れると読み込み時に最初の4バイト読もうとしただけで例外が発生します
テストで同じ名前のファイルで500Kバイトくらいにしたら全部読み込めているんですが、やはりサイズによって制限があるのでしょうか?
newしたバイト配列の長さを知る方法がわかりません
byte[] a = バイト配列取得関数
このaの長さを知るのってどうすればいいですか?
SerfaceViewに描画した絵をAndroidの待ちうけ画面みたいに指でフリックして動かすのって何かAPIがあったりする?
それともタッチイベントを拾って加速度を計算して自前でするしかない?
SurfaceViewな
Javaの基礎まで学習してJavaでAndroidのアプリを作りたいのですが
おすすめの書籍は何でしょうか?
>>89 ぐぐったらすぐにわかるよ、超メジャーというか基本だべ
android.intent.action.SENDのアクティビティを
共有一覧から動的に表示、非表示させる方法ある?
>>89 >バイト配列取得関数
そうだな。Array.getLength(new byte[123]) でよいんじゃないか。
普通はそんなことしないが
>>97 自分の?他人の?
自分のなら、Packagemanager.setComponentEnableSetting()。
他人は知らね。普通にはできねんじゃね?
機種別のDalvikメモリ量ってどこかのサイトで分ったりしますか?
for(int i = adapter.getCount(); i >= 0; i--) {
}
なんかしらんが笑った
>>104 for(int i = adapter.getCount() - 1
; i >= 0; i--) {
じゃなくて大丈夫か?
for(int i = 0; i<adapter.getCount(); i++){
でいいじゃない
}
:-)
;-O
30FPSぐらいで画像を描写しつつ、上にさらに格子状の画像を被せたいんですが、
透過PNGで大きな1枚を描写するのと、格子をパーツごとに分けて細々と描写するのではどちらが処理が軽くなりますか?
Surfaceview使ってますが出来る限り高速化したいので…
おいクソ虫
自分でやってみろよ
>>111 手持ちの実機でテストしてもどちらも大して変わらなくて…
もう少し低スペックな端末があればいいんですけど
簡単には用意できないので質問してみようかな、と
低スペックなら簡単に用意できるじゃないか
頭わるいのか
>>113 そんなものなんでしょうか?
エミュレータ以外で方法が思い浮かばないんですが…
もちろんエミュレータだとどっちでも重たくてテストどころじゃないですし、
実機が簡単に用意できるなら是非欲しいです
docomoから出てるGalaxy Nexusって素のままじゃUSB Host API使えない?
ググったらカスタムROMがどうこう書いてあってゲンナリなんだけど。
なんのためのICSなのかと。
MedibaAdのSDK導入した人いますか?
3/1から統合されて新しいSDKになったんですが、HP通りにやると吹き飛びます
3月のはじめは広告の機会を失うんでしょうかねぇ・・・
>>114 同じ処理を一度に何十回もやればいいじゃない
やってみて、結果テキストにでも出力して今後に活かすために記録しといたほうがいいんじゃないの
エミュレータは自分のアプリの仕様でVMの限界などをチェックするのに使っているな
VMの容量の仕様の分岐点でトラブることはよくある
やってみて経験しないと身につかんで
>>110 格子状の画像をタイル配置表示する方が、リソース的には優しい。
>>118 どっちのが軽いか体感できるだろってつもりで言った
for(int i = 0; i<adapter.getCount(); i++){
携帯端末でこんな糞コード書くやつがいたら首にするわ
最適化されるから問題ないよ
携帯端末でってなに
>>123 こんなことで辞めさせる上司いたら訴えますね☆
>>123がなぜダメなのか割とくぁしく教えて欲しい
つまりPCを使わず携帯端末でぽちぽちとコードを書くやつのことを批判しているんだよ
そんな奴は見たこともないが
そう言えば何日か前に端末上での開発環境の話を読んだ気もする
>>123 に同意。携帯端末に限らずかな。
まぁ、首にするかどうかは別として(笑)
>>127 えっとだな・・・。
>>108 のどこが悪いかというと、forループで毎回getCountが評価されるのがNG。
>>104 のコードだと、初回しか評価されない。
>>130 今北だけどなるほど
一回変数にぶちこむべきってこと?
googleの検索結果のhtmlをパースして見やすく表示するアプリを作ろうと思うんですが
広告を消したらやっぱりアウトですかね?
>>132 Google検索のAPIって広告あった?
どうしてもスクレイピングしたいんだろ
こういうコンパイラーの最適化すら知らない奴が
聞きかじった知識で他人を貶すのは、この業界でよく見かける事だよ。
実際にほとんど意味の無い最適化を騒いでる奴が
字句解析でindexOfとか使って馬鹿サーチとかしてるのをよく見るよ。
こういうコーディングルールすら知らない奴が
聞きかじった知識で他人を貶すのは、この業界でよく見かける事だよ。
実際にほとんど意味の無いコードしか書けないやつ奴が
仕事中に2chに書き込んでるのをよく見るよ。
138 :
127:2012/03/01(木) 13:58:17.16
>>130 あぁなるほど 機械に優しくね☆ ってことかな?ほーん
質問させてください。
ホーム画面にアイコンを出さないアプリを作りたかった
(他でインストールしたアプリから起動させたかった)
ので単純にintent-filterを消したんですが、
インストールはできるものの、他から起動すると次のエラーが出ます。
java.lang.SecurityException: Permission Denial:
starting Intent {略} from ProcessRecord{略} (pid=4628, uid=10090)
not exported from uid 10129
どうやればいいでしょうか?
解説ページに載ってた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;
}
アドレスをセットして呼ぶと@のところで何故か例外が発生してしまいます。
何がよくないのでしょうか?
あ、manifestに下のは追加してますし、必要なimportも書いてます。
<uses-permission android:name="android.permission.INTERNET" />
>>140 エミュだと証明書の関係で落ちた気がする
実機だったら知らん
>>139 action_main消して、自前のactionだけ受ければいんじゃん?
144 :
139:2012/03/01(木) 18:27:00.28
>>143 ありがとうございます!いけました。
もっと勉強しなきゃですね・・・頑張ります。
とても助かりました。
いいってことよ
>>124 コンパイラはどうやってこれを最適化できると判断できるの?
>> 140
SDKのバージョンによってはStrictModeってのがONになっていてメインスレッドでネットワーク処理はできなくなっているのでそれでは?
解決法としてはネットワーク処理は別スレッドで行う(AsyncTaskLoaderとかAsyncTaskとか)
>>104 こんなクソコード書かせる奴がプロジェクトリーダーだったら、
真っ先に降格させるわ。
こんな短いコードで既にバグってる時点で、これが如何に直感的な書き方じゃ無いか自分で証明してるし。
プロジェクト全体にこんな書き方が蔓延したら収集つか無い事になる
普通に書くことにいかに価値が有るか理解しなきゃ駄目よ。
素直にscala使え
>>123 のコードではっきり遅くなったりしたら普通はコンパイラのバグ疑うよなぁw
あたまわりいな
for文使うとかアフォだろwww
ループは再帰で実装するだろjk
なーにコンパイラが最適化してくれるから大丈夫
153 :
デフォルトの名無しさん:2012/03/01(木) 20:56:29.65
1分毎にSDカードへlogを出力するテストアプリを作成中です。
sendMessageDelayedを使用しているのですが…
端末がスリープになるとlogが出力されない状態が発生しています。
テストアプリはサービスを起動して常駐しています。
スリープ中でもlogを出力する方法はあるのでしょうか?
教えてください。
ホームアプリ
参考意見を聞かせてください。
エミュレータ作成時の設定で
「Max VM application heap size」はいくらくらいにしてますか?
デフォルトは16MBか24MBですが今の実機状況だと256MBくらいが標準でしょうか?
Galaxy Nexusレベルのが今の標準だと?
質問を質問で返すな
↑馬鹿
Galaxy NexusってGNって略すんだな
はじめガンガンノベルかと思ったよw
160 :
デフォルトの名無しさん:2012/03/01(木) 22:28:20.90
>>154 ありがとうございます。
ホームアプリとは作成したアプリをホームに置くことを指すのでしょうか?
無知で申し訳ございません。
サービスならバックグラウンドで動かないかな?
3/1に新しくなった mediba adを実装しました
その際、広告の取得に失敗するとアプリ内のHttpRequestまですべてブロックされてしまうようなのですが、
何かご存知の方いませんか?
ほう、スリープ状態で停止するのはセンサーだけかとおもったら
ファイル出力も止まるのかw
164 :
デフォルトの名無しさん:2012/03/01(木) 22:52:01.56
>>161 activityからボタン押下でserviceを起動しています。
スリープに入っても2時間ぐらいは1分毎にlogを出力しているのですが
その後は止まってしまいます。端末のロックを解除してlogを見ると再開する状態です。
このアプリが実行中の間は強制的にスリープしないように運用回避しようかと検討中です。
子部品を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が流れるようにすることを
考えましたが、実装方法が見当つきませんでした・・・
>>104 for(int i = adapter.getCount(); i-- > 0;)
こうでね?
またその話題をぶり返すでござるか・・・ようかろう戦争だ
拡張for文使うか
そうだ、こうすれば良いんじゃね
int len = adapter.getCount();
for(int i = 0; i < len; i++){
>>164 俺はlogではなくセンサー関係で、もがいていたんだけど
これはやったことあるかい?
http://y-anz-m.blogspot.com/2010/09/androidpowermanager.html ※下記マニフェストが必要
<uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission>
これでもダメならダメかもね・・・
スリープ後2時間後にWi-FiがOFFになるって記事をネットで見たことあるから
こういう仕様なのかもしれないさー
ちなみにスリープしないように=画面つきっぱなしってことだとおもうけど
実験したら12時間くらいで電池切れになったので参考にしてちょ
あともしかしたら画面の焼きつき起こすかもしれないから、そこら辺も考えといた方がいいっす
RemoteViews経由でBitmapのインスタンスは指定できるのにDrawableが指定できないのはなんでなんだろう
設定できてしまうとセキュリティ的に問題あるとか?
他アプリのActivityの有効/無効(android:enabled)を調べる方法ありますか?
PackageManager#getComponentEnabledSettingを使おうと思ったのですが、
これだと戻り値がCOMPONENT_ENABLED_STATE_DEFAULTとなってしまい、
true/falseの判断が出来ません。
>>171 Drawbleが再現可能なクラスによって実装されてる保証がないからじゃないかな。
Bitmapの実態が標準化されたバイナリデータなのに対して、Drawbleで何が描画されるかはdrawメソッドの実装次第だからな。
>>169 どうせなら…
final int len = adapter.getCount();
final原理主義者キター
それだけだとスコープ汚すからこうだな
{
final int len = adapter.getCount();
for(int i = 0; i < len; i++){
//
}
}
質問です。
リソースの異なる同一アプリを1つの端末に複数インストール可能にしたいんですが
パッケージをそれぞれ変えるしかないですよね?
ビルド時にAndroidManifestのpackage文字列をビルド時に書き換えればよいかなと
考えたんですがR.javaが曲者で・・・。
参照するリソースを設定画面等で変えるようにすればいいんでしょうが
隠蔽化したい思いがあります。
よろしくお願いします。
よしんば設定出来たとしても、マーケットに登録できるのは結局一つだからなー
端末の言語や国で動的に分けるとかなら可能だけど・・・
初心者もいるんだろうから、正しい書き方はこうな
for (int i = 0, len = adapter.getCount(); i < len; i++) {
}
名前がよく分からないのでググり方が分からないのですが、例えば画面下部にメッセージを表示させて、スクロールさせても位置固定で表示させるってどうやればいいんですか?
つ 「Android xml textview 固定」
ありがとうございます
TextViewを改造して自分で作るしかないんですね
部品として用意されてんじゃないかと期待したんですが
>>173 おおおおなるほど
Viewに関してもカスタムしたものは使えないよっていうのはボンヤリと理解してましたが
そもそも予めSDKに用意されているクラスしか使えないって意味で理解すれば色々納得できました
>>177 追加コンテンツみたいなイメージ?
intentでやり取りするしかないんじゃないかな
185 :
デフォルトの名無しさん:2012/03/02(金) 11:01:36.73
暗号、復号をBlowfishで試してみたんだが、
Android1.6だと動かず2.3.3だと動いた
Androidで使う際は動作バージョンが限られてるのか?
186 :
デフォルトの名無しさん:2012/03/02(金) 11:19:06.56
ググったら2.2以下は実装されてないっぽいな
AESとかに切り替えた方が無難か
187 :
デフォルトの名無しさん:2012/03/02(金) 13:01:40.81
>180
LinearLayout(Vertical)の中にScrollViewとTextViewを設置して、
weight設定してみるってのはダメ?
relativeLayoutは?
主に国産端末で写真とると縦横が固定されてメンドイ
アニメーションに関して質問です
回転しながらフェードアウトし、回転しない状態でフェードインさせたいのですがうまくいきません
どなたがご助言くださいorz
<set xmlns:android="
http://schemas.android.com/apk/res/android">
<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>
SPモードメール送信時に自動で3GをONにするアプリを作りたいのですが
メールアプリがメールを送信するときの動き等、外部アプリの動きを取得することは可能でしょうか?
192 :
190:2012/03/02(金) 17:40:59.41
fromAlphaとtoAlphaの値を入れ替えたイン→アウトのパターンはうまくいくのになんでやのん・・・?(´・ω・`)
それが可能ならプリインストールされてるメーカーのメーラーに標準実装されてるはず
いつまでたっても未実装な所から技術的に無理なんじゃねーかな?・・・と俺は思う。
PCでもそういうソフトは見たことがない
可能なら俺も知りたいから続報をまちましょそーしましょ
194 :
デフォルトの名無しさん:2012/03/02(金) 18:00:34.90
カメラで自分撮りにデフォルトする方法がありましたら教えて下さい。
鏡アプリみたいなのを作っています。
195 :
デフォルトの名無しさん:2012/03/02(金) 18:39:14.55
ブラウザから独自スキーまでアプリを起動して、
アプリがインストールされていない場合マーケットにジャンプさせようとしています。
下のコードだiframe.onloadが呼ばれず(onclick="launchApp('
http://www.google.co.jp') だと呼ばれます")、
アプリが起動して、ブラウザに戻った時にマーケットに飛ばされてしまいます。
どうにかして、アプリが起動できたことをブラウザで検知することはできないでしょうか?
196 :
195:2012/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>
>>195 動くか調べてないけど
「ブラウザからアプリを起動する為のHTMLサンプル」でググってみてください
あ、そこを参考にしてたのか
失礼
199 :
デフォルトの名無しさん:2012/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));
とやりたいんですが無理でした
指定した画像だけを取り込む方法を教えて下さい
>199
www
Galaxy Nexusで自分のゲームアプリを動かしたらやたら遅かったけどなんでだろう?
SurfaceViewでcanvas.drawBitmapを繰り返して画面幅にcanvas.scaleしてるんだけど、
解像度が高いからフィルタ処理が重いとか?それかスケール?
int item[] = {
R.drawble.item_1,
R.drawble.item_2,
R.drawble.item_3};
GraphicUtil.loadTexture(gl, res, item[number-1]);
2chMateのレスアンカー先を表示するびろ〜んて動いてぶら下がるビューはなにViewなんでしょうか?
>>201 if文が多いとデュアルコアだとかえって遅くなると勝手な憶測
パイプラインがどうこうとか
デュアルコアは関係ないだろ
CPUインストラクションパイプラインの分岐予測が外れてペナルティとかはあるかもしれんが。
>>202 こんなやり方があったとは
ありがとうございます
どういたしまして
>207
www おまっ 誰だよ
いいってことよ^^
210 :
デフォルトの名無しさん:2012/03/02(金) 21:59:33.67
Androidと関係ないんだが、、
Googleの短縮URLのAPIに"
http://t.co/〜"を入力すると
エラーが返ってくるんだが、意図的に弾いてるのかな?
質問。
自動生成されるRクラスについてなんだけど、stringやdrawableなどリソースの
種類ごとにstaticな内部クラスが出来ると思うんだけど、この分類ごとの内部クラスの
種類を増やしたり、またはネストすることってやっぱり出来ないもんだろうか?
要は、普通にやると文字列なら文字列のリソースIDは全部R.stringに放り込まれる
訳だけど、これが気に入らないと。
そんなんxml編集すれば何でもできるよ
決め事作っとくとエディタが自動化する上で都合がいいってだけ
213 :
デフォルトの名無しさん:2012/03/02(金) 22:26:52.67
androidのwebviewでHTMLを動的に作ろうと思っているます。
ajaxっぽくwebview内でjsで動かすやり方だとわかるのですが
java内でapiでデータを取得し、
html内に入れてwebview吐き出す方法を取る場合、
HTMLファイルをテンプレート的な使い方ってできるんでしょうか?
宜しくお願いします。
>>157 ジョジョヲタ乙
たまにリアルでその言葉を連呼してる低脳がいて正直引いたわ。
相手の質問の意図を明確にするために質問で確認をすることは、
現実社会では必須のコミュニケーション能力だぞ。
アホは反論できないときの免罪符だとでも思ってんだろうな。
ん?悔しすぎたかな?
漫画で得た知識をさも一般論と信じ込んでるやつは確かに痛い
エスパーする努力をしろ
Javaスレにも同時期に同じこと言ってたやついるから、なんとなく言いたかっただけなんだろう。
>>214 元ネタは『アナライズミー』って映画の方だと思うけどね。
まあ馬鹿っぽいと思うのはまったく同意。
オラ!オラ!オラ!
ごごごごごごごごごご・・・・・
変な質問であれなんだけど、なぜかJDKにパスを通してやらないとSDK Managerが
起動しない環境とそうでない環境があるみたいなんだけど、この違いって何?
JDKにパスが通ってる環境とパスが通ってないと見せかけて通ってる環境の違い
禅問答かよ
アプリをアップデートした時のイベントで
前バージョンの値を取得できる?
>>224 SharedPreferenceに自分で現在のバージョンを記録するようにすれば?
起動時にその値を読みこめば前回起動時のバージョンと現在のバージョンを比較できる。
外部アプリがintentを投げた時にそれを動的に確認する方法ってありますか?
よく分からん。何が動的なのか。
すいません自分でも意味わからんこと書いてました・・
なんかのアプリによって投げられた時にそれをフラグとして何か実行できないかという事です。
そりゃ出来るだろ
>>229 せめて何が投げられた時なのか、
自分がどういうアプリとして振る舞いたいのか
書かないと分からない
出来るか出来ないかで言えば出来る
どれだけマルウェアなんだよ。
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のソースになります。
public class TestClass {
public TestClass() {
}
public void init() {
Log.d("TestLog", "TestClass - init");
}
}
private TestClass testClass1 = new TestClass();
こうしなくて大丈夫なのか?
>>235 すみません。。。
てっきり生成してたものと思ってましたが
すっかり忘れていました・・・
この数時間なんだったんでしょうね・・・
ありがとうございます><
ステップ実行して追いかければ?
ぬるぽ
↑震↑
/|\( *´∀`)ぬるぽ
⌒⌒ ( )
←-┤ | |
(__)_)
エラーメッセージも読まず
なぜか動かないとしか言えない奴はプログラム触るな
>>219 漫画や映画を引き合いに出すほど最近では珍しい言い回しなのか?
ユダヤ人乙
エラーメッセージはどんどん上に流れてくからな
onCreate時のView生成をANR回避のためwaitdialog出しつつ裏スレッドで・・・とかできんよなあ・・・
顔認識させてユーザが笑ったり起こったりしたら
画面の中の赤ちゃんも笑ったり起こったりさせたいんだけど
難しそう?
247 :
デフォルトの名無しさん:2012/03/03(土) 12:59:20.26
アプリが作ったデータファイルってアンインストール時に削除されるんだよね?
SDカードの中にアプリ名のフォルダ作ってSQLiteデータベースを作成してるけど
俺のアプリをアンインストールしてもデータを削除してくれない。
設定でアプリケーションの情報を見てみても俺のアプリだけデータサイズ0.00Bになってる。
まだマーケットで公開してないからこうなるの?
>>245 アクティビティ遷移後、SurfaceView生成時にANR
>>248 SurfaceViewCreatedを軽くしろ
配列の指定位置からのデータ検索なんですがJavaの
Arrays#binarySearch(T array, int from, int to, T key)
はandroidでは使えないんでしょうか。
代わりになる命令はないでしょうか?
>>246 もしライブラリーみたいのが配布されてるようなら簡単だろうけど
自作で1から作る場合は大企業に就職できるほどの高度な技術力が必要だとおもうよ
SONYがサイバーショットで顔認識機能実現させてブームになっただろ?
>>247 /Android/data/パッケージ名/
は消えるはずだけどちゃんとそこにデータ作ってる?
それ以外のデータは消えないよ
>>249 コンストラクタで画像読み込みに時間がかかるんでしょ
SurfaceViewCreatedは普通ループトリガーだから事後
255 :
デフォルトの名無しさん:2012/03/03(土) 16:00:30.63
Android開発はやはりeclipse必須でしょうか?
我が家のPCにeclipseを入れると固まってどうにもならなくなります。
コマンドラインツールとviでコツコツ作っていけるものでしょうか?
eclipseじゃないと出来ないこと、などがあれば教えてくださいませ。
迷わず行けよ、行けばわかるさ
NetBeansでも開発できるよ
258 :
デフォルトの名無しさん:2012/03/03(土) 16:19:52.75
そうなんだ
>>255 eclipseのバージョンは?
3.5とか少し古くすれば軽くなるぞ。あとはプラグイン減らしたり。
Eclipse入れないと無理。
補完無いとやってられんよ。画面のデザインとかも無理が出てくる。
どうしてもemacsで開発したい、っていう自己満キチガイが社内にいるんだが
一緒に仕事する上で話が合わないし仕事も遅くて殴りたくなる。早く解雇しろ。
マ板へ
エクリプスエディター使いにくい
補完無くても良いからvi使いたい。
でもクラスブラウザーは動いて欲しい
一般的にはEclipseよりもNetBeansの方が軽い
補完もあるし
ただAndroid開発はEclipseが主流
俺もNetBeansを入れてはいるけどアプリ1本丸々作り上げたことは無い
EclipseのUIはNetBeansと違ってなんかピンとこないんだよね
でも仕方なく使ってる
特にデバッグ周りがピンとこないよな
パースペクティブ切り替えないようにしてもやっぱり何か違う
InteliJでもいけるみたいだけど、最新機能への追従とかはどうなんだろうね
どうなんだろうね
ByteArrayOutputStreamなどでバッファを生成しながらwriteしている場合にメモリがなくなっていって
それがruntime.totalMemory() のMAXまで達した(runtime.freeMemory()=0になった)けど、
runtime.maxMemoryまでは十分余裕がある場合って自動的にヒープを空けてくれますか?
それともOutOfMemory?
っていうか、メモリー足りなくなったらパソコンみたいにファイルにページアウトしてくれれば良いのにね。
「メモリーきついから消すわ」とか酷すぎるよ。
エミュ起動すると27%で止まるんだけど
何か対策はありますか?
開発環境を変えればいい
>>270 エミュ壊れてる可能性がある
エミュを強制終了したりするとImageファイル内の必要なファイルがごっそり消えたりする
可能ならAVD Managerで作成しなおすのが早い
ビルドしたイメージでAVD作りたいんですがどうしたらよいですか?
たまの失敗はスパイスだよね
>>275 snapshot有効にしてSave to snapshotで起動&アプリ転送してエミュ終了
次からはsnapshotから起動すればよい
281 :
デフォルトの名無しさん:2012/03/03(土) 23:18:08.25
質問なんですけど、皆さんボタンを20個くらい作ってそれをonCreatの中で
findViewById(R.id.〜)とかやる時にいちいち名前を指定してますよね?
何かfor文で一気にセットする方法無いですかね?
button[20]とか配列つくって
for(i=0;i<20;i++){
}
とかやってその中で一気に指定したいよ。いちいち一個ずつ指定とかめんどくさすぎる。
IDが連番になるよう配置
質問です。
メールソフトやメモ帳を開いたときに、
画面下に半透明のツールバーが出ていてボタンがありますが(新規作成、設定、削除、など)
あれはどのようにして配置できるのでしょうか?
一見オプションメニューを固定してるように見えたので
頑張ってみたのですが、どうも違うようです。
ご回答よろしくお願いいたします。
forループで回せるほど処理が似通ったボタンなら
xmlじゃなくてコードで生成してなんとかしたい
alpha指定したActivityでできない?
>>285 ツールバーの為にActivityかぶせるんですか?
半透明じゃなくても、画面の下にツールバーをビシーっと並べたいだけなんですが。
R.id.〜を配列にもっておけばいいじゃない
>>281 ListViewかGridViewの使用、もしくはJava側で生成することを考える。
一から作ってもいいし、xmlで作ったひな型をinflateで量産してもいい。
充電中のLED点灯を強制OFFにしたいのですが、どの項目でいじれますか?
そもそも可能でしょうか?
ARROWSで動きさえすれば満足なのですが…
>>286 Viewを重複できるFramelayoutとかRelativeLayoutにツールバーを配置するviewと他を配置するviewを重ねればいいんじゃない
解説にあった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;
}
取得データが全角文字が文字化けしてしまいます。
全角対応にするには何を追加すればいいでしょうか?
new InputStreamReader の第2引数に文字コード名 ("ISO-2022-JP" とか "EUC-JP" とか) を指定する
指定してみました。 どうもそれだけではだめなようです…
当然 "windows-31j" とか "Shift_JIS" とか "UTF-8" とかも試した?
"Shift_JIS"でできました。ありがとうございます。
ページによって違うんですね。
全部自動のようなことは出来るんでしょうか?
出来るといいね
IE とか Firefox とかもがんばって自動検出してるけどたまに失敗して化けることもあるんだから
カンペキな方法はなくて最終的にはメニュー用意してユーザが選択できるようにしてるよね
とりあえず全通りデコードしてみて化けてるっぽい文字の少ないのを採用してみるとか
HTML だったらいったん読み込んで <meta> タグの Content-Type を解析すれば
何か書いてあるかもしれないからそれを見て読み込み直すとか (たまにウソ書く人もいるけど)
聞いた話では Firefox は頻度分析とか使ってるらしいよ
わかりました。完全な方法というのはないようですね。
参考にさせてもらいます。
ありがとうございます。
298 :
デフォルトの名無しさん:2012/03/04(日) 13:43:53.12
初歩的な質問かもしれませんが、ボタンの横幅を指定したいのですが、
xmlのlayout_widthでdpで指定するのと、onCreateの時に.setWidth(int)で指定するのとどちらがいいのでしょうか?
ちなみにxmlのlayout_widthとwidthの違いが分かりません。。
あと、dpで指定する時のその値の決め方もよく分かりません。。
今はeclipseの画面とエミュで確認して手探りで値を変えている状態です。
>>290 >ツールバーを配置するview
その配置の仕方で悩んでます。
自分でツールバーのイメージを作って置くしかないんですかね。
メールアプリでメール送信時、
I/ActivityManager( 248): Starting: Intent { cmp=jp.co.nttdocomo.carriermail/.activity.SendProgressor (has extras) } from pid 3586
、とintentが渡されるんですが、SendProgressorってのに渡った時に自分で書いた処理を行いたいんですがなんかいい方法ありませんかね?
>>298 wrap_content でなんか困るわけ?
手探りで決めるっていうのは何かおかしい
304 :
デフォルトの名無しさん:2012/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");
>>303 そういうことじゃなくて、
例えば「オプションメニュー」なら、自動的に画面下に表示してくれるじゃないですか。
それみたいに、元からある機能を使って設定するものじゃないんですかね?
ツールバーって。
>>299 あなたがやりたいことを汲んで作ってくれるプログラムはまだできてない。
多分アンドロイドデベロッパーのレイアウト関係の所をしっかり読んで理解出来れば出来ると思うよ。
正直、出来ない奴がいるのは自分のソフトの価値が上がることだから、出来ない人は出来ないまま
のほうがうれしい。
>>305 3.0 以降ならアクションバーがそういう役割だね
2.x には標準では無いはず
まぁ俺が作るとしたら、画面内に収まるのが確実なら LinearLayout にいれて等サイズで分割するかな
あふれたら more メニューでポップアップとか面倒臭いことを考えるなら自前のレイアウトクラス書く
>>308 今はおっしゃるとおりLinearLayoutにボタン入れてますが、
これでは何かモサいしバーを表現できないんですね。
やはり面倒なことになるんですかね?
色んなソフトで当たり前のように使われてますが。
モサいとかバーっぽいとか表現とかはすべて絵次第だろ
レイアウト的には問題ない
>>309 actionbarcompatってのがサンプルに入ってるからモロパクリすれば良い。
メモリの仕様状況により直前のActivityが生きていることもあれば死んでいることもあると思うのですが、それをチェックする方法ってありますか?
あったら、実装のヒントを教えてもらえないでしょうか
313 :
デフォルトの名無しさん:2012/03/04(日) 21:21:49.33
フレームをこういう形の構造にして、
それぞれの四角に画像とボタンを埋め込みたいのですが・・・
やり方が分かりません・・・
テーブルレイアウトのXMLをいじるだけでは無理そうなのですが・・・
┌─────┐
│ │
├──┬──┤
│ │ │
├──┤ │
│ │ │
│ ├──┤
└──┴──┘
314 :
デフォルトの名無しさん:2012/03/04(日) 21:25:05.68
>>313 リニアレイアウトの上にリニアレイアウトを置けば簡単だよ。
ライナーとリレイティブとフレームがあればだいたいどうにかなるよな
Preferenceのキーが存在するかどうか
判断する方法ありますか?
Preference#containsで分かりました
「Unity」という開発環境でAndroidアプリつくってる人おる?
3Dゲーム作るときようの無料開発環境なんだけどこいつでもアプリ作れるらしくてさ。
これ使えればAndroidで3Dゲーム作るのめっさ簡単になりそうなんだけど・・・
今の時代で3Dゲーム作る環境は何がいいんだろうね
そこら辺はあんまりわからないから聞いてみたい
Androidかどうか知らんがUnity技術者募集の求人見たことあるから使われてるんじゃないの
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秒間隔で自動的に動かしたいと思っています。
この場合、スレッドを別に作成を行わなければいけないのでしょうか?行うとしたら下のようなソースでも大丈夫でしょうか?
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 ありがとうございます><
>>327 すみません・・・動くかどうかの確認ではなく
ソース自体に不備がないかの確認です・・・
スレッドの作成自体が不恰好だったので
これでも問題は無い?と言う質問でした><
原発は地下に作れば済む話
穴掘って配管やケーブルを伸ばすだけだから現在の技術で可能
建設費の増加分は二割以下
最悪の事故でも被害は地下核実験程度で済み放射能が漏れず安全
津波などの自然災害だけでなくテロなどの攻撃にも強くなる
地下だと冷却できないので爆発する。
荒らしに触るとかどんだけ阿呆だよw
リニアーレイアウトの多重構造にボタン埋め込んだら反応しません。
ボタンって、最上位じゃないと反応しないんですか?
そうだおっおっおっ(^ω^)
ボタンが最上位じゃないと反応しないなら、リニアーレイアウトに埋め込んでやるってのもできないんですか?
おまえはこれからも2ちゃんで「これはどうですか?あれはどうですか?」って
聞きながら開発するのか?
おまえが聞いてることは全部アンドロイドデベロッパーのとばっくちに書いてある事ばかりだ。
ある程度の質のプログラム書くつもりなら
まずはある程度の英語を読めるようにするのは避けられない。
10年前ならそこそこ良質な書籍が発売されたかも知れないけど
今はがんばって翻訳したりなんなりしてもさくっとコピペされて
アフェリエイトブログとかに転載されるのが落ちだし、良質の文書の
日本語化はどんどん期待できない状況になっていってる
英語の文書をある程度すらすら読むのはそれなりに大変だと思うけど、自分で解決してる人は
その努力をしたから読めるわけで、いちいち聞いて解決しようとしてる人たちは
これからもずっと、分からないことは2ちゃんで聞いて解決するつもりなのか?
どのViewGroupでもボタンが重なってたら最上位のボタンしか反応しないお(^ω^)
もし下層のボタンを反応させたいなら上層のボタンのListenerメソッドから
TouchEventならdispatchTouchEvent()で下層のボタンにディスパッチするか
ClickイベントならperformClick()で下層のボタンをクリック扱いにするお(^ω^)
説明ヘッタクソですまんお(^ω^)
>336
w 糞プログラム乙
右90度の横画面と、左90度の横画面でレイアウトの異なる画面表示を考えています。
configrationChangedで通知を受け取ろうと思ったのですが、orientationでは二つの画面は区別ができないようです。
自分でセンサから傾きを受け取って、requestedOrientationで画面設定を行えば出来そうなのですが、もっと簡単な方法はないでしょうか?
>>335 私ですか?
確かにアプリケーション開発に関してはテキストで調べるよりもネットで検索したりググったほうが早いので安易にかんがえていたふしがありました
>>336 ありがとうございました。
ただ、問題は、ボタンが複数重なったことじゃなくて、
LinearLayout(縦)
→LinearLayout(水平)
→→LinearLayout(水平)
→→→Button (match_parent)
→→→TextView (match_parent)
この状況にて、Buttonが作動しなかったんです
なんとかググって探してみます
340 :
デフォルトの名無しさん:2012/03/05(月) 12:23:54.22
Advanced Task Killer とかのタスカーアプリって
どうやって他のプロセスとかサービスとかkillしてるの?
>>340 ActivityManager.RunningTaskInfoで取得して
killProcess(int PID)で切ってやればOK
342 :
デフォルトの名無しさん:2012/03/05(月) 14:18:45.80
>>341 まじで!サンクス!
KILL_BACKGROUND_PROCESSES とか要りそうだね
やってみる!
killProcessは自プロセス以外もキルできるんだっけ?
そういう公式リファレンスに無い情報ってどうやって見つけるんだ?
345 :
デフォルトの名無しさん:2012/03/05(月) 15:04:42.01
>>343 javadocにはそう書いてあるね・・・
バックグラウンドは
KILL_BACKGROUND_PROCESSES
で
ActivityManager.html#killBackgroundProcesses
すれば殺せそうだけど、
フォアグラウンドはどうすればいんだろ
346 :
デフォルトの名無しさん:2012/03/05(月) 15:05:38.53
>>345 ミス
javadocには自分か、自分が起動したプロセスしか殺せないってなってる
androidプログラミング初心者でストップウォッチを作ってみてるんですが
chronometerがいまいちよくわかりません
SystemClock.elapsedRealtime()は起動してからの時間をカウントアップしてると聞いたのですが
chronometer.setBase(SystemClock.elapsedRealtime())するとなぜ時間が0秒に戻るのでしょうか?
どなたかご教授お願いします
348 :
デフォルトの名無しさん:2012/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
>>346 やっぱりそうだよね
そのAdvancedなんちゃらってのは
本当に2.2以上でタスクキルできるのだろうか?
351 :
デフォルトの名無しさん:2012/03/05(月) 16:04:29.59
>>350 connectbot で ps しながら Advanced〜 でキルしてみたけど
一応ちゃんと殺せてる
バックグラウンドもフォアグラウンドも両方殺せてる
バックグラウンドは
ActivityManager#killBackgroundProcesses(String packageName);
で殺せるとして(KILL_BACKGROUND_PROCESSES 要求ついてる)
フォアグラウンドはどうしてるんだろうね
と思ったけどAdvanced〜がフォアグラウンドな時点で他はバックグラウンドかw
>>344 Androidのソースをダウンロードして手元に置いとくといろいろ便利ですぜ
>>347は自己解決しました
setBaseは現在の時刻から引数の時刻を引いたものをsetするって意味だったんですね
>>351 そうなのか
2.1以前はrestartPackageでやってたけど
2.2以降はそれ使えばいいのか
あとググったらHOMEなActivityを呼んで
フォアのタスクをバックに持ってきてキルする
方法があったけど問題ありそうだな
ServiceのonStart()はサービス起動時と
システムによってサービス再起動された時の
どちらの場合も呼ばれるという認識で合ってる?
ライブ壁紙を実機でデバッグしてて、canvas.getHeight()すると
解像度1280x720のエミュでは値が1280になりますが
同じ解像度の実機(L-01D)で試してみると800になってしまいます。
実機でcanvasのheightを1280にすることってできるんでしょうか?
357 :
320:2012/03/05(月) 18:42:35.23
>>321-322 「Unity」だけど、質問ばかりじゃいかんよなーと思い、今日本屋サクっと言ってきた。
普通に書籍並んでたので立ち読みした感じだと、無料版と有料版にわかれてて
無料版はWindows、Mac、WebPlayer(Flashみたいにブラウザ上から起動できる)用のビルドしかできんそうだ。
有料版(36000円)を買えばAndroidとiOS用にビルドできるようになるんだと。
有料版は30日間の体験版もあるそうだ。
JavaScriptかC#でやるようで、3Dゲーム作るならUnityよさそうだった。
つかれた
C#勉強しないといけないのか大変だね
360 :
320:2012/03/05(月) 18:47:33.87
URL長すぎて貼り付けられないんだけど
ようつべで「Unity tutorial 球転がしゲーム」で検索かけると出てくる動画みてみるとわかるけど
3Dプログラムがおっそろしく簡単に書ける・・・
過去の開発ツールのいい所全部融合させたみたいな感じに個人的にはオモタ
てかやっぱ本屋は偉大だなw
いきなり有料を買うのはやめたほうがいい
今の時点では調べるほどにガッカリする
>>361 俺が買ってしまう前に少しでいいから詳しく!お願い
まずは無料のやつでがっちりやってみる事だ
それからでも遅くは無い
364 :
320:2012/03/05(月) 18:53:03.17
いきなり有料版ははやまりすぎだろ・・・まずは体験版さわってみるべきだ
金額は不明だったけどライセンス料っての払えばPS3、Wii、X-BOX360のソフトも作れるんだとさ。
プロ用だなこれ・・・
365 :
デフォルトの名無しさん:2012/03/05(月) 19:01:07.36
複数OS対応の開発環境はコケる印象あるんだけどな
Javaとか
AndroidにPerlとかインストールできないのですか
出来るよ
byte [] buffer;
BitmapFactory.decodeByteArray( buffer )
で中身がpngのバイト配列を渡してBitmapを作成したのですが、これはBitmap用にbufferからコピーされた新しいメモリ領域ががとられているのでしょうか?
それともbufferへの参照が保持されているだけでしょうか?
decodeしたあとbufferの内容を書き換えてしまっても影響はありませんか?
Unityはゲームエンジンとツールでしょ
Monoで.NET動かしてその上に乗っかってるだけ
ListViewで、一番下までスクロールしているかどうかを調べるメソッドってありませんか?
>>355 onCreate なら呼ばれる
onStartCommand が START_REDELIVER_INTENT か START_STICKY を返してれば onStart も呼ばれる
>>371 getLastVisiblePosition とかどう
>>374 それだと最後の要素が少しでも画面内に出た時点で処理してしまうので、
最後までスクロールして、これ以上進めませんっていうのが欲しいのです
下のようなメニューを作ったら、ダイアログが画面横幅いっぱいになってしまいました。
どこで調節するのでしょうか?
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 :
デフォルトの名無しさん:2012/03/05(月) 21:27:53.21
Listの最後に自分で認識できる最終用アイテムを置いても
>>374と同じかなぁ?
うん
2Dゲームエンジンは何がいいんだ
やっぱe3roidか
openGLイミフな俺にはすべてがイミフ
もうやめよう
実機でデバッグするときSDカードにアクセスする場合パスはどうなるのでしょうか?
SDカード
すいません、あれから帰宅してこの時間までAndroid Developersのサイトを見たのですが
自分が知りたいことはリファレンスになかったのですが
どの部分を参照すればいいのでしょうか
ただ、
>>339は原因はわかりまして、リニアーレイアウトを何個入れ子にしてそこにButtonを置いても
クリック自体は問題なくできるようですが、TextViewと重ねてしまうと反応しないようです。
多分教えて頂いたボタン重ねのときと同じく、TextViewをクリックしたときのイベントリスナーで
Button.performClick()をやればいいのかなと今の時点で思ってますが。
お前さんは一体何がしたいんだ
386 :
デフォルトの名無しさん:2012/03/06(火) 03:08:55.03
ふつうのカメラモードにして同じように指をあててみなー
てーのひらを太陽にー透かしてみーればー♪
ムシケラと友達になった覚えはねえなああああ
なんでいまさらUnityの話が出てきてんだ?
なんかあったの?
なんでいまさら終わった話を蒸し返すんだ?
KYなの?
public class Test extends Activity
という、Testクラスを作った場合
Resources res = getResources();
Bitmap bmp = BitmapFactory.decodeResource(res, R.drawable.test_bmp);
で画像を取得できますが
別のクラス(例:Test2クラス)でgetResourcesする場合どのようにすればいいのでしょうか。
public class Test2 {
public Test2() {
}
}
中々読み込めず悪戦苦闘中です・・・
Test2のようなクラスが多数あり、クラス毎に画像を取得できればと思っています・・・
よろしくおねがいします!
引数でthisをわたしちゃえばおk
>>393 ありがとうございます
引数をthisで渡すんでしょうか?
無知ですみません・・・どの引数にthisを渡し
どこで取得すればいいのかまで教えていただけたら助かります><
何度も申し訳ありません・・
>>394 クラス生成する時にコンストラクタで渡せば?
○引数でthisを渡す
×引数をthisで渡す
↑アホ
なんかしばらく見ないうちにタチの悪いのが出てきたみたいだな
いま、端末の言語設定によってvaluesやvalues-jaで表示言語を変えてるんだけど
SharedPreferenceか何かで明示的に表示言語を切り替えるインターフェースって簡単にはないですかね?
>>392 俺も同じところで引っかかってたから
extends Context
をつけるといけるからそうしてるんだが駄目なんだろうか?
401 :
デフォルトの名無しさん:2012/03/06(火) 08:12:39.34
アプリ更新後にPACKAGE_REMOVEDイベントが飛ぶけど
アプリ更新時に検知する事はできる?
402 :
392:2012/03/06(火) 08:34:31.07
>>395 コンストラクタで渡すことは可能ですが
今回コンストラクタを使用せずgetResourcesが可能な方法が思いつかず質問しました><
>>400 extend Contextは美しくなかったので・・・というより
全部のクラスにextend Contextすると無駄なコードが・・・;;
JAVAは少ししかあまりできないけど誰か一緒に何か作らない?(´・ω・`)
初心者同士勉強も兼ねて何か作れたらなと・・・
出来れば簡単なゲーム系が希望
興味ある人いたらレスください。
プログラムのスキルも無く、やりたい事も決まってないあなたと組んで何のメリットがあるのか私には理解に苦しむね。
405 :
デフォルトの名無しさん:2012/03/06(火) 09:27:54.54
>>402 なんでコンストラクタで渡すの嫌がるの?
引数で渡してメンバに取っとけばいつでも使えるよ?
407 :
392:2012/03/06(火) 09:38:41.61
>>405 public class Test2 {
public Bitmap bmp;
public Resources res;
public Test2(Context context) {
res = context.getResources();
bmp = BitmapFactory.decodeResource(res, R.drawable.test);
}
public void draw(Canvas canvas) {
Paint p = new Paint();
canvas.drawBitmap(bmp, 0, 0, p);
}
}
一応これで取得はできるんですが、Test3クラス等を作った場合
同じようにコンストラクタで渡す方法ぐらいしかないんでしょうか?;;
408 :
デフォルトの名無しさん:2012/03/06(火) 10:00:57.27
>>404 他人任せのお前と組んだら何も作れないだろうな
コンテクストを持ったオブジェクトはその生存期間をキチンと意識したクラス設計が必要になるよ。
コンストラクターで渡すかメソッド毎に渡すかは、プラットフォームの仕様を
よく確認してね。
人と組むということは義務が発生する
気楽にやりたい
自分でのほほんとキャラ描いて実装がぼくの理想さ
人からあれを作れと言われるのではなく、自分が作りたい、使いたいものを作って人と共有して利益が得られるのがぼくはいい
マーケットって、あとから価格の変更できる?
>>413 無料から→有料とか有料→無料以外できたはず
教えてください。
バッテリーの消費を抑える為に、画面が表示されていない状態(スリープ中?)に処理を減らすようにしたいのですがどうすれば判定できますか?
on〜みたいに通知が受け取れればいいのですが・・・・
Intent#ACTION_SCREEN_OFF
Intent#ACTION_SCREEN_ON
PowerManager#isScreenOn
でも WakeLock 掴んでない限りスリープ中は CPU 自体動いてないと思うよ
>>416 ありがとうございます。
今から試してみます。
モード設定画面をいくつも作りたいんですが
最初にlinearLayoutを複数作っておいて非表示にしておいて
必要時、必要な番号のlinearLayoutを表示にするという方法でいいですか?
この方法は通常時の負担になりませんか?
暗い所でやってんじゃねえよwww
教えてください。
1行にTextViewとImageViewを持つ、カスタムListViewを作りました。
リストクリック時に、TextViewの文字列を取得したいです。
どうかよろしくお願いします。
質問です。
AndroidアプリのテストにEclipse上でJUnitを使用しようとしています。
テストケース作成時に「新規 JUnit3 テスト」を選択した場合は問題なく動作するのですが、
「新規 JUnit4 テスト」を選択した場合は「JUnit テスト」実行時に以下エラーダイアログが
表示されてしまい動作しません。
・タイトル
問題が発生
・本文
'【クラスorプロジェクト名】 の起動' に問題が発生しました。
"【クラスorプロジェクト名】 の起動" 中に内部エラーが発生しました。
・詳細
"【クラスorプロジェクト名】 の起動" 中に内部エラーが発生しました。
java.lang.NullPointerException
どのような原因が考えられるでしょうか?
なお、環境は以下の通りです。
Eclipse → 3.6.2 / 3.7.2(どちらでもダメでした)
Java → jdk1.6.0_31
Android → 4.0.3
>>420 カメラに指を当てるんですよね?
ギャラタブだと真っ暗になるんですが・・・
そのまま蛍光灯にでも近づけろよ
Android2.3.3でYoutubeの検索結果を一覧で表示するにはどうしたらいいのですか?
>>421 getViewでfindViewByIdでTextViewとって中見れば取れるけど
adapterのitemから取るのが筋かなと思うよ
427 :
426:2012/03/06(火) 17:53:31.48
間違ったgetViewではなくonListItemClickで
>>427 ありがとうございます。
>adapterのitemから取るのが筋かなと思うよ
申し訳ありません。具体的に教えていただけると助かります。
>>427 onListItemClickで、
adapter.getItemAtPosition(position);
これで無事解決しました。
ありがとうございました!
今textViewをscrollViewに乗せてlinearLayoutから定義して表示できるようにしています。
textView.setText("text");
scrollView = new ScrollView(this);
scrollView.addView(textView);
linearLayout.addView(scrollView,new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT));
setContentView(linearLayout);
このtextViewをbuttonに乗せ替えたいのですが
button=new Button(this);
button.setText("text");
button.setTag("");
button.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT));
元のを消したり再定義したりしたのですが表示されなかったりエラーになったりしてしまいます。
正しい乗せ替え手順はどういう書き方になるでしょうか?
>>430 スクロールビューは、一個しか子供持てないから、リニアとかかぶせ?
ああ一個しか持てないというのがありましたね。
元のlinearLayoutに乗せるのはscrollViewでなくて子のlinearLayoutに変えようかと思います。
そうするとtextViewをbuttonに乗せ替えるとき
乗ってたtextViewをremoveしてbuttonを乗せればいいのか
新たにnew linearLayoutしてbuttonを乗せればいいのか
うまくいく方法はどれになるんでしょうか?
質問。
よくバックグラウンド状態ではActivityは破棄される可能性があるから注意しろって
言ってる記事があるけど、この破棄されるの意味は、WindowsのC#のWindows Formで言えば
ウィンドウが閉じられてアンマネージドリソースが開放された状態のようなものだという理解でいい?
JavaのオブジェクトとしてのActivityが強参照されていてもお構いなしに
GCに回収されるってことではないんだよね?
あとこの変のこと詳しく説明してるweb上の記事があったら教えて欲しい。
ググった感じだと適当に誤魔化して書いてるところばっかりな気がするけど。
参照されてても破棄されるでしょ
リソースが限られてるんだから
一度 setContentView(linearLayout); してしまうと、もうそこにぶら下がってる子を入れ替えることはできないのでしょうか?
そうならば最初から部品全部ぶら下げておいて表示をオン/オフするような方法しかないですか?
Q1.
EclipseのGraphical Layoutに表示されるListViewの
テキストの文字やサイズはどうやったら変えられますか?
Strings.xmlでString Array-Itemを作ってListViewのEntriesに設定しても
Graphical Layout上は Item 1 sub item1 Item2 sub Item2....のまま・・・
このサンプルリストが実際に表示させるListよりも長いので
ListViewよりも下に配置しているTextViewとかを修正しづらいです。
ネットでEclipse Graphical layout "ListView"とかで検索してもうまく引っかからない・・・。
Q2.
ListViewのEntriesに初期表示のリストを(@array/defaultlistなどで)設定したとき
そのテキストのレイアウトをlist.xmlに設定したTextViewのレイアウトに合わせるうまい方法はないですか?
onCreate内で
listV = (ListView)this.findViewById(R.id.listView1); ←main.xml内のListView
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list);
listV.setAdapter(adapter);
ってやると初期表示(Entries=@array/defaultlist)の内容が消えてしまいます。
わざわざコード内で
get→ArrayAdapter(getした内容入り)→setAdapterか
get→ArrayAdapter→add→setAdapterするしかない?
430
linearLayout.removeAllViews() してから配置でできました。
しかしボタン以外のとこタップしてエラーになるのは何だろう。
アンドロイドマーケットの自分のアプリによい評価を自動的に書き込むソフトかスクリプトを教えてください。
あと、(タイトル)これは(本文)いいそふとです、みたいなコメント文集をおいてあるサイトがあれば教えてください。
あ、これは自分でマーケットから収集すればいいか。。。
>>433 Activity が破棄されるとは、onDestroy メソッドが呼ばれてそのインスタンスが OS から忘れ去られるということ
Java のオブジェクトとしては、どこかから強参照されていれば、 GC に回収されることはない
でも onDestroy が呼ばれた以後もどこかからの強参照が残ってるというのは、一般的にメモリリークと考えられる
その Activity が再びフォアグラウンドに戻ったときは、前のとは別のインスタンスが新たに作られるから、
前のインスタンスが残ったままなら、それを繰り返すごとにメモリを圧迫していき、ついには OutOfMemoryError で死ぬであろう
>>436 A1.
Eclipse のあのレイアウトエディタは信用するな
あまりアテにならない
参考程度にとどめておき、 xml の記述内容だけを信じるんだ
A2.
アダプタって項目の内容も込みだから、アダプタを変えたら項目の内容も新しいアダプタの内容になる
entries 属性やめて ArrayAdapter.createFromResource とか使ってみれば
MediaMetadataRetrieverで日本語文字化けするんだけど助けてくだしあ
メニュー押すと子メニューが出る方法(XMLでなくソースで)を解説してあるページを教えて下さい。
>>440 ありがとうございます。Eclipseのリソースエディタでスッキリさせるのは諦めて
コード内でそのArrayAdapter.createFromResource(...)か、
new ArrayAdapter<String>(this, R.layout.list, getResources().getStringArray(R.array.defaultlist));
といった感じで対処することにします。
444 :
441:2012/03/06(火) 22:40:25.67
あ、MediaMetadataRetrieverで読めるヤツもありました。
つーことは、元ファイルのエンコードそのままでStringになってるんですね。
public boolean onCreateOptionsMenu(Menu menu)
これを自主的に呼ぶ方法または外部からmenuの中身を取得する方法を教えて下さい。
menuに中身はない
自分でmenuの中身を作成するんだ
そういうことじゃなくてか?
本当は何がしたいの?
menuで項目選択した時に次の2段目のmenuが現れるのをしたいのです。
どうもです、やってみます。
おしえてください。
はい
アプリの背景画像のサイズっていくつなんですか?
機種ごとに違うと思いますが・・・
いくつで作れば大体のメジャーな機種に対応できるんでしょうか?
マップ関係なんだけど
Overlayにアイテムをいくつか追加して表示してるんだけど
縮尺の度合によっては間隔が狭まってごちゃっとして見難くなるから
縮尺率の閾値を決めて表示をオン・オフしたいんだけどどうすればいい?
getZoomLevelで縮尺率取得して
Overlay継承してdrawをオーバライドすればいいか
Eclipseでエミュ起動してもDDMSとかに表示されなくて
実行できないんだけどどうすれば表示されるの?
いつもは実機でやっててエミュで起動しようと思ってやってみたら
できなかった・・・
adb起動
>>458 ありがとうございます。
ADBは起動してましたができませんでした・・・
プロジェクトのクリーンで何故かできた・・・不思議。
Visual StudioからEclipseに移行してまだ使い方が分からないんですが、
public void onClick(View v)
このvにはクリックされたビューが入っているんですよね?
C#でいうプロパティみたいに、v.nameって感じでメンバ変数をデバッグ中に確認できますか?
外部アプリを一時的に停止させる方法ってありますか?
>>461 外部アプリって何のこと? もしかして、ユーザーがインストールしたもの?
>>462 そうです。はやりセキュリティ的に無理ですかね。
その外部アプリってのは通信offになってる時に起動するとすぐ接続できないと表示されるんですが
そのアプリの起動をイベントで感知して一時的に通信onにし、接続が確立されるまでアプリの処理を一時停止させる物を作ろうと思ってました。
>>460 v.getId() とかで id を取ったりはできる
>>465 ありがとうございます><
背景画像の可変で対応できました。(NINEPatch)
しかし・・・XMLのカスタムViewを作り
android:background="@drawable/back"
と行なった後、クラスでdrawを行うとbackgroundの画像が最前面に来てしまいます・・・
何か方法はございませんでしょうか?
アドバイスお願いします;;
背景も自分でdrawすればいいんじゃない
中途半端に混ぜこぜイクナイ
468 :
466:2012/03/07(水) 11:44:04.35
>>467 9pachを使用する方法を先程知ったばかりで
XMLで直接描画しているサイトが多かったので
そのままでやってしまいました・・・
9pachをdrawするのは通常通りでいいんでしょうか?
あと、XMLで背景指定した場合
drawすると最前面に来てしまうのはどうにかできないのでしょうか?(深度の変更とか・・・)
>>464 ありがとうございます
ではOnclickメソッドはひとつだけ書いてIDで分岐すべきですか
>>469 ありがとうございました。
ただ、まだEclipseのデバッグ方法がよくわかりませんが、ウォッチ式に相当するものはないんですかね…
ってスレ違いですね
>>468 NinePatchDrawableで生成して.draw(canvas)でいい
>>471 あるよ
Window > Show View > Other... で Debug > Expressions
上部のバー(ステータスバー?)にアイコンを表示させたくて
Notificationを使用してリソースにあるアイコン画像の表示には成功しました。
そのアイコンに数値(実際は画像)を合成して表示させたいのですが
どうすればいいのでしょうか?
どななたか、良ければ教えてください。
合成してから表示させればええやん
>>475 Bmp画像の合成方法はサイトでもよく見かけるのですが、アイコンの方法は無くって、
また、NotificationにBmpの定義の仕方がわからなくって・・・
>>476 俺も結構調べたけどリソース以外はできないっぽい
>>477 そうなんですか・・・
だとすると、バッテリー残量を数値で表示させているアプリなどはどうやっているのでしょうか?
全部の画像をリソースに用意しているのでしょうか?
ちなみに、他の方法でも無理なんでしょうか?
>>479 なるほど、リソースレベルで画像を合成ささせて、それを表示させるのか・・・
コレならかなり節約できますね。
試してみます、ありがとうございます。
>>479 うまくいきました。ありがとうございます。
ただ、このサイトの方も書かれていますが、ステータスバーを引き下げたときにでてくるやつが
なぜ0になるんでしょうね・・・
Androidを勉強する上でオススメの書籍などありましたら教えてください。
オライリーから最近出た「プログラミングAndroid」が酷く期待ハズレだったので。。
オライリー本買って駄目ならもう駄目だろ
まあ、どう期待はずれか書かないとな
日本語訳に不満とかなら尼で元のを買う手もあるぜ
487 :
482:2012/03/07(水) 18:16:21.97
どこが期待ハズレって
Java言語やDBの基礎解説に相当ページ数割かれてて中身が空っぽでしたけど。
どういう層が読むのかすら検討が付きません。
JavaとDB以外に何かやることあったっけ?
スレチだが、30代前半で趣味プログラマーの俺を採用してくれる会社ってありそうだとおもう?
腕は素人に毛が生えた程度で2Dゲームは作れるけど3Dゲームは無理。
使えるスキル
C言語(2年、本みないと思い出せない)、MySQL(2年、本みないと思い出せない)、VB6(6年、本みないと思い出せない)
C#(3ヶ月、本みながらじゃないと無理)、Java(6ヶ月、本みながらじゃないと無理)、AndroidSDK(6ヶ月、本みながらじゃないと無理)
JavaScript(1年、本みながらじゃないと無理)、Perl(8年、一番できる)、PHP(1ヶ月、触れる程度)
HTML4未満(8年、問題ない)、HTML5(1ヶ月、触れる程度)
CSS(1ヶ月、触れる程度)、FlashAS(1ヶ月、本みないと思い出せない)
VB6、MySQL、HTML4未満、Perlは業務で使用
Java、AndroidSDKはタッチしたら音がなるだけのクソアプリを1個だけマーケットに・・・。
求人募集サイトみてると現実にはすごく厳しいのはわかっているけど転職考えてるんだ今・・・。
Web系ではなくゲームプログラムに憧れてる・・・。
ちなみに今はただのコンビニバイト・・・すんごく貧乏ですorz
スレ違いだけどをを免罪符にしてるようなヤツは無理
>>489 使えるスキルじゃなくて、使えないスキルの列挙になっとるやんけ
>>489 マジレスしてみよう。。
趣味で○○言語暦○年、などと言われても評価のしようが無い。
どういうものを開発してきたのか、何か具体的に言えるものは無いかな?
Web系なら30代実務経験無しでも全然いけるが、
ゲーム業界は低レイヤの知識が求められるからちょっと厳しいかも。
まあ2chで就職したいんですなどと言う暇があるならハロワにでも行ったほうがまだ可能性があるのは事実。
>>489 マジレスすると、
得意なのが Perl と HTML で業務経験がないんじゃちょっと、、、
掲示板でも作る気ですか?w
496 :
489:2012/03/07(水) 18:41:27.73
ハハハ・・・、叩かれるの覚悟で投稿したからね、どんどん厳しい意見ちょうだい
きっとここには趣味じゃなく業務でやってる人もいるのだろうと思ってね・・・
そういう方の意見はとても貴重だよ
>>492 ところがリアルの性格は自己主張できないでまわりに合わせるタイプ
その反動でネットではKY気味・・・
自分のスキルに自信あるなら
自分で作ったアプリでも持ってって
これだけ出来ます!ってアッピルしたらいいと思うよ
出来ればソースコード付きで
今グーグルの広告にklabとかいう糞きもいおっさんがドヤ顔してる広告出てるじゃん
経験不問とか書いてるから応募だけなら出来るんじゃないの。
499 :
489:2012/03/07(水) 18:56:22.75
>>493 なるほど・・・、なんでゲーム業界は低レイヤなんだろう・・・大体25歳未満までってのが多いんだよね
中途採用はC、C++実務経験3年以上とか・・・他業種からはほとんど誰もいけない気がする・・・
開発
C言語…ドラクエ1程度のゲーム、ブロックくずし、撃って倒すだけのクソシューティング
C#…MSDNにある「XNAで3Dゲームを作る」のコーナーみながら作り上げる燃料拾いゲーム
VB…医療事務ソフトのコーディング、ネット循環してテキストログとアダルトサイトの画像収集するボットみたいなやつ
BBSに自動で書き込みするPOSTツール?、UDPでDDos攻撃しかけるような迷惑ソフト
2chから特定のキーワード含んだテキストを抽出してHTMLにまとめるツール
Perl…BBS、チャット(PC用、携帯用)、アクセスカウンター、アクセス解析、ショッピングカート
AndroidSDK…へぇーボタン、※非リリース→ライブ壁紙(動画再生するだけ)、テストアプリ(センサー、GPS、メール、動画、音声再生)
スキルに自信なんかないよ・・・
なんかゲーム業界にあこがれてたはずが、ぜんぜん関係ない余計なものばかりやってるって
今、これまとめててわかって凹んでる・・・
なんだかんだで色々意見くれてありがとうみんな
自分で始めるのがよさそう
質問です。
XMLで複数のSurfaceViewを重ねた物を作成し、1枚のSurfaceViewは背景の図、他のSurfaceViewには別の図を配置したいと考えています。
背景以外のSurfaceViewは、配列型のSurfaceViewを作成しようとしており,
private MainSurfaceView BackGround;
private MainSurfaceView[] Picture;
BackGround = new MainSurfaceView(変数); //コンストラクタをMainSurfaceViewの中に作成
Picture[10] = new MainSurfaceView(変数);//コンストラクタ
BackGround.draw(); //MainSurfaceViewの中にdraw関数を作成
Picture[1].drar();
の形で、宣言して表示させようとしています。この状態で表示をさせるとBackGroundだけ表示される結果となってしまいます。
同条件でPictureを配列じゃない状態にしたら問題なく配列の上に表示させることが可能なのですが、SurfaceViewは配列として作成することは無理なんでしょうか?
自分、悲劇のヒーローっす的なゴミうぜー プログラミングの質問じゃねーから他行けカス
504 :
489:2012/03/07(水) 19:34:30.31
>>502 ごめんね。もういくよ。
今月中に転職も引越しも強制されてるから精神的に追い詰められてたんだ。
月収6万の生活で貯金も少ないし、歳も歳だから本当に怖かったんだ・・・
ヒーローではない、ダンボールすれすれ。悲観だったのはそうかもしれない。
意見くれた人ありがとう。みんなの意見を元に転職先かんがえてみるよ
Klabは「大卒」でした。ではでは
俺と似てる半生だな。
俺は30過ぎてから会社解雇されてアフィリで生計立てるようになった。
アダルトサイト運営、コピペブログがメイン収入。
あとは自分のやりたいサービスを作って成長を待ってる。
毎日公園とスタバで孤独にプログラミングしてる。
かっこいい
>>481 サイトの続きに解決方があるが
結局、画像ではなく、定義ファイルを100個用意するってなっている。
かなりの力技、他に方法は無いのかな?
アンドロイドのアミュレーターの充電具合を変更する方法は有りませんか?
いつも50%なので
アミュレーターとは新しいな
510 :
508:2012/03/07(水) 21:09:28.31
会社でアプリ作らされてる人の、モチベーションって何?
自作アプリと違って、楽しくないはずだけど
512 :
471:2012/03/07(水) 21:29:52.67
>>511 そりゃヒットしようがしまいがお金がもらえるところだろうなw
ドライバにアクセスするような処理ってROOT権限ないと無理?
ドライバにアクセスするってどおいう意味
バックライト消して消費電力抑えようとscreenBrightnessに0をセットすると、
フォーカス失ってどうしようもないことになるんだけど、これはどうやって復帰すればいいんでしょうか
screenBrightness以外で出来るならキーワードだけでもいいのでお願いします
517 :
デフォルトの名無しさん:2012/03/07(水) 23:01:44.35
アプリが起動している間通知LEDを点灯させていたいのですがどうすればいいですか?
>>511 俺の仕事場だと、
「こんなこと出来ますよ如何ですか」
って見せたら、
「おお良いねぇ、それ採用しようか」
って言ってもらえるので、
どんどん新しい事調べて実装してみるのが楽しくて仕方がない。
「仕様もないのにアプリが作れるか!」
って人には分からんかもしれないが。
逆で「仕様もないアプリを作るな!」がフツー
>>519 うるせー
それはお前が有能だからだよ
ばーかばーか
そして、ある日「俺ってただの都合のよい人間だったんだな」って
気が付くんだよ。
都合の悪い人間よりは都合のいいだけの人間になりたい
遅レスだが。
>>392 おすすめできないけど全部のクラスにcontext渡すの面倒なら
publicとかstaticなクラスメンバどっかで宣言して使いまわすとか。
あとContextってthisで渡すよりgetApplicationContext()で渡したほうがいい気がする(仕様によるが)。
thisだとアクティビティのインスタンス、getApp...だとアプリケーションのインスタンスで、
thisで渡すとアクティビティが死んでくれないで挙動が狂ったり。
まぁなんでもgetApp...にすればいいかといえば違うが(確かダイアログがつくれない)。
>489
俺、似たような状況だったけど就職情報誌で
プログラマーの求人探してノートパソコンに自作のプログラムと
ソースコードつめて面接行ったよ。
今考えると、実力云々より働く意欲が有るのかどうかが
よっぽど重要なんじゃ無いかな。
意欲のない人がいくら表面的に何か訴えても
何も伝わらない気がする。
会社が自分に何をしてくれるのかをまず考えるんじゃなくて、
自分は会社に何をして上げられるのかを
イメージ出来てないと中途採用は難しいんじゃないかな
通話時間を測定しようと思ったけど、
キャリアの通話は履歴から取得するとして
SkypeとかLINEのIP電話系の通話時間は
分からないよな…
527 :
デフォルトの名無しさん:2012/03/08(木) 11:39:59.21
ド素人です。
先ずは、アラームのアプリを書籍サンプルみながら作ってみようと思っております。
時間の設定を朝限定(6〜8時)にしてみたいのですが、そういう方法が
載っている書籍やサイトがあれば教えていただけないでしょうか。
よろしくおねがいします
6時・7時・8時の 3 つのメニューだけしか出さなければいいんじゃない
出てないメニューは選べないわけだし
529 :
デフォルトの名無しさん:2012/03/08(木) 12:03:26.86
標準らいぶらりが持っている?ダイヤルタイプのものは使わないということですね。
アドバイスありがとうございます。
>>524 ありがとうございます。
結局は・・・別にリソース内を呼び出すクラス作って
呼び出してます><
何か、resフォルダ呼び出すの面倒ですね・・・
もうちょっと簡単に呼び出せるようにしてほしかった・・・
おっ
デブコンの正味インストール数が直ってるw
前からおかしくなかったと思うが?
プログラマーって独身率高い?既婚者っているんだろうか
いっぱいいるよ
あるWEBページを表示するのに、
Intent intent = new Intent(Intent.ACTION_VIEW,uri);
startActivity(intent);
ってやってるんですが、manifestにandroid.permission.INTERNETの記述がなくてもブラウザで表示できています。
WebViewを使って表示する場合はパーミッションの記述が必要みたいなんですが、
この両者の違いって何ですか?
538 :
537:2012/03/08(木) 19:25:28.75
自己解決しました。
申し訳ありません。
539 :
481:2012/03/08(木) 20:31:37.45
教えていただいたサイトの方法ではステータスバーを引き下げたときにでてくるやつが0になるので、
その画面をRemoteViewsで作成したのですが、RemoteViewsではicomLevelを設定できないのでそれでも表示できませんでした。
なので画像を合成してsetImageViewBitmapで設定しようと思うのですが
上記のような形のアイコンを簡単にBMPに合成することは出来ますか?
This tag and its children can be replaced by one <TextView/> and a compound drawable
と警告が出るのですが、コレはなんでしょうか?
良ければ教えてください。
わざわざ ImageView を TextView の隣に置かなくても、TextView だけで画像も表示できるぜ? っていう大きなお世話
わろた
RemoteViewsにsetContentDescription()がありますが
主にどのような用途で利用するのでしょうか?
getメソッドがないのでアクセスする手段がなければ意味がないと思うのですが・・・
>>543 RemoteViewsだけじゃなくすべてのViewにsetContentDescriptionはあるよ
それはつまりcontentDescription自体が何かわからないってことだな
contentDescriptionは視覚障害者向けのテキスト情報を提供するんだ
視覚障害者は画面が見えないから音声を頼りに操作するしかない
そこで音声読み上げソフトが画面上のテキストを読み上げてくれるわけだが
絵とかは読み上げられないから、contentDescriptionを設定しておくと代わりにそれを読み上げてくれるんだ
詳しくはアクセシビリティでぐぐれ
>>544 contentDescription自体がそういう用途だったんですね
詳しく説明ありがとうございます!
3Goffにした後に「データ通信が無効です」っていう通知消したいんですがnotificationIDわかる人いたら教えてください
同じプロセスのServiceの参照を取得する方法について質問。
↓を見ると、bindServiceでバインドして、コールバックされるonServiceConnected
の引数から辿って取得する、というとてもまどろっこしい方法を取っている。
http://android.keicode.com/basics/services-bound-with-ibind.php でも、Serviceってシングルトンなんだから、ServiceのonCreateで
public static Service instance;
......
public void onCreate() {
instance = this;
}
とかしておけば済む話なんじゃないかと思うんですが、これだと何か問題があるんでしょうか?
別に無い
たいだいローカルなら単なるシングルトンでいいんだしサービスである必要すら無い
いや、アプリがバックグラウンドに回っても勝手に止まったりされると困る処理なので
Serviceである必用はあるんです。
それだけのためのサービスを別に作って startService / stopService しとけばいいだけ
552 :
デフォルトの名無しさん:2012/03/09(金) 11:03:24.05
super.onCreate とかって無いとダメなの?
実装ではメソッドの最初で呼ぶべき?
因みに自分は
onCreate onResume は メソッドの最初
onPause onDestroy は メソッドの最後
なんだけど・・・
Derived classes must call through to the super class's implementation of this method. If they do not, an exception will be thrown.
554 :
デフォルトの名無しさん:2012/03/09(金) 13:17:39.53
>>541 レスありがとうございます。
遅くなってすみません。
ImageViewを消して、TextViewに画像を表示するように指定したのですが、実行するとエラーで強制終了します。
どうすればいいのでしょうか?
エラーの出るところを直せばいいんじゃない
>>556 TextViewのidに画像を設定している場所です。
でも、警告メッセージでは、TextViewに画像を設定できるって表示される・・・
バグ?
ログでも見ろよ
初心者で申し訳ないですが教えてください。
NatvieActivityでjavaを使わずプログラミングする場合
経過時間の取得ってどうやってすればいいんでしょうか?
gettimeofdayとか
561 :
デフォルトの名無しさん:2012/03/09(金) 17:14:06.87
RecentTaskInfoの履歴情報で
実行中のタスクは履歴一覧から
消えないという保証はありますか?
やだ
>>563 そうですか…残念
RunningTaskInfoから取得し直さないと…
そもそもアンドロイドのダイアログはウインドウズみたいなのモーダルダイアログじゃないから
良くも悪くもダイアログのUIがプロセスをブロッキングはしないだろ。(呼び出し側は止まらない)
>>565 アクティビティの android:theme を @android:style/Theme.Dialog にすると、アクティビティがダイアログの外見になる
あとは普通にレイアウトにプログレスバーとテキストビューを置いて、それを setContentView すれば、それっぽくなる
3.0 以降なら @android:style/Theme.Holo.Dialog の方が見栄えがそれっぽくなる
あるいは、android:theme を @android:style/Theme.Transparent にすると、アクティビティが完全に透明になる
あとは普通に ProgressDialog を出せば、それっぽくなる
あるいは、それっぽい自作のテーマを作ってもいい
cameraクラス使ってアプリ作ってますが、自分撮り(インナーカメラ)を起動するのはどうしたらよいでしょうか?
Camera#getNumberOfCameras と Camera#getCameraInfo を使って
facing が CAMERA_FACING_FRONT なインデックスを探し、
それを Camera#open(int) で開きます
>>569 ありがとうございます!早速試してみます!
ActivitykからServiceを作成しNotificationで通知を作成しました。
この通知をクリックした時にActivityが実行されていればそれを表示、
実行されていなければ新しく実行するようにしたいのですが
どのように記述すればいいでしょうか?
現在は下記の用に記述していますが何度も画面が作成されてしまいます。
Intent in = new Intent( getApplicationContext(), testActivity.class );
PendingIntent pend = PendingIntent.getActivity( testService.this, 0, in , 0);
notification.contentIntent = pend;
よろしくお願いします。
手っ取り早くはマニフェストに
android:launchMode="singleTask"
>>572 ありがとうございます。
解決しました。
チープな暗号化アプリ作ったんですが免責事項とかはどんなふうにスべきでしょうか
このソフトは暗号化出来ません。
すごく面倒な質問でしたね。
>>575 ご協力ありがとうございました。
577 :
デフォルトの名無しさん:2012/03/10(土) 19:26:30.56
メニューを長押しするとキーボードが出てしまうのですが、これを抑制する方法はありますか?
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
SearchManager searchManager = (SearchManager) getSystemService(SEARCH_SERVICE);
searchManager.setOnDismissListener(new SearchManager.OnDismissListener() {
@Override
public void onDismiss() {
InputMethodManager inputMethodManager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
}
});
でやっても、出てしまいます。
2.3まで正常に動作したコードを、4.0のGalaxyNexusで実行すると、必ずSDのファイルへのFile.setLastModifiedが失敗してfalseが返ってしまいます。解決策はあるでしょうか?
そのファイルが存在する事、
マニフェストでの外部ストレージの書き換え権限は確認済みです
Jong timeで渡した値は、1970/1/1からの経過時間をちゃんと指定してる?
>>578 いきなりsetLastModifiedしてるの?
SDに触れるかどうか検査してから触ってる?
てゆうかGNの事情を知らないけど、そもそもパスは合ってるのかな?
GNはSDなくて内蔵だけだよね?
GNにも/sdcardのパスはあるょ☆
前から気になってたんだけどGNってなに?
うろ覚えだけどガンダム00だっけ?見てないからわかんねー
だれかおせーて
【G】alaxy【N】exus
まじか・・・まじだ・・
謎が解けたよありがとう
最近増えてきた内蔵データ領域+SDカードみたいな構成のスマホでFATでフォーマットされたデータ領域をすべて調べる
プログラムを書いていて、次のコードでとりあえず自分の持ってる機種では動いてます。
やり方は、
1.Enviroment.getExternalStorageDirectory()でメインのデータ領域を調べる
2./mnt以下のファイル・サブディレクトリ一覧からディレクトリ且つ書き込み/読み込み可能なものを列挙
3.上記のフルパス文字列をHashSet<String>にaddすることで重複エントリ削除。
です。自分が使っている機種(モトローラPHOTON)ではSDカードのパスが/mnt/sdcard-extなので、この方法でうまくいきます
が、SDカードが/mnt以外の場所にマウントされていると、仕掛け上検知できません。
コレよりさらに汎用的な方法ってありますか?
adb shellでmountコマンドを引数なし実行した時のデータがプログラムで読めると確実だと思うのですが、/etc/mtabや
/system/etc/mtab、/etc/fstabのようなファイルが無いので取り方がわかりません。
>>585 えええええぇぇぇぇぇ
ネタじゃないんかw
>>586 そこにファイルフォーマットの形式がどの様に関連するのか疑問だな。
単に自アプリから読み書き出来るフォルダの列挙が欲しいだけでは?
NN
>>579 >>580 >>581 他のファイルのlastModified()の値をそのまま渡してるので大丈夫です
FileOutputStreamでファイル作成&書き込みはできるのに、setLastModifiedだけは失敗する状況です
getExternalDirectory()で取得したフォルダで操作してるので、パスは間違いないと思います
海外でも同じ問題が報告されてるので、もう少し調べてみます。
ありがとうございました
俺はGNをガンガンノベルズだと思ってたぜw
ぐぐったらwikiにあるそれが一番近いと思ったんで
>>588 ほかのアプリやPCから読み書き可能で大容量なデータ領域を列挙したいので、そうなるとSDカードのようにFATの領域となるんです。
Wi-Fi経由でPCからファイルの送受信ができるツールがを自分で作ろうと思っていて、とりあえずスマホ側はできています。
マーケットで公開する気はないけど勉強がてらに汎用的なアプリにしたいと思って。
>>590 >getExternalDirectory()で取得したフォルダで操作してるので、パスは間違いないと思います
これだけじゃダメだよ
これじゃ特定機種でSDカードアクセスできんよ
GNは普通に取ってこれる
595 :
デフォルトの名無しさん:2012/03/11(日) 16:24:36.40
VBAには
Hoge.manko
Hoge.chinko
Hoge.shikko
というプロパティがあるとしたら
With Hoge
.manko
.chinko
.shikko
End With
という書き方がサポートされてますけど、Javaではデフォルトで頭に.つければどこのインスタンスか明示してくれるんですか?
それともメソッドチェーンというんですかね?その場合だけですか?
>>595 お前はまだこの時間でも寝ぼけてるのか?
597 :
デフォルトの名無しさん:2012/03/11(日) 16:28:14.92
GridView内にImageViewを並べてて
条件1の時は全部を表示、モード2の時は特定の
ImageViewだけ非表示にして間を詰めたいんだけど
1つのAdapterで可能かな?
598 :
デフォルトの名無しさん:2012/03/11(日) 16:29:16.44
×モード2
○条件2
599 :
597:2012/03/11(日) 16:46:54.92
自己解決
カスタムAdapterのgetViewの中で条件を分けたら
うまく動くようになった
600 :
597:2012/03/11(日) 16:48:29.52
と思ったけど間が詰められない…orz
getCount が非表示なぶんを含まない数を返すようにして、
getView とかに渡される position も非表示なぶんをスキップするようにしないと
GNっていうか4.0ってadhoc対応になったの?
603 :
597:2012/03/11(日) 17:42:34.63
>>601 getViewで条件1はImageViewを設定して
条件2は何もしないで返してるんですけど
空欄が空いてしまいます
Adaptterに設定するリストを条件によって
毎回取得し直せば可能なのですが
これは効率が悪いでしょうか?
604 :
デフォルトの名無しさん:2012/03/11(日) 17:42:50.54
デベロッパーコンソールって土日は更新されないんですか?
>>596 Javaしかしらない厨はこれだから困る
VBから来た奴はコレだからなあ。
「デフォルトで頭に.つければ」
何だこりゃ?
意味不明すぎて質問者のレベルが分かっちゃうw
そりゃVBAの知識があるのは下層プログラマぐらいだもんな
触ったことない者がVBあまりバカにしないほうがいいぞ
費用対効果はピカイチだと個人的にはおもってる。
業務用の200〜300万くらいで販売運用されてるビジネスソフトがVB製ってのも珍しくないし
初心者がこのクラスのソフトコーディングできるように設計されてるのだが
もの自体は優秀。
今更どうでもいいけどね。
>>596 起きてますよ
>>606 そもそもレベルの高い人が質問をするんでしょうか?
加えて言わせてもらうと、最初に学んだ言語がなんというだけで人を蔑むような人間ってレベル高いのでしょうか?
ただ確かに質問の意図が不明確でした。
Javaでは「インスタンス.メンバ変数」とか「インスタンス.メソッド()」を書きたいときに「.メンバ」とかいう省略が認められるのですか?
認められるとしたら、それはどういう場面ですか?ということです。
2〜3言語しか経験してないですけど「.」みたいな省略をするのはWith使用時のVB(.NET)だけでしたので質問させて頂きました。
>>608 ただ最近はC#があるから、Winアプリを作るときはC#ですけどね。少なくともうちの職場はC#中心で、
あとExcelを使うならVBAです。
お前はC#やるときにもその質問をしたのか?
>>611 C#にはWithはないですし、実際に「.」で省略しているコードは見たことないのです。
ただここから先はAndroidではなくてJavaの質問なんですかね。
というわけでJavaスレで聞きます
ありがとうございました。
どこまでがAndroidの質問だったのだろうか
614 :
デフォルトの名無しさん:2012/03/11(日) 18:38:37.47
Xperia S51SE(2.3.4)でのserviceの実装で相談。
activityからintent()を作成して、startService()していますが、
onCreate()からonStart あるいはonStartCommand()に移行してくれません。
onCreate()が呼ばれた後、stack traceが/data/anr/traces.txtにはかれて終わってしまいます。
intentにはputExtraでオブジェクトを渡しています。
stack traceの中身はよくわかりません。。
ちなみにHTC desireやエミュレータでは遷移してくれます。
Xperia特有の何かがあるんでしょうか??
615 :
デフォルトの名無しさん:2012/03/11(日) 18:43:18.02
アンドロイドのプロジェクト名をリファクタリングから名前変更で変えたのですが、
エミュレータでテストしたときのホーム画面や実行画面にはいまだ古い名前で残っています
ここを変えるにはどうすればいいのでしょうか
アプリの再インストール?をしたいところですが
>>607 SE/プログラマなら10くらい言語使えて当然だよな
無知を晒した負け惜しみにしか聞こえない
>>615 Stringsのapp_nameじゃね?
違ってたら知らん
grepすれば分かるだろ
620 :
614:2012/03/11(日) 19:44:38.22
setExtraを設定しなかったらうごくなあ。
でもこれでは困るんだよね。。
>>610 これは恥ずかしいw
C#使えるやつがJavaで.使えますか?なんて聞かないだろwww
>>620 スタックトレースに吐かれるってのは例外だと思うけど
その内容によるんじゃないのかな?
623 :
614:2012/03/11(日) 20:52:15.30
>>622 スタックトレースは例外でエラーが発生しているわけではなくて
そのときのプロセスのダンプが出ているようです。
ちなみにアプリもエラーとして落ちるわけではなく、何もおきない
と言う状況です。
putExtraがらみではほかの部分でも??なところがありますので、
そっち方面から攻めてみます。ありがとう。
admobの解説全部xmlでレイアウトとる方法ばかりなのですが
javaのコードの方で全部作ってしまって引き返すのが大変になので
コードで付けれるadmobの解説しているところはないでしょうか?
>>624 やっぱ端末ごとの仕様を把握するのにログ送信機能つける必要ありそうだなーと感想
インターネットアクセス権限つけたくないけど・・・
あ、作ってるアプリの話ね
oggの最後が0.3秒とかごく短い時間再生されない
いわゆる尻切れになってしまうんですが、対処法とかあるんでしょうか?
ファイルの最後に0・3秒の無音を付け足す
馬鹿はレス禁止
↑
・世の中のあらゆるoggファイルがそうなるのか
・PCで聞くとちゃんと再生されるのか
ファイルかアプリか、まずは問題の切り分けからや
何も間違ってないな
<com.admob.android.ads.AdView
android:id="@+id/ad"
これをソースからLinearLayoutに付けるにはどうすればいいでしょうか?
LinearLayout parent = new LinearLayout(this);
AdView child = new AdView(this);
child.setId(※);
parent.addView(child);
※適当に
>>630 どうもありがとうございます
ちょっと試してみます
>>633 どうもありがとうございます
そのアドバイスを言われてPCで再生してみたらPC上では知り切れなく再生されました
oggファイルのうち、なるものとならないものがあります
oggの最後のブロックの平均ビットレートが低い場合に起きてるのかもしれません
>>637 前にもループがうまくいかないという質問があって
フェードアウト、フェードインさせるという回答があった覚えが
音出すようなもの作らないからそういうもんかとだけ思った
なるものならないものあるならエンコーダの問題じゃないのかって気が駿河
水平方向のリニアーレイアウトにボタンを5個ぐらい並べるときに大きさにwrap_contentsを設定してしまうと上につけた
テキストの文字列にボタンの大きさが依存されてしまい、見た目があまりよくないと思うのですが、
これを均等に揃えるにはどうすればいいのでしょうか?
widthにdpとかspとか設定すると解像度によって勝手が変わってしまいそうなのであまりやりたくないんですが
weight
>642
ありがとうございます
できました
援コーだ!!
>>636 どうもです。
AdViewがソースから認識されるかわかりませんがやってみます。
646 :
デフォルトの名無しさん:2012/03/12(月) 07:05:09.34
すいません、質問です。
BOOT_COMPLETEDをレシーバで取得しようとしているのですが、エミュ上ではできて、実機で動きません。。。
user-permissionにもちゃんと設定しました。
また、adbにて
adb shell am broadcast -a android.intent.action.BOOT_COMPLETED
としましたが、実機の際はBroadCastingとなったまま止まってしまいます。
同様の症状になったことがある方や解決策をご存知のかたいませんか?
ウィジェットがまともに作動してくれません。
Unable to launch app com.festivalwid/10041 for broadcast
Intent { act=android.appwidget.action.APPWIDGET_UPDATE
cmp=com.festivalwid/.FestivalWidget (has extras) }: process is bad
というようなエラーがlogに出ますが、ホーム上には一応指定したレイアウトで
ウィジェットらしきものが表示されます。
appWidgetProviderのonEnable()やonStart()にはLog.v()で実行確認できるように
してるのですが何も出力されません。ヘルプヘルプヘルプ
解決しました。
コーディングして最初に起動した時のバグのせいでエミュレータがおかしく
なっていたようです。バグを修正した上でエミュも最起動しないと行けなかった
みたいですね。。。
>>626 一番親要素のレイアウトだけIDでxmlにひもづけたらいいんじゃ?残りは全部addview()で。
651 :
646:2012/03/12(月) 12:44:56.36
>>647 その記事は昨日見て、いろいろいじってみましたがダメでした。
ですが、たった今自己解決しました。
アプリがSDカードにインストールされていると、BOOT_COMPLETEDは取得できないのですね。
サイズが大きいアプリの場合どうしたらいいのでしょうかね・・・
>>650 そうですね。一応できました。
レイアウトって変更が大変だなあと実感してます。
あと4.3.1.jarはバグというかLV13でないと使えないんですね。あまり周知されてないみたいですが。
取得できないと言うよりも
OSがアプリを認識するのがBOOT_COMPLETEDより後ってことなんじゃないかな
654 :
614:2012/03/12(月) 13:45:46.33
いろいろ試したけど
シリアライズ、パーシャルなど。
ビットマップが含まれてると動かないことが判明した。
画像を渡したかったんだけどuriで餅回すようにした。
adViewが完全に表示しきってからSurfaceViewのサイズを決定するにはどうしたらいいでしょうか?
以前はonCreate()の中で定義してたのですが
onReceiveAd()でやってもエラーが起きるし、adも表示がなされてなくてうまくいきません。
SD内のアプリが認識されたときに投げられるintentがあったような
ウインナークラスってなんでしょうか?
そのようなものはありません
ウインナークラスの援コーだ!!!
皮付きウインナークラスもあるよ
662 :
デフォルトの名無しさん:2012/03/12(月) 21:33:04.17
Windowsのスタートメニューみたいに、下の方についているボタンをクリックすると出てくるメニュー(アップダウンメニュー?)
を作りたいのですが、どういう方法を取ればいいのかわかりません。
作りたいのは、リストビューとかグリッドビューの小さなものが、アクティビティーが変わらずに
ボタンを押したら下から出てくる・・・というべきかもしれません。
Xmlやjavaコードを書けと言うつもりはなくて、本当にキーワード程度で宜しいので、どなたか教えていただけませんか?
アップダウンメニューというのはSlidingDrawerを使って、中身にListviewなりなんなり埋め込めばいけるのでは
Activityに関わらずというのがいまいちわからないけど
ホーム画面上でジェスチャーすると起動するような、いわゆるよくあるアプリランチャー系のアプリみたいなやつ?
アップダウンメニュー(w
プルアップメニューと言いたいのか?
初歩的な質問ですがよろしくお願いします。
XMLにてサブメニューにラジオボタンを置く場合
階層的にはこうなるのでしょうか?
<menu>
<item>
<menu>
<RadioGroup>
<RadioButton>
</RadioButton>
</RadioGroup>
</menu>
</item>
</menu>
>>665 お前は揚げ足とりのために生きてるのか?
そういう人もいるだろ
670 :
デフォルトの名無しさん:2012/03/13(火) 01:00:07.75
>>670 日本語が読み辛いからパス。
相談や質問なら、まともな漢字を使いな。
自分が書いたソースコードぐらいはまず晒せ。
あと開発環境、実機の機種、リリースの手順、どの段階で何をした時にエラーが出たのか。
アップダウンガール
普通にopenMenu呼ぶのはダメなのか?
openOptionsMenu()
>>676 Simeji使ってないか?
「InputQueue jni」をGoogleで検索した結果を見てみるのをお勧めする。
market: は今後も継続して有効なんだろか
679 :
614:2012/03/13(火) 13:59:49.45
>>676 トランスレーションありがとう。
>>677 SimejiではなくAtokなんですがIME周りの問題なんですかね。
上の方でもでてましたがキーイベントのフェイクをしたいわけてはなく、メニューを開きたいという目的なのでopenOptionMenuで事足りるのではないかとおもってます。
>>679 キーコード自体は取れてんの?
他のキーだと動くの?
ウインナークラスによがるアップダウンガール
援コーだ!!!
僕の皮付きウインナークラスを実装してごらん
僕の皮付きウインナークラスはfinalで皮なしウインナークラスに継承できません
finalで継承できない…代が続かないということだな
おっさんが一人で書き込んでんのってぐらい寒いんだが
この板ダジャレ好きのおっさんいるよななんか
つまらなくていつも不快な思いしてる
それは誰じゃ
アプリごとの通信量を測定するにはどのような方法がありますか?
調べてもアプリ名しか出なくて困ってます
689 :
688:2012/03/13(火) 20:21:26.14
すいません解決しました。
どう解決したの?
691 :
688:2012/03/13(火) 20:28:17.82
言えません。お騒がせしました。
693 :
688:2012/03/13(火) 21:02:18.70
二度ときません、さようなら
屑過ぎワロスw
695 :
688:2012/03/13(火) 21:03:59.90
屑ですみません。さようなら。
うんち
布団がふっとんだ!
寒の戻り
まあ一人と思ってる人には悪いけど
実際は大勢いるんだけどね
ノリが悪い人間ほどボッチになっちゃうんだゾ☆ミ
黙れカス死ね
プログラマも現場じゃ協調性やコミュ能力求められるもんな
水になじめないやつはハブられる。ヒーーーーーハーーーーーーー☆
Cameraで写真撮影とかMediaRecorderで動画撮影する場合、SurfaceViewにプレビューを映さないとエラーになって落ちる。
ってことはSurfaceViewが確保する画像描画用メモリが映像を撮影するために共用されているんだと思うんだけど、
じゃあディスプレイの解像度を超えるサイズの写真が撮影できないかというとそうでもないじゃん。
SurfaceViewの画面表示面積を広げると、撮影する写真の画質が改善する可能性があるのかな?
逆に描画に使う処理コストが下がるからSurfaceViewは小さいほうが高画質?
SurfaceHolder#getSurface().setSize(int, int)がキャプチャ画像サイズで、
SurfaceHolderのサイズはSurfaceが持ってる実画像のプレビューイメージのみに作用するのかな?
704 :
デフォルトの名無しさん:2012/03/13(火) 22:12:05.29
AndroidのRecognizerIntentを使い音声認識をしているのですが、
音声認識をしながら、その音声を保存したいなと思い作ってみました。
しかし、アプリを起動すると音声認識で「オーディオエラー」と出てしまいます。
アプリ内のマイクアイコンを押下後に、音声認識とAudioRecordを両方走らせてるのですが、
これだとダメなんでしょうか?
RecognizerIntentで保存できればいいなと思い、調べてみたのですが、なかなかいいのが見つからず。。
よろしくお願いします。
質問させてください。
android関連の、ユーザ管理が必要なサイトを作ろうと思っています。ユーザのデータ更新等の仕組みを作るのが大変なので、2chに書き込むことで代替したいと考えています。
具体的には、ユーザ名は書き込みの名前、パスワードはトリップ、登録内容は書き込みの内容にするつもりです。イメージ的にはメーリングリストの登録等のコマンドに近いでしょうか。
これをサーバから定期的に取りに行きます。
以下質問させてください。
1.それ専用の板を立てて使うつもりなのですが、2chの規約(?)で問題ありますか?
2.同様の方法をとっているサイトはありますか?
2chにそんな専用の板勝手につくれねーよ
707 :
705:2012/03/13(火) 22:32:45.66
板じゃない、スレでしたorz
問題ありまくり。釣りだとしてもひどすぎる。
どんなサービスか知らんが2chを他のサービスで間借りするような使い方は止めときなさい
710 :
デフォルトの名無しさん:2012/03/13(火) 23:07:18.35
ダイアログで、XMLの一部をそのままダイアログに載せて表示する方法ってないのでしょうか?
711 :
705:2012/03/13(火) 23:20:58.31
なんとなくやめた方がいいと言う感じですかね?確かに他のサイトでやってるのは見たことないし…
てかそのユーザのIPで書き込み出来ない場合はどうするんだよw
713 :
デフォルトの名無しさん:2012/03/13(火) 23:49:16.47
レン鯖くらい借りろよ
714 :
705:2012/03/13(火) 23:59:36.22
>>712 規制かかってる場合ですかね?確かに困りますね…
>>713 サーバー自体は立てるつもりです。登録内容の表示等はそちらにアクセスしてもらいます。
ただデータ登録等の仕組みを作るのが大変だったり、個人情報持ちたくなかったりするので、そこは2chに任せられないかなと。
スレがdat落ちしたらもうそのアプリ使えなくなるな
トリップなんか割れるし
だれが2chになんか登録情報なんか書き込むかよ
717 :
705:2012/03/14(水) 00:16:12.43
>>715 データ登録用の書き込み先がなくなってデータ登録が出来なくなる、ということですかね?
サーバにショートカット的なものを置いて板にリダイレクトするようにし、書き込み時にはそこにアクセス、板切り替え時には私がショートカット更新すれば行けそうです
718 :
デフォルトの名無しさん:2012/03/14(水) 00:20:20.39
androidアプリで開発中のときにとりあえずエラーをcatchしたときのエラー内容を表示させるには
どれが一番簡単な方法でしょうか?
catch (Exception e) {
}
ここの内容です
719 :
705:2012/03/14(水) 00:20:47.49
>>716 割れるのは困りますね…
登録内容自体はたいしたものではないので2chに書くのを嫌がられはしなさそうです。
やりたい内容を書くとすぐ作られてしまいそうなので伏せていて申し訳ないです…
720 :
705:2012/03/14(水) 00:22:44.63
掲示板書き込み程度のことで済むんならPerlでちょろっと十行程度のCGIでも書けばできると思うんだが
仕組み作るのが大変ってどういうところが大変なんだ
トリップにしたら元のパスワードわからないぞー
>>718 開発中なら e.printStackTrace(); でいいんじゃね
724 :
718:2012/03/14(水) 00:33:44.48
>>723 すいません 低レベルな質問ですいませんが、
e.printStackTrace();の中身ってEclipseなりで確認できるのですか?
LogCat に出てこない?
727 :
705:2012/03/14(水) 00:39:02.15
>>722 いろいろはしょって説明していてすみません。元パスワードはいらないつもりです。
サーバにはユーザ登録や、登録情報の更新の機能は無しにします。
サーバがするのは、スレ内容を取りに行って解析、名前&トリップが登録済みの人なら内容の更新、初めての人は新規として登録します。
また、サーバにアクセスして来たら登録された情報を表示する、この2つです。
>>721 自分がユーザ管理の仕組みを作った事が無いから毛嫌いしているのかもしれません…
で、上記の方法なら簡単かなと思った次第です。
つか自分で微塵も管理できない外部のサービスを自分勝手に使おうという発想が理解できない。
うまいたとえかどうかわからんが、他人の私有地で無許可でホームパーティやってるくらいの気持ち悪さ。
dbで管理しろ
> サーバにはユーザ登録や、登録情報の更新の機能は無しにします。
> サーバがするのは、 (..中略..) 内容の更新、初めての人は新規として登録します。
言ってることが矛盾してるように俺には見える
>>728 ワロタwww
にしてもなぜ2chを使おうと思ったんだろう
java扱えるくらいならcgiとかphpくらい簡単につかえるだろうに
>>727 ユーザー管理ってのは、「ユーザーの大切な個人情報をお預かりする」ってこと。
そんないい加減な気持ちでやったら絶対駄目。
駄目な理由をいくつか挙げとくと、2ch に書くってのは自動的に公開される訳で、
・ユーザーは他のサイトで使ってるパスワードを使い回す可能性があり、
トリップを解析されて他のサイトで悪用される可能性がある。
・登録情報に実名や住所などを入力される可能性があり、自動的に公開されてしまう。
(2ch のスレに公開されるという注意書きを書いとけばいいって問題じゃない。)
など。最近世間ではアプリのプライバシーに厳しくなってるので、新聞沙汰とか、
最悪逮捕される可能性もあると思うよ。
734 :
デフォルトの名無しさん:2012/03/14(水) 00:54:25.27
>>718 Log.e("エラーだー!!!","ゲエエエー!!");
でおk
考えてみればトリップはつけたことがなかったのでテスト。
>>731 本当だ…
正しくは「サーバには(ユーザが直接行う)ユーザ登録や、登録情報の更新の機能は無しにします。 」でした。
>>728 ポリシーの問題ですかね。
例えばtwitterやfacebookのアカウントを使ってログインするようなサイトはそれらが使えなくなったら困るけどその時はその時、という考え方なのでしょう。私のも2chが使えなくなったら消滅かと。
>>729,730
やはりそうですかね…
>>733 登録内容はマーケット上のアプリ名のみのつもりなのでフィルタもかけられるし大丈夫かと思っていましたが、ユーザ名部分にいたずらで個人情報を書かれると困りますね…
トリップの件も、一般的なログインサイトであればブルートフォースしなければならない所を、この方法だとオフラインで解析できてしまうのでまずそうですね…長い文字列を自動生成かな。
>>732 すみません、見落としていました。
気軽に書き込みができそうな2chかtwitterを使おうかと思ったのですが、
twitterは文字制限がきついのでやめました。
>>736 ポリシーも何もTwitterだと利用規約違反だと思うし、2chだと書き込み時に規約とかでてたと思うんだがそれはどうするの?無視?
ユーザーは知らぬ間に同意させられたことになるの?
>>733の通りユーザー管理をあまりに軽く考えすぎてると思うし、素直に自鯖かレンタル鯖使って自分で管理しろよ。
できないなら作るべきじゃない。
そんなスレ立てたらフルボッコにされるぞ
結局何がしたいのか意味が分からん。
何を作ろうとしてるの?
2chをデータベースとして使おうとしてる子、たぶん相当初心者で
自分が作ろうとおもっている物をどうやったら実現できるのか、わからん感じなんだろうな。
ユーザー管理は、普通に「SQL」←(わからなければぐぐれ)との連携で作れ。
2chは頻繁に板にアクセスしてくるタイプのソフト(アプリ)は
「運営に害をなすソフト(例えば、ハッキングツール、スパム投稿用のボット、ウイルス)」とみなし
ソフト単位でアクセスできないように遮断してくるよ。
それに1000件の書き込みで掲示板が表示できなくなるのだから1000人しか登録できないでしょ。
2chや他の掲示板(したらばBBSとか)をユーザー管理用のデータベースとして使うより
SQLで自前のデータ管理したほうがはるかに簡単。
一方キミがトロイツールみたいなのを開発しようとしてて
感染した人を把握するために、感染者をBBSへ勝手に書き込ませるような物を作りたいとかだったら
今すぐ辞めたほうがいいんだぜ。すぐ捕まる。
他のアプリから呼び出せるように登録するにはどうしたらいいですか??
たとえば2chMateではスレッドURL他のアプリで開くことができますけど
ぼくの環境では通常のブラウザと他の2chブラウザが候補として表示されました。
これはどういった基準で選ばれているのでしょうか??
typeとか
リニアーレイアウトで、(ボタンを押したなどの)イベントでリニアーレイアウトの真ん中にテキストビューが出てくる。
もう一度イベント発生したら、テキストビューがもう一つ、リニアーレイアウトの中に真ん中を分け合う形で出てくる。
更にもう一度イベント発生したら、三個目のテキストビューが、リニアーレイアウトの中に既にある2つと真ん中を分け合う形で出てくる。
というレイアウトを作りたいんですが、orientationが縦方向のリニアーレイアウトに、gravityがcenter、weight値がみんな同じのテキストビューをonClickイベントで配置していけばいいんでしょうか?
やり方は複数あるとは思うのですが、動的にレイアウトを生成するならば、XMLに予め書いておくのは無理ですよね?
745 :
デフォルトの名無しさん:2012/03/14(水) 08:16:22.43
ビルドして出来たapkファイルを実機にインストールして動かしたら、
au C01(2.3.5)ではちゃんと動作するのに、同じバージョンのdocomo F-05Dでは起動時に
予期せず停止しましたと言われ起動できません。
エミュレータではほぼ全てのバージョンで起動しますが、バージョン2.0のときだけ動きません。
原因はどんなものが考えられますか?
エスパー希望か
LogCat見ればヒントがある…かも知れん。
>>744 数が決まっているならvisibility=gone
好きに作ればいいんじゃないかと
749 :
744:2012/03/14(水) 09:34:54.10
>>748 ありがとうございます
確かに数は決まってるのですが、最初っからリニアーレイアウトの中に3つ配置して残り2つを非表示にしてしまうと、
1個しかないときや2個しかないときと比べて位置が変わってしまいそうなんですよね…
>>745 2.0 でデバッグしてみればいいんじゃねーの?
>>749 理想図が想像しづらいんだけど
3つ置いたときって、Text1 Text2 中央 Text3
て表示したいの?
>位置が変わってしまいそうなんですよね…
位置を変えたくないならvisibility=invisibleでいいんじゃないかな
752 :
744:2012/03/14(水) 12:31:35.27
説明が下手くそですいません
帰宅したら画像などつけさせて再投稿させていただきます
753 :
デフォルトの名無しさん:2012/03/14(水) 16:16:48.48
おまいらの不可能だと思えるプログラムはどんな物ですか?
自分の理解を超えるもの全て
なんか本を見ながらアプリを作ったのですが
例題と全く同じように作ったのに起動しません。
eclipseで書いた後に何をすればエミュレータが動きますか?
不可能な物なんか沢山ありすぎて困る
身近な所でドラえもんの道具全部
ドラえもん自体も無理だな
>>755 大体はマニフェストで引っ掛かる気がする
ポンポコ
C言語の#if _DEBUG 〜 #endif 見たいなデバグ用の記述をする方法はありますか?
ない
if (Debug.isDebuggerConnected()) {
Log.w("こっち", "見んな");
}
( ゚д゚) ←
>>763 _(__つ/ ̄ ̄ ̄/_
\/ /
 ̄ ̄ ̄
( ゚д゚ )
_(__つ/ ̄ ̄ ̄/_
\/ /
>>761 スレチかandroid デバッグでぐぐれかす
賞味の話、マニフェストがおかしくて上手く行かないとかandroid開発環境考えたヤツの設計ミスだと思う
767 :
761:2012/03/14(水) 19:12:41.41
if()ブロックでdeadcodeにするのはいいんだけど
これだとコンパイル自体は行われるから中に文法エラーがあったらコンパイル通らないんだよね
#ifdef ブロックだと問答無用でコンパイルスルーできるから使い勝手が微妙に変わってくる
コンパイルエラー取れば?
たしかに置きたいのが別キャリア用のコードとかだったりするとエラー取ればいいってもんじゃないからな。
>>766 俺もそう思う。
マニフェストはコンパイラがほぼ自動的に記述してくれる方が
どう考えても親切。パーミッションまわりなんか特に。
確かに。最低でもビルドするときに使用しているメソッドとマニフェストから足りないパーミッションを列挙してほしいよな。
775 :
744:2012/03/14(水) 20:57:40.89
>>748 >>751 帰宅してためしてみたのですが、view.GONEだと非表示にしたスペースは詰めてくれるようですね・・・
本当にありがとうございました。
質問がわかりにくくて本当にすいませんでしたが、GONEで解決です
質問ですが2.2 API8 の環境で設定の
アプリケーション→アプリケーションの管理→アプリケーション情報
画面を呼び出す方法を知りたいです。
2.3 API9なら以下のものがあるのですが
Intent intent = new Intent(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS, Uri.parse("package:"+getPackageName()))
startActivity(intent);
2.2 だとそれも使えないのですが
Advanced Task Killer などだと呼び出しているので
どうにか実現できればと思います。
じしんがこわいけどおねがいします。。
777 :
デフォルトの名無しさん:2012/03/14(水) 21:17:44.26
【政治】知られざる危険性…近く閣議決定されるとの情報がある亡国の法案=“人権救済機関法案” 自民・稲田議員が警告★3
http://uni.2ch.net/test/read.cgi/newsplus/1331711675/22 ↑
電話番号、アドレスの詳細
電話は勇気ないという人でも、せめてメールくらいは送ってみて
◆◆◆◆◆◆拡散に 御協力 お願いします◆◆◆◆◆◆
人権侵害救済法(人権委員会設置法案)に反対する声明を、
一般の方々が電話及びFAX抗議してもらうためのチラシを作成(訂正)しました。
人権委員会設置法案(人権侵害救済法案)が3月中下旬に閣議決定されるかも知れません。
1通でも多く反対メール・電話・FAXをよろしくお願い致します。
3枚組みで、1・2枚目は人権法案の危険性を訴える内容の例文。
電話で読み上げるなり、そのままFAX送信できるようにまとめています。
また各自が意見を追加できるように空欄を入れました。
(FAX送付のために文字を大きくしました)
3枚目は、政党や主要閣僚の電話・FAX連絡先を一覧にしています。
特に、保守派とされる自見庄三郎 (郵政大臣;国民新党)、
松原 仁(国家公安委員会委員長)へ集中してFAXお願いいたします。
さらに連立与党の国民新党の亀井静香代表宛にもお願いいたします。
あまりに危険な人権侵害救済法案・法務省がQA
■久々の本気でおねがいします2!!人権擁護法案!! ひめのブログ
http://bbs.unionbbs.org/test/read.cgi/news/1323182085/37
Windows7Pro(64bit)を使用しています。
CドライブはSSDを入れているので、Usersフォルダの中身の内
Windowsの設定で移動出来るもの全部、Dドライブに移動してあります。
という状態で、AVDマネージャよりAVDを作成、起動しようと思ったら。
PANIC: Could not open: C:\Users\hoge\.android/avd/test.ini
と出てきて起動出来ません。(hogeは本当はユーザ名ね)
ファイル自体は以下にあるのを確認しました。
D:\Users\hoge\.android\avd\test.ini
これ、直し方知っている方居ましたら、教えていただけませんでしょうか。
googleの中の人はいつもやることがウンコだぜハッハー(本音)
android 4.0.3 のエミュ起動するのはいいんだけど、
adb devices やっても一覧に出てこないorz
なーぜー
>>778 ユーザー名に2バイト文字混ざってない?
782 :
778:2012/03/14(水) 22:50:55.01
>>781 リロードし忘れて見落としました、すみませんorz
ユーザ名はアルファベットしか使ってないから、そこは問題ないです。
っていうかユーザ名「unko」にしてあるから問題ない!たぶん。
>>780 左に画像は自分でレイアウト書くだけだと思ふ。
ツリーみたいなのはエキスパンダブルリストビューとかそんな名前だった気が。
httpgetで2ちゃんねるのスレッドを取得できたまでは良かったんですが
全角文字だけ化けてしまいます。どうすれば良いのでしょうか
エンコード
エンコード変換
>>786>>787 レスサンクス
String threadName = new String(tempTitle.getBytes("iso-8859-1"), "Shift_JIS");
これしても文字化けしたんですが、何が悪いのでしょう
>>778 そのiniの内容にパスが記載されてないのか確認しました?
>>788 多分本分データがUTF-8だと仮定して文字列化されているからだろう。
まずバイト配列で取り出した後、それを
new String(data, "Windows-31J")
でどう?
ちなみにShift_JISだと「〜」とかだけ文字化けすると思うのでWindows-31Jがおすすめ。
ただこの方法だとスレッド全体のファイルサイズの2倍近いメモリが瞬間的に消耗される。
可能ならHTTP応答を読み出すInputStreamを取り出して、それをInputStreamReader(in, "Windows-31J")
で文字列化して読みだすのがベスト。
どなたかご存知でしたら教えてください。
タブの処理で"setOnTabChangedListener"を使用すればタブが変更された事を得れるのですが
同じタブを選択した場合は変更ではないので通知が来ません。
コレを得ることは出来ますか?
getBytesに"iso-8859-1"を指定してるのが悪い
でも一回間違った文字コードでデコードしたものをもう一度バイナリ化して復元とかスマートじゃないじゃん。
PCだとそれでも十分速いんだろうけどスマホでそんなことして大丈夫かは不安。
>String threadName = new String(tempTitle.getBytes("iso-8859-1"), "Shift_JIS");
tempTitleを"iso-8859-1"文字列に変換してできたバイト列を"Shift_JIS"として解釈して文字列化
まずiso-8859-1が何なのかわかってないな
日本語が扱えないエンコード形式に変換して
意味を考えずサンプルでもコピペしたのかね
InputStream in = null;
BufferedReader reader = null;
try {
in = get.getEntity().getContent();
reader = new BufferedReader(new InputStreamReader(in, "Windows-31J"));
while ( true ) {
String line = in.readLine();
if ( line == null ) break;
}
}finally {
if ( in != null ) in.close();
}
この方法なら文字化けしないはず。それに間違った文字コードでStringを作ることも無いし、
メモリ内にファイル全体を取り込むこともしないので非常に速い。
>>789 確認していませんでした。っていうか中身見ていませんでした。
開いてみた所、iniファイルの中は以下の通りでした。
target=android-10
path=d:\Users\hoge\.android\avd\test.avd
#そういや書き漏れていましたが、ターゲット名は「test」で作ってあります。
こっちのパスは特に問題なしです。
んでまあ、そもそもの問題はこのiniファイルを読んでくれないことでして…
>>791 TabHost.getTabWidget().getChildAt(i).setOnClickListener(OnClickListener)
iはtab分回せし
俺もエンコードでハマった事ある
文字化けしないページタイトル取得するために
こんな面倒な事してるんだけどどうしたもんだろう?
1.URLConnection#getContentTypeからcharsetを抽出
2.URLConnection#getInputStreamに対して上記charsetでエンコード
3.取得したHTMLから更にcharsetとページタイトルを抽出
→ここでエンコード指定がおかしくてページタイトルが文字化けしてる事有り
4.1と3のcharsetが一致してなければ3のcharsetでエンコードし直し
5.取得したHTMLからページタイトルを抽出
ちなみに手順2のgetInputStreamでAndroid特有のバグに遭遇して
例外発生するパターンがあるので、catchしてHttpGetでやり直した
>>799 HTMLのパースはたしかに厄介。metaタグより前にマルチバイトなタイトルが書かれていても一般的なブラウザはちゃんと処理するもんな。
どうしてもそれを自分でやりたいんなら、InputStream#read(byte[])で読みだしたバイナリからmetaタグとtitleタグを探してそこだけ一旦List<ByteBuffer>に
入れて、後から文字列化とかかなぁ。
でもbyte[]からtitleタグとmetaタグをもれなく探しだすには一旦iso-8859-1で文字列化して処理するのが現実的かも。
byte[]のままでも不可能じゃないが著しく面倒。
>>800 iso-8859-1でやるのがいいのかな
一時はTagsoupとか使ってスクレイピングしようとしたけど
紆余曲折の結果、自前でパースするのが一番早かった…
>>801 確かiso-8859-1は正常に変換出来なかった文字を元のバイナリのまま残す仕様。
だから文字化けしたStringに対してgetBytes("iso-8859-1")で100%元のバイナリを復元できる。
逆にそれ以外の文字コードを指定する場合は変換出来なかった文字を半角の「?」とかに変換してしまうから、
その後getBytes()しても元のバイト列とはレングスすら違うデータしか復元されない。
少なくともWindows-31JみたいなJIS文字集合ベースのコードではそうなる。
804 :
791:2012/03/15(木) 00:44:10.92
>>798 ありがとうございます。
クリックイベントを取ればよかったんですね。
>>803 そんな仕様だったのか…
現状metaタグ部分は誤変換しないだろうから
一応パース出来て動いてるんだな
>790
サンクスこ。
new InputStreamReader()するところでそうしたら上手く言った
807 :
662:2012/03/15(木) 01:03:26.03
>>784 ありがとうございます。とても参考になりました。
以下のように書いてもノーティフィケーションがステータスバーに表示されません。
エラーは出てないようなのですがどうしてでしょうか
Notification n = new Notification();
n.tickerText = "notifi";
Intent i = new Intent(context,SetWidget.class);
PendingIntent pi = PendingIntent.getActivity(context, 0, i,0);
n.number = 1;
n.when = System.currentTimeMillis();
n.setLatestEventInfo(context, "notifi", "cation" ,pi);
NotificationManager nm = (NotificationManager)context.getSystemService(context.NOTIFICATION_SERVICE);
nm.notify(1,n);
すいません。
n.icon設定シてなかっただけでした。
結構細かいですね
>>808 確かNotificationのiconプロパティが指定必須だったと思う。
それにnotifyの第一引数はR.string.xxxx定数の値じゃないとだめなんじゃないか?
>>802 ありがとうございました!
先ほどやってみたら取得できました!
これで我がTaskKillerは無敵
viewpagerでoverScrollを実装したいんですが、どうやれば良いですか?
os target version2.3にしています
viewpagerを継承したクラスで、overScrollByをオーバーライドしましたが、ダメでした。
viewpagerのonTouchEventでoverScrollByが呼ばれていないのが原因みたいです。
よろしくお願いします
813 :
デフォルトの名無しさん:2012/03/15(木) 08:19:55.75
Eclipseからエミュレータを通じてテストしていると、エミュレータを終了させてもjavaw.exeがメモリから解放されず残っていたり、
直前の反映が反映されてない古いバージョンが起動していたりするんですが、私の環境が悪いんですか?
Win7 64bitとかの標準的な構成ですが
>>797 そうですか、助力にすらなれず申し訳ない。
モニタの物理的なサイズ(ピクセルじゃなくて、何センチとか)を知りたいのですが。
自前で描画してる文字やボタンの大きさを決める時の判定に使いたいのです。
最近の端末は1280とかで4〜5インチとか、画素が細か過ぎ…
817 :
815:2012/03/15(木) 12:57:56.14
他のアプリが音楽流してるかって判定できないんですか?
BitmapDrawable(Bitmap bitmap)
がデュプリケートされてるんだけど、どれ使えばいいの?
>>819 リファレンス見れば
> This constructor is deprecated. Use BitmapDrawable(Resources, Bitmap)
と書いてあるじゃまいか
>>820 あ・・・・・・れ・・・・・・・・・
ありがとうございました
822 :
デフォルトの名無しさん:2012/03/15(木) 18:17:47.91
悪い、質問させてくれ。
現在接続されているBluetooth機器のアドレスを取得する方法を教えてくれ。
823 :
822:2012/03/15(木) 18:19:09.79
書き忘れた。Bluetooth機器のプロファイルはHIDだ。
Notificationをステータスバーに表示させてそこからIntent()させてるのですが
その後も表示が残ったままです。これは通知を消去するか、Intent()先で
cancel()するしかないのでしょうか??
>>824 notification.flags |= Notification.FLAG_AUTO_CANCEL
だった気がする
826 :
デフォルトの名無しさん:2012/03/16(金) 00:16:59.85
クラスAからクラスBの関数を呼ぼうとするとエラーが出ます
public class ClassA extends Activity{
ClassB classb;
----
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
classb.touch(event);
return false;
}
----
}
public class ClassB extends GLSurfaceView{
----
public boolean touch(MotionEvent event) {
//処理
}
----
}
ソースはこんな感じです
JAVAは初めてなのでなぜ無理なのかわかりません
>>826 まず、ClassBのインスタンスを生成していないような...。
Javaが初めてなら、Androidでなく、Javaの勉強からやった方がいい。
>>826 classbがnullだからだろ
Javaだからってレベルじゃないと思うが
中途半端にC++の知識有ると
Javaはプリミティブ型以外にインスタンス変数は宣言できない所に引っかかるよね。
プリミティブ型の代用クラスのStringとかIntegerの動作が特にJava初心者には
混乱を招く原因かも知れない。
830 :
デフォルトの名無しさん:2012/03/16(金) 00:35:00.46
>>827 >>828 ありがとうございます
ClassB classb = new ClassB;
こうしたら出来ました
classを使わないといけない言語が初めてだったんでわかりませんでした
できるわけない
832 :
デフォルトの名無しさん:2012/03/16(金) 00:49:26.30
>>831 ClassB classb;
--onCreate--
classb = new ClassB(this);
----
でした
とりあえず、「オブジェクト思考」について、勉強したほうがいいかも。
指向の間違い!
ぬるぽ!
思考でもあながち間違ってない
オブジェクト嗜好
838 :
デフォルトの名無しさん:2012/03/16(金) 02:49:02.24
android 4.0.3 に 2.3.3では文句いわず動作してるapkぶっこんだら
strict modeでblock云々と言われてうごかねえ。
通信部分を別スレに書き直すしかないのか?
フリックとスクロールは同時(スクロール中にフリック)に取得できますか?
フリックの瞬間には指離してるんだから
スクロールにならないじゃん
>>839 指を離しているオートスクロール中の事なら可能。
スレの祭りチェックウィジェット作ったんですけど、
どこか野良apkを試してくれるとこないでしょうか??
オブジェクト指向が好きならオブジェクト嗜好だなって考えるのがオブジェクト思考
>>845 左右で縦横無尽にグリグリ動かしたいなら
座標とアクションを取るしかない
リストビューも左右の遷移も自作する必要があるが出来るか出来ないかで言えば出来る。
え、リストビューのスクロールって自作onTouchで同じぐらいの制御できるんか
>>845 フリックはいつでも取得できる
ムーブもいつでも取得できる
そして
スクロールは入力に関係ない表示の話だからスクロールと同時取得できるかっていう質問はよくわからない
>>848 それがしたいです
onFlingと同じところにonScrollがあったのでスクロールとフリックで例えてました
参考になるサイトまたはやり方を教えて下さい
>>849 それとはフリックとmoveの同時取得です
妻夫木みたいにしてくれ
って言ったら
妻夫木って誰ですか?
だってさ。時代の流れを感じたわ
ごばーく
妻
っ
妻
だ
854 :
デフォルトの名無しさん:2012/03/16(金) 23:34:47.07
SimpleOnGestureListenerをマルチタッチ対応にできせんか?
2タッチ目からの反応のさせ方がわかりません
>>812 どなたか分かる方いませんか?
お願いします。
何がしたくて何が駄目だったのかわからんからどうしようもない
>>847 等加速度運動を自前で計算すればできるよ
HT-03Aのころ、確か1.6向けに作ったapkなんですが、
これをGalaxy Nexusにインストールしようとしても「ファイルを開けません」と出てしまいます。
Galaxy S(2.3)では特に問題なく使用できていたのですが、
4から(3から?)何か仕様に変更などあったのでしょうか?
ダイアログに配置したボタン全てにリスナーをつけたいんですが、
現状は、findViewById() で1つづつ取り出して、リスナーを登録しています。
特に困ってはいないのですが、
もうすこしエレガントにやる方法ってありますでしょうか?
純白のタキシードを着てプログラミングする
タキシードを買うお金がありません、
お金のかからない方法でお願いします。
プログラ初心者でエミュレータ使って実行してるんですけど、エミュ重くて辛いです。
それでエミュの代わりにAndroidタブレット繋いで実行したりしたいんですが、、、できますかね?(実機は買う金ない
実機じゃないAndroidタブレットって何それこわい
華麗に間違えましたね()。スマホは高いっす
>>864 ADKManagerでUSBドライバ落として繋ぐ
タブレット端末でもデバッグ出来ますか?
ってことなら当然出来ます
白ロムの端末とかでもいいと思うけどねー
うふふ、ローラだよ☆うふふ
>>859 xmlで書いとけばいい
android:onClick="onClick"
>>870 え!そんな技が!
調べてみます、ありがとうございます。
必ずしもエレガントではないと思うがな。
がなー
アプリが起動したときに一回だけ実行したい初期化処理があって Activity のonCreate の中で
行っているのですが、画面が回転したときにもonCreate が呼ばれて初期化処理が行われて
しまいます。
それで下のようにフラグをもって最初のonCreateかどうか判定するようにしました。
うまく動いているようにみえます。
private static boolean firstCreate = true;
public void onCreate() {
if (firstCreate) {
firstCreate = false;
・・・初期化処理
}
}
ですが、今日、本屋でandroidの本をパラパラと立ち読みしてたら、画面が回転すると
インスタンスが再構築されるようなことが書いてありました。
onCreate()が呼ばれるだけではなくて、Activity のインスタンスが作り直されるとしたら
上のコードように、フラグをもつ方式はなりたたなくなります。
現状は、たまたま動いてるだけで、こういうやり方はまずいんでしょうか?
static 変数はインスタンスに関連付かないのでインスタンスが作り直されても失われない
アプリ起動時に1回だけ行うなら
ActivityのonCreateじゃなくてApplicationクラスのonCreateがいいと思うょ
Toastをカスタマイズしているんですが文字や画像が端から端までなくても端から端まで広げることは可能ですか?
Toast.setView()
>>874 いずれにせよ、そんなとこにstatic変数持たすなよ、と思う
881 :
デフォルトの名無しさん:2012/03/17(土) 23:02:42.41
プロセスが作り直されるわけじゃないんだからsingletonしとけばいいよ
882 :
デフォルトの名無しさん:2012/03/17(土) 23:58:48.61
>>879 レイアウトってことですか?
そうであればこんな感じにしてます
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="
http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dip"
android:background="#cc000000"
>
<ImageView
android:id="@+id/image"
android:layout_width="48px"
android:layout_height="48px" />
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="center"
android:textColor="#ffffff" />
</LinearLayout>
// 画面幅とってくる
WindowManager wm = (WindowManager)getSystemService(Context.WINDOW_SERVICE);
Display disp = wm.getDefaultDisplay();
int width = disp.getWidth();
// Viewに画面幅セット
LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.hogehoge, null);
layout.setWidth(width);
Toast toast = new Toast(context);
toast.setView(layout);
試してないので動くかは知らん
ただのViewにsetWidthなんて便利なメソッドなかったかもすまんこ
まぁやりたいことは伝わったかな
885 :
デフォルトの名無しさん:2012/03/18(日) 00:53:50.99
>>884 ありがとうございます
やりたいことはわかりましたがsetWidthのようなものが見当たらず
layout.setMinimumWidth(width);
も試しましたができませんでした
なにかいい方法を思いついたら教えて下さい
886 :
デフォルトの名無しさん:2012/03/18(日) 00:54:52.94
TextviewのGravityプロパティですが、center_verticalは機能しないのに、centerは機能します
なぜでしょうか?
親はorientationがverticalのRelativeLayoutで、親のGravityは2つとも設定してません
--------------
// 画面幅とってくる
// 略
// ルートになるレイアウトをFrameLayoutにするよ
FrameLayout frame = new FrameLayout(context);
// 大きさを変化させるための層を作るよ
LinearLayout backgroundLayer = new LinearLayout(context);
View setWidthView = new View(context);
backgroundLayer.addView(setWidthView, new
LinearLayout.LayoutParam(width,
LinearLayout.LayoutParam.WRAP_CONTENT));
frame.addView(backgroundLayer);
// 表示したいViewを作るよ
LinearLayout foregroundLayer = new LinearLayout(context);
// TODO:表示したいImageViewとかを追加する
// 重ねてあげるよ
frame.addView(foregroundLayer);
Toast toast = new Toast(context);
toast.setView(frame);
あとはBitmap生成してsetWidthして
ImageViewにsetImageBitmapする方法とか
要は見えないView生成してそいつで大きさをしていすればいいんしゃないかなー
どうみてもスマートじゃないし力技だけどね☆ミ
>>886 良くわかんないけど、orientationがverticalだからcenter_verticalが効かないとか?
っていうかlayout_gravityとgravityってプロパティがあるけど、
gravityの方であってるん?
そしてこの二つの使い分けっていうか意味は理解しておりますかね。
俺、最近知ってふぉぉぉって叫んでたんだけどw
パディングとマージンも未だに迷うんだぜ…
>>886 よく分からんけど、TextViewのbackgroundに色つけてみたら何か分からないかな
>>888 layout_marginとpaddingな。
なぜ前者にはlayoutが付いて後者には付かないか理解すれば二度と間違わなくなる。
890 :
886:2012/03/18(日) 12:06:00.98
>>888 親のorientationを外してみても解決しないです・・・
android:layout_gravityは自分の重力
android:gravityは自分の中の子の重力
みたいですね。両方ともにためしてみても一向に真ん中にいかないんです。
<RelativeLayout
android:orientation="vertical" >
<Button />
<Button />
<Button />
<Button />
<TextView />
</RelativeLayout>
これでここのTextViewを縦方向の真ん中に持っていきたいのですが・・・
>>889 色つけてみました
こうすると確かにグラフィックレイアウト画面でどこに表示されてるかわかりやすくなりますが
依然と問題解決しないです・・・
>>890 多分俺じゃ答えられないから余計なお世話かもしれないけども。
こういう風に並んでほしかった(理想)
↓
こう書いた
↓
こうなっちゃう(現実)
が図で表されないと、何が問題なのか良く分からないっす。
[Button]+-----+
[Button]| Text |
[Button]| Text |
[Button]+---- +
とか
[Button]
[Button]
[Text]
[Button]
[Button]
とか、適当な図で良いので…
892 :
886:2012/03/18(日) 13:34:55.62
大変失礼しました。
RelativeLayoutの中に複数のテキストビューを設置する。
上半分のTextViewはlayout_alignParentRight等で配置し、
Large Textは、水平方向・垂直方向の真ん中(center)に配置したかったのです。
理想
┌──────────┐
│[TextView] [TextView]. │
│[TextView] │
│ │
│ [LargeText] │
│ │
│ │
│ │
└──────────┘
現実・・・LargeTextが垂直方向で真ん中に設置されない。
┌──────────┐
│[TextV[LargeText]iew] │
│[TextView] │
│ │
│ │
│ │
│ │
│ │
└──────────┘
LargeTextのGravityプロパティは、LargeTextの中のテキストの位置を変化させるだけであり、
Layout_gravityはそもそもLargeTextには存在しないプロパティだったのでいじっても意味なし・・・だったのですが、原因わかりました。
Layout_center_verticalをtrueにすればいいらしいです。というわけで私の知識不足なだけでした。
あと、backgroudに色をつけるというアドバイス、非常に役に立ちました。皆さんありがとうございました。
ウィジェットの設定用Activityを操作してるとき、TIME_TICKで
サービスが起動すると、Activity動作が固まってしまいます。
それでもタップしていると強制終了か待機か訊いてきます。
どうして固まるんでしょうか
サービスが固まっているのでは
>>894 サービスで通信するんですが、その間はActivity画面も固まってしまって。
そうならないようにしたいのですが
メインスレッドで通信してはいけない
RelativeLayoutにorientationの指定なんて無いんだけど…
898 :
デフォルトの名無しさん:2012/03/18(日) 17:00:51.34
>>887 ありがとうございます
LinearLayout.LayoutParam(width,で
LinearLayout.LayoutParam を型に解決できません
とでます
899 :
デフォルトの名無しさん:2012/03/18(日) 17:19:28.04
>>898 LinearLayout.LayoutParamsで出来ました
901 :
デフォルトの名無しさん:2012/03/18(日) 18:05:01.68
onClickとonTouchイベントってどう違うんですか?
>>901 clickはclick出来るものだけなんじゃね
903 :
デフォルトの名無しさん:2012/03/18(日) 18:15:54.27
するとボタン限定なのかもしれませんが、ではボタンに触ったとき ClickとTouchのどっちが判定されるか分からないのです
タッチ以外の方法でボタンをクリックしたときとか
例えばキーボード繋いでEnterキー押すとか
>>903 いや、Touchは触れた時点、離した時点それぞれで判定なかったっけ?
clickは押して離すまでの一連の動作がセットで判定されるでしょ。
Buttonビューとかの上だとonclickだけでontoucheventはでないんじゃなかったっけ
一定時間ごとにデータをとってきて情報を更新して表示したいのですがどうしたらいいのでしょうか?
3秒に一度更新したくて、カレンダーからSECNDをもってきて、if文でその値が3で割り切れる時にTextViewを表示するブロックに飛ぶようにしてみたのですが、文法エラーになってしまいます。
エラーを書いたほうがいいよ。
appWidgetProviderでウィジェットを作り、TIME_TICKでサービスを
動かしてるのですが、端末がsleep状態だと処理が行われないです。
これを動くようにしたいのですが
>>912 AlarmManagerを使ってください
>>913 ありがとうございます。
BroadcastReceiverのonReceive()内処理をnew Thread()のrun()に入れて
onRecive()で動かしたらsleep状態では動かなかったのですが、Thread()を
作らず処理そのままonReceive()に書くとsleep状態でも動きました。
Threadでも動くようにしたいです。
2ちゃんねるのURLの場合、暗黙的intent()で動かすにはどうしたら良いでしょうか?
manifestに
<data android:scheme="
http://"/>
とするとどのURLでも候補に上がってしまいます。
スレURLには.2ch.netが必ず含まれてるようなのでこれをフィルタしたいのですが
ListViewを拡張しようと思い、コンストラクタだけの自前クラス(extends ListView)を作って動かしてみたのですが
何故か実行時にエラーが出てしまいます
何か足らないことってあるでしょうか・・・
これからアンドロイドの購入したいと思ってるんだけど
疑問があるので教えて下さい
ネットワークプログラミングで、
通信プログラムをバックグラウンドで走らせて
自宅サーバーとコネクション維持したまま
随所データのやりとりがしたいんですが、可能ですか?
>>914 PowerManagerからPARTIAL_WAKE_LOCKのWakeLockをもらってください
で、onReceiveの中にいる間にそのWakeLockをacquireし、別スレッドの処理が終わったらreleaseしてください
>>915 <data> には android:pathPattern とか android:pathPrefix も書けるよ
あと android:scheme に :// は要らない
921 :
デフォルトの名無しさん:2012/03/18(日) 22:49:24.49
アンドロイドのダイアログでtitleのところにデフォルトででてくるアイコンがありますよね?
あれってどこのフォルダ階層にあるのでしょうか?
922 :
デフォルトの名無しさん:2012/03/18(日) 22:53:50.62
sdkから探しゃ良いじゃん
frameworks/base/core/res/res/drawable-hdpi あたり
>>917 なまず速報というアプリがソケット通信して
コネクション維持してたと思うので可能だと思う
>>920 こんな感じで渡してるんですけどダメなんです
public class MyListView extends ListView {
public MyListView(Context context, AttributeSet attrs) {
super(context, attrs, 0);
}
public MyListView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
}
Contextはthis渡してる?
928 :
916:2012/03/19(月) 02:11:55.50
>>927 thisではなくてこんな形で渡してます↓
MyListView myListView = (MyListView) findViewById(R.id.List);
ちなみにxmlレイアウトファイルはこんな感じです
<com.example.widget.MyListView
xmlns:android="
http://schemas.android.com/apk/res/android"
android:id="@+id/List"
…
いろいろ試してみたけどもうダメポ…orz
>>928 その方法でなんかやらなければいけないことがあったような気がするけど忘れた。
930 :
916:2012/03/19(月) 02:35:49.26
ギャフン
extendsしただけの自前ListviewをsetContentViewで置くだけの
最低限プログラムなら普通に動くが・・・
findViewByIdの呼び出し元のthisがおかしいんじゃないかと思うが
つうかエラーの内容は頑として書かないのな
なぜかエラー出るとか言って
そのエラーを書かない奴なんてほっておくのが一番です
934 :
916:2012/03/19(月) 06:22:00.42
解決しました、すみません。
xhdpiとかmdpiとかのアイコンリソースを用意してないとどうなるの?
今のところ自分の実機で必要なhdpiしか用意してないんだけど
xhdpiとかが使われるマシンではhdpiのを自動的に流用してくれたりしないのかな
>>937 sdkのフォルダのplatformsの中からどれか選んでdata→resじゃない
バックグラウンドでAcivityが破棄されることを想定していないアプリが多いな
画面裏へ行くとすぐにBackground状態になるから
そこでやたら普及してるタスクKill系
またはメモリが足らない時にOSに殺されることがある
(この場合はonDestoryまできっちり動くのかな?)
なのでonStop()とonDestroy()は通らないかもしれんので
とりあえずonPause()で保存処理はしておけということかな
AlermManagerで時間通りにBroadcastReceiverを継承したクラスを
PendingIntent()した途端に強制終了するのですが、なぜでしょうか??
RelativeLayoutの中に1000dpのLinearLayoutを入れたレイアウトが
LinearLayoutの大きさが適用されず下記ソースだとウィンドウサイズまでしか広がりません
LinearLayoutではなく他のビュー(TextView)などだとウィンドウ幅以上に表示されるのですが、LinearLayoutの場合何を指定しなければならないのでしょうか?
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="
http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/layout1"
android:layout_width="1000dp"
android:layout_height="1000dp"
android:background="@drawable/layout_stroke_green">
</LinearLayout>
</RelativeLayout>
あああ、LinearLayoutに余計な属性(background)が入ってました
すみませんが無いものとしてください
drawableはhdpi、mdpi、ldpiの3種類があるけど
Galaxy Nexusだとメニューアイコンのサイズが合わない
これはどうやって適するサイズにすればいいのだろう?
xhdpiなんじゃね
>>950 もしかして自分で配置しないと駄目なのか…
とはいえ色んなサイズ用意すると容量増えるな
953 :
デフォルトの名無しさん:2012/03/19(月) 15:56:02.81
持っているAndroid端末で、作ったアプリを実行したいのですが
Android端末と、パソコンをUSBでつないだら
インストールに失敗しました。と表示されてからというもの
EclipseのAndroid Device Chooserウィンドウを表示して
Choose a running Android deviceを選択しても、リストにAndroid端末が表示されず
何も選択できません。
実機とパソコンをつないだ段階でインストールに失敗しました。と出ている、その時点で
失敗しているのだと思うのですが
2回3回とパソコンとつなぎなおしてみても、何もおこらず困っています。
どうしたらよいでしょうか。
Androidの実機のほうの、提供不明のアプリにチェックもいれ。USBデバックにもチェックを
入れています。
954 :
デフォルトの名無しさん:2012/03/19(月) 15:57:27.69
デバイスマネージャ
955 :
デフォルトの名無しさん:2012/03/19(月) 15:58:43.74
ドライバ洗った?
957 :
953:2012/03/19(月) 16:22:01.47
皆さん、回答ありがとうございます。
>>954 デバイスマネージャ見てみたのですが
どこにも×とか表示されていないので、何をいじったらいいやら
わかりませんでした。
>>955,956
ドライバ入れないといけなかったんでしょうか
入れてません。
調べてみます。
ドライバとかよくわからなければどっかネット上の適当なところに apk 上げて実機のブラウザで落とせばインストールできるよ
959 :
953:2012/03/19(月) 16:36:42.76
>>958 回答ありがとうございます。
ドライバってPC上にインストールするのではないのですか?
androidの実機にもドライバダウンするの?
htc evo wimax使ってるので、今ネットからhtc Syncをダウンロード
してインストールしようとしているところです。
いやいや、ドライバは PC にインストールするもので、PC と実機を USB 接続するためには必要
それとは別に、PC と実機を USB で接続しなくても、自分が作ったアプリの apk ファイルをネットから実機にダウンロードすれば、そのアプリをインストールできる
961 :
953:2012/03/19(月) 16:49:55.63
皆さん、アドバイスありがとうございます。
PCにhtc Syncをインストールしました。
無事、実機で作ったアプリが表示されました。
詳しくは、作ったアプリを実行ではなく
Debug Configurationsから、デバッグ実行ができました。
とりあえず、実機に無事アプリの画面が表示されたのでよかったです。
>>960 apkを実機にダウンロードして実行する方法もあるのですね。
今勉強中で、そこまでいってないので、apkファイルを吐き出す
ところまでいけたらやってみようと思います。
962 :
916:2012/03/19(月) 17:23:12.42
誰かが勝手に終了してて噴いたww
エラー内容はListViewのClassCastException
ステップ実行してもsetContentViewは問題なく通るんでさっぱり分からんかった
結局オチはレイアウトファイルで記載していた独自ビューのタグ名typoだった
xml絡みの不具合はエラーログ見ても分かりにくくてたまらん・・・
>>962 そのException名を先に言えばすぐ解決したのにwwww
964 :
916:2012/03/19(月) 17:38:57.63
エラーという言葉はエスパーでも分からない
俺の顔にはエラーがある
うっさい死ね
俺は最近USB繋ぐの面倒臭いから、Windowsの共有フォルダにapk置いて
ESファイルエクスプローラからwi-fi経由でLANから直接実機にインストールしてデバッグしてる。
ドライバとか、いちいち要らないし楽。
>>946 クラスにpublic宣言してなかったからでした。
970 :
デフォルトの名無しさん:2012/03/19(月) 21:20:38.51
mainアクティビティにおいて、TableLayoutの行と列を動的に生成して管理したいのだが...いいサンプルコードはないだろうか。
固定幅と行数でなら結構ググると見つかるが...。列で使うデータ(表示させるデータ)は、String型のリストとして保持している。
967は言葉づかいにエラーがある
>>938 ありがとうございました。
みつかりました
974 :
デフォルトの名無しさん:2012/03/19(月) 22:22:10.72
USBデバッグがちょくちょく切れるからWifi経由で出来ないかなって思ってたとこなんだよね
どうやってデバッグしてるのか気になるな
ググったけどAndroid3.0以上しかできないのか?
adbの機能の話??
ちょくちょくの基準がわからんが、ICS対応の為に、中華タブぐらいは持ってるだろ。
SQLiteを使っているのですが、
エスケープは自前でやるしかないのでしょうか?
String escaped = SQLite.escapeString(original);
みたいな関数を探したんですがみつからず・・・・。
DatabaseUtils.sqlEscapeStringかなあ
あった! ありがとうございます!
>>980 PCと端末動かすと切れるんですよ
なので動かさないようにやってます
接触が悪いのから?
端末は1つしか持ってません。ごめんなさい
現在、BOOT_COMPLETEDにて再起動時にサービスを開始してるのですが
これはinternalアプリでないと受け取れないと聞きました。
そこでコピー防止にチェックしてるのですが、この機能もいずれ廃止されると
聞きました。もし廃止されてexternalアプリになったらバグるような気がしますが
何か良い解決法は無いでしょうか
>>986 普通にadb connectのことかと
SDK2.2で、クラス内でTabを組み立てているんですが、
Android4.0のエミュレータではエラーが出てしまいます。
恐らくTabActivityがAndroid4.0に無いせいだと思うのですが、
TabHost tabHost = new TabHost(this);
tabHost.setId(android.R.id.tabhost);
などとIdを設定しても、addTabをする際にandroid.content.res.Resources $NotFoundException: Resource ID #0x0
とエラーが出てしまいます。
解決方法はないでしょうか?