Androidプログラミング初心者質問スレ Part3
pert5 かよ
2げttttttt
>>前スレ984(Jerichoのひと) 自分でLoggerProvider(Logになげるだけ)書いて、Activityのstatic initializerでConfig.LoggerProviderに設定してます。
Androidどころかプログラミングそのものの素人染みた質問なんだが オシロスコープみたいなリアルタイムで入力されたデータを折れ線グラフみたく表示させたいんだが SurfaceViewに一個一個描画していくしか無いんかな
していくしか無いです
>>5 え、自分で修正して使ってるんですか?
そうですか・・・ちょっとまだ自分には敷居が高い^^;
レスありがとうです。
前回描画したやつを座標ずらして描画して、 差分だけ描画することも出来そうだけど、 する意味があるかどうかは分からん
>>8 敷居じゃなくてハードルな
>>9 wifiの電波状態をリアルタイムで見るようなアプリ作ってるんだ
遮蔽物なんかでどう強度が変わるとかを端末で簡易に確認したい。
数値化表示だけや測定完了後にグラフ化なんかだと簡単にできるんだけど、リアルタイム描画ってのがなにぶん初めてで
xml 選択した状態でコンパイルすると出る、エラー& *.out.xml ファイルのウザさは異常
>>10 電波強度を時系列で配列に持っておいて
描画するタイミングで直近の何秒間か分をグラフに表示とかになるのかな
イメージ画像の描画に関して質問させてください。 [質問] Canvasを使って画像(Bitmap)を描画する時に エフェクトを付ける方法ってどうやれば出来ますか? [やりたい事] 任意のイメージ画像に対して、 ・エミュレータ起動時の様に「Android」文字が光る or ・Home画面でアプリアイコンをドラッグしてゴミ箱に到達した時の感じを出したい。 BitmapDrawable.setAlpha(80)で画像自体を半透明にする事は出来たのですが 色を塗ったり、エフェクトを付けたりする方法がわかりません。 ○○のクラスを使えばできるよなど、アドバイス頂けないでしょうか?
16 :
デフォルトの名無しさん :2010/10/07(木) 13:12:00
bundleオブジェクトはメンバ変数の中身を退避させておくものと前スレで聞きましたが 退避させるときに何か操作は必要なのでしょうか? それとも自動的にすべてのメンバ変数が退避されるのでしょうか?
>>16 onSaveInstanceStateで退避させて
onCreate又はonRestoreInstanceStateで読み取る。
この辺のキーワードでぐぐれば例はいくらでも出てくるかと。
18 :
デフォルトの名無しさん :2010/10/07(木) 13:55:02
前スレ
>>982 bitmapfactory.optionsにあるような、実際には読み込まずにサイズを取得するみたいなのを探すべし。
3000*2000くらいの画像の解析をしたいんだけど、 getPixels掛けようにも、バッファオーバーで3000*2000のint配列が作れない場合どうしたらいい? byteで取る方法ないの?
一度に全部取らなくてもgetPixelsで1列だけ取れない?
ああ、そうか ありがとう。 単純なことだったね ただ、 めんどくせえなぁ〜
22 :
デフォルトの名無しさん :2010/10/07(木) 17:51:15
JAVA、というよりプログラミングの基本的な文法しかわからない初心者です。 Twitter4Jを利用しOAuth認証を行ってTLの取得、ツイート送信ができる簡単な アプリケーションを作りたいのですが・・・ ぐぐってみて調べた限り、一部のソースコードなどしか載せていないサイトばかりで、 なにをどうすれば自分の作りたいものが出来るのがさっぱりわからず困っています。 検索結果のサイトのコードを見ても分からないようじゃ諦めた方がいいでしょうか?@@; 一応書籍は「Android2.1 プログラミングバイブル」という物を持っています。 これにはTwitterClientのサンプルコードが載っていたのですがTwitter4Jと連携したアプリを作りたいです。 もしこの書籍買って一から勉強し直せとかありましたら是非教えてくださいOTL
JAVAから勉強してこい ここはJAVAマスタークラスの集いだ
>>22 サイト見たら日本語の説明とコードサンプルあるのね。
いきなりAndroidで使うのじゃなくJAVAで使ってみたりすると余計な事考えずに済むから多少分かりやすくなるかも。
説明とか見て何も分からない状態ならあきらめた方が良い。
>>22 一部しか載せてないサイトの作者にメールすれば貰えるよ
>>19 ByteBuffer.allocateDirect(xxx)
Intにも変換できたはず
16M制限が何のためにあるか考えるとやっていいのか迷うけど・・・
27 :
14 :2010/10/08(金) 03:46:29
>>14 です。
何とか自己解決しました。
お騒がせしました。
ちなみに、
画像を光らせるエフェクトは LinerGradient で何とかそれっぽくw
Homeアプリでアイコンをドラッグした感はできてないw
gitでソース落として確認する予定。
ダウンロード長い・・・
uses-permissionには指定していないのに勝手に 電話/通話
uses-permissionには指定していないのに勝手に 電話/通話 携帯のステータスとIDの読み取り ストレージ SDカードのコンテンツを修正/削除する がついてしまいます。 マーケットを見ていても同じっぽいアプリが結構あるのですがこれは仕様なんでしょうか? ターゲットは1.6です。
>>29 アプリの詳細が不明だからエスパ発言。
simやsd カードにアクセスしたのでは?
>>29 Min SDK versionとTarget SDK versionを正しく設定する
>>31 ありがとうございます。両方4を入れてやったら消えてくれました。
33 :
19 :2010/10/08(金) 09:35:48
>>26 結局今そっちに移行中です・・・
正直自分しか使わないアプリになると思うので
モノが実現できればとりあえずは・・・
>>22 Androidアプリ開発を山に例えると、まだ1合目を目指して登り始めたばかりだ。
他の人たちは、JAVAとかプログラミング経験あるから5合目まで車で登ってるけど、
車持っていないんだから苦労して登るしかない。
簡単に諦めるとか、諦めろとか言うな。
登り続けていればいつか頂上には、たどり着けるんだから。
スマフォ板はIDが出るんだね
AndroidとPCでコードをある程度共有してる方いらっしゃいましたけど 具体的にはどのようにしてるんでしょうか? JavaとEclipseには日が浅いもんでいまいち発想がわかないのですが Javaの方をJarにして(?)でアンドロイドからは外部Jarを参照させるんでしょうか?
共通部分を別のプロジェクトに分離してビルドパスで参照させるだけでok
>>37 うぉ!こんなに簡単にできるんですね。
BuildPathのLibrariesのほうばっかり見てたので気づきませんでした。
ありがとうございました。
マーケット登録時の「ウェブサイトのURL」って、存在しないアドレスでもいいの? パブリックなページなんて持ってないんだけど。。。
40 :
36 :2010/10/08(金) 11:22:04
もう一つ教えていただきたいのですが ちなみにlibとしてつくったAndroidプロジェクトを 他のAndroidプロジェクトから参照して使いたい場合 JavaBuildPathのProjectsに追加しただけでは ビルドはできるものの実行するとstopped unexpectedlyしてしまいます。 これは何か設定等が足らないのでしょうか? Javaプロジェクトの方からlibにしたAndroidプロジェクトを使用することはできました。
扇子無いな
43 :
36 :2010/10/08(金) 12:08:41
センスないですか?w やっぱその場合はAndroidプロジェクトのプロパティのLibraryに追加するしかないですよね?
eclipseスレに行くべきだと思う
>>31 アプリケーションの管理からは消えてくれましたが
apkからインストールしようとするときに出てきてしまいます
他に何か考えられることはありますか?
apk作るのは初めてでAndroid ツール - Export Signed Applicaton Packageから作りました
46 :
デフォルトの名無しさん :2010/10/09(土) 02:24:34
>>46 Eclipse CDTでソース見るのは駄目なのか?
repo でカーネルは落とせるだろ。
WifiOnOffの作者さんおいすー
最近プログラミングを始めたんですが、タッチで画像を変更するという 動作がうまくできません。 最初は二枚目の描画メソッドを作って、onTouchEventで呼び出してやろうと思ったのですが、 メソッドの呼出がうまくいかなかったので、 onTouchEventメソッドを使わず、一枚目の画像を描画しているとondrawメソッドの中に if文でgetAction == MotionEvent.ACTION_DOWNを条件に入れて二枚目のcanvas.drawBitmap をしているのですができません。 上手なやり方があれば教えて頂けないでしょうか。
>>49 onTouchEventでぐぐってサンプルコードコピペするか動かなかったソースを出せ
>>47 コメントありがとうございます。
>Eclipse CDTでソース見るのは駄目なのか?
ダメではないです。が、
Eclipse はアプリ開発で使っている & 単純にソースを見たいだけなので
repoで落として、適当なエディタ使って見るようにします。
#以前、どこかで使ったGrokが良い感じだったので
#ちょっとやってみたかったのです(´・ω・)
>>49 invalidate() を使っている?とエスパーしてみる。
>>51 ありがとうございます。とりあえずググってやってみます。
それでもできなかったらソース晒してみます
Typeface tf = Typeface.createFromFile("/sdcard/font1.ttf"); でSDカードからフォントを読み込む際にfont1.ttfファイルが存在していない場合は tf = Typeface.createFromFile("/sdcard/font2.ttf"); を読み込むようなコードを書きたいのですが、どのようにすればよいのでしょうか? Typeface.createFromFile()は指定したフォントがない場合は、tfオブジェクトが nullにならず、デフォルトのフォントが読み込まれるようで、読み込み失敗したのか 分かりませんでした。
普通ファイルの存在調べるよね。
普通FileNotFoundExceptionとか投げるだろ。すごい仕様だなandroid
>>56 それしかないですかね。そう対応してみます。
>>56 調べない。
調べて存在しても、次の瞬間にも読めるとは限らない。
tryして例外引っかける方が確実。
もちろん、
>>57 の言うようにすごい仕様ならば仕方がないが。
とりあえずフォントファイルの存在チェックは事前にやった方がいいが SDカード途中で抜かれるとネイティブ層でSEGVする豪快な仕様なので 要注意というか色々諦めろ!
android。とてもプロが作ったAPIと思えないw
プロ乙
はぁ?
ふぅ。
65 :
デフォルトの名無しさん :2010/10/10(日) 01:20:45
マルチタッチって、何本の指まで認識できるんですか?
端末による
痛いって言われるまで
指とは限らんよな
VideoViewって動画の範囲を指定して描画することってできないの? 動画の淵を取り除きたいんだけど。。
>>69 俺もそれやりたかったんだけどできなかった。
72 :
デフォルトの名無しさん :2010/10/10(日) 15:59:06
ぬるぼ
がっ
>>72 最新のEclipseつかってんならそのせいかもしらん、ガニメデでやってみそ
>>72 Eclipseのメニューのウィンドウ>設定
左のツリーの XML > XMLファイル > エディター
文法制約のDTD/スキーマ〜をOFFでおk
レス感謝 HELIOS使ってました やはり最新の物でやったのが間違いですか・・・ガニメデに切り替えてみます。
>>77 自分も引っかかりました。3.5にしたら悩んでいたのが嘘みたいにスムーズに動きます。
80 :
72 :2010/10/10(日) 16:45:04
>>76 の方法をやってみたらエラーが消えました、感謝
……しかし相変わらず急に落ちる事が多々
やはりバージョン落とすしかないのか・・・
新Verで作る必要性がある以外は、スムーズな学習のほうを優先した方が良いかと想います。
android の公式サイトに3.6は問題あるから3.5を使えって書いてあるのに 3.6を使う人ってなんなの? 社会に不満でもあるの?
google chart apiをwebview上にのせるにはどうすればいいでしょうか? サンプルコードが乗っているサイト等探してみたのですが、見つからず半日が・・
USB充電を制御したいのですがヒントいただけないでしょうか?
>>78 ぺりあ
→1個だけ
IS01
→独自実装、マルチタッチというよりは中間点と距離が取れるとかそんな感じだった気がする。
ただし、APIは非公開
なんで3.6は問題あるの? androidの人がバカで対応出来ないの?
そうだよ
書き方が悪いな ×3.6は問題あるから ○3.6はバグだらけだから
EclipseはGoogleが開発してると勘違いのお馬鹿が居るスレは此処ですか?
そこまで質問しないと分からないのかい?
AlarmManagerを使ってActivityを起動した場合、同じActivityがスタックされてしまい困っています。 具体的には、 AlarmManagerで起動されたActivityを表示した状態で、HomeボタンでHomeへ戻る→該当Activityをアイコンから起動 を繰り返すと同じActivityが複数スタックされ、Backボタンを押すとスタックされた同じActivityへ 画面が遷移する、といった具合です。 LogCatを使ってみたところ、 本来Homeへ戻った際にPause、再起動時にResumeが呼び出されるところが Homeへ戻った際にPause、再起動時にCreate、Resumeが呼び出されていました。 AlarmManagerを使わない場合は通常通り、同一Activityはスタックされず、PauseとResumeだけが呼び出されています。 どなたか原因、対処法を分かれば教えて頂きたいです。
>>91 そんな勘違いしてやつは、さすがに見当たらんが
どっかから電波でも受信したのか?
スレッドの動かし方を教えて頂けないでしょうか。 下記を実行してみたのですが、 run()が1回しか呼ばれません・・・。 public class Main extends Activity { Thread thread; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); thread = new Thread() { @Override public void run() { System.out.println("Test"); } }; thread.start(); } }
96 :
95 :2010/10/11(月) 00:40:30
インデント崩れちゃいました。すいません。 下記です。 public class Main extends Activity { Thread thread; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); thread = new Thread() { @Override public void run() { System.out.println("Test"); } }; thread.start(); } }
2ch初心者かよ
>>95-96 >run()が1回しか呼ばれません・・・。
そのソースなら当たり前でしょ
どういう動きをしてほしいのか書かないとさっぱりわからん
NDKを使えばCで書けると聞いて食指が動いてる所で、まだandroid自体には 一切触れてないのですが、グラフィックス描画はOpenGL以外に何かハードの サポートを受けられますか。 主に2D。 アルファブレンドや抜き色をしようとしたら全部CPUでごりごり、最悪psetの様な物で 描画しないといけないのでしょうか。
あ ハード支援一切無かったらアルファとかの前にブロックコピーからか… 何かありますかね?
>>99 その通りです。
Android は、共通仕様としてVRAM は水平型24枚重ねだけど
任意のプレーンの組み合わせに、同時書き込みモードを設定できるので
PSET でごりごり書いても、結構高速ですよ。
>>99 またエロアプリ作る気でしょ!
このド変態が!!
一切やりもしないで質問てばかにしてんのか
なんで荒れてんの?
生理中だよ 恥ずかしい 言わせんな
>>105 横からありがとう
きっとこれからハマるとこだった
>>106 横からありがとう
きっとこれからハメると大変だな
なにこれ つまらない
110 :
93 :2010/10/11(月) 16:51:15
>>105 ありがとうございます、考えた通りの動作を実現できました。
他アプリでも再起動時の処理で可笑しな挙動をしていた点があったのですが、
同じ方法で直りそうです。助かりました。
質問失礼致します ボタン等のウィジェットをXMLにて指定しているのですが pxで絶対値指定しているのにも関わらず、実際の端末およびエミュレータ上では+20px程度の大きさになってしまいます。 この原因ってなんなのでしょうか? 分かる方居ましたらよろしくお願い致します。
>>82 新しい=イイ! って考えの人じゃない?
で、やたらとVerUpして、トラブル人。
バイブレーションモードのON/OFFを検出するための リスナーはあるでしょうか?
>>112 とりあえず必要なものを落とそうとして何も考えずにトップページからたどれるものをおとしただけと思うぞ
115 :
112 :2010/10/12(火) 11:02:02
>>114 というオレも、3.6落として、やってみたらアレ?だったから
この業界のお約束で、ひとつまえの安定してそうなやつにしたんだけどね。
>>113 getContentResolver().registerContentObserver(
Settings.System.getUriFor(Settings.System.MODE_RINGER),
true,
observer);
118 :
デフォルトの名無しさん :2010/10/12(火) 23:26:49
練習として電卓を作ろうとしています。 まずは数字ボタン(Button0〜Button9)を押すとEditTextに押したボタンの数字を表示することを試みました。 この処理をするクリックイベントでは、 すべての数字ボタンで「Button0.setOnClickListener」〜「Button9.setOnClickListener」の処理を記述しないといけないのでしょうか。 普段使っているVisual Basic2008では同じイベントはひとつにまとめられます。 このようなことはアンドロイドではできないのでしょうか?
jtableみたいなのはどうしてます?
>>118 無名クラスじゃなくて、名前付きのクラスをアクティビティ内で定義して、newして設定すればOK
123 :
デフォルトの名無しさん :2010/10/13(水) 10:17:50
>>72-77 eclipse 3.6.1+ADT 0.9.9.v201009221407-60953
だとその問題でなかった。
eclipse 3.6+ADT 0.9.7.v201005071157-36220
だとその問題は起きた。
>>99 Cで書けるの!
Java必死扱いて覚えてる最中なのに!!
>>124 まるまる全部を書けるわけじゃなくて、
高速化が必要な部分だけ置き換えられるって感じだったと思うんだが。
Cで書くにしてもJavaの知識は必要。
むしろCで書く方がJavaの知識いりそう
CからコールバックしようとするとJavaのインスタンスがなくなってる時があるんだよな。
ぐぐってみたらCで書いた関数をコールするのにもの凄いオーバーヘッドあるとか? Cの関数の中からCをコールした場合はどうなんだろう
>>129 あなたは、C のことは忘れてJava と幸せに暮らしたほうが良いです。
>>130 今タイムスタンプ見てみたらJavaは13年前にぷよぷよクローンみたいなの作ったっきりなんだぜ
>>129 マジレスすると、パラメータを積んだ分のスタックを呼び出し側で開放するオーバーヘッドが発生します。
>>129 C→Cは気にしなくても良い。
けれどJava→Cはレスにある通り、オーバーヘッドをきにしなきゃならん。
>>132-133 ありがとう。
なら、最初にCで書いたmain相当をコールしてしまえば幸せになれる様な気がするけど、
そう言うわけにはいかないの?
135 :
118 :2010/10/13(水) 20:40:21
>>122 よくわかりません(汗)。
名前付きのクラスをアクティビティ内で定義とはどういうことでしょう?
>>135 コピペするんじゃなくてどうしてそういう記述になってるか意味を調べてみた方がいい
>>134 UIに関する部分はCだけじゃ無理だよ。
139 :
118 :2010/10/13(水) 21:49:22
Javaですか。 そういえばAndroidはJavaでしたねw やってみますけど、このボタンのクリック処理くらいちょっと教えてほしいです。 それだけで十分なんです。 ちなみに自分のプログラミング経験はPerl、VisualBasic、VisualC#ですので 基本的な概念は分かっています。いや分かってないから理解できないのか?
140 :
118 :2010/10/13(水) 21:52:51
ますます分からなくなってきた。。。
View.OnClickListener l = new View.OnClickListener(){ public void onClick(View v){ ボタンクリック処理 }}; Button[] a = { Button0, Button1, Button2, ...... }; for (Button b: a) b.setOnClickListener(l);
>>118 public hogeActivity extends Activity implements View.OnClickListener
>>146 あ、typoした。
public class hogeActivity〜ね。
>>139 杓子定規に答えを言っとくと、
1. ハンドラ(リスナーオブジェクト)を一つにすることは可能。
2. ただし、setOnClickListener()はボタン毎に呼ぶ必要がある。
これで何を言ってるのか分からなければ、やっぱりJavaを勉強しろとしか言えない。
まぁ、
>>141 に答えが書いてあるけどね。
またコピペで憶えない 優しいとは思わないな
>>150 良いんじゃない?
身に付くか否かは、本人次第だし。
androidでcookieの使うのはCookieStore持ち回せばいいのかな?
もしかしてドットネットしてた?
154 :
118 :2010/10/13(水) 23:22:32
>>141 ありがとうございます!!できました!
感謝感激です。
こんな風にやるとは。
たぶん普通に自分で考えたら1ヶ月くらいかかったでしょう。
for文でもこんな表現があるとは知りませんでした。
本当ありがごうございます。
>>150 ,
>>151 まずはコピペして使いますが、何度も使っていれば覚えられます。
わかってないくせに、基本的な概念はわかってますとか言ってるようでは無理だね。
156 :
デフォルトの名無しさん :2010/10/13(水) 23:40:49
いや、だから分かってないと言ってるのでは。
C#やってたのにこれがわからないとか。。 ほんと基礎の基礎しかやってないんじゃないか
C#やっててJavaが分からないってのも珍しいなw
>>156 そうだよ、そしてこれからも、分からないままコピペで済ます。
C# だったらそれこそ handler = (arg) => hogehoge(arg); ってやるでしょ
162 :
112 :2010/10/14(木) 00:01:03
163 :
デフォルトの名無しさん :2010/10/14(木) 00:14:45
コピペでいいんじゃね。 実務で一から作るなんて稀だ。 前回の修正か、似たようなシステムを引っ張ってくるか。
でも、概念を理解する努力はしろよ それと、人にモノをたずねるときに、相手を不愉快にさせない程度の社会性は身につけろ
紹介されたノウハウを理解して使えるかどうかがミソだけどね。
, -‐-'´ー- 、._ ,、' : : ,:-'´: : : : : : :\ /: : :/: : : : : : : : : : : : \ /:/ : /: : :, : : : : : :/: : : : : : : ヽ !': : :/: :/;.、=7;、イ;i: : |: : : : 、: ヽ !: : /': :'´ ;| 'iァz;、,'ト|: :/;イ: : : }: i l !: : : : : : :{ `''゛'` !/'´/イ;ィ:/: リ'! '; : : : : ;|ヾ ,ィ')y'/;ィ:/ ヽ:|'; :{ヘ _ ゝ./!'´ !' そうやって /' ヽ! 、 ´,. ィ':i/ 嫌なことから _,,..../ /` ‐' ´l/リ゛ 逃げているのね ノ `丶、 {、 ´ / ' ‐- 、 \トヽ、 ,イ;;;:::、:_:::::::`ヽ、 _\!`)、 i;/ ヽ::::::::::::', `>ヶ、:> ! '、:::::::::::',∨|:ハ! ', / iヽ、:i::::::',. |:| ';〉 i
168 :
118 :2010/10/14(木) 00:53:38
自分の書き込みで不愉快にさせてしまいすみません。
169 :
118 :2010/10/14(木) 00:55:34
鼻につく言い方になっていたところがあったようです。 知りたくて必死だったのです。すみません。
いいからもう黙ってろ
俺たち安月給でストレス溜まってるから叩けるやつ見つけると、ここぞと上から目線になっちゃうよね
AlarmManager使ってServiceを定期的に起こすようにしたいんだけど RTC_WAKEUP指定してても本体がsleepしてると起きてこないときがある 浅いsleep状態?からだと起きるけどそこからしばらく放置して真のsleepに なったら寝っぱなしになってしまうみたい そんなもん?
>>172 deep sleep入ってても発火するはずだけどね
∩___∩ /゙ミヽ、,,___,,/゙ヽ | 丿 ヽ i ノ `ヽ' / ○ ○ | / `(○) (○)´i、 先生助けてっ!、 | U ( _●_) ミ 彡,U ミ(__,▼_)彡ミ Serviceちゃんが寝たままなのっっ!! 彡、 |∪| ,,/ ,へ、, |∪| /゙ / ヽ ヽノ ヾ_,,..,,,,_ / ' ヽノ `/´ ヽ | ヽ ./ ,' 3 `ヽーっ / | │ ヾ ヾl ⊃ ⌒_つ ソ │ │ \__`'ー-⊃⊂'''''"__,,,ノ | ` ̄´ ` ̄´
>>171 すいません、ではなく、す「み」ませんと言っているところをみると、
>>118 はまともな高等教育を受けていると思われ。typoよくする俺とは犬違い。
>>171 初心者質問スレで上から目線で叩くとか、意味和姦ね
>>175 ゙' 、,,_. -‐ ' "´ ̄ `゙'' ..,_
`゙'':.、 ジ――...
゙':.、
. r‐=ミ .;.. ヾ、 .,,__
. ヽ:::::ノ _,,.. ..,,_ -‐ ゙:.、 二二ニ=ミx
,,. '"´ ,. ‐─-ミ 、 r= 、 :.:ミ :,:;/
{:::.:..:::::.:::::::゙:.\ヽ::::::} :ミ. ..;:/
.:.. \::.::::.::.:.:.:ノ ゙:.. ̄ :;, .::/
-‐ ‐ ∵∴:.:.7 ∴:´ '; ;: ,.:/
彡' : : :. .: /:. .: :. :. i ..,__ i,:;/
ノ ..___,,.. -─- .._ ヾ ヽ .;:'
ノ `ヽ ヽ \ ;:
>>173 リファレンスによるとそのはずなのよね
>>174 USB繋いでる状態だと生きてるんだけどバッテリ駆動になると助けて先生!
しばらくは息してるんだけど10分ぐらい放置してると息しなくなっちゃう
ざっくり要点抜き出すと↓みたいな感じで発火間隔は約30秒
onStart はちゃっちゃと抜けないといけないみたいなので実処理はスレッドの中
class HogeService {
private void setSchedule(起こす時刻) {
am.set(AlarmManager.RTC_WAKEUP, 起こす時刻, alarmIntent);
}
onStart() {
Thread t = new Thread(new Runnable() {
public void run() {
起動通知※
ごにょごにょ処理して 次に起こす時刻 求めて
setSchedule(次に起こす時刻);
HogeService.this.stopSelf();
});
t.start();
t の起動待ち※
}
}
}
なんのための初心者スレなのか お優しい方達が優越感に浸るためにあるんじゃないの?
>>178 ディープスリープからの復帰は一瞬だけ(ちゃんと確認したこと無いけどたぶんonReceive()抜けた時点で眠っちゃうんじゃないかな)。
復帰状態を維持したいならWakeLock#acquire()を呼ぶ必要がある。
用がなくなったらrelease()で解放。
初心者といっても、「覚える気はない、これだけ教えろ」みたいな態度だと、 教える側も、やっぱり気持よくないんじゃないかな。
間違えた。onStart()かな。
>>181 試してみたです。
onStart() の中のスレッドの頭と末でそれぞれ WakeLock#acquire() と release() を
PARTIAL_WAKE_LOCK で実施。
スレッド起動待ちは acquire() の後に仕込んだので acquire() するまでに onStart
を抜けて sleep に戻ることはないはず。
やっぱり息が止まるですね。
正確には止まるのではなく、onStart が alarm されるのがユーザ操作で sleep から抜
けるまで延期されてるみたい。
仕込んだログを確認したら onStart メソッドの途中で一旦止まって再開してるという。。。
>>184 だめだったか…
onStartで(スレッドの起動前に)acquireしてonStop()でreleaseとかどう?
>>184 あと改めて質問を読み返してみたけどスレッドの起動待ちって何?
もしかしてスレッドが終了するまでonStartで待ちあわせてない?
そうでなくともonStartはなるべく速やかに抜けた方がいいと思うんだけど。
>>186 「スレッドの起動待ち」はスレッドが回り始めるのを待つためのバリアです。
(スレッドが起動してWAKE_LOCKを取得するまでにonStartを抜けてしまうのを避けるため)
待ち部分で CountDownLatch#await、スレッドのrun()に入ってWAKE_LOCK取得後にCountDownLatch#countDown
です。
WiFi のON/OFFと連動してる模様で OFF だと画面消えると即死。
タイマーで WiFi が切れると alarm が上がってこなくなるようです。
>>187 スレッドはあらかじめ開始しておいて、その中でハンドラーを作成
onStartではメッセージを投げるだけの方が良いと思う
>>187 onStartが途中で止まってるってのが気になる。
それはonStartで別スレッドの待ち合わせをしてるからじゃないだろうか。新しいスレッドに制御が移った時点で眠ってる可能性は無い?
>>185 の方法だったら待ち合わせする必要ないと思うよ。
>>180 お優しい方も初心者も共に益があるからそれでいいのだ
AndroidSDKをインストールしようと思ったのですが、 ネット接続が自動構成スクリプトのためインストーラアプリがネットに繋いでくれずインスコできません。。。 何か対策ってあるのでしょうか?
SDKサイズでかすぎだお
再セットアップすると一番時間かかるのがSDK本体のダウンロードだよね
HTTPSをHTTPに
>>193 結構手順を書いてるサイトを探して調べてみたりしたのですが。。。
自分だけで頑張ってもどうしようもなさそうな状況になったので質問させてもらいました。
>>196 Settingsの画面でのチェックボックスですよね?
それでしたらHttpもHttpsも両方試してみましたがダメでした。
>自分だけで頑張ってもどうしようもなさそうな状況になったので質問させてもらいました。 エスパー希望ですねわかります
200 :
デフォルトの名無しさん :2010/10/14(木) 20:57:07
Typeface tf = Typeface.createFromFile("/sdcard/font1.ttf"); でSDカードからフォントを読み込む際にfont1.ttfファイルが存在していない場合は tf = Typeface.createFromFile("/sdcard/font2.ttf"); を読み込むようなコードを書きたいのですが、どのようにすればよいのでしょうか? Typeface.createFromFile()は指定したフォントがない場合は、tfオブジェクトが nullにならず、デフォルトのフォントが読み込まれるようで、読み込み失敗したのか 分かりませんでした。
普通ファイルの存在調べるよね。
RelativeLayoutやLinearLayoutなどでまとめられたいくつかのUIを画面に追加する、という機能を作りたいのですが、 // サブ setContentView(R.layout.x); RelativeLayout rl = (RelativeLayout)findViewById(R.id.xid); // メイン LinearLayout main; main = (LinearLayout)findViewById(R.id.main); main.addView(rl); main.addView(rl); というように、同じものに対してaddView()を複数回やろうとすると、2回目のaddView()でIllegalStateExceptionが発生してしまいます。 これは既に「rl」に対して親が割り当てられているために、それを開放しないまま再度割り当てようとすると発生しているのだと認識しています。 じゃあ「rl」を別の変数に分ければいいのか、と思って // サブ setContentView(R.layout.x); RelativeLayout rl1 = (RelativeLayout)findViewById(R.id.xid); RelativeLayout rl2 = (RelativeLayout)findViewById(R.id.xid); // メイン LinearLayout main; main = (LinearLayout)findViewById(R.id.main); main.addView(rl1); main.addView(rl2); としましたが、結果は同じでした。 どうやら「rl」というより、「R.id.xid」が被っていることが問題のようです。 最終的に「ボタンを押すたびに決まったUIグループが画面に追加される」という機能を実現したいので、「R.id.xid」を分けるということができません。 XMLからUIグループを読み込むという方式を変えず、この問題を回避・解決する方法はないでしょうか?
>>202 やってないけど、LayoutInflater#inflate使えば出来そうな悪寒
>>203 ありがとうございます。それを使ってできました。
一応、そのソースも置いときます。
// サブ
setContentView(R.layout.x);
RelativeLayout rl1 = (RelativeLayout)this.getLayoutInflater().inflate(R.id.xid, null);
RelativeLayout rl2 = (RelativeLayout)this.getLayoutInflater().inflate(R.id.xid, null);
// メイン
LinearLayout main;
main = (LinearLayout)findViewById(R.id.main);
main.addView(rl1);
main.addView(rl2);
「this」はActivityです。
Activityにスクロールバーを表示しています。 Activityのcreateで条件判定を行い、Aならスクロールバーの位置は一番上、Bならスクロールバーの位置を中央、Cならスクロールバーの位置を一番下にする。 という事を行いたいです。 scrollToメソッドで座標を指定すればいいのでしょうか? 試しにやってみたのですが、変化なしです。
>>205 onCreateの時点ではまだ表示されてないからスクロールできんよ
eclipse が重たすぎる OESF Platform Builder ほしいなぁ eclipse の最小構成に
208 :
デフォルトの名無しさん :2010/10/16(土) 15:02:34
>>206 onStartかonResumeで行うということでいいのでしょうか?
209 :
デフォルトの名無しさん :2010/10/16(土) 15:22:45
画面に表示したwidgetの座標位置を取得したいです。
>>205 さんと似ているのですが、自分はボタンをタップしたら該当のTextView位置まで
スクロールさせたいと思っています。getScrollX()で取得できませんでした。
>>209 Viewの位置情報はgetLeft()、getTop()メソッドで取得できる。
(getLeft=X座標、getTop=Y座標)
自分用に作ったライブラリがいくつかあるのですが、Android用に移植って簡単ですか?
おまえなら簡単に出来る!
大丈夫だ。問題ない。
お前なら赤子の手をひねるより簡単さ
やってみて躓いたら質問しろ
Viewの補完をするときに数秒かかるのをなんとかしてほしい
217 :
デフォルトの名無しさん :2010/10/17(日) 02:10:49
今日安物Android端末が届いてマーケットで他の人のアプリ色々DLしてみたら どうも800x480を30fpsで更新するとか無理っぽい様で絶望した。
221 :
205 :2010/10/17(日) 18:54:49
@Override public void onStart(){ super.onStart(); TextView text; text = (TextView) findViewById(R.id.text); int x = text.getLeft(); int y = text.getTop(); ScrollView scrollview; scrollview = (ScrollView) findViewById(R.id.scroll); scrollview.scrollTo(x,y); } 移動できません。
実はonStartの時点でもまだ表示されてないんだ
いや、怒るな ええと... 俺的にはScrollViewのサブクラスを作ってonLayoutをオーバーライドしてそこでやるのが一番確実だと思うのだが
224 :
205 :2010/10/17(日) 19:04:44
>>222 なぬっ!!
ならonResumeなのか!?そうなのか!?
eclipse が重すぎるから NetBeans に移行しようと思ったけど、ウチの環境だと何故か動かない ユーザー名に記号を使ってるからか、パスが通らない
eclipseからメモ帳に変えたってエミュレータの重さでチャラ
メモ帳→ビルド→実機で良い
それが正しいプログラマだけど俺にはできないわ
凄い。メモ帳で開発ですか メモ帳じゃコンテンツアシストも無いし、リファクタリングするのも大変だし ソース管理も CVSや SVNのクライアントを別に用意しなきゃいけないし かえって大変じゃないですか?
仕事じゃなければ大変さには1円もコストがかからんぜ 俺はやだけど
>>230 なるほど。確かにおっしゃるとおりですね
まぁ、私も楽をしたい方なので、メモ帳は辛いです
弘法筆を選ばずと言いまして
俺は弘法じゃないから、Eclipse で楽させてもらうよ。 まあ、実際の弘法は筆にはかなりこだわったらしいがw
>>232 それは「特定の道具が無いと手も足も出ません」なんてことにならないようにしろと言う意味だと解釈してる。
そういう事態にも対処できるよう対策を立てておくのは非常に有効なことだが、通常は無意味に自分の仕事の精度を落とすようなマネはしないほうがいいだろう。遊びやトレーニングならともかく。
どんな道具を使っても同じ品質のモノを作れるという意味だと理解してるわ まぁそんなのは御伽噺の世界だけども
jni使い出すと嫌でもテキストエディタのお世話に・・・ なんかいい方法ないんけ
Visual Studioでも何でも好きなの使えばいいやん
まぁ、eclipseでもC/C++の開発はできますが Javaに比べてあんまり便利じゃないんですよねえ。。。
>>235 それって「良い道具」(or 使い慣れた道具)を使っても品質が良くならないって意味か
お伽噺というよりも、実際を知らない素人の見方というのが正解だと思うな
eclipseもCのプラグインあるのか てか、そもそもeclipsの機能あんまり把握して無いんだよね・・・
品質じゃなくて効率の問題だと思うが
効率の悪い状態が長く続くと品質にも影響が出る。
どっちにしても、とにかくeclipseは重すぎる メモリ4G積もうが重いものは重い
重さよりもバグの多さにうんざりする
そんな料簡のせまさでよくAndroidSDK使えるな
Eclipse そんなに重いか? どんな貧弱なCPU使ってるんだ
core i7 920i だけど
eclipseだけで300MB以上メモリ喰ってるけど重くは無いかな たまにプチフリするけど それよりエミュレーターが重いわ
plugin少し入れるだけで一気にメモリ喰うようになるから困る
core2duo2GHz2GRAMでも普通に使えてるけどなあ
eclipse は重いよ 少なくとも NetBeans の方が軽いのは明らかだし
Core i5 2.53GHz RAM8GB OS X 10.6.4だが、Eclipseは重いと感じないな。
eclipseは我慢できるけど エミュレーターが重すぎだよな
Eclipseは重さとか気にならないけど プラグインによってすぐ動作が不安定になるのがいやだな
>>254 同意。実機じゃなくてエミュ使ってる奴は確実にマゾ
便乗して。 eclipseで変数にドット付けたときにコードヒントが出るけど、必ず固まるんだけどどうにかならないの? 環境はMacBookProで、Core2duo 2.53Ghz、RAM 4GB、SSD、OS10.6.4
なんじゃそりゃ
>>259 ホントあれどうにかしてほしい。
数が多すぎるんだろうけどそれくらいの数で固まらないでほしいよな。
とりあえずドット+エスケープで5文字くらい打ってから再度補完させてるw
>>259 自動で開かないようにできる
PreferencesのJava/Editor/Content Assist に Enable auto activation というチェックがあるので外しておけばいい
補完したいときはCtrl+Spaceでも押せばいつでも開けるけどMacだとSpotlightのキーだから別のに変える必要があるかも
eclipse使う意味ねーじゃんw
Windowsだと、固まる経験はないんだけど Mac固有の問題?
3.6だとコードヒントで固まるけど3.5以下なら問題ない。
したら 3.6固有の機能を必要としない限り 3.5を使えば良いってことですね
うむ
ほんとだ3.5にしたら全く固まらなくなった。ありがとう。
3.6.1 だけど全然問題ないぞ
3.6固有の機能ってなんだろう
マックの話だろ
なるほろ
SQLiteを使って開発するときってデータの確認とかどうしてんの?
国内だと「戻る」で海外用だと「Return」 とかにできるって聞いたんですが… 国内用と海外用で文字を変えるのってどうやってやるのか教えて下さい
androidのアプリを作るには、なんていうプログラム言語を勉強すればいいのでしょうか?
俺はjavaを勉強中
コピー防止属性をいれたままA2SDに対応って出来ないかな? 有料だからコピー不可にしたいけど、SDカードに移せるようにもしたい。 ガラケーなら出来るんだからと思っちゃダメなのかな?
>>279 オーソドックスなのはJavaかな
最近はAIRのランタイムも出てきたからFlashとかでも作れなくはないね
>>276 adbかDDMSでSQLファイルを落として適当なSQLite Viewerで見るか、
adb shellからsqlite3を実行して直接クエリを叩く。
>>276 普通の端末だと権限ないから明示的にSDに作らないと見れなかったはず
エミュレータ(か持ってないから知らないけどADP)ならそのままいける
そもそも端末にsqlite3のコマンドラインプログラムが 入っていなかったりもする > 実機
あの、デバッグ実行する度にエミュレータ上でAndroid起動する必要あるんでしょうか。 サスペンド相当とかにはしておけないの?
なぜデバッグ実行するたびに起動しているの? そのまま動かし続けておけばいいのに。何もしてなきゃたいして負荷無いし。
ウィンドウ閉じてるからじゃね 終了させてしまったら起動し直さないといけないのは仕方ない 閉じずに放っておけば再利用してくれるよ
マーケットに登録されてるAndroidのアプリって初めてプログラミングしましたって感じの もの凄い稚拙な物ばかりだけど何が原因なんだ。
>>291 例えばどれを指してるんだ?
それ以上のアプリを作った上で言ってるんだろうから、お前のアプリを評価してやる。
Androidでアプリ作ってる人って素人か本職の趣味が多いの? たいして金にならなさそうだよね?
趣味で作ってるけど、あまり金にはならないね ひとつ有料で出してみたけど、1ヶ月で3000円程度 もっとちゃんと作りこめばいいんだろうけど、仕事もあるから時間が割けない
フルタイムで開発しているならともかく、 趣味でだと時間も限られるし、アイコンとかデザイナに頼む訳じゃないし、 安っぽくなるのは当然じゃね?
フリーだと5〜25万ダウンロードとかざらにあるけど 有料だとほとんどないよね。 ほとんどが趣味で開発のもので 本格的に商用で開発してる業者って少なさそうだよね?
その点iphoneは盛んだよな
機種毎に仕様が違ってて対応しきれんてじっちゃまが言ってた
iPhoneも焼け野原だよ 死屍累々の山だ
auがだいぶスマフォに力入れてようだけど 端末が増えれば何か変わるのかしら?
ユーザーが増えるし、使い道も増えるんじゃなイカ?
マーケットの課金システムの出来の問題もあるだろうな。
303 :
デフォルトの名無しさん :2010/10/19(火) 14:15:28
Handlerクラスってなんですか?
メッセージを処理するクラスです メッセージハンドラーです
数百円のアプリ購入してもいいとは思うんだけど グーグルで金のやり取りをしたいと思わないのは自分だけではないはずw
ふぅ。
Google Checkout使ったことあるけど、マーケットもこれ使うのかな?
310 :
デフォルトの名無しさん :2010/10/19(火) 16:57:40
これからのびていくプログラミングですかね… これで募集している会社に入ろうと思うんだけど。
そーいう会社はマーケットからの売上で稼いでいるわけでは無いよ。
ってことは… 孫受けとかのデスマが付き物ってことですかい
急募 明日までにiPhoneアプリをandroidに移植してくれる人 っていうのをツイッターで見たことがある
完璧な変換ツール作れば売れるぞ
あっぽるみたいなプリペイドカード出せよ
レイアウトで左半分のViewは左寄せにして その残った右側のスペースをぴったり埋めてくれるような 配置にするにはどうしたらいいんでしょうか?
LinearLayoutで右のweight上げる
できました ありがとうございました
なんかAndroidは解像度が色々あってどうこうとかいう知ったか流行ってるけど dipやspを使ったサイズ指定とweight使ったレイアウトさえ分かっていれば 大抵のアプリで今出てるようなデバイスは余裕で全対応なんだよな。 IS03のdpiがどうなるかだけが不安だが。
だよねー、だよねー ところで、SPってどういう単位なの?
dipから更にデバイス設定でのフォントサイズ変更が反映された数値とかなんとかそんなのだったと思う デバイスに対老眼用文字2倍モードとかが追加されたら16dip→24pxのところが16dip→48pxとかになるんじゃないかな
適当に答えちゃって不安なので一応調べてみた
sp
scale-independent pixel, the scale factor depends on a user setting
dip
if you don't want to allow the user to scale the text
dipはデバイスの物理的なdpiだけで決まりユーザが倍率を変えられない値
spは更にそこからユーザ設定による倍率が掛けられた値
というわけで多分
>>324 ということで大体合ってると思う
フォント類はどうとでもなるけど、画像データを持ったゲームとかの場合は 解像度・縦横比の違いをどう吸収したら良いんだ。
>>328 むしろ具体的にどういうケースで困ってるんだ?
>>329 800*480を元にデザインした物を4:3、しかもQVGAで動かす時とか。
>>330 具 体 的 に
ImageViewを使うとかOpenGLを使うとか
解像度の違い→dpiに応じて拡縮 縦横比→余裕持ってレイアウトしてweightなどで伸縮 案件そのものが無理筋じゃない限りこれで収まるが
>>332 800x480で32x32のキャラクタを320x192とかに従って拡縮したら12x12とかに
なってしまってAAを有効にしてももう判別不能になったりしませんかね。
そもそも何で800x480でデザインしてんだよ。何かの移植か?
新規案件ならAndroidで800x480なんてデザインしてる時点で決定的に間違ってんだろ
最低ビューポートを640x480にして+214拡張できるリキッドにしろよ
つーか
>>333 とか言ってる時点で何も理解していないように見えるんだが・・・
初心者スレなんだからもっとやさしく言ってあげろよこのポンポコリン!
初心者ってのは最低限ドキュメントくらい読む気のある奴のことを言うんだ
てか
>>334 とかこの上なく親切に答えてるつもりなんだが?
そういえばAndroidスレは初心者スレしかないね
初心者しか居ないからね 本家のMLですら、質問は結構スルーされてる。 Android 開発10年やってますって人いる?
Android歴0年の初心者ならいいよ Android歴マイナス2年みたいな奴はとりあえず0年にしてから来い
NinePatch
言語やOSならともかくフレームワークで一筋10年とか有り難がる奴見ると コボラーみたいな老害臭しかしねえw
>>334 手持ちが800x480でスマフォリスト見ると大分前からもう800x480が基本の様だからです。
480x320を16:9に入れるとQVGA・VGAの4:3モデルの方が少数ですよね。
>>342 それ以下に対応する気がないなら対応しなきゃいいだろ。お前の勝手だ。
800x480のアス比にしか対応する気はないがQVGAに対応したいとか言ってることが矛盾してる。
AVD触ったこともないのが丸分かりだなw 心配する前にまずインスコしてみりゃいいのに
釣りっぽいが一応マジレスすると、基本は縦幅最低で4:3モデルで収まるように設計する その上でコンテンツのメイン部分を伸縮可能部にする メインというのは例えばtwitterクライアントならログが出るところ、マリオならステージ この時、640x480の端末では最小限の表示になるがこれより縦長の端末の場合 twitterクライアントなら多めにログが表示できるし、マリオなら少し遠くまでステージが見えるわけ こうしておけば縦は640でも800でも854でも対応可能になる QVGAなら単純に縦横半分に縮小したものになるし、HVGAなら720x480を2/3縮小したような表示になる こうやって大体どんな端末でも上手く収まるようなアプリが作れるわけ ldpi=QVGA系、mdpi=HVGA系、hdpi=VGA系の3種類の解像度と、部分的なビューポートの伸縮 この2つがAndroidにおける多解像度対応のキモ
イヤです。
>>345 釣りっぽいですか。まじです。
16:9を前提に、4:3の時に上下に広がる様にしたかったですけど、拡縮のレシオを考えると
4:3を考慮する場合は4:3前提が現実的なんですかね。
ビリヤードの様なアス比が重要で16:9で画面一杯に広がる奴は4:3ではどう言う表示に
なるんだろう。 後でエミュ上で拾ってみよ。
まるわかったー!
>>347 ビリヤードなら盤面の部分を4:3で収まるようにして
上下の余白部分を伸縮にして模様でも付ける
というのが多分無難な対応だと思うよ
weight指定の自動調整に頼らず自分でアス比に合わせてフィットするように再計算してもいいと思うけどね 自動調整に頼ればフレームワークが面倒見てくれて楽というだけで より詳細なレイアウト調整を自分でやるのは可能
pixels = new int[Width * Height]; bitmap.getPixels(pixels, 0, Width, 0, 0, Width, Height); これをjniで同じように配列にピクセルデータ格納したいんだけどどうやんの?
>>354 非常にありがたいけど、ライセンス形態がわからんな
>>355 記事の中にDev Guideへのリンクがある。それとandroid LVLでぐぐれ。
>>353 情報ありがとうございます。
>>283 ができると言ったので期待していたのですが、こういう手を使わないと
だめですか……。
今のところネットを使わないアプリなので悩みますね。
使用開始時期も含めて検討してみます。
ありがとうございます。
ごめん、誤爆した。
>>359 >>359 ライセンス認証にはそれ専用のパーミッションが定義されていて、
インターネットアクセスのパーミッションは必要ないはず。
>>362 あ、そういうことではなくて、ネットがいらないアプリなのに
ネットがつながってないと動かないっていうのにちょっと抵抗が……という話です。
364 :
デフォルトの名無しさん :2010/10/20(水) 18:32:20
こんど基金訓練って税金を無駄に使うやつで 月10万もらいながら、androidの勉強やるわw
裏山
10万もらいながら勉強する言語でもないだろ 仕事でやりながら覚えろよ…
言語て
職業訓練みたいなやつかな? 失業保険もらうときがきたら利用してみようかなw
AndroidてAPIがころころ変わるから本当はそういうのには向いてないんだよな。
AndroidではじめてJavaいじったけど 匿名クラスって外部変数いじれないんだね 毎回結構めんどくさい
>>370 finalな変数にならアクセスできるよ
変数の内容を書き換えることはできないけど
(finalだからね)
>>370 その匿名クラスを定義してるクラス(HogeClass)のメンバって意味なら
HogeClass.thisをつけてみ
>>369 うん、Javaを勉強するべきだよな
入りはAndroidからでもいいけどAndroidで覚えたJavaって使いまわせないというかなんというか
Eclipse IDE for Java Developers じゃなく Platform Runtime Binary にするだけでかなり軽いんだけど、何か問題あるの? なんで Eclipse IDE for Java Developers をインストールってなってるの?
Android勉強するのに一番いい本って何かな?
Android Hacks
>>376 買った。
だけどサンプルは古い端末での物であり、カメラ関係は酷かった。
>>372 おっそういうことができるのか
ありがd
ネット上のファイルを SDCARD に保存するようなサンプルコードが掲載されたページ知りませんか? ダウンロードというキーワードでは検索しにくくて;
どこの出版社でもいいけど、さっさと日本語リファレンスを出してくれ
>>382 英語が読めれば苦労しないのですが、翻訳しながら読み進めようとしても翻訳が意味不明すぎて
この中に知らない単語はいくつありますか? Provides input and output facilities by means of streaming, file system access and serialization.
こちらには知らない単語がいくつありますか? Gets the Android external storage directory.
>>385 「は、ファイルシステムへのアクセスとシリアル化をストリーミングにより提供入力と出力の施設があります。」
初めから英語が読めれば、その文章が該当すると思えるかもしれません
ですが、わからない以上一文ずつ翻訳しなくてはならなくて、しかも、翻訳しても上記のとおりです
英文が読めりゃ初めから誰も困らないわな
いきなり機械翻訳をかけるといつまでたっても読めないままだよね。 そこに並んでいるのは実は知ってる単語だったりするわけで まず自分で英文を読むことから始めようって事だと思うわけですよ。
プロバイダー 入力と出力 facilities by means of ストリーミング、ファイルシステム アクセスと serialization.
英単語と英文では意味が違ってくるでしょ
>>387 基本的に機械翻訳は役にたたないと思った方がいい。
この手の専門用語や業界特有の言い回しを多く含む文章ならなおのこと。
辞書を引きながら読むことはできないか?
大抵は読めないんじゃなくて読むのを諦めてるんだよね。 実は知ってる単語が並んでてその単語の意味からあるていど何が書いてあるか想像できたりする。
想像でプログラムできるのか
想像できたらあとはそのクラスなりメソッドなりを組み込んで実装してみて挙動を確かめればいいじゃない?
>>393 一応分かる範囲では調べながらやろうと思ってるのですが、
例えば、該当するであろう net や http と付くクラスを分かるように翻訳していかないといけないわけです
そうなってくると、訳事態不確かな情報に頼るより、個人でも該当の振る舞いをするコードを公開・説明しているページの方を探したほうが早いというか
>>396 そのクラス名でぐぐってみた?
androidはjavaとも互換性あるからjavaの情報でも有用だと思うよ。
自分はyahoo翻訳で対訳を1語ずつ確認しながら文章を自分で組み立て直してる
というかさすがにそこまでドキュメント読めないと開発きついと思うのだが・・・
日本でAndroidアプリ市場が盛り上がらないのは、リファレンスが翻訳されていないってのは大いにあるでしょ
リファレンスくらい整った箇条書きならはなんとなく読めるけども
該当するクラスを知ってて調べるのならいいかもしれないけど、 何も知らないのに該当クラスを探し当てて0から組むのは難しくないです?
まあ市場が盛り上がってないからリファレンスが翻訳されないとも言えるが。 Androidに限らずオープンソースはみんなそうだから、これが当たり前なんだけどね。
404 :
デフォルトの名無しさん :2010/10/21(木) 17:26:27
あれ? 翻訳うきとかないの? なきゃ作るけど
>>402 クラス名やメソッド名でぐぐったほうがサンプルコード他有用な情報出てくる確率高いと思うんだけど…
リファレンスから関係ありそうなキーワードを探してかたっぱしから調べてみるとか。
っていうか「android http」でぐぐれば通信のサンプルが出てくるし、「android sdカード 書き込み」でsdカードのサンプルも出てくるぞ?
>>404 一応あるけど無いも同然
作って!
404 ってオチじゃなければ
一応翻訳してる有志もいるしブログ情報も結構ある どこにどれだけ情報あろうがググれないようでは無理
リファレンスの英語は普通にだーっと書いてる英文より読みやすいと思う
>>402 は、まずjavaから勉強するべきだとオモ。
jniのことはどこで聞けばよろし?
ndkとかOpenGL ESの専用スレ作ったらいいんじゃね? 過疎っても知らんが。
>>397 andoroidはプログラミング言語だったのか
Android SDK のサンプルが動かねー gen 削除しても無駄 ビルドパスの順番で Android1.6 を一番下に下げても無駄 クリーンを実行しても無駄 どうしても R.java が生成されない いい加減にしてくれよ google
>>414 そうだよ。そんなことも知らないの?流石初心者スレだな!
>>416 googleの人も知らないんじゃないか?教えてやれよ
>>414 android(のクラス群)はjava(のクラス群)とも互換性あるからjavaの情報でも有用だと思うよ、って言わないとダメか?
>>418 それでもかなり違和感あるな
てかほんとにandroid=プログラミング言語と思ってんの?
>>419 別にandroidをプログラミング言語だと思ってるわけじゃないよ。
ただ自分はある技術をベースにしたといいつつ実は元の技術と完全互換じゃありませんでしたという事例をいくつか知ってるので、androidがjava(互換のプログラミング言語)を採用してることと、クラス(API)に互換性があるということを別に考えちゃうんだよ。
なんだ
>>420 はandroid=プログラミング言語か
androidを言語と勘違いする奴なんていないだろ
もしかして
>>419 はそういう勘違いをしていた時期があるのか?
いやー久々に本物のゆとりを見た気がする
どうでもいい
まーたしかに自分もAndroidって単にJava言語を採用してるってだけで Javaのクラスがそのまま使えるとは知らなかったから 最初戸惑ったけどなw
でも、やっぱりWJavaと互換性のある言語Wって表現には違和感感じますね 言語としては Javaそのものな訳だし
何いちいちくだらんことこだわってんだ?w 神経症か?
OSはLinux
まあ、あれだ、 JAVA : GW-BASIC AndroidのJAVA : N88Basic と無理やりこじつけてみる
>>428 いや。A型なだけです。血液型が
それと仕事上、表現の正確さが気になるので・・・
くだらないと思う人がいるなら、話題にするのはやめましょう
MacBookAirの新型も出てAndroidに残ってるアホはおらんじゃろう
意味不明な事を書く人って英数字を全角で書くんだね
英数字が読めないのか。これが初心者スレ。。。
>>434 たぶん心の病の人なんです。そっとしておいてあげましょう
Android開発してるのなんて貧乏人か池沼くらいだろうしな 読めなくても不思議じゃない
>>437 ああ、間違いない
貧乏で池沼の俺が言うんだから間違いない。
いや、俺が
>>377 あれで2.1対応(だっけ?)って謳ってるのは詐欺だな。
>>433 金持ちはMacBookAirなんかで開発しないんじゃないだろうか?
少なくとも貧乏な俺のAndroid開発用ノートの方が高くて高性能だ。
……エミュレータが重いから仕方ないだろ。
こんちくしょー。
corei7メモリ9Gの俺に死角はないな
高い開発用PC買うならデバッグ用の実機買って繋ぎっぱなしにしといた方が 快適だろ
重くってもいいから外部カメラもエミュレートしてくれよう。
NyARToolkitの記事見たときにカメラ動いてた気がするけどできないものなの?
>>448 先に成果上げないと実機買ってくれないんですよ。
成果ってのはマーケットでのアプリの売上げの事か? 実機検証もしてないアプリ売ろうとすんなよw
453 :
172 :2010/10/22(金) 19:47:04
しばらく前にAlarmManagerでRTC_WAKEUP仕込んでるのにServiceちゃんが寝たままなのっっ!! とやってた172です。 その後くんずほぐれついろいろやったところ、 その1 ServiceのonStart(初回)でWAKE_LOCKを掴んでonDestroyで離してやるようにするとちゃんと 起きる→どちらかというと起きっぱなしなわけですが一応狙った動き。 その2 一旦BroadcastReceiverで受けて、そこからstartServiceしてやる。 BroadcastReceiver#onReceiveでWAKE_LOCKを掴んでService#onStartの終わり(正確にはonStartで起こす スレッドの末)で離してやると、寝て起きて寝て起きて…となりました。 こちらの方がバッテリの持ちはよさそうです。 敗因はリファレンスにある alarm receiver's onReceive() method が直接 Service#onStart を 呼んでると思いこんでいて、何故に onStart で寝る!とハマったことでした。 実際は中で Intent か何かで非同期に呼んでてonStartが走る頃にはonReceiveは抜けた後→sleep に入る、となってたようですorz ひとまず問題解決に至りました。お世話になりました。
>>453 ん?アラームから直接サービスを起動してたわけじゃなかったのか。
余計なことかも知れないけど、PendingIntent#getServiceでサービスの直接起動ができるんじゃないのと言ってみる。
まぁ、とりあえず解決おめ。
>>449 いいこと思いついた。
X86判のAndroidでデバッグしたらいいんじゃね?
そうだね。それがいいね。
>>455 onReceiveメソッド内でWakelockかけないとダメ
startService呼んでも、onStartが呼ばれるのは非同期(onReceiveは終了している)
ってことだと思う
AlarmManagerのPendingIntentで直でService起動した場合の動作は謎
>>455 元々が PendingIntent.getService でサービス起こそうとしてたですよ
それで
>>172 だったので PendingIntent.getBroadcast にして1クッション
いれたら上手くいくようになったと
バージョンアップしたあと初めて起動したときに特別なメッセージ(チェンジログとか)出すアプリがあるけど、あれってやっぱ自前でバージョン情報を保存してたりするの?
すみません。 service起動して、ハードボタン(音量アップ/ダウンなど)をリスナーとかで取得することってできるのでしょうか?
>>461 アップデートのときにブロードキャストされるintentを拾ってるだけじゃない?
画面の一部のスクリーンショットを撮ってpngで保存ってできますか?
できません
>>464 出来る
画面全体のキャプチャから画像加工(欲しい部分を座標で切り取って)して出力すればいい
467 :
デフォルトの名無しさん :2010/10/23(土) 17:48:58
>>354 これって一括ダウンロード出来ないんですか?
469 :
462 :2010/10/23(土) 18:18:29
ハードボタンは無理だけど、音量が変わったことはわかるはずだぞ
>>467 Win版のSubversionクライアントでも使ったらどうかしら。
472 :
デフォルトの名無しさん :2010/10/23(土) 19:49:29
473 :
462 :2010/10/23(土) 20:01:56
≥>470 横からだけどもっとkwsk どのインテント通せばいいか分からん
>>474 ContentObserver使うんだったきがす
google chart apiをwebview上にのせるにはどうすればいいでしょうか? サンプルコードが乗っているサイト等探してみたのですが、見つからず半日が・・
478 :
462 :2010/10/24(日) 01:20:22
2枚の画像を重ねたものをステータスバーに登録したいのですが Notificationを登録するときにアイコンのリソースのidを指定するんじゃなくて DrawableかBitmapで直接指定する方法ってないですか?
>>479 無理じゃないかな
多分ステータスバーはアプリ外部の扱いで、idでしか指定出来ないのは不変の(静的な)リソースしか渡して欲しくないからだと思う
481 :
479 :2010/10/24(日) 03:13:08
自己解決しました
482 :
479 :2010/10/24(日) 07:08:13
>>480 そうですか‥残念です。
バッテリーの残量を数値化してアイコン表示してるアプリは100枚の画像をリソースにもってるってことかorz
>>481 えっ
あなた誰w
483 :
479 :2010/10/24(日) 07:26:54
私だ
ストップウォッチでステータスバーに残り時間表示するアプリをばらしたことあったけど、そのアプリも時間表示全て個別のpngで持ってた。 あれを見たときは絶望したなw
なんで絶望するんだ
とりあえずメモ帳でも作ってみようかと思い xmlでlayout_widthとlayot_heightがfill_parentのEditTextを定義して 入力させるようにしましたが、初期のカーソル位置が画面の中央にあります。 これを一番上に持ってくる方法はないでしょうか?
動的に画像作れば
振り出しに戻る。
>>489 ありがとうございます。
gravityはレイアウトだけと思い込んでいて
カーソル関連を調べまわっていました。
qwerty
ImageView で @android:drawable/ic_menu_more とかじゃないかな
ちょっと違うか・・・ でもImageViewだと思うよ
>>492 ListPreference使えばつくよ、ってのは答えにならないかな。
edittextにアルファベットのみを入力可能にするにはどうやるの? 入力チェックを自前で書くしかない?
GridViewの一番下の行に空白スペースを作りたいのですが、良い方法が見つからずに困っています ListViewみたいにGridViewにfooterって設定できないのでしょうか?
>>496 入力チェックが嫌なら自動変換フィルタ掛ければいいじゃなーい
ListViewの各アイテムにCheckBoxつけるには、どうすればいいんだろ。
>>499 adapterのコンストラクタにアイテム表示に使うviewをリソースIDで指定できるはず。
>>496 edittext.setInputTypeとは違うの?
Date dt = (new SimpleDateFormat("yyyy/MM/dd")).parse(dateString); これより高速な日付文字列の変換方法ってある? 型は何を使ってもいいんだけど
>>503 自力でやる
というか、毎回インスタンス作るな
>>503 自己レス
ループの中で毎度new Simple.... してたのが原因でした
失礼しました
>>504 PCのJavaでは問題なかったんですが
そこらへんの環境の違いを改めて実感しましたorz
507 :
デフォルトの名無しさん :2010/10/25(月) 21:04:44
サイレントモードに設定されたらバイブモードに強制上書き設定する方法を探しています。 BroadcastReceiver.onReceive()でRINGER_MODE_CHANGED_ACTIONを 受け取って、その中でバイブモードに切り替えたらどうかと思ったのですが、 onReceive()が再度呼び出されてスタック破壊させる気がします。 他にいい方法はないでしょうか?
>>507 onReceive()で設定変更する必要が無い場合(=すでにバイブモード)だったら何もしない
509 :
デフォルトの名無しさん :2010/10/25(月) 21:25:33
>>508 ありがとうございます。バイブモードで何もしないようにしたら
うまく動いているようです。
ただし、なぜか音量をMINにした時、5回に1回は音量アイコンが
サイレントになっていたりしました。
また音量をアップさせた時、3,4回に1回は音量バーが1になったりします。
これはリスナーの実行タイミングが関わっているのかもしれません。
511 :
デフォルトの名無しさん :2010/10/25(月) 21:51:00
>>510 たしかに理解が誤ってるかもしれないです。
もう一度リンク先を読み込んでみます。
>>509 もともとそういう用途で使う事考慮されてないだろうし、タイマーか別スレッドで監視するようにしてみたら?
>>511 リンク先は単にハンドラが一つづつ実行されるよ、という話でスタックがどうこうとは関係ない。
紛らわしい書き方してごめんね。
514 :
デフォルトの名無しさん :2010/10/25(月) 23:25:55
>>512 タイマーでのリアルタイム監視が難しいので
スレッドで考えてみます。
>>513 いえ、特に問題ありません。ありがとうございます。
タイマーなりスレッドなりで監視する場合 アプリが生き続ける必要があるけど 上記のBroadcastだとアプリを起動してくれるはずなので その辺を考えなくても言い分楽だと思うけどね
>>515 確かに楽ですね。今の所、Service継承クラスから
BroadcastReceiver.onReceive()を呼ぶようにしてます。
org.apache.http.cookie.Cookie の使い方がさっぱり分からない 情報がなさすぎる orz
org.apache.http.cookie.Cookie を使った型 Cookie に収められた cookie を String に変換するにはどうすればいいですか?
>>518 getName(),getValue(),getDomain()辺りじゃダメなん?
つかAndroid以前の問題だからjavadoc見るなりググるなりしろ。
AndroidHacks買ったけど、このスレで書いてある通り、OS2.1でカメラ動かなかったからオライリーにメールしたら返事がきた。 マニフェストにパーミッション追加してくれだって。 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
>>520 実際、問題はそれだけじゃない。
カメラの3つ目のサンプルをDesireで動かしたら。。
ちなみに当時は2.1
どいたしまして
マーケットに登録したけど、androlibに載せたくない場合ってどうすればよいの?
SlidingDrawerは「右から左に開く」と「下から上に開く」しかできないのでしょうか? 手元のXperiaのトップ画面で画面最上部からスライドしたら情報画面みたいなものが開くので、 「上から下に開く」というのもできると思うのですが、どうすれば実現できるのでしょう?
あの、AndroidじゃなくEclipseの質問なんですが、 インデントタブがスペース4個で、タブに出来ないのかとぐぐって設定見直してたら フォーマッターのプロファイルで詰まりました。 javaのソースをJava規約プロファイル以外で編集する事は出来ないのでしょうか?
>>526 Java > コード・スタイル > フォーマッター
アクティブなプロファイルで好きなの選ぶなり新規で作るなり
>>525 この間やったよ、それ。
frameworkの中からslidingdrawer.javaをコピーしてがりがり改造して
なんとか思い通りの動作にできたんだけど
上から開こうとするとステータスバーに誤爆してしまうのだった...
カメラのプレビュー画面てフルスクリーンでしか表示できんの? プレビューサイズ変えても両端に無理やりフィットさせられてしまうんだけど・・・
デバッグ用署名されたapkファイルに自分の署名をしてマーケットにアップしちゃったんだけど 自分の証明だけのapkでアップデートできるかな? あとデバッグ用の方の有効期限が切れたらそこでアプリ使えなくなるんでしょうか
>>531 自分の署名つけた時点で、デバッグ用の署名は上書きされてると思うけど
>>532 jarsigner -verify -verbose -certs
で確認してみると
X.XXX, CN=XXX, OU=XXX, O=XXX, L=XXX, ST=XXX,, C=jp
[証明書は 10/10/04 23:26 から 35/07/07 23:26 まで有効です]
X.XXX, CN=Android Debug, O=Android, C=US
[証明書は 10/08/26 21:45 から 11/08/26 21:45 まで有効です]
みたいにファイル毎に両方出てくるんだよね
「証明書の有効期間の確認はインストール時だけ」というのがあったので
使ってる人が使えなくなるということはなさそう
>>528 ありがとうございます。なんとか光明が見えてきました。
立て続けの質問で申し訳ないですが、その「slidingdrawer.java」というのは
msysgitをインストールして、その中の「/android/core/java/android/widget/SlidingDrawer.java」
のことで間違いないでしょうか?一応それでやっているのですが、
android.view.InflateException: Binary XML file line #110: Error inflating class java.lang.reflect.Constructor
という例外が発生してしまいます。
handleとcontentは設定してあり、そのまま既存の「SlidingDrawer」に差し替えるだけで問題なく動きます。
「slidingdrawer.java」はそのままだとビルドエラーが発生したため、
『mBottom』『mTop』『mLeft』『mRight』をそれぞれ『this.get**()』に修正しています。
どういった問題が考えられるでしょう?
IS01とかって確かフォントがデフォのDroidFontじゃなかった気がするんだけど どんな機種で使われてもTextViewのフォントなんかをDroidFontに統一することってできる?
XperiaのエミュでBitmapFactory.decodeResource(id)とBitmapを読み込むと そのBitmapの大きさが元のサイズの1.5倍になってしまうのですが、 これを元のサイズのまま読み込む方法はありますか? 50×50のPNGを読み込んだ際はBitmapの大きさも50×50になって欲しいです
drawable-hdpについてぐぐってみて ただ、端末解像度に関係なく同じピクセル数でビットマップを扱いたいならassetsにした方がいいかもしれない
>>538 drawable-nodpi
スレ毎に質問出てるし、テンプレに入れてもいんじゃね?
>>534 ちょっと状況が分からなくてすまねえ
おいらの時はMyslidingdrawer.javaみたいに別物として自パッケージに取り込んだよ
>>534 たぶんその対応で問題ないと思うんだけど
JDKをそのままインストールするとJavaの更新通知が来ると思いますが そのまま指示通りアップデートしてもJREの新しいのが入るだけでJDKは更新されませんよね? 仕方ないので手動でJDKの新しいのを入手して 一旦JDKをアンインストールしてからインストールし直していますがこれで良いのでしょうか? みなさんどうしていますか?
それでよいです 俺はアンインストールが面倒いからそのまま新しいJDKを入れてます おかげで色んなバージョンのJDKがいっぱい入ってますが別に気にしていません
String [] cate = {"google", "yahoo", "bing"}; listCategory = (ListView) findViewById(R.id.listCategory); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.listcategory, cate); listCategory.setAdapter(adapter); のようにしてデバグするとエミュレータにインストールされるのですが、setAdapterのところでエラーで終了してしまいます。 なぜでしょうか?
そのレイアウトに @android:id/text1 の TextView が存在していないのでは?
ごめん、違った ArrayAdapter に TextView の id を指定しないとだめです
つかエラーの内容を書けよ、このすっとこどっこい!
>>547 もう一つxmlを造らないといけなかったんですね。ありがとうございました。
違う質問なのですが、activityを切り替えるときに値を渡したいのですがどんな方法があるのでしょうか?
ぐぐればすぐ出てくると思うけどIntentに値つっこむ
intent.setExtra("key","value"); で値渡せるよ
>>544 JDKのパスはプロジェクトごとに通し直してるの?
JREのバージョンとJDKのバージョンがずれてても問題起きない?
>>541-542 ありがとうございます。
認識に間違いはないとのことですので、再度自分で調べてみます。
ViewGroupの子のViewにイベントが発生したとき(タップなど) 子はそれをスルーして親がそのイベントを処理できるようにするには どうしたらいいんでしょうか?
>>557 falseを返せばいいわけですね。
ありがとうございます。
レベルの低い質問失礼しました。
android.app.TabActivityをimportすると、「同じファイル内で定義された型と競合します」とエラーがでます。 何が原因でしょうか?
標準ブラウザのURL遷移と日本語検索が出来る検索ボックスって外観だけ変えられますか? でかい外観が気に入らないのでレイアウト変えたいんですがどうすれば・・・
lockCanvasでrectを指定する場合、複数箇所を指定する事は出来ないのでしょうか。 左上と右下を更新する様な場合、全画面を更新するしか無い?
mediapoolでmp3を鳴らしてみたんですが10秒ほどしか鳴りません。 これは仕様なんでしょうか? インスタンスを作成、ロード、プレイ以外に なにか特別な処理が必要なんでしょうか?
仕様
iPhoneでいうLodingのグルグルはAndroidで用意されていますか?
yes
何故デベロッパのページを見ないかね?
android progress ggrks
てゆうかどんな機能があるか確認するために API Demosを一番最初にインストールするべき
全くだな
>>569 Androidプログラミングの初心者は、
そのデモにまで到達しない件について。
このスレに来るのは、フレームワークの初心者でもあるんじゃないか。
さすがにAPI Demosまで自力で行けないとその先進むのはきついと思うよ いつだってママがそばにいるわけじゃないのよ?
デモAPIで訳のわからないエラーがでる。
API Demos は環境によってかエラーを吐き出してコンパイル出来ない場合がある
API4のサンプルってどこかで入手できる?
Preferenceからentryの値を取得するにはPreferenceActivity生成しないと無理ですか? valueみたいにPreferenceManagerから取得したいです。
>>529 利用できるプレビュー解像度が決まってる。
hdpなら2種類あったはず。フル解像度じゃない方を使えばOK
取得するメソッドは…忘れた。
APIDえもsはYoutubeにうpしてあろよ
getWallpaperで得られる壁紙の今実際に表示されてる範囲を知る事は出来ますか。 Translucentだとフルスクリーンに出来ないそうなので、壁紙を描画して透過風にしようかと 思ったら壁紙全景が返ってきて、そのまま描画したら全く透過風でないのでどうした物かと。
>>581 ありがとうございます。が、別の方法で楽にできました。というか勉強不足でした。
//HTTP通信のところの
String str=new String(http2data(URL_PATH));
これを
String str=new String(http2data(URL_PATH), "SJIS");
"SJIS"足せばいいだけでしたorz
マナーモードON/OFFは内部的にサイレントモードON/OFFと 同じ事なのでしょうか?それとも別に定義されていますか?
windowsみたいに独自のメッセージを作り送りたいのですが androidではどのようにすべきでしょうか
>>584 具体的に何したいのか分からないけど、intentじゃだめなの?
すみません。 アクティビティのないオブジェクトの送りたいのです。
アクティビティ以外にサービスにもIntent送れるぞ
>>588 内部的に別物でも、公開されているAPIではRINGER_MODEで
判別するしかないのでしょうか?
ImageViewのscaleTypeに「centerCrop」とすると 横幅をいっぱいにして中央に配置しますが 横幅をいっぱいにして画像の上部や下部を表示させることってできますか? topCropみたいなのがあればいいなと思ったのですが…
SDKサンプルのJetBoyがやけに早く感じ、自分のプログラムとの差違を探ってたら image = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);で作ったBitmapにdrawBitmapと image = Bitmap.createScaledBitmap(bitmap. w, h, true)で作ったBitmapで速度が 全く違うと言う所までは解ったんですが、この違いがどころから来るのかが解りません。 ARGB_8888をRGB_565にしたら早くはなったんです565だと透過が出来ない&勝手にハイカラーに 減色する様な事は無いですよね…
JetBoyのイメージにgetConfigを仕込んでみたら、抜き色のある画像は8888、抜き色無しの画像は565に変換 されてました………これで解決してしまって良いんだろうか
自分のアプリがどれくらいメモリを使用してるのか、 オブジェクトごとにはどれくらいか、を知るにはどやるでしょうか?
親のonMeasureとonLayoutって子をaddViewすると 真っ先に呼ばれるんだとばっかり思ってたけど そうでもないんだね よくわからん
>>597 addした後、Framework側まで処理戻さないと、表示は行われない
Activityが子ViewGroupのすべてのlayoutが終了したことを知る術ってないですよね?
desire使ってて、マイクロUSB端子の入出力を扱いたいんですが出来るんですか?
USBホストの機能はありますん
>>599 ないと思う
俺はFrameLayoutやLinearLayoutのサブクラスを作ってonLayoutをオーバーライドした
strings.xmlの<string>中に二重引用符を使いたいのですが、どうすればいいですか? 「"」だと表示されなくて「“”」だとエラーがでてしまいます
604 :
603 :2010/10/31(日) 21:44:34
すいません、普通にできましたorz “”の中に'が入っていたのが原因でした
605 :
デフォルトの名無しさん :2010/11/01(月) 02:43:33
あらあらうふふ
Dialogの中にWebViewを入れてページを開くと そのページ内の入力欄をフォーカスしても入力するためのキーボードがでてこないんだけど これって何とかできる? 無理やりキーボード起動すればいいのかな
おまえならできる
>>602 サンクス
やっぱそうですか
これで心置きなく別の手を考えられる
Joda Time使ってる方います? ぐぐるとバグるみたいな情報を見かけるけど
ぐぐらなければおーけー
おk
あの、AndroidでLanczos3を実装された方居ます? 試しにgetPixel>setPixelで実装してみたら256x256を128x128に縮小するのに12595msと言う もの凄いタイムを叩きだしたんですけど、これはgetPixel&setPixelとか実装の仕方が不味い んですかね。 それともJavaの力?
>>613 getPixel/setPixelのような「1ピクセルづつ操作するAPI」で画像処理は無理過ぎ。androidに限らずwinでも同じ。
普通はグラフィックAPIを使うか、通常の配列等にピクセルデータを読み込んで操作する。
>>614 それは承知でとりあえずの簡易実装のつもりでしたけど、想定外に遅かったので
これをgetPixelsにしてテーブルとか頑張った所でどれだけ改善するのかと…
Winの話だけどgetPixelsでやると馬鹿みたいに時間かかってたのが ブロック転送して配列で操作したらあっという間に終わった
>>615 getPixelが遅いというのならばなおさら、呼び出し回数を減らすのには大きな意味があると思うよ。単純に256x256回に分けて取得していたものを1回で済ませられるわけだから。
補足すると、グラフィック関係のAPIは呼び出しのたびにグラフィックチップへの問い合わせが発生する。特に今回みたいに1ピクセルづつ問い合わせてたりしたらチップの速度優位が全く生かせない。 一方、配列操作はCPU-メモリ間だけで完結する。
関数呼び出しのオーバーヘッドは無視出来ない
>>618 …getPixelは単に毎回y*pitch+x*4のアドレス計算が発生するだけじゃないの
>>620 対象がメモリの上にあって、かつシングルスレッドならそうだな。
VRAMがどこにあるのかはハードウェア次第。
>>620 それだけじゃないよ。
グラフィックデータが物理的にどのように管理されているか、OSやランタイムに知る術は無い。それを知ってるのはグラフィックチップとそのドライバだけ。
ついでに言うとそれらのデータは、たいていチップ固有のデータフォーマットで管理されている。
だから操作の度に毎回問い合わせが発生する。(そしてしばしばフォーマット変換を伴う。)
こういうことはDDBとかDIBについて調べると色々な議論が(windowsの話だけど)web上に見つかるから探して見るといい。
Androidてそんな高尚な事してるの? surfaceviewのダブルバッファ含めて全部メモリかと思ってた。
>>623 androidはlinuxカーネルを使っていることを思いだそう。
というか別にそんな高尚な話でも無くて、単純に現在のcpuパワーがOS全体のグラフィック処理するのに全く足りないから専用のグラフィックチップに全部丸投げしているというだけの話。これらの仕事をするのはandroidじゃなくて専用チップとそのドライバだからね。
そして、チップがサポートしてない処理をしたいこともあるだろうからメインメモリにデータを読み込む方法も提供されている。
Preferenceで設定画面を作っています。 バージョン情報を表示するリストで、押下した時に 何も動作しないようにしたいのですが、ListPreferenceで そのような事は可能でしょうか?
すみません。バージョン情報は表示しない事にしたので、
>>625 は無視してください。
何度もすみません。一応バージョン表示も出来ました。 下記のようにandroid:enabledをfalseに設定すれば 押下しても動作しないようになりました。 <ListPreference android:enabled="false" android:key="list_key_version" android:title="@string/list_title_version" android:summary="@string/list_summary_version" />
628 :
613 :2010/11/02(火) 17:44:21
NDKに手を出して、pixelsとfree以外ほぼそのままCに移したら103msになった\(^o^)/ これなら十分実用出来る速度だ。 ただ何だか実機だと不安定で3回に一回位の割合で「予期せず停止しました。やり直してください」 と出て強制終了してしまう様に…エミュだと何十回実行しても問題無いんだけどなぁ。
すいません。 アンドロイドのプログラムをフラッシュで作ろうと思ってます CS5で作ったAIR2.5で試しにプログラムを作ってみました apkをシミュレーターにインストールして、動作させようとすると 「このアプリケーションを使用するにfADOBE AIRが必要です」 「必要ですか?」 で、「インストールする」を選ぶとAIRがインストールされるはずなんですが、AIRがインストールされません AIRをシミュレーターにインストールするには何か必要なんでしょうか
>>629 シミュレータにはFlashプレイヤーは入れれない
エミュレータな。
632 :
629 :2010/11/02(火) 22:40:25
そうですか・・・ありがとう
Android総合スレってどこ? インストールしてみたけど、根本的にモジュールが足りないのか ネットワーク関係(eth、wlan、wmx)全滅 うがー
>>630 いやエミュレータ用のAIRプレーヤってのがあってそれ使えばエミュレータで動くよ。
ただしapk書き出す時にエミュレータ用に書き出さないと駄目。
ListView上で画面をスライドされたことを判定することは出来ないのでしょうか?
soundpoolで無音の状態から鳴らすと頭が0.5秒程欠け、他の音が鳴ってる間に重ねて 鳴らすと欠けないので、最初に0.5秒程の無音のPCMをループ再生させてみたら一応 欠けなくはなったんですけど、他に何か真っ当な対処法はありませんか。 無音状態でも何かオフにしたり休んだりしない様にする設定とか無いですかね。
あまり調べてないけど、 ソースがmp3だと遅延することがあるらしいよ。
wavとoggで試しました。 遅延というか頭が欠けるんです。
ちなみに試した機種は? xperia、エミュでは問題なく使えてる
C++プログラマ向けAndroidお薦め本プリーズ Javaの基本はいいので、最新でマーケットとかも含めて一通り載ってるものと 中上級者向けなものをお願いします。 Android Hacksはあまりお薦めでない?
>>641 まぁそんなこと言わずに経験者からみたよさげな本を頼むよー。
>>640 最低スレ内くらい検索しようぜ >>375-
Androidには直接関係無いけど、独習c++かな。 NDKの場合、STLは(余り)勉強しなくてもいい。
むしろSTL使わせれくそがー
Handler.postDelay()でメッセージ処理をさせた後、 メッセージのキューにポストしたものが入っているかどうか チェックするにはどうすればよいでしょうか?
>>647 Handler.hasMessages()というメソッドがあったのですが、
引数のint whatの意味は何でしょうか?
whatは投入したMessageのwhat postDelayedのようなwhatを指定しないメッセージの場合はデフォルト値の0のままになっているようだ
>>649 おぉ…ありがとうございます。ドキュメント読んでも
ヒントすら掴めませんでした…。
>>643 Hacksが×、豆蔵としかわからんかった。
Google Androidプログラミング入門のみってこと?
>>650 ソース落としてきて追うといい、post(Runnable)系の処理は
内部でからのMessage作成してCallbackに設定してsendMessageを呼んでる
>>636 一般的なプログラミングでよくあるのはバッファやワークの初期化忘れ。
それならサウンド用のリングバッファが1周する間音が出ないかもね。
パッケージネームに何か規則はありますか unko.tinko.mankoでもグーグルは何も言いませんか
>>654 何も言わないし、何も言えないよ(絶句)。
kiss.my.assholeとかしてる外人は居ないのか
startActivity(intent)で遷移を行っているのですが Activityはシングルトン的な生成の仕方はできないのでしょうか? 同じActivityに何度も遷移した場合その分だけ生成されてしまっているのが気になります。
>>659 ありがとうございます。
android:launchMode="singleTask"で理想の動作になったと思います。
AndroidManifest.xmlで変更できるとは考えてもいませんでした。
Runtime.freeMemory()は何の値を返してるんでしょうか? 起動直後onCreateの時点で700KB位しか無く、起動後暫く放置してると数値は2MB位迄増えて行き、 700KBの時にint 1024x1024の4MBの配列取ってみても問題無い。 意味が解らない。
totalMemoryも見てみたら
totalは16MBです
仕方ないので説明しよう totalMemoryは必要に応じて増えます freeMemoryはtotalMemoryのうち空いてる部分を指すのでtotalMemoryの増加に応じて増えます
あれ、totalは起動直後から16MBで上の4MBとか無茶な配列取っても変化無い。
じゃあ単にGCで空いたんじゃない
あ!!! totalじゃなくmaxでした。 すみません。 adv落としてしまったのですぐには試せませんが、後でtotalにしてみます。
AndroidというよりJavaのプログラミング方法の話になるかもしれませんが、 Handlerを使って色々なタイミングでタイマー処理させたい場合、 Handlerオブジェクトはシングルトンのクラスで実装すべきでしょうか? 変な事言っていたら指摘してもらえると助かります。
別のスレッドで Handler を動かしたいときとかに困るんじゃない
>>669 そうですね…。あるクラスでHandlerをstaticで持たせて、
他の所からはsendMessage()を実行するようにする方が
いいのでしょうか?
>>670 1: Handlerはインスタンスが生成されたスレッドで処理を実行する。
2: androidではUIの操作はactivityのUIスレッドでやらないと例外が起きる。
3: シングルトンを初期化するスレッドはそのシングルトンのインスタンスと同じ寿命を持たなきゃいけないから、下手にkillしたり参照を切ったりできないんじゃない?
そこら辺のことが十分考慮できるならありだろうとは思うけど…。
ごめん。Handlerは常にUIスレッドで実行されるんだっけ。 今のは忘れて。
いや、生成されたスレッドで実行するよ カレントスレッドにLooperがなければnewできない
あ、やっぱそうだよね。ドキュメントにもそう書いてあるし。 実は今onCreate()でこんなコードを実行してみたら全てのスレッドIDが1になってて、 なんじゃこりゃあ!って混乱してたところなんだけど。 final Runnable threadIdGetter = new Runnable(){ @Override public void run() { Log.d("thread", String.valueOf(Thread.currentThread().getId())); } }; new Thread(){ @Override public void run(){ threadIdGetter.run(); Handler h = new Handler(); h.post(threadIdGetter); } }.run(); threadIdGetter.run();
Thread は start しなきゃ
>>671 ありがとうございます。現状はDialogPreference内部で
Handlerを保持して扱うようにしています。
その他から使うのはもう少し検討してみます。
Serviceを起動した状態で、新しいパッケージにアップデートすると Serviceが動いていないようです。 端末起動時にServiceを自動起動するにはBOOT_COMPLETEDを受ける BroadCastReceiverを作ってXMLに追記すればいいようですが、 パッケージアップデート時も上記と同じ方法でいいのでしょうか?
>>677 無理
アプリを起動してもらうか、再起動してもらうか
>>678 そうですか…。手動でやるようにします。
682 :
デフォルトの名無しさん :2010/11/04(木) 22:18:59
ただいまゲームを作ってみようと挑戦中でなのですが、最初に作るActivityからSurfaceViewを呼び出して、その中にrun()を書いて、そこにゲームの処理を書いているのですが、そのスレッド内からプリファレンスを利用するにはどうすればよいのでしょうか。 ググってもプリファレンスを最初のActivitiyに書く方法しか乗っていなくて、run()内から呼び出し方がわかりません。
683 :
677 :2010/11/04(木) 22:21:29
BroadcastReceiverのオブジェクトをregisterReceiver()で登録しなくても、 XMLファイルにBOOT_COMPLETEDを受け取る記述だけすればいいのでしょうか? 先ほどからエミュレータで確認しても飛んでこないもので…。
>>683 BroadcastIntentによって違うけど、
BOOT_COMPLETEDはXMLに記述しないと受けれない
>>681 少なくともeclipseから端末に転送するときはPACKAGE_REPLACEDが飛んでくる。
PACKAGE_ADDEDのドキュメントには自分に飛んでこないって書かれてるけど、
PACKAGE_REPLACEDには書かれてないし。
>>682 ActivityからそのViewに設定を渡しちまえば?
687 :
677 :2010/11/05(金) 00:31:42
>>684 実機で確認したら起動時にサービス起動する事が
確認出来ました。eclipseから起動したエミュレータだと
駄目なんですかね?
688 :
677 :2010/11/05(金) 00:59:20
>>685 onReceive()でPACKAGE_INSTALLとPACKAGE_REPLACEDを
受け取った時にサービス起動するようにして実機で確認しましたが、
サービスは起動されませんでした。エミュレータでは何故か捕捉出来ません。
689 :
677 :2010/11/05(金) 01:32:52
追加情報です。PACKAGE_INSTALLおよびPACKAGE_REPLACEDは manifestファイルに下記の1行を加える事で捕捉する事が出来ました。 <receiver android:name=".MyReceiver" android:permission="android.permission.RECEIVE_BOOT_COMPLETED"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> <action android:name="android.intent.action.PACKAGE_INSTALL" /> <action android:name="android.intent.action.PACKAGE_REPLACED" /> <category android:name="android.intent.category.DEFAULT" /> <data android:scheme="package" /> ← これを追加 </intent-filter> </receiver>
691 :
デフォルトの名無しさん :2010/11/05(金) 07:49:01
zip展開して見る気なれないけど、他のサイト見てみたら。
AndroidアプリにAdmobを使ってる人がいたら教えて欲しいんだけど。 アプリに表示できる広告が何も無い時は、どんな広告を表示してます? 出来れば自社広告を表示するスペースも有効に使いたい。
AdMakerなら100%表示されるよ。
着信音量が変更された事を検知するリスナーはありますか?
メモリリークの箇所を見つけたのですが原因が解りません。 Bitmap src; int pSrc[]=new int[w*h]; src.getPixels(pSrc, 0, w, 0, 0, w, h); pSrc=null; ピクセル処理・setPixels等端折って行ってもリークは止まらず、最後にこのgetPixelsの行をコメントアウトした所で リークが止まったので、このsrc.getPixelsの所でリークしてるは間違い無いと思うのですが、getPixelsした後は 何か後処理しないといけないのでしょか。 あとgetPixelsはソースのフォーマットに依らず全部ARGB_8888で返しますよね?
Java初心者ならまずJavaのメモリ管理、ガベージコレクト関連から調べろ
>>697 開放される迄時間があるとかじゃなく一切開放されなく最後はout of memoryになるんですけど、調べれば対処方法解りますか?
一応リークの対処方法を調べてあらゆる物を=nullしたりしても全く解消せずここに辿りついてたんですけど、まだダメですか。
ああ、その話は春ごろ関西支部の勉強会でなんか言ってたな 詳しくは忘れたけど、ライブラリの下のほうでリークしてたんじゃなかったかな 日本アンドロイドの会の資料あさったらなんか出てくるかも
春ですか…サイトの技術資料は去年の暮れで止まってますね。
Bitmapは内部でネイティブヒープを使っていてそれがGC機構とは別管理になってる 例えばサイズ1MのBitmapを作ると、ネイティブヒープ1M+dakvikヒープ1kみたいになる ネイティブ部分もfinalize()されると解放されるが、finalize()が走るのはGCの時で GCはdalvikヒープが尽きたら走るが、ネイティブヒープが尽きた時は単にOOMになる つまりBitmapを一杯作るとネイティブヒープを大量に食ってdalvikヒープはさほど食わないため GCが走るより先にネイティブヒープが尽きてOOMしてしまう 解決のヒント>Bitmap#recycle
>>701 うーん Bitmapじゃなく getPixelsなんですよ。
Bitmapはは確保済みで、ピクセル処理をしようとgetPixelsをした所でリーク
>>696 の所でgetPixelsの所をコメントアウトしたり、get〜処理〜setの代わりに
drawBitmapでスルーすると何回繰り返しても問題ありません。
>>702 有り難う御座います。 これから眺めてみます。
既読でした…それ見て色々疑ったんですけど、全く関係無い所で発生してたと言う。
ライブラリのソースでも落として読めよ
そこの処理でメモリを大量に使用するからOutofMemoryErrorが発生するだけで、 実際にリークしてるのは別のところだったりしない?
再現出来る最低限のコードを別のプロジェクトで試してるけど、中々再現出来ん…
>>703 pSrcを毎回newせずに使いまわすと問題あんのけ
>>709 入力画像によって変化するので…
ガベージを作らない様固定出来る物は固定した方が良いんでしょうか?
今までそうしてたんですけど、リーク関連のページ眺めてたら何だかダメな様な気がしてきて
出来る限り即nullする様にしました。
プロジェクト間でコピペ繰り返してたら何かカットしてしまった様でまたこれを探すのにry
今日は涙目のまま寝ます。
>>710 大きめのサイズ用意して使い回しでええんじゃないのけ?
ActivityのonCreate()でHandler.postDelay()を実行して、 タイマースレッドを起こした後にActivityを抜けると タイマースレッドだけが残ったままとなります。 この残ったタイマースレッドを外部からキャンセルさせる事は 可能でしょうか?
>>694 情報ありがとう御座います!!
広告を100%表示してくれるなら、願ったり叶ったりです。
早速AdMakerのSDKをダウンロードして、試してみます。
>>703 たまたまそこで発生しているだけで、
>>701 を使った再利用をしてないからでは。詳しく知らんけどgetPixcelsは負荷が高いらしいし。
>>712 Handler に remove なんとかっていうメソッドがいっぱいあるじゃないか
ListViewの特定の行に対してアニメーションさせたくて、特定の行のViewを取得したいのです 行数が少ない場合はListView.getChildAtで良いようですが スクロールバーが出る状態?くらいまで行が増えると違う位置やnullが返ってきたりします 特定の行のView、又は特定の行の現在の表示位置を取得する方法はないのでしょうか?
>>716 各メンバの@Overrideは省略
継承元のAdapterViewは必要になった時だけgetView()を呼び出してくる
なのでgetView()の中が重いとスクロールがもたつくので注意
listview.setAdapter( new BaseAdapter()
{
public int getCount() { ... }
public Object getItem(int position) { ... }
public long getItemId(int position) { ... }
public View getView(int position, View convertView, ViewGroup parent)
{
// ここでアニメーションするViewを返す
}
} );
719 :
716 :2010/11/06(土) 15:03:45
>>718 複数項目表示しているので、getViewは既に実装しています
確かにViewだけならListAdapter.getViewを呼び出せば作れると思ったのですが、
そうやって作ったViewは画面には表示されていないわけでこのままではアニメーション出来ないですよね?
なので
>特定の行の現在の表示位置
がわかればどうにかなるかと思ったのですが、何か私は勘違いをしているのでしょうか?
>>719 自分でgetView呼んでどうすんだよ
>>719 例えば初期状態で表示領域内に5件あったとすると、AdapterViewは5件分getView()を呼ぶ
スクロールして始めの1件が画面外に出たらgetView()で取得したViewを破棄する
なので、「特定の行の現在の表示位置」なんてもんは無い
どう実装すべきかだが、ViewAnimatorかViewを継承させたクラスを自前で作るか
722 :
716 :2010/11/06(土) 15:37:00
>>720 718と同じ方ですか?
自分でgetViewを呼び出しても意味がないのがわかるので、
>>718 の返答の意味がわからないのです
元々の質問の意図を誤解されている気がするので何をしたいか具体的に書くと
特定の行を削除するとき、どこが削除されたかわかりやすくするために
その行を右にスクロールさせてそのまま画面外に追い出すように見せたいのです
それをTranslateAnimationでやろうとしていて、操作対象のViewをどうやって取得すればいいかを悩んでいます。
getPositionForView で ListView の child を 1 個ずつ調べるしかないんじゃない それか Adapter の方でどの View をどの位置用に作ったか覚えておく
androidの実機をもっていないので検証用に買おうと思うのですが一番安いのはなんでしょうか? タブレット型ではなくスマートフォン型で、android2.2が使えるのがいいです。 simフリーでもいいのでできるだけ出費を抑えたいです。詳しい方お願いします。
>>715 onStop()とかonDestroy()でHandlerのremoveを
叩けばいいという事ですね。
>>724 n1
googleがadpとして売ってる。
昨今の円高で転送手数料送料合わせても5万弱で買える。
dev登録の$25はどうせいることだし。
あ、あとはヤフオクとかでht-03a買ってきてmytouch3g化→公式2.2のota焼けばかなり安上がりだな
まだHT-03A公式1.6から1クリックroot化知らない人がいるのか
sqliteでdbファイルをdata/data/以下ではなくSDカードの保存することはできますか?
>>722 そもそも削除する行はどうやって決定する気?
タッチ操作ならタッチされた行のViewは分かる、
トラックボールなどで選択するのなら、選択されてる行のViewも分かる
じゃなかったら
>>723 みたいにするしかない
ListViewのアイテムとViewは1対1じゃないので
ただし、そもそもListViewってViewがメインじゃなくて、
Adapterから表示すべきViewってのを生成するってイメージなので、
ListViewからViewを削除するってのがどうなんだろうってのはある
>>731 回答ありがとうございます。
どこで設定すればいいのでしょうか?
733 :
716 :2010/11/06(土) 23:09:08
Androidのフレームワークのソースを入手してListView.pointToPositionその他を調べたところ getChildAt(n)は画面に表示されているうちのn行目のViewを返すことがわかりました なので ListView.getChildAt(求めたい行 - ListView.getFirstVisiblePosition()); とすることで操作対象のViewが取得できました お騒がせしました。ありがとうございました。
734 :
716 :2010/11/06(土) 23:15:10
>>730 削除操作そのものをViewに対して行っているわけではなく
あくまでアニメーション操作だけで、
実際の削除はonAnimationEndでAdapterに対して行っています
>>732 SQLiteOpenHelper使ってるんだったら、
コンストラクタに渡すContextのopenOrCreateDatabaseをオーバーライドして
SD上にSQLiteDatabaseを作れば良い
ゲーム用のスレッドと描画用のスレッド分けているのですが、 間違えてゲーム用のスレッドから描画用の関数を使ったら 警告が出るようにしたいのですが、 自分がどちらのスレッドから呼ばれたかの確認はどうやればよいのでしょうか?
>>737 Thread.currentThread() とUI用のスレッドとの比較
>>728 それはこの前のアップデートのついでに潰されたよ。
すでに別の方法があるけどね。
>>740 この前のアップデートとかなにか勘違いしてない?
HT-03Aのこの前のアップデートって何年前のやつ?
あれは昭和58年だから…
いや、10年前だったか… まあ、いい端末だったよ
そう、やつは最初から言うことを聞かなかった・・・
彼には72通りの名前があるからなんて呼べばいいのか… 確か、最初に会ったときはHTC-Magic
そんなアプリで大丈夫か?
インストールされている他のアプリのインテントフィルタを見るにはどうしてます?
マニフェストファイルでSingleTaskに設定してActivityが2重起動しないようにして、 かつ現在Activityが起動している場合、BroadcastReceiver#onReceiveで 自分自身のActivityを呼び出す事は可能でしょうか? 試しに下記の実装だと強制終了してしまいました。 Intent intent = new Intent(context, MyActivity.class); context.startActivity(intent);
752 :
751 :2010/11/07(日) 21:22:55
説明が不足していました。呼び出したいのは、 現在表示している画面(Activity)です。
>>751 普通に起動できると思うけど
既に起動している画面が表に来る
754 :
751 :2010/11/07(日) 22:15:36
>>753 下の行を追加したら思うように動きました。
intentActivity.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
>>751 singleTaskのactivityを2回以上呼び出すときは、onCreateが呼ばれずにonNewIntentが呼ばれるんだけど、それは関係無い?
あとこういう時は例外のスタックトレースをログに流してみるのが解決の近道。
なんだ、時間差で解決してたのか。
757 :
751 :2010/11/07(日) 22:27:41
>>756 いえ、ありがとうございます。あまりログ入れずにやってたので、
トレースログ入れるようにします。
GC回避のためにnewを徹底的に除外しているのですが、 Dateだけは、毎回 newしたものでないと日付が更新されない…。 何か代替できるいい方法は無いでしょうか?
System.currentMillisecond を setTime
760 :
751 :2010/11/07(日) 22:54:55
startActivityを実行すると、バックグラウンドにある画面(Activity)は 必ずトップに来てしまうのでしょうか? Activityは呼びたいけど、バックグラウンドのままトップに来させない なんて事は可能でしょうか?
アクティビティは表示にのみ特化した方がいいんじゃない? 呼び出したアクティビティで何をしたいのか知らないけど、普通はそういう場合、サービスとかに処理させる
762 :
751 :2010/11/07(日) 23:03:17
>>761 Activityの中でHandlerを保持していまして、onReceiveでstartActivityが
呼ばれたらHandlerをremoveさせようとしています。
onNewIntentの中でremoveすればいいのですが、画面がトップに来てしまいます。
それを回避する術が他に思いつかず困っています…。
そもそも最前面でないアクティビティがHandlerを使って裏で何事かを実行していること自体がおかしい そういうバックグラウンド処理はサービスの役目
765 :
751 :2010/11/08(月) 00:57:18
>>763 一応onDestroyが呼ばれるまでHandlerを持たせて
有効にしておこうと思ったんですけど、これっておかしいんですね…。
>>765 最低限activityのライフサイクルは理解しておいたほうがいい。
activityはonPause以降、OSがいつでも即killしていいことになってる。
Activityに保持するのはいいとして、起動させるのにIntent投げたら画面が立ち上がるのは仕様としてしかたない
BroadcastReceiver作って中にstaticなメンバを用意してIntent発行してみたら、 値を保持していて、内部構造が気になりました。 staticなメンバはいつ作られて何処に保持されているんですか? static int[] a = new int[1024*1024]; とかやったら4MB持ちっぱなしとかになったりするのかと。
>>768 初回クラスロード時だっけ?
開放されるのはVMが止まる時ってことで、タスクキラーとかでメモリ不足で殺された時
linuxでjava動かす時のプロセスと同じ。と考えていいのかな
なんで
>>768 みたいな事してたかというと、
BroadcastReceiverのライフサイクルがわからなかったからです。
Intent発行された時にロードされてるのか?
どっかにロード済みのが使われているのか?
registerReceiverがどっか内部でされてるのか?
onCreateが無かったりするし、なんかまだ理解できてないのです。
サービスってOSからはいつでもキルされ得るんですか?
>>770 staticで値保持してるんだったらライフサイクルは関係ないだろ
Handler保持だったらSigletonにしてもいいかも
>>771 メモリが足りなくなるとどんな状態でもキルされる可能性はある
>>772 >staticで値保持してるんだったらライフサイクルは関係ないだろ
え?そうなの?
いつまでstaticの値が保持されるのか、気になったんですけど
ActivityならonDestoryとかで、"おそらく"プロセス殺されるのはわかるとしても
BroadcastReceiverを
「誰がインスタンス化して、コールしてるか」
によってプロセスが異なりますよね?
>>769 が言うように
>メモリ不足で殺された時が、
BroadcastReceiverだといつになるのか謎じゃないですか?
誰にコールされても自分のプロセスは同じじゃないの OSの気分次第でプロセスが殺されるまで保持される、としか言えないんじゃない BroadcastReceiverのライフサイクルは onReceive が呼ばれてから戻るまでだけらしい > A BroadcastReceiver object is only valid for the duration of the call to onReceive(Context, Intent). > Once your code returns from this function, the system considers the object to be finished and no longer active.
>誰にコールされても自分のプロセスは同じじゃないの そうなのかー インスタンス指定してregisterReceiverしたりするし… そのプロセスって事ね。 なんとなく理解しておこう ありがとうございました
>>775 LogCatのログからデバッグ中のアプリ内の
BroadcastReceiverと、AppWidgetが同じpidでした。納得
IS01の独自マルチタッチの使い方は判明してますでしょか。 それらしいワードでぐぐっても全く見当たらない…
>>778 どうしても知りたかったらSHMapsの作者に連絡してみれば?
教えてくれるかどうかわからないけど
>>774 プロセスがキルされる時はonDestroyは呼ばれないぞ
Preference等に退避させない限り、値の保持は出来ない
Activityの遷移についての質問です。現在作成しているandroidアプリにて、トップ画面をタッチしたら別のActivityに遷移する様に作成しているのですが、 遷移先よりbackボタンを押して戻ろうとしても、トップのActivityに戻りません。 何回かbackボタンを押すと戻れます。 backボタンで確実に前の画面へ遷移させたい場合、何かやらなければいけないことがあったりするのでしょうか。
>>781 よくわからないけど、別のActivity が多重起動されてるの?
バッテリー管理系のアプリを公開しているのですが、 私のアプリが時々動いていないという苦情を何件か頂いています。 どうやらタスクキル系のアプリでサービスが定期的に殺されてるようなんです。 こういうときにゾンビのように復活させるにはどういう実装をすればいいんでしょうか?
タスクキラー系のアプリで本アプリが終了しないように設定してください タスクキルされてしまうと、正常に動作しません
その説明書いています・・・ 読んでくれてないのか、読んでも理解できないのかわかりません・・・
そのタスクキラー系アプリをタスクキルしてしまえ
読まずに文句言われたら放っておけばいいよ ゾンビみたいに復活するようなタスクなんて、よほどのことがない限り作るもんじゃない
>>787 ですね・・・
スパイウェアと疑われてもおかしくないタチの悪いアプリになりそうですね<ゾンビ
スルーしてやめときます。
EditTextにスクロールバーを表示させたいのですが、 xmlで設定しない場合はどのように表示させればいいのでしょうか。 また、スクロールバーの色などを設定する事は出来るのでしょうか。
何でDateTimePickerDialogが無いんだろう? 皆わざわざカスタム作ってるの?
縦横スクロールもデフォで欲しいな
>>792 スクロールしたくない場面もあるだろよ。
オプソだからデベロッパーがカスタムコンポーネント作って配布すれば? ってスタンスなんだと思う。
今ImageViewでズームコントロールを使っていて、 ImageViewでフォーカスを失ったときに、 ズームコントロールを非表示とかやりたいんですが、 どうやったらできますか? setOnFocusChangeListenerとか使ってみたんですが、 うまく行きません。。
すみません。質問させてください。 とあるアプリをWeb(Flash)版→Android版と移植したいのですが、 サーバ側(Servlet/JSP)は手を加えられない条件のため、 クライアントからHttpリクエストを起こしレスポンスを受け取る、 いわばXML-RPCっぽいことで実現しようとしています。 しかし、当然ながらWeb版ではSessionを利用してステートフルを実現していたので、 Androidだとどうしようか?と悩んでいます。 Androidは2.2でFlash再生できるんだし、そもそもクライアント必要なの? というのはナシで、ステートフルを実現できる方法はないでしょうか? Java1.6ではjava.net.CookieManagerが登場し、Cookie管理が可能とのことですが、 これを使えばJSESSIONIDをリクエストに乗せれるのでしょうか? 似たようなご経験がお有りの方、ぜひともアドバイス頂きたく。
socket使えるんだし、自前でhttp実装すれば?
頂きたく!
早速のアドバイスありがとうございます。 httpを自前実装とのことですが、 HttpURLConnectionでhttpリクエスト自体は起こすことができています。 的外れなことでしたら、申し訳ありません。 Sessionの利用ができれば問題ないわけですが、 ブラウザアクセスではないため、ここで悩んでいるわけなのです。
MediaPlayerでwavないしmp3を再生しようとしたところ、 ERROR AndroidRuntime android.content.res.Resources$NotFoundException: File res/raw/なんたら.mp3 from drawable resource ID #0x7f040001 ERROR AndroidRuntime at android.content.res.Resources.openRawResourceFd(Resources.java:864) ERROR AndroidRuntime at android.media.MediaPlayer.create(MediaPlayer.java:560) 以下なんちゃらなんちゃら と出て、再生ができません。 なお、res/raw/下に該当のファイルは存在し、またビルド時にクリーンは発行しております。 なんかこれ以外にやらなきゃいけないことがあったりしますでしょうか?
apacheじゃうまくいかないん?
拝承。
なんか小難しく書いてるけど普通にクッキーにセッションID保持して 投げるときに付加すりゃいいんじゃないの? あと、そこら辺から躓くならHTML+JSとかで組んでブラウザで使えるようにした方が簡単じゃね? 要件分からないからなんとも言えないけど。
>>807 HttpClient + CookieManagerでいけそうな気がしてきました。
検証を進めてみます。
アドバイスに感謝いたします。
現在、タブ画面を作成しています。 TabAvtivityを継承していますが、問題点があります 。 タブAは計算機でタブBはメモ帳というアプリですがタブBに移動しタブAに戻るとタブAのボタンが使用できません。 ボタンのリスナーはoncreateで設定しています。
>>809 教えてクンのまんまだな。何がどのような問題かをはっきり書いてないし、必要な情報もない。とりあえず、
1.manifest でのactivity タグの属性定義についてと、
2.メンバー変数で状態保持しているかどうか
をしらべてみたら。
質問するに必要な情報が何かわかれば初心者じゃないけどなw
なんで行が空いてるんだろう 初心者には見えない書き込みかなあ
BroadcastReceiverでKeyEvent.ACTION_DOWNを 検知するようにした場合、onReceive()の中でどのキーが DOWNされたのか判断する事は出来ますか?
BroadcastのIntentにはキーイベントのアクションは 含まれていなかったので判断出来ないみたいですね。
そもそもKeyEvent.ACTION_DOWNはBroadcastで飛んでこないだろ 自分で飛ばしてるんだったらIntentにキーコードも埋め込めば良い
>>815 自分で情報付加して飛ばす以外に検知出来ないみたいですね。
>>808 typoだと思うけどHttpClientと組み合わせるのはCookieStoreな
アクチビチの赤ワイン煮
Preferenceの設定画面から、ListPreferenceをクリックして Activityを起動する事は出来ないのでしょうか?
>>820 API Demosを見る。
もしくはListPreferenceのメソッド入力候補からそれらしいものを探してみる。
>>821 自分でPreference作って表示させるようにしました。
メニューに表示される名称で改行位置を調整したいのですが、 アプリケーション名に\n入れても問題無いでしょうか?
>>823 メニューって何のメニュー?
自アプリのメニューなら、そんな変なことしないでも好きな位置に表示可能でしょ。
他アプリのメニュー位置を変えたいという意味なら、そんなこと考えるのは止めといたほうがいい。うまくいくかも問題が出るかどうかもそのアプリ次第。
825 :
823 :2010/11/10(水) 17:40:27
分かりにくくてすみません。 manifest.xmlの android:label="aaa\nbbb" のことです。
827 :
823 :2010/11/10(水) 18:05:30
>>826 見た目上は大丈夫そうなんですが、
なんか影響ないかなと気になって・・
とりあえず改行付きでいってみようと思います。
お騒がせしてすみませんでした。
>>827 だから問題あるかどうかは実際にそれを表示するアプリ次第だって。
>>778 亀レス&妄想ですまんが。
IS01みたいな擬似マルチタッチ対応のハードは、
指2本とかでタッチすると、
MotionEventだったかのgetSize()の値が変わるんじゃなかったっけ。
それでなんとかしる。
どうしてもSHARPの独自ライブラリを使って実装したいというなら、
JNDK-01のエミュレータからframework.jarだったかを取り出して、
リバースしてみては如何か。
確か、MultiTouchGestureD(検閲削除)とかそんなのが隠れているから、
それを参考にモック作ってしまえば呼び出せる。
#リバースしていいのかどうか知らんので検閲されました。
使い方は自分で考えて。
マーケットのアプリを非公開にしたらダウンロード履歴には表示されなくなりますか?
初心者はマーケットの話なんかしねーからプロの話はよそでやれ
戻るボタン対応がかなり難しいな、これ
>>734 getViewのなかで当該ViewのonClickを定義し、そのなかでViewのインスタンス渡して別スレッドで定期実行するのはどうよ。
Handler使って当該Viewを散々いじくったあげく、最後にリスト内の実体側を棄てる。
ロック画面を変更するアプリ作りたいんですけど ロックに関連するサービスやアクティビティにアクセスする方法が良く分かりません これらをいじるために必要なAPI等ご存知でしたらご教授ください
ティウンティウン
>>834 ドロイドOSプラットホームに組み込まれてるから、修正できなかったような。
execで外部コマンド叩く時に引数のメタ文字とかをエスケープしてくれる様な関数はありませんか? 自前でやるものなのでしょうか?
なぜエスケープの必要が?
説明不足ですみません。 引数に出力するファイル名を記述する必要があり他のコードが走ってしまう可能性を防ぎたいです。
引数に配列
ダイアログにチェックボックスのアイテムを複数表示しています。 またOKボタンとキャンセルボタンが下部にあります。 チェックしてOKボタン押したら反映させ、キャンセルボタンまたは BACKボタンを押したら反映させないようにしています。 チェックしたら即時反映する方が自然な作りなのでしょうか? それとも場合によりけりでしょうか?
明日DesireHDを買う予定のAndroid初心者です。 今、android ndk について調べているんですが、 native側からサウンドを鳴らす方法をどなたかご存知ありませんでしょうか? JavaよりC(++)の方が経験があるのでndkの存在を知ってちょっと喜んだんですが、 画像についてもPNGとかは細工をしないと展開できなくて、 BMPをZIP圧縮したのを読み込むぐらいしか有効な手がないみたいですし、 今の私の認識だと、ndkって余り使い所が無さそうなんですが・・・
>>734 getViewのなかで当該ViewのonClickを定義し、そのなかでViewのインスタンス渡して別スレッドで定期実行するのはどうよ。
Handler使って当該Viewを散々いじくったあげく、最後にリスト内の実体側を棄てる。
>>842 C はOS記述用言語なんだから、OSから作れば、なんでも出来るんじゃない?
デバイスがスリープして ConnectivityManager#getActiveNetworkInfo()が null返すようになったら再び接続するにはどうやるの?
初心者がndkなんか調べんな
onReceiveからreturnしたらすぐにまた寝る可能性がある サービス起動自体が非同期だからそのサービスが起動し切る前に寝る可能性もある そうならないように自分でWakeLockを維持しておきなさい と書いてある
>>841 場合によりけりだと思うけど、
Android標準のアプリは選択時に設定
>>848 Android初心者がプログラミング初心者とは限らない
>>852 スレタイ読め
てめえは日本語初心者かよ
>>849 PendingIntent の受け取り先が onReceive 以外だとそもそも起きないこともある
Service とかを起こしたいなら一旦 BroadcastReceiver を挟んで WakeLock 掴んでからね
>>853 Androidプログラミングの初心者スレでしょうか。
もしかして、Androidでプログラミング(初心者向け)スレってことだったの?
他の言語や環境でのプログラミング玄人なら、ドキュメントもサンプルも豊富にあるandroid環境なら初心者が躓きそうな部分は粗方回避出来る
858 :
デフォルトの名無しさん :2010/11/12(金) 07:46:39
androidというより、SDの使い方なんですが、、 GPSロガーを作りました 最初は、GPS受信のタイミング(1秒間隔)でSDへ保存してました それはSDの耐久性的な意味でどうかな?と思い、 開始ボタンで、GPSログ(Location)をArrayListへaddし、 終了ボタンで、蓄積されたログを一気に出力しました 1時間30分ぐらい記録したあと、保存したら、IS01で15分ぐらいかかりました どうなの? 1分間隔ぐらいで手動バッファーするとか、 それとも気にせずに1秒1秒・・ってまいど書き込むか・・
>>858 前回記録時からの移動距離が閾値以下なら記録しないとかして、データ量を減らすことを考えるべき
緯度経度だけ保存すりゃ文字列で保存しても200k超えないと思うんだが、ハード壊れてんじゃね?
何故、文字列で保存するの? バイナリでよかろ。
書き込み時にバッファリングしてくれるストリーム使ってる? 書き換え行わないんだったら、1秒ごとに書き込んでも、まとめて書き込んでも、 SDの耐久的には変わらないと思うけど…
>>853 どうやら日本語不自由なのは君のほうみたいね
数時間単位とかで動かすなら ArrayList より SQLite に流し込んだ方がいいんじゃないかと 突然死にも強いし
>>853 お前単に初心者罵倒したいだけのキモイ奴か?頼むから違うスレに粘着しててくれ。
そもそも数時間って容量的に大丈夫なのかと。 カメラの動画取り込みアプリなんかは容赦なくがんがん書き込んでるだろうからきにし手元は思う。 ファイルシステム的には512byte単位で書き出してあげると優しい?というかバッファドで描けばその辺良きに計らってくれてそうだが。
アプリの名称ですが、改行付きではダメでした。 マーケットへの登録時に -- アプリケーションのアイコンが無効です。48x48 の PNG を使用してください。 -- とかいうイミフなエラーが出て時間がかかりました・・
ActivityにAlertBuilderでTimePickerを表示して、 OKを押したらActivityも消去したいのですが、 どのようにfinish()を実行すればいいのでしょうか?
普通にfinish()を実行すればいいです
>>870 AlertDialog.Builder.show()の後でfinish()を呼ぶと
そのまま終了してしまい、どうすればいいか困っています。
builder.setPositiveButton("OK", new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialog, int which) { finish(); }})
>>872 onClick()の中で普通に呼べばよかったんですね…。
ありがとうございました。
875 :
842 :2010/11/12(金) 19:36:24
>>844 やはりそうですか。
きっぱり言い切っていただいて有難う御座います。
わずかに残ったndkへの未練も無事に断ち切れました。
>>845 興味深い試みですね。 ちょっと調べてみようと思ったんですが、
gitorious のサイトの使い方が分からなくてソースがダウンロードできませんでした・・・
でも、これを使ってもやっぱり音は鳴らせないんじゃないかなぁと思います。
(最初はQuickTimeのポーティングプロジェクトかと思いました)
>>846 それはそうなんですけど、
それはもはやAndoroidアプリではないのでは・・・
ご返答頂いた方々、有難う御座いました。
>846は明らかに初心者だろw
よし。ボタンの見た目が気に入らないからOSから作っちゃうか!
そうだね。そうすればいいと思うよ
>>798 乗せられるし、HttpClient使っても可。
>>880 ちょっと!うちのゆうすけをいじめるのやめてくれる?
どーてもいい
ふと思ったがゆうすけって名前は本当にバカが多いな
Thread作って走らせてるとbackキー押してもthread終わるまで Activity終了できないんだけど、backキー押したら強制的に終了させるにはどうしたらいいですか?
ActivityのonPauseが呼ばれたらスレッドが終わるようにする
889 :
デフォルトの名無しさん :2010/11/13(土) 22:40:57
開発する場合、文字コードはUTF-8がいいんですか?
むしろUTF-8以外ありえん
複数行の文字列TextViewに表示するときに、横幅ぎりぎりに表示させたいのに、 まだ表示領域があるのに勝手に改行位置が入る(ワードラップされる)のをどうに かしたいのですが、どのようにすればよいのでしょうか? --こうしたい-- abc def g hi jkl mno pqr stu ----------- -こうなっちゃう- abc def ghi jkl mno pqr stu -----------
すごく初歩的な質問で申し訳ないのですが、 ぐぐっても解決できないため、質問させて頂きます。 プリミティブ型のデータを可変長配列で 使いたいのですが、 ArrayList<integer> List = new ArrayList<integer>(); こんな感じでラップするやり方が普通なのでしょうか。 もっとスマートなやり方が他にあるようでしたら 教えて頂きたく、よろしくお願いいたします。
894 :
デフォルトの名無しさん :2010/11/14(日) 20:58:58
動けば正義
895 :
デフォルトの名無しさん :2010/11/14(日) 21:02:18
smaliっていうファイルをJavaにする方法知ってる神いますか?
>>893 どうしてもパフォーマンスが気になって
Collections Frameworkとの互換性切り捨てられるなら
Apache Commons使うとか。
>>896 レスありがとうございます。
パフォーマンスが気になるわけではないのですが、
>>893 のやり方だと、ラップすることに意味がないんで、
もっと綺麗な方法があるのかな、と思って質問してみました。
ボタンを押下した時 現在の画面の下半分にだけ追加で画面を表示したいのですが可能でしょうか?
トップ画面のように横フリックで画面の切り替えを行うアプリを作りたいのですが、何か参考になるサイトとかないでしょうか?
>>900 viewflipper でぐぐってみたら?
>>901 ありがとうございます
本にも載ってないしだいぶ困ってました
903 :
デフォルトの名無しさん :2010/11/15(月) 01:11:51
本には載ってるだろ。。。
どうせアンドロイドアプリでは儲からないと思ってたけど、今見たら5000円分くらいたまってた 元だけでも取れて良かった
ひとついくら?
AlertDialogのメッセージのフォントサイズは変更出来ないのでしょうか? TextViewでフォントを変更してsetViewをしても反映されないようです。
>>907 物によってはそんないくのかー
頑張ってみるかな
911 :
909 :2010/11/15(月) 14:54:21
TextView#setTextを忘れていただけでした。
携帯の料金支払う時に払えるなら、100円くらいだと買おうかなって思うよね
ListViewって行ごとに違うレイアウトを使うことってできますか?
>>913 カード払いでも手続きは最初だけで、後は支払いを意識せずにバンバン買ってる
画面上の一部のViewのみを入れ替える場合ってどうすれば良いですか?
スクリーンショット取られるのを防ぎたいんだけど、 できないよね? APIでイベントは拾えないみたいだけど・・・ 画像データを表示させるときに盗用を防ぎたいんだよね・・・
公開しなきゃいんじゃね?
>>916 VisiblityをVISIBLEにしたり、GONEにしたりとか
デバッガでハードコピー取れんだから防ぎようねぇだろjk
これはうざい
>>917 端末の前にカメラが置かれたら電源が切れる仕組みとかできるの?
ひねくれた回答見てると性格の悪さがよく分かる。
usbがつながっていることを検知できたら、 接続中は画像表示しないとかできると思ったんだけど、むり?
本気になったら画像データぶっこ抜きなんていくらでもやりようあるし、初心者なら諦めろ
初心者ってどのへんまで?
>>917 画面出さなきゃいいんじゃない?
ユーザへは全て音で通知する。
あと、常に画面を小刻みに揺らせて置いて、人間の目には問題なけど
カメラで撮ると必ずぶれるとか、どうだろう。
今思いついたけど、これ、特許取れそうだなw
>>931 マーケットで一番多いアクティブインストールのアプリが5万以下まで
アクティブインストールってなに?
マーケットからインストールしてそのまま入れ続けてる状態のこと つまりすぐダメダメなアプリだとすぐアンインストールされてみるみる下がっていく
なるほどねー 俺はアンインストールの方法がわからんのだわ まだ空きはあるからな
初心者です。 AndroidManifest.xmlにandroid:sharedUserIdの記述を加えると、 実行時のユーザーIDが変わってしまいますでしょうか? バージョンアップの際、android:sharedUserIdの記述を追加しようと考えているのですが。 現在利用中のユーザーの方々にご迷惑をお掛けしたくないので。
mp3データを MediaPlayer でcreateしておき、再生タイミングで再生すると、0.3秒〜0.5秒くらい 遅れて再生されてしまうのですがこれはどうしようもないことなのでしょうか?
>>937 sharedUserIDを追加した場合ではないけど、
コピープロテクションを途中でオンにした場合、
ユーザIDが変わってしまったことによって、
以前保存しておいたPreferenceなんかが読み込めなくなるって話は聞いた事がある。
使ってくれてる人はいるのにコメントが0件か…。
TimePickerの使わせ方について相談。 普通は00:00〜23:59というとその日だけという意味になるけど、 00:00〜A〜現在時刻〜B〜23:59の2通りに分けて、 Aなら次の日、Bなら今日というのは分かりづらいかな?
質問なのですが、 エミュレータと実機でOpenGLの動作の違いってあるのでしょうか。 現在エミュレータで動かすと、 透視投影したときにテクスチャの表示がおかしくなったり、 深度テストが正しく行われなかったりします。
>>944 ご返答ありがとうございます。
現状では、手元の環境と利用者の声を参考にするしかないんですかね・・・。
何かの機能を使用する前に、その機能が動かせるかプログラムで判定して、 ダメなら代替処理を動かすなどする。 DirectXなどでも普通のやり方だと思う。
>>932 それおもろいですねw
画像は暗号化、表示時のみ復号化
ENABLE_ADB を拾って、有効だったら画像表示を注視
キーイベントを拾ったら、画像表示を中止
これで画面をカメラでパチリ以外は防げそうな感じですが、
いかがでしょうか?
>>943 ですね。DatePicker使うようにします。
スクリーンショット対策に必死なのが沸いてるがエロ業者?
androidでJDBCでのサーバー間接続って難しいですか? サーバーにあるDBからデータ取得みたいなことしようと思ったけど そもそも厳しいんでしょうか(もしくは他に手法があるとか)
DatePickerの月の所だけ"○月"と表示されているのですが、 この"月"を非表示にする事は可能ですか?
>>950 サーバ側でPHP動かして、httpでデータを取得するのはやった事があります。
>>950 APサーバーがDBサーバーと接続してるのならJDBCはいらないのでは
そもそもandroid向けのJDBCってあるのか
>>950 http通信はすっかり頭から抜けてました。
アプリ自体からDBへのアクセスではなく、
一度httpにてサーバ側へ通信して返すってことですね。
>>952 結構探したんですがandroid向けのJDBCがそもそもないという感がしてきてます。
SQLiteがあるってことはそもそも自身から外部のDBサーバーへの直接のアクセスは
あまり推奨というか考えてはられないですかね。
データ欲しかったらhttp通信なりなんなりでそっちでやれよとという感じでしょうか。
955 :
954 :2010/11/16(火) 18:37:04
安価ミスです。失礼しましたm(_ _)m 950 → 952 952 → 953
Root云々を覗いても、SS撮れるのはADB繋がってるときだけじゃないし、 あれこれ考えるのは無駄だと思うぞ
>>956 Serviceで動かして定期的に取得とかもでできるから、
確かに実際完全に防ぐのは不可能だとは思う。
SDK使ってSSが限界って感じの情弱をはじければいいと思ってる。
ちなみに使おうと思ってるのは、子供の写真を自慢しあうアプリ。
子供の画像を自慢しあってる時に、adb繋げられてSS撮られるってシチュエーションが理解できん そもそも子供の写真はどこに保存してあるの?
>>958 養護施設みたいなので死ってかいた写真ばら撒きみたいなのあったじゃん。
あれ見て、意図的に悪意の流出する人いるんだなって思ったんだよ。
写真は他人に見せるやつはサーバ上に保存して、
それ以外は端末。
みたいな感じでやりたいと思ったんだよね。
961 :
デフォルトの名無しさん :2010/11/17(水) 00:31:19
マルチになってしまってすいません。こっちの方が合ってると後で気付きました。 で、質問! Viewクラスを継承してcanvasで描画処理をしているところに、元々用意されているウィジェットを呼び出す事は可能でしょうか?
Xperiaの画面サイズでsurfaceviewを表示するactivityを 何個か作成いたしましたらば、activity遷移の後、画面表示が終わってから 数秒後に頭のactivityに遷移するという謎現象が発生いたしました。 ログを見てみると、メモリがどうたらこうたらと出ています。surfaceviewに起因するエラーの様です。 480*800の画面ではこの現象は発生しません。ということは、 純粋にメモリ不足であり、surfaceviewをやたらめったらと使うなということでしょうか。 画面の基礎クラスに……とか、愚かですか……?
>結構探したんですがandroid向けのJDBCがそもそもないという感がしてきてます。 >SQLiteがあるってことはそもそも自身から外部のDBサーバーへの直接のアクセスは >あまり推奨というか考えてはられないですかね。 救いようのないアホだな
>>963 どうアホなのか説明してやれよ。説明できないのか?
説明してやる義理はないと思うよ。 ふつーにアホだろ。
>>964 JDBCドライバが無いのはAndroidが云々じゃなくて、
データベースソフト作ってる側がAndroid用のドライバを用意してない、ってことじゃないの?
ファイヤウォールの外部から直接DBにアクセスできるようにしちゃったら、apkを解析されてDBの中身が全部ダダ漏れになりかねないっすよ…
Viewから拡張して作った自前ViewにsetOnTouchListenerしたら ACTION_DOWNしか来ないのが何故か悩んだけど setClickable(true)にしとかないといけないんだな
データベース管理アプリを作りたいってことではないのか…
結局、Android用とか気にせず、 普通のJDBCをそのまま使えると言うことですか
ググレカス 俺の乏しい知識だと出来なかったきがするが
DBにアクセス出来るWebAPIを鯖側でJDBC使って作る
メインスレッドにsleepを入れずに全力で回してる時に画面回転するとupdateResoucesが フリーズしてると判断して落ちてしまう様で、sleepを入れても20ms以下ではダメ、 25ms以上で安定の様な感じだったんですけど、これを避ける為の、何かメッセージ処理を 呼ぶ様なAPIはあるのでしょうか。
消費電力を抑えるための関数がなんかあったな
#以前、どこかで使ったGrokが良い感じだったので #ちょっとやってみたかったのです(´・ω・)
DatePicker/TimePickerで数字部分を押下すると キーボードで編集可能となっていますが、これを無効する事は 可能ですか?
今まで160dpiの環境で書いてた物を、240dpiで実行したら、pxだと思ってた物がspばかりで酷い事になった。 それでも解像度が落ちるだけで見た目上は問題無く動く所が凄い。 まずsurfaceChangedのwidth、heightからspなんだな。
android:anyDensity とかじゃないか
>>979 1.5をターゲットにしてるせいだと思うんですけど、エラーになるんですよね。
1.6にしてもmin 3を記述しておけば1.5でも動くんですかね?
1.6に変更したらエラー出ずに通って1.5でも動きました。 有り難う御座いました。 内部変換スケールにmetrics.scaledDensityのスクリーンスケールも加わってもうわけが解らなくなる所でした。
さっきはじめてみたとこの初心者ですが、 単一Activityにボタン貼り付けるだけのサンプルで init()をonCreate()で呼んでます。 private void init(){ Button button = new Button(this); this.button.setText("テスト"); button.setOnClickListener(this); setContentView(button); } だと実行できるけど、buttonをインスタンス属性にすると 実行時に"[アプリ名] unexpectedlly stopped"と出て実行できなくて困ってる。 と書き込もうとしたら、自己解決した。 宣言時に初期化しなけりゃいいっぽい。 本当にありがとうございました。
HOMEキー長押しの挙動(タスクマネージャ出現)を無効にすることってできますか? LockBotとかいうアプリがそういうことをやってて どうやってるのか気になってます 擬似的な挙動でもいいので何か方法があったらお願いします
そういう迷惑な機能を取り入れてくれるな。
>>983 出来ない。
Homeキー長押し時の処理はフレームワーク内で行っていて、変更できない。
機能を振り分けれるカスタムROMもあるみたいだけど…
LockBotはLock画面だから出来てるように見えるのでは?
Lock画面でHomeキー長押ししたところで、タスクマネージャは出てこないよね
>>974 sleep以外の処理でどれだけかかっているかの方が重要だと思うけど…
メインスレッド以外で処理すべきだろうけど
>>985 Lock画面って今のAPI使って作成できるんですか??
なんかそれも出来ないと聞いたので。
Lock画面が作成できないから擬似的にロック用Activityを起動してると
思ってました。
用途としてLock画面を変更したものを作りたかったのでLock画面を直接作れたら
一番楽なんですが。
>>987 マーケットにロック画面を変更するアプリがどれだけあると思ってるんだ
Intentのコンストラクタについて教えてください。 ネット上のサンプルを見ていると Intent intent = new Intent(MainActivity.this, SubActivity.class); こんな感じでIntentを作成しています。 これを素直に解釈すると MainActivity.thisは自分のクラスのオブジェクト SubActivity.classは遷移先のクラス ということだと思ったのですが、 第一引数を「パッケージ名の指定」と記述している情報も見かけます。 APIを参照すると、 public Intent (Context packageContext, Class<?> cls) 確かにこのように書かれています。 このコンストラクタの引数の実際の意味はどういうものなのでしょうか?
>>989 Activityクラスのリファレンスの一番上にクラス階層が書いてあるでしょ?
>961頼みます!
992 :
989 :2010/11/18(木) 15:17:25
>>990 ありがとうございます。
先祖にandroid.content.Contextというクラスがありますね。
第一引数の意味は、自分クラスを指定する、という認識でいいのでしょうか?
>>992 自分自身のインスタンスを渡すのが正しいかな。
994 :
デフォルトの名無しさん :2010/11/18(木) 21:21:34
995 :
デフォルトの名無しさん :2010/11/18(木) 21:32:00
あー、情報弱者ってまだ居るのねえw
>>993 activity自身じゃなくて、application context を渡す習慣つけたほうがいいと思うな
この場合はどっちでも違いはないだろうけど
998 :
デフォルトの名無しさん :2010/11/18(木) 22:47:20
999
1000 :
デフォルトの名無しさん :2010/11/19(金) 00:37:11
1000ならドロイド君と結婚する
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。