Androidプログラミング初心者質問スレ Part4
プログラミングに興味を持って勉強しようと思うのですがAndroidアプリを 作ろうとしたらjava言語を勉強したらいいってことですよね?
javaはオワコン
いや、まずはコボルを学ぶのが良いぜ。 コボルの鬼になれば、CだろうがJavaだろうがasmだろうが余裕だべ。
アセンブリ言語だろ、Z80辺りがオススメ
なぜ、canvasはインスタンス化せずに使えるのでしょうか??
いや、Canvasもインスタンス化するよ? 誰かがインスタンス化してくれたCanvasをありがたく受け取って使ってるだけでは?
>>560 そんなうまい話に僕はだまされませんよ!
他のパッケージでインスタンス化されてるってことですかね?? サンプル作ってるとき、自分ではインスタンス化を行っていないcanvas というものでメソッド呼び出したのだが・・・
あなたは継承元のViewクラスに感謝するべきです ViewさんViewさん、いつもわたしのためにCanvasをインスタンス化してくれてありがとう、と
564 :
563 :2010/12/14(火) 14:33:16
ごめんなさい適当なことを言いました Androidのソース調べたら実際にCanvasをインスタンス化してるのはSurfaceみたいでした
565 :
553 :2010/12/14(火) 19:44:40
>>556 はい、了解ですw
とりあえずjava勉強します。
初めて有料アプリが売れたんですが、 グーグルチェックアウトで未出荷から出荷にしないと 買った方にインストールされていないんですか?
>>565 プログラミングの勉強ならまずC#の方が挫け難くていいと思うがな
簡単に動くアプリが作れるのはモチベーションに繋がる
javaとそんな違いはないからandroidアプリを作ろうとした時そんな難しく感じない
C#てAndroidに使えんのかよバーカ!
/ ̄ ̄ ヽ, / ', .l {0} /¨`ヽ}0}, .l ヽ._.ノ ', リ `ー'′/ ̄/ ̄/ ( 二二つ / と) | / / / |  ̄ ̄| ̄ \ U / \ U / / ̄ ̄ ヽ, / ', / _/\/\/\/|_ \ ノ//, {0} /¨`ヽ {0} ,ミヽ / \ / \ / く l ヽ._.ノ ', ゝ \ < バーカ! > / /⌒ リ `ー'′ ' ⌒\ \ / \ (  ̄ ̄⌒ ⌒ ̄ _)  ̄|/\/\/\/ ̄ ` ̄ ̄`ヽ /´ ̄ | |
純粋にJavaを勉強すれば? 自ずとC(C++)にも手を出す事になるだろうし。
572 :
553 :2010/12/15(水) 01:20:13
>>567 アドバイスありがとうございます。
でもjavaを勉強すると決めたので一度こっちをしてみたいと思います。
スレッドのスタートと終了時にアラートを表示させたいのですが,スレッド終了が取得できません. 何か方法は無いでしょうか?プログラムの一部を記載します. testActivity.java public void onStart() { super.onStart(); progressDialog = new ProgressDialog(this); 〜略〜 progressDialog.show(); testClass testclass = new testClass(); Thread thread = new Thread(testclass); thread.start(); alert("Start", "処理開始"); } public void alert(String title, String message) { final AlertDialog.Builder alert = new AlertDialog.Builder(this); 〜略(タイトル,本文,ボタン設定)〜 alert.show(); } testClass.java public void run() { while(i < 10) { i++; Thread.sleep(1000); // try catch略 } }
>>573 thread.join()じゃだめなの?
>>573 です.
解決しました.
testActivityで生成したハンドラをコンストラクタでtestClassへ送り,testClassでhandler.sendEmptyMessage(0);とすることで,
スレッド終了時にtestActivityにイベントを投げることができました.
>>574 thread.join()だと,プログレスダイアログが画面に表示されないままスレッドの処理終了を待ってしまうので,ダメでした.
576 :
デフォルトの名無しさん :2010/12/15(水) 13:01:13
オプションメニュー押されたときに表示テキスト変えようと思って ↓な感じでMunuItem取得しようとしたんだが nullが返ってきて、各メニューを変更できません 引数で付いてくるitemは操作できるのに、、、 動的にオプションメニューの表示変える方法を誰か教えて! public boolean onOptionsItemSelected(MenuItem item) { MenuItem menu = (MenuItem)findViewById(R.id.menu01); }
onPrepareOptionsMenuでmenu.findItemしたのを保存しておいて それに対して操作すれば? そこでfindViewByIdしたって探す対象はsetContentView()したViewの子だけでしょ
てかonOptionsItemSelectedではフラグだけ操作しといて onPrepareOptionsMenuでやるべきじゃないかな
eclipseで、Androidライブラリを参照しているプロジェクトを antでビルドしたい場合ってどうすればいいの?
580 :
デフォルトの名無しさん :2010/12/15(水) 14:14:18
C#は、ちゃんとロジックとUI分離しておけば、 AndroidとiOSの両方に使えるからいいかもね。
初心者にんなもん真顔で勧めるなアホ
どこが初心者だよ orz
ミジンコ用スレはどこでしょうか?
一社しか提供してないアイフォンで使えてもねえ。 ドコモと逢うの選択肢が有れば充分。
一社にしか対応しなくて済むのは開発としては助かるんだよな
虫ゴキ人?
開発環境を構築するだけで挫折しそうだ いろいろと面倒くさすぎる・・・
>>589 そうか?eclipseは解凍するだけだし、pleiades入れても手間無いし。
sdkもぷりっと展開して、eclipseの更新マネージャにURLいれてポチポチするだけだろ。
>>590 ほぼ出来たんだけど、Available Packages のところのインストールが凄げー長い
明日も仕事だし、もう寝ないといけないのに
仕方ない、放置プレイで寝るか
既出の質問だったらすんません ListViewにImageButton(クリック時に画像が切り替わる)を乗せてるんですが、 ListView自体をクリックしてもImageButtonの画像が切り替わってしまいます。 ImageButtonをクリックときのみ画像が切り替わるようにしたいのですが、どうすればいいのでしょうか。
>>592 とりあえずお前がなんのイベントを使ったくらい書けよカス!
drawingstateを親から継承するとかなんとかいうプロパティがあったはず あとはListViewにも項目をクリックできるとかできないとかいうプロパティがあったはず
Androidで作ったアプリを公開するにはAndroidMarketを使うのが普通ですが、 自分のサイトにあげてインストールすることは出来ないのでしょうか? 自分であげたのをそのままダウンロードしようとするとエラーになってしまいました。
出来るよ サイン付けてないんじゃないの?
自分は芸能人でもなんでもないのでサインはお断りです。
名無しだもんね
礼には及ばん
601 :
592 :2010/12/17(金) 04:14:12
>>593 イベントは、ListViewがonItemClickListener、
ImageButtonがxmlファイルのonClickで処理していました。
>>594 親から継承するか決めるプロパティですか。
duplicateParentStateとかいうのがそれなのかと思って試していたのですが、
うまくいきませんでした。もう少し探してみます。
titaniumでandroidアプリを作成された方いらっしゃいませんかね デフォルトプロジェクトのアプリをLaunchしても、androidエミュレータが立ち上がるだけで、アプリが表示されないんですよね
>>601 "ListView CheckBox"でググると何かみつかるかも?
>>603 エミュ起動後、ロック状態なのを解除してる?
>>605 menu押してロック解除するやつですかね?
それならやってます
でも、titanium経由でなく、直接エミュレータが立ち上がるのと全く同じ状態になるんですよね
エミュ遅すぎる('A`) 起動に10〜20分かかる上に固まるわ反応しないわ…もうだめぽ
PCスペックを上げる作業からはじめろ
Core2Duo P9400 2.4GHzでメモリ4Gなんだがやっぱり足りてないのか バイトでAndroidアプリ作るのだが、自分のPCで開発しないといけないんだ 買い換える金ないしオワタ…
自分のPC使えるとか恵まれてるじゃねぇか この機会にハイスペックなデスクトップPC買えよ 今の時代2コアじゃきついだろ
そうだなぁ、そろそろSandy Bridge出るし買いに行くわ dクス
>>609 これ以下で開発してる
あの遅さがデフォだと思ってたがやはり遅いのか
開発用PCでコア数増えてもたいして嬉しくない。
大分うれしいだろ サクサク開発できて
コアを有効に使ってくれているならね。
eclipse2コアと4コアじゃ全然違ったぞ まあアーキテクチャも若干違うってのもあるだろうけど
win7-64だろ常考
バイトで自前pcとかどんだけ条件悪いのw ちゃんと探せば正社員で開発機材用意してくれる所有るでしょ。
糞スペックPCでやらされるよりましだろ ドMならいいのかもしれないけど
自給いくらなのに数万のpc飼って儲け有るの?
コンパイラもエミュレータもマルチコア対応してないけどな
対応して無くても8コアだと快適なのは,開発以外の余計な処理を他のコアがやってくれてるからだと信じてる!
すんません、android勉強したいんですけど 書籍のオススメってありますか? 超初心者〜中級者まで使える感じで1万円以内で複数冊欲しいです とりあえずamazonで3150円のアプリケーション開発入門ての1冊だけ買いました
オライリーのandroid hacksでandroidの基礎的な知識身につけたわ Javaはネットで勉強した
>>624 ゼロからやるなら今日提供開始のapp inventorを極めてみてほしい。
>>625 サンクスっす。hacksっての尼じゃ納期遅れるみたいだから
近所の書店に行ってみるね。無かったら7books
>>626 やってみる。タイムリーで嬉しいw
CやJavaとかはそれなりにわかって色々アプリ作ってるけどandroidは未知です
>>624 ちょうど同じ質問をしようとしてたわ。
勉強がんばりましょ。
629 :
592 :2010/12/17(金) 23:58:26
質問の内容が何とか解決できました。 質問に答えてくれた方ありがとうございました。
日本語の本は5冊くらい読んだけどまったく意味なかった 結局ネットとサンプルのいつも通りの組み合わせ
娘の手の技術は日本語書籍が出る頃には陳腐してるからな。
yqlいいね
誤爆
app inventor使いたいのにJava Web Startがバグってて動かん Could not launch JNLP file.じゃねぇよ動け、動け、動いてよ!!
app inventor使ってみたけどさ、細かいロジックは書けないのね
うほほ、app inventorのエミュレータ速いな 前の吐きそうなくらい遅いやつとは雲泥の差だ
まあ、なにをエミュレートしてるかによる違いだがな
前のは、このPCでは何もしてなくてもまともに動かなかったんだ だから、普通に起動して普通に操作できるだけでなんか感動したよ。 これでひょっとしたら買い換えなくて済むかもしれん
俺あのレイアウトエディタもう信用してない エディタ上と実際動かしたときとデザイン違ったりすることもあるし役に立たない
テキストだとwrap_contentでタッチでスクロールできるようになりますよね 画像で同じようなものってないんでしょうか? 画像はこみいった処理を書かないとだめなのかな?
アンドロイドでバーコードのapiとかはないのでしょうか?
644 :
デフォルトの名無しさん :2010/12/18(土) 19:38:07
買い替えは来年1月9日以降に持ち越すのがいいと思う。 旧型がはけてこなれてくるのは3月くらいかな。大学入学需要の34月 をこえると安くなると見た・・・
タブを実装したいのだが,その辺のブログのソースコード丸写ししても起動直後に落ちてしまう. というか,XMLソースでレイアウト画面を開いただけで,ぬるぽがでるんだけど,何が原因か分かります? 下のコンソールに残ってたトレース上から数行 java.lang.NullPointerException at android.widget.TabWidget.initTabWidget(TabWidget.java:104) at android.widget.TabWidget.<init>(TabWidget.java:69) at android.widget.TabWidget.<init>(TabWidget.java:64) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at android.view.LayoutInflater.createView(LayoutInflater.java:500) at android.view.BridgeInflater.onCreateView(BridgeInflater.java:77) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:563)
ああ,起動しなかった原因は丸写ししたせいでマニフェストのActivity名を書き直し忘れただけだった. 俺まじあふぉす. サンプルプログラム,無事実機では動きました. でも,Eclipseのレイアウト画面では以前として上記エラーがでます. これで正常…なわけないよね…?
647 :
442 :2010/12/19(日) 03:06:14
亀すぎてごめんなさい。
最近忙しくてパソコン触れませんでした。
それと質問内容は
DrawGraphActivity.javaでsetContentView(R.layout.drawgraph)とやって
レイアウトファイル(drawgraph.xml)を読み込み図形描写(DrawGraphView.java)をしようとしてます。
>>449 やってみました。
−drawgraph.xml−
<FrameLayout xmlns:android="
http://schemas.android.com/apk/res/android "
android:layout_width="fill_parent" android:layout_height="fill_parent">
<view class="com.tak.android.sqlitetest.DrawGraphView"
android:layout_width="wrap_content" android:layout_height="wrap_content" />
</FrameLayout>
表示するDrawGraphActivity.javaのonCreate()内で
setContentView(R.layout.drawgraph);
としてみて実行すると強制終了されます。
ログを見ると「android.view.InflateException」とやらのエラーが出てます。
参考書見ながら作ってるのでこのような簡単な図形描写のプログラムを
レイアウトファイルに設定する方法はあってるはずなんですがエラーが意味不明すぎて詰みました。
ちなみにDrawGraphActivity内で
DrawGraphView drawGraphView = new DrawGraphView( this );
setContentView(drawGraphView);
とすると動作確認できます。
>>647 view class=xxxx という書き方はみたことないな。例外スタックにリフレクションでviewを作れない的なエラーが出ていれば、xmlの書き方の作法に間違いがあるはず。
タグの書き出しを完全クラス名にしてしまうのは試した?
あと、もしかしたらsdkやプラグインによる影響もあるかも。
DrawGraphViewのコンストラクタが足りないとか
>>648 記法はそっちでもいい
>>647 wrap_content を指定してるみたいだけど
レイアウト関係のメソッドをオーバーライドしてないとかじゃないの?
fill_parent や固定値にしても駄目?
質問です。activityの画面遷移でIntent使って List<hogeMyClass> listHogeMyData = new ArrayList<hogeMyClass>() みたいなリストデータを受け渡したいんだけど、どうやったらできますか? Intentに色んなputExtraメソッドがあるけど、自作クラスのリスト用の メソッドは見つからないです
>>652 Intentで渡せるのはParcelableもしくはSerializableなものだけなので、ArrayListは無理
別の方法を検討すべし
654 :
652 :2010/12/19(日) 14:01:15
ArrayListはSerializableだぞ その中のhogeMyClassがParcelableかSerializableじゃなければ結局は無理だけど
最終手段はApplicationに突っ込めば
やったことないけどそのクラスでParcelable実装すれば 配列で渡せるんじゃないの
>>655 おぉできた!
俺も最初はhogeMyClassはSerializable実装してるからいけるだろって思ってやってみたけど
エラーが出たから、ArrayListがSerializable実装してないからって勝手に思いこんでた
でも、
>>652 で書いたみたいにListの変数に持たせたのが悪かったみたい
ArrayList<hogeMyClass> listHogeMyData = new ArrayList<hogeMyClass>();
にしたらできたぜ。他の方法考えるところだった、マジサンクス!
659 :
647 :2010/12/19(日) 17:34:26
>>649 解決しました。
ありがとうございます。
そしてついに本題なんですが
この図形描写をHorizontalScrollViewを使って横にスクロール出来る縦長のグラフを描写したいんですが
出来ません。。
<HorizontalScrollView xmlns:android="
http://schemas.android.com/apk/res/android "
android:layout_width="fill_parent" android:layout_height="fill_parent">
<LinearLayout xmlns:android="
http://schemas.android.com/apk/res/android "
android:layout_width="fill_parent" android:layout_height="fill_parent">
<view class="com.tak.android.sqlitetest.DrawGraphView"
android:layout_width="fill_parent" android:layout_height="wrap_content" />
</LinearLayout>
</HorizontalScrollView>
とするとエラーこそ出ませんが、何も表示されません。
試しに<view class 〜 />の部分をButtonなどで置き換えるときちんとスクロールされてボタンも表示できます。
よろしくお願いします。
660 :
647 :2010/12/19(日) 21:50:08
追記です。 Log.vを使ってどこまで実行されてるか調べたんですが DrawGraphActivityのonCreate()は実行されてたんですが DrawGraphViewのonDraw()は実行されてませんでした。 これがHorizontalScrollViewを全体に囲ったときで 12-19 12:39:43.025: INFO/ActivityManager(58): Starting activity: Intent { cmp=com.tak.android.sqlitetest/.DrawGraphActivity } 12-19 12:39:43.695: VERBOSE/EXAMPLE(857): DrawGraphActivity onCreate was called 12-19 12:39:44.738: INFO/ActivityManager(58): Displayed activity com.tak.android.sqlitetest/.DrawGraphActivity: 1388 ms (total 1388 ms) これが囲まなかったときのです。(描写されてるとき) 12-19 12:41:49.494: INFO/ActivityManager(58): Starting activity: Intent { cmp=com.tak.android.sqlitetest/.DrawGraphActivity } 12-19 12:41:50.435: VERBOSE/EXAMPLE(885): DrawGraphActivity onCreate was called 12-19 12:41:51.055: VERBOSE/EXAMPLE(885): onDraw was called 12-19 12:41:51.665: INFO/ActivityManager(58): Displayed activity com.tak.android.sqlitetest/.DrawGraphActivity: 1656 ms (total 1656 ms) 問題はxmlのレイアウトで描写はされてるけど表示されてないだけだと思ってたんですが なんか、描写されない原因が根本的なところにあるような気がします。。
xmlns:androidは一番外側だけで良い
×描写 ○描画 な 囲まなければ描画されるなら、囲まなければいいんじゃない?
すごくど素人な質問をさせてください。 シングルトンなクラスにgetInstance(context)みたいにContextを渡すような仕様は不味いでしょうか? あちこちから呼ばれるたびにcontextが変わってしまうから不味いのか?と思ったのですが。 毎度getApplicationContext()を渡すべきですか?
メモリリーク考えるとまずい
aouthかな
667 :
デフォルトの名無しさん :2010/12/20(月) 00:14:23
赤外線とかWifiアドホック使って、相互に端末同士で同期を取る通信ってできますか? A端末を操作してある画像を表示したら、B端末も自動的に同じ画像を表示するとか。
>>667 レスついてないから答えられる範囲で
赤外線はシャープのAPIの概要しか知らないけどファイル転送が出来るだけだったはずだから多分無理
WiFiはその前にアドホックで繋がるのかが問題
両方にFTPサーバとクライアント入れてみて片方のファイルを読みに行けるなら同期自体は可能
ただA端末の操作を何もかもB端末に反映させるのはかなり不可能に近いんじゃないかなたいってことならハードルは跳ね上がる
>>668 うお。送信ミスしてしまった。最後の行から書き直し
ただA端末の操作を何もかもB端末に反映させるのはかなり不可能に近いんじゃないかな
双方のアプリを作り込むってことだと思うから
アドホック無理なら使ったことないからわからないけどBluetooth使えば出来そうな気もする
DSの通信対戦的な感じみたいな?
notificationに保持できる上限ってありますか? 定期的にnotificationを発行しているのですが、 数回発行すると前のnotificationが消されてしまいます 消されないようにする方法等はありますか?
質問です。 strutsサーバのActionFormに Androidクライアントから値を2つ渡したいのですが、 良い方法ありませんか? ざっくりした質問ですみません。 色々調べてはみたのですが、ピンと来るのがなかったもので。。。
>>673 ありがとうございます。参考にしてみます。
ググり方がよくなかったんですね。。。
BLOCCOのプラグインを作ろうとしています。 eclipseにBLOCCO SDKをインストール 追加されたボタンを押下 アクションの選択ボタンから対象のAndroidプロジェクトを選択 Package nameを入力 Format Parameterを選択 URL & Introductionを入力 作成ボタンを押下 といった手順で行っているのですが、最後の段階でInput package name
途中で送信してしまった……。 ...続き といった手順で行っているのですが、最後の段階でInput package nameというエラーが出てしまいます。 Package Nameは入力しているのですが、何がいけないのでしょうか?
>>668-670 ありがとうございます。
やっぱり難しいですか。IS01なんですが、2台持つことができたんで、
友人のと合わせて複数台で何かやってみたいと思ったんですが。
BTで制御できるか調べてみます。
想定しているのは、A端末を操作して、B、C端末のコントロールをするという感じです。
たとえばB端末で動画を表示、C端末で音楽再生、A端末を操作して、それら映像と音にリアルタイムにエフェクトをかけるというのを考えていました。
バイトの研修案件で、「Androidの課金できるアプリを何か考えて作れ」で期限1ヶ月 無茶ぶりだよママン(´;ω;`)
ずいぶん漠然とした案件だなw 金をとれるアプリを作れなのか、課金システムを実装したアプリを作れなのか…
一ヶ月で課金アプリか・・・・ 課金するだけなら簡単だけど買ってもらえるアプリにするにはそれなりのアイデアがいるな やっぱエロしかないだろ
>>679 多分アプリ自体は無料で,追加機能とかアイテムが有料みたいな感じだと思う
AndoidどころかJavaも触ったことないし、完全に積んでます\(^o^)/
唯一の救いは、SDKのエミュレータをApp Inventorのに入れ替えたら動作がかなりマシになったことか…
>>680 スカートめくりみたいなのにしたい、って言ったら却下された
俺もエロしかないと思うんだがなぁ…今作れるものなんてたかが知れてるし
クリスマスツリーとかバレンタインチョコを全力で殴り壊すゲームならちょっとはうけるかな
ゴーストトリックみたいにADV形式で、途中まで無料、そこから先は課金することで進めるってのは?
流体シミュレーターはどうだ? どうせJNIで組むことになるからjavaはほとんど触らなくて済むぞww 流体のアルゴリズムは結構転がってるし俺もやってみたいと思ってるんだ。 粘度変えられたり指でグリグリかき混ぜたり端末傾けたり面白そうじゃね? まぁろくなFPSでないだろうけど 二次元のなんちゃってなら・・・・
スカートめくりを提案して、それがエロっぽい?から却下ってことは 当該案件が求めるのは「単体でいいから銭を稼げるアプリを作れ」が正解か てか何のバイトか知らんが、アイデアいろいろ出させて却下>後で製品化とか言うオチなんじゃないの?
すまん、教えて下さい。 自動起動(Windowsでいうスタートアップ)させるには、 どこにリンクを置けば良いの?
おっと奇遇だな。修士で流体やってた俺がきますたよ。
>>687 リンク先は流体というか弾性体だな。
スペック的に3次元は無理だね。
流体のソルバー部分はCやCプラで腐るほど転がってるから、それを改造して、
あとは描画したらいいだけだが、メモリがかなり厳しい悪寒。
ずいぶん漠然とした案件だなw 金をとれるアプリを作れなのか、課金システムを実装したアプリを作れなのか
(´・ω・`)クソスレ立てんなハゲ
critical point
あれこれやりつくしたはずなんですが、わからなかったので質問させてください。 プログラムを実機でデバッグしようとしてもEclipse上で実機を認識しません。 ↓はすでにやっています。 ・USBデバッグを有効 ・AndroidManifest.xml⇒andorid:debuggable=true 調べると「実機をUSB経由でPCに接続すると新しいハードウェアを見つけましたが出るので…」 とよく書いてありますがそんなの出ません。 デバイスマネージャーから繋いだデバイスを探すとandroidとか何もなく"E:\"となっています。 それでもドライバの更新を選び、ソフトウェアの検索したところ、 既に最適な物がインストールされると言われます(WPD FileSystem Volume Driver) これって既に(変な風に)認識しちゃってるんですかね?
>>694 有難うございます。
「USBストレージをOFFにする」ですよね?やってみましたが変化ありません…
androidのドライバを消しても繋げた瞬間に「ハードウェアのインストール完了しました」とか言われます(´;ω;`)
>>696 解決しました。お騒がせして申し訳ありません。
USB大量記憶装置を片っ端から消していったら出来ました。
エミュレータがうまく動かん
アプリがコンスタントに起動してくれないorz みなさんうまくエミュレータが起動してるんですか?
あの糞遅いエムを使ってる奴は間違いなくエム
701 :
デフォルトの名無しさん :2010/12/23(木) 21:10:33
じゃあみなさん実機を使ってるわけですか?
702 :
デフォルトの名無しさん :2010/12/23(木) 22:02:08
エミュレータx5種類起動して+実機2台って環境かな。
704 :
デフォルトの名無しさん :2010/12/23(木) 23:03:05
>703 すまん嘘かいたわ エミュ3種類の実機2台のトータルで5ターゲットだったわ。 エミュも実機もすぐ使える環境って事だよ。 普通だよな?
そもそもメモリ1Gのネットブックで開発することじたい間違ってる?
うぜえなおまえ
ListViewに画像を埋め込み、初期状態はinvisibleに設定。 OnItemLongClickListenerイベント内で画像をvisibleに設定。 その際、件数が少なければ問題ないのですが、 件数が多い場合に選択した行以外の画像もvisibleに設定されてしまいます。 どうすればいいでしょうか?
>>707 どうやって実現してるかわからないけど
見えてる範囲内の行のViewは別っぽいけど少なくともスクロールすると再利用されるよ
709 :
707 :2010/12/23(木) 23:32:39
再利用されてしまうのですか・・・orz ListViewでは実現できないようですね、他の案を考えてみます。 ありがとうございました。
>>709 ListViewで出来るぞ
長押しされた行かどうかを保持できるようにしておいて、
getViewでView返す時、画像の表示非表示を切り替えれば良い
711 :
デフォルトの名無しさん :2010/12/24(金) 00:00:21
みなさん、画面(レイアウト)を作成する際、xmlを使用していますか? それとも、xmlは使用せず、javaソースだけで作成していますか? 私は、先月からAndroidアプリの開発を始め、 これまでxmlを使用してきましたが、 最近になって、javaソースだけで作成した方が良いのでは、と思い始めました。 レイアウトに、同じようなボタンを複数配置する場合、 xmlに1ボタンずつ記述するより、javaソースにfor分で記述した方が良い等の利点がありますし・・・。 玄人のみなさんは、「xmlを使用せずに画面(レイアウト)を作成している」という認識で良いでしょうか?
>>711 そんなゴミ資格持ってたら
くだらないことに時間を使うバカというのが簡単に分かっちゃうゾ!
714 :
デフォルトの名無しさん :2010/12/24(金) 00:05:39
xmlで作成している。ソースで作成すると、どんなレイアウトができるか確認するに エミュレータで動かさないとわからない。その点xmlはエミュレータ起動させなくても確認できるのがいい。
受験料詐欺に献金するだけだな 受験対象者 ●Android™を学習している学生・教師 ●大学、専門学校、教育機関など
716 :
デフォルトの名無しさん :2010/12/24(金) 00:24:42
>711 スレ違いだし。 資格の話は荒れるだけだからやめてくれ。 スレタイすら読めない奴等がやたら気にしてるけどねAndroid技術者試験w
717 :
デフォルトの名無しさん :2010/12/24(金) 00:27:09
Androidに関連してるから問題なくね
surfaceviewクラスからToastを呼ぶことはできますか?
>>711 興味あったから書店でアプリ技術者の問題集見てみたけど、
明らかにエンジニアが取るべき資格じゃない糞資格。
資格商法ってボロいなーって
ていうか学割もっとひいてやれよw
>>712 玄人ならケース毎に柔軟に使い分けできるから、そんなの決めてかかるはほどのものじゃないって認識です。
東京から大阪にお金があるなら、新幹線が速いと最近わかりました。お金持ちの皆さんはどんな時も新幹線をお使いなさっているという認識でよろしいでしょうかって質問
くらいにくだらない質問者してるってことに気づいてほしい。
まあ、ガンバ!
1行目までいいこと言ってると思ったが、 2行目の例えが的外れすぎだからやっぱ取り消しね☆
例えが馬鹿すぎてワロタ 予期せぬクリスマスプレゼントありがとう
質問です。androidアプリ全体の設定情報って一般的に何で管理するの? SharedPreferences使って1つの設定情報ファイル作ろうと思ってるけどおかしいかな? あとSharedPreferencesを使った場合、その設定情報を読み込むタイミングがわからない 1回読み込めば充分なんだけど、onCreateとかに書いたら実機を傾けた時とかを考えると 何度も呼び出されるでしょ。どのタイミングで読み込んだらいいですか?
727 :
563 :2010/12/24(金) 13:16:18
実機を傾けた時に何度も読み込んだら何かまずい? どうしても一度だけがいいなら Activity じゃなく Application の onCreate とかどうでしょう
名前入ったままだった・・・まぁいっか
729 :
726 :2010/12/24(金) 13:29:53
>>727 別にまずい事は何もないよ
ただ一回やれば済む作業を何回もやるってどうかなって思っただけ
ApplicationのonCreateとかあるんだね。ありがとう、調べてやって見る
個人的にはApplicationのonCreateで設定を読み込むのは筋が悪いとおもうな。 Activityが終了してもApplicationが終了するとは限らないから、 onCreateが呼ばれるタイミングは多くの場合予測できない。 まぁ、設定が変更された時にそれを適切に検出して読み込み直せば問題ないけどね。 ただ普通はそういうチェックはActivityの起動のたびにする必要が多いから、Applicationでそれをする必然性はあまりないかと。
あ、Applicationに設定のキャッシュを持たせるのはいいと思うよ。 ただApplication#onCreateで読み込めばそれでいいってことはないということね。
Androidアプリでファイルを作るときに推奨される作法があれば教えてくれい 設定ファイルってどこに置けばいいんだ?SDカード?でもSDカードが必ず有るわけじゃないしなあ
設定ならプリファレンスかsqliteでパッケージの所じゃね?
>>731 ApplicationのonCreateで読み込んでキャッシュして問題無い
後は設定を変更したときに値を反映させれば良い
>>721 SurfaceViewのクラスからgetApplicationも効かないし、getContextだとエラーニなってしまいます。
androidのGUIはandroid用のAPIを使うしか方法がない →通常のjavaコードをそのまま移植するのはそこそこ大変って認識であってる?
737 :
707 :2010/12/24(金) 22:12:09
>>710 Activity側でOnItemLongClickListenerを実装し、プロパティでpositionを保持。
Adapter側のgetViewで画像の表示、非表示を設定するということでしょうか?
Adapter側にOnItemLongClickListenerで保持したpositionはどのように渡すことができるのでしょうか?
738 :
712 :2010/12/24(金) 22:32:41
>>714 >>723 レスありがとうございます。
ケース毎に柔軟に使い分けるように、心がけていきたいと思います。
>>737 positionと画像の表示、非表示が紐付けできれば良い
元々の実装方法がどうなってるか分からないし、どうするのが良いかなんて分からん
listview絡みの質問が多いよな 確かにandroidのlistviewはとっつきにくいかもしれん・・・
741 :
デフォルトの名無しさん :2010/12/25(土) 11:13:41
ListViewもだけどApapterもよくわからんかった
毎回BaseAdapter継承したクラス作ってる
俺は毎回ArrayAdapter継承した自作adapter使ってる adapteruにも色々種類があるみたいだけど使い分けできんw
744 :
デフォルトの名無しさん :2010/12/25(土) 13:38:02
Androidは初心者です。 WindowsXP + Android SDK r8 SDカードに1.8GBのデータを置こうとしています。 エミュレータで mksdcard 2048M sdcard.img ↑は、成功しましたが adb push xxxx.dat /sdcard ↑が、いつまでも終わらずに大してディスクアクセスもしていません、、 理由が分かる方はいらっしゃいませんか、、 よろしくお願いします。
いらっしゃいません
746 :
デフォルトの名無しさん :2010/12/25(土) 17:28:28
iPhoneでいうランキングApiみたいのはないの?
>>740 それだけで世界だもんな、The world of ListView.
WindowsでMFC、C#とやったが、慣れるまで時間がかかりそうだ
すぐ慣れるよ DevGuide読んで1週間もいじってりゃ充分じゃないか
Googleマップのように1.6でも動いてマルチタッチにも対応するアプリを ひとつのapkで作りたいのですがどうすればよいのでしょうか? リフレクションを使うのでしょうか?
status bar に notification で日付を表示させたいのですが、 date status bar のように実現するにはどうしたらよいでしょうか。 Notification を new する際にiconは指定できるけれども、 tickerTextは一瞬しか表示されないため、ずっと表示させる方法が 分かりません。 日付を毎回画像生成させるのは避けたいです。。。
質問です。
http://www.5ive.info/blog/archives/1040 ↑のサイトのコードを実行してみたところ、
<!-- atpages banner tag -->
<script type="text/javascript">
<!--
var _gaq = _gaq || [];
~~~~以下略~~~~
という結果が返ってきます。
サーバには@PAGESを使っています。
なにが悪いのか分からないのでよろしければ教えてください。
広告が自動的に挿入されてるためだと思われ
ListViewについて、質問させてください。 要素数が一定で、スクロールもさせない 画面内に、決まり決まった値のみが入るリストを表示させようと思っています。 そこで、要素のサイズ(高さ)を均等に割り当てたいのですが、 いまいちできません。 android:layout_width="" に「40dp」など数値をべた書きすれば、解決するのですが できればdevice依存をしない(数値を打ち込みたくない)ものにしたいです。 listviewが主ですが、一般にandroidでdevice依存しないlayoutの方法を 教えていただきたいです。 現在、buttonやimageなどのレイアウトは android:layout_weightを使っています。
755 :
デフォルトの名無しさん :2010/12/26(日) 00:40:16
レイアウトファイルを画面サイズ毎に作る。 これ基本ね
ListViewじゃなくていいじゃん LinearLayoutでその決まりきった値を要るだけ並べれば?
解答ありがとうございます。
>>755 ということは、毎回デバイス情報をチェックして
使用するレイアウトファイルを使い分けるという
理解でよろしいでしょうか。
>>756 あ・・・確かにそうです。そうでした。
なぜか、リストに詰め込むことで頭いっぱいになってました。
ありがとうございます。
>>757 >ということは、毎回デバイス情報をチェックして
>使用するレイアウトファイルを使い分けるという
>理解でよろしいでしょうか。
そんなことする必要ない
LinearLayout使ってLayout_weight指定すれば良い
画面サイズごとにレイアウト用意するのはちゃんとしたレイアウトの作り方知らないやつのやりかた
ロック画面をオリジナルのものに変更するアプリっていくつかあるけど あれって もしかして本物のロック画面が発生しないように処理して 画面消えた時に用意したオリジナルのロック画面を手前に表示して擬似的に置き換えたように見せているだけ?
>>761 なんで今この時間にポリンキーなのかだけ教えてくれ
WPA2にWIFI接続しようとしているのですが、できません。 updateNetwork関数を実行時に、-1が返ってきてしまいます。 アドバイス頂けるとうれしいです。よろしくお願いいたします。 WifiConfiguration config = new WifiConfiguration(); wifiManager.setWifiEnabled(true); config.SSID = "\"" + ssid + "\""; config.preSharedKey = "\"" + password + "\""; config.hiddenSSID = true; config.status = WifiConfiguration.Status.ENABLED; config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP); config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP); config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK); config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP); config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP); config.allowedProtocols.set(WifiConfiguration.Protocol.RSN); wifiManager.addNetwork(config); wifiManager.saveConfiguration(); int networkId = wifiManager.updateNetwork(config); Log.d("WifiLog", "add Network returned " + networkId ); boolean result = wifiManager.enableNetwork(config.networkId, true); Log.d("WifiLog", "enableNetwork returned " + result );
デフォのメールアプリのように TaskManagerとかでkillされてても定期的に起動してチェックするような仕組みってどうやるの? 一日に一度だけ起動するようなのを作りたいんだけど
AlarmManager
>>753 >広告が自動的に挿入されてるためだと思われ
回答ありがとうございます!
@PAGESはダメなのか…
どこか別のサーバーを探してみます。
767 :
デフォルトの名無しさん :2010/12/26(日) 09:51:08
>757 レイアウトファイルの仕組みを知らないみたいだね。 デバイスのチェックはいらないよ。 リストビューだけならレイアウト切り替えじゃなくてもいけどね
>>763 パーミッションはもちろん設定済みなんだよね?logに何もヒントなし?
preferenceActivityってなんか不思議w
>>768 パーミッションは設定しています。
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
ログには、Log関数で指定したものしか出ていません。
申し訳ございません。よろしくお願いいたします。
ボタン操作音とダイヤルタップ音はOSでしか制御出来ないのでしょうか?
AlermManagerはrestartPackageでプロセスを停止された時、止まってしまうはず
>>766 responseのhtml-nodeだけ欲しいならXSTLとかで出来んじゃね?
実機でのデバッグを行っているのですが、実行ししばらく時間が経過するとPCの方がフリーズし、何の入力も受け付けなくなります。 USBドライバが悪さしているような気がしますがそれ以外何も分かりません。 どなたか心当たりのある方がいらっしゃれば教えてください。 開発環境: Windows 7 64bit, JDK 6u21, Eclipse Android Plugin 8.0.1, Android SDK revision 8
776 :
デフォルトの名無しさん :2010/12/26(日) 22:15:45
>>774 インストールしてる入れてるソフトそれだけじゃないだろ
適当なソフト沢山いれてるだろ?
どれかが悪さしてるからOSの再インストールをすすめる
定期的に位置情報を取ってデータベースに保存するアプリを作りたいのだけど、 一旦起動した後は別のアプリとか使っても大丈夫なようにバックグラウンドで動作させようと思ってます。 あるActivityでrequestLocationUpdatesをセットすれば、 他のActivityに遷移したり、Homeボタンで画面消したりしても、 位置情報取り続けてonLocationChangedが呼ばれますよね?
>>777 自分で作ったことはないからわからんけど、
そういうのはサービスにすべきなんじゃないのかな
779 :
777 :2010/12/26(日) 23:35:05
>>778 自分もそう考えたのですけど、
requestLocationUpdatesでGPS監視用のスレッドが生成されるはずなので、
さらにサービスまで作るのは無駄なように思いました。
サンプルを見てMapActivityを継承したクラスで地図を画面に描画してみたのですが、 同じ画面に地図以外にもいろいろ同時に表示させる事って可能ですか? インラインフレームのような事ができるのなら一番うれしいんですが
質問です。gpsの処理関連だけメインクラスじゃないとこでやってるんですが獲得した座標をトーストで表示しようとすると第一引数(this)でエラーが出ます。解決方法は無いでしょうか。
エラーを無くせばいいです
>>781 thisじゃなくてContextを渡してください
>>779 想像じゃものごとうまく進まんよ
悪いこと言わんから、Androidのプロセスとライフサイクルについて見直しとくことを薦める
-------- TOP画像(固定) -------- スクロールビュー -------- メニュー画像(固定) -------- というレイアウトを組みたいのですが,一番下のメニュー画像がどうしてもセンタリングしません. 分かる方いらっしゃいましたら,是非教えていただければと思います. XML構成 <?xml version="1.0" encoding="utf-8"?> <LinearLayout fill x2> <LinearLayout h:fill, w:fill> <ImageView h:wrap, w:wrap /> </LinearLayout> <ScrollView h:fill, w:fill android:layout_weight="1" /> <LinearLayout h:wrap, w:fill android:orientation="vertical"> <ImageView h:wrap, w:wrap /> </LinearLayout> </ScrollView> <LinearLayout h:wrap, w:fill android:layout_gravity="center"> <ImageView h:wrap, w:wrap android:layout_gravity="center" /> </LinearLayout> </LinearLayout>
>>785 > --------
> TOP画像(固定)
> --------
> スクロールビュー
> --------
> メニュー画像(固定)
> --------
どうしてもメニュー画像を表示しなきゃいけないんてすか?
メニューボタンじゃだめなんですか?
>>786 あ,いや,まぁ,普通そういう反応されるよねw
正直なところ,メニューでも構わないのですが,頻繁に使うため,できるだけタップ数を少なくしたかったのが本音です.
ただ,今後のためにもセンタリングできない原因的なものが有れば,教えていただけると幸いです.
788 :
デフォルトの名無しさん :2010/12/27(月) 13:56:00
へえ
>>785 <LinearLayout h:wrap, w:fill android:gravity="center">
<ImageView h:wrap, w:wrap android:layout_gravity="center" />
</LinearLayout>
じゃダメ?
>>789 できました!ありがとうございます!
layout_gravityではなく,gravityを指定するべきだったんですね.
Map上に移動した軌跡を表示するために、 GPSで取得した位置を順次DrawLineで繋げているのですが、 表示する位置が増えすぎると動作が重くなります。 どうすればいいでしょうか?
まさか馬鹿正直に全部書こうとしてるわけないよね
画像にしてはっつける
・重複ないしは近時点の省略 ・3点でほぼ直線だった場合の中間点の省略 ・MAPの画面外の線の描画省略、ないしはブロック化
>>759 の手法だと眠らぬ端末になってCPUが24時間フル稼働とかマジブラック
でも鍵を解雇する手段は存在しない
だったら鍵の方をとりあえず働かして disableKeyguard() で即呼び戻す
誰の目にもつかないくらい早く瞬時に呼び戻せれば最高
よく、分からないのですが、UIから独立ってのは、サービスと同じ意味ですか?
Notificationを作ってNotificationManagerに投げると,ステータスバーの左のほうに お知らせを出せますけど,右側のほうにアイコンとか表示するにはどうしたらいいんで しょうか? iWnnの入力モード表示みたいなことをしたいのですが. というかこのステータスバーの右側エリアには何か名前があるんでしょうか? どういう情報を探せばいいのかそもそもよくわからんのです.
>>800 OpenWnnのソースを落としてみたらいいんじゃない?
>>801 そういえばそうですね.
というわけでOpenWnnのソースを見たところ,showStatusIcon()で
表示してるようだったので,真似したところちゃんと出てきました.
ありがとうございます.
ていうかこのメソッド,検索してもほとんど情報が見あたらないですね.
うーむ.
803 :
デフォルトの名無しさん :2010/12/28(火) 18:52:30
ウィジェットをタッチしている間だけウィジェットの周りに ボーダー線を付けたいのですが、どの様に実装すればいいのでしょうか?
804 :
デフォルトの名無しさん :2010/12/28(火) 19:51:45
>>802 おお、そんなんあるのか
参考になりました
>>802 好きなアイコン表示できるわけじゃないし、余り需要がないんじゃないかな
807 :
デフォルトの名無しさん :2010/12/28(火) 20:48:00
再度別の質問です。 ImageViewのウィジェットでタッチすると画像が切り替わるようにしています。 画面を横に回転するとウィジェットが全く反応しなくなってしまいます。 再度新しくウィジェットを作り直せば動くのですが、今度は縦に回転すると 同じ状態になります。どこを見直せばよいのでしょうか?
>>806 え?
res/drawable/にpngで用意したアイコンが普通に表示できましたよ?
810 :
807 :2010/12/28(火) 21:25:46
>>809 回転した時にonUpdateやonEnabledが呼ばれないのですが、
他に別の所でウィジェットの再設定をしないといけないのでしょうか?
thisの意味がいまいち分からないです(;o;) 自分自身を示すということですがいまいちつかめません(;´д`) 誰か教えてください
俺もthisがいまいちわからん サンプルみてもついてるのとついてないのがあるし 例えば hoge = (Textview)this.findViewById(R.id.Hoge); もあれば hage = (Textview)findViewById(R.id.Hage); どう違うの?
this は自分自身なんです。 class MyActivity { ... } の中で this と書けば、それは MyActivity 自身なんです。 class MyView {... } の中で this と書けば、それは MyView 自身なんです。 new OnClickListener(){ ... } の中で this と書けば、それは OnClickListener 自身なんです。
つまりthisは君であり私だ
俺がthisだ
this を引数で渡すってのは、自分に自分を渡すってことですかね?
渡す相手が自分とは限らないだろ もちろん自分に渡すこともあるだろうけれど
それってどういう状況よ 自分に自分を渡さなくても自分は自分を持ってるだろ? とか、書いてて禅問答みたいだ
Androidプロジェクトから別のライブラリを利用しており、そのライブラリでjava.util.MessageBundleを用いてライブラリ内に含まれるプロパティファイルを読み込んでいます。(MessageBundle#getBundle(bundleName))
通常のJavaアプリケーションから呼び出す分には問題ないのですが、Androidアプリケーションから呼び出すとMissingResourceExceptionが発生します。
ちょうどこちらのページで取り上げられている問題です。
http://markmail.org/message/eiivzrdtsbkhyogq どうもResourceBundleのバグらしいのですが、みなさんはこれに対しどのように対応しているのでしょうか?
それは本当に…自分ですか…?
>>818 引数として渡す対象が自分だった場合にthisを渡すのであって、
プログラムの作りによっては違うものを渡しても良いんだぞ
自分自身しか受け付けないようなメソッドだったら引数自体不要だろ
私だ
なんだお前か
× this ○ dis
Activityなしのアプリは作成可能でしょうか それとも、画面なしのアプリでも とにかくActivityから始める必要があるのでしょうか 画面なし、起動したら処理をしてすぐに終了するようなイメージで、 そんなプログラムのサンプルがどこかにあるといいのですが、 なかなか検索しても見つかりません
WiFiのonoffを切りかえてすぐ終了するアプリとかあるから, 作れるのは作れるんじゃない?
その作り方がわからなくて。 OnCreateでSystem.exitを呼ぶと起動ですぐ終了にはなるけど 一瞬画面が開くエフェクトが見えて微妙です
Activityの画面を透過させる方法もあるけどスマートじゃないな。
Androidの話ではなく単にJavaの知識の問題だよと言われるかもしれないけど教えてください。 入門本を追っかけながら勉強してるんですが、その中にパスの描画というのがあって paint.setStyle(Paint.Style.STROKE); paint.setColor(Color.argb(255, 255, 255, 0)); Path path = new Path(); path.moveTo(110+0, 10+0); path.lineTo(110+60, 10+10); path.lineTo(110+20, 10+40); path.lineTo(110+80, 10+50); path.lineTo(110+0, 10+80); canvas.drawPath(path, paint); これで黄色いジグザグ線が描かれるのは理解したんですが、このあと更に paint.setStyle(Paint.Style.STROKE); paint.setColor(Color.argb(255, 0, 255, 0)); path.moveTo(210+0, 10+0); path.lineTo(210+60, 10+10); path.lineTo(210+20, 10+40); path.lineTo(210+80, 10+50); path.lineTo(210+0, 10+80); canvas.drawPath(path, paint); と書き加えて動作を見てみると、最初に描いたはずの黄色い線も全部緑になってしまいます 同じクラスの中で記述をしてるので、上から順番に命令が実行されて、変数?paintとpathはそれぞれ内容が書きかえられて 黄色いジグザグ、少し右にずれて緑のジグザグが描かれると思うのですが、そうならないのはどうしてでしょうか ちなみに新しく Path path2 = new Path(); を宣言して、二回目のところの変数pathにかかわるところをpath2としてやると 正しく描画されることは確認しました
>>829 もうほとんど気づいてると思うけど、path の内容が書き換えられてるのではなく
蓄積されてるからだよ。
一回目のdrawPath の後に、 path.reset(); をやれば黄色い線は上書きされない。
>>830 なるほど理解しました、ありがとうございます
ってことは、1回目のdrawpathはあっても意味ないんだ??
理解してねえ
>>833 上の例では実際には黄色の線も描画はされているけれど、
変数pathはリセットしないかぎり、追加の座標情報を蓄積してるので、
二回目の描画の時に変数paintで指定した色で二本の線を再描画した、
分けて描画したいならpath.reset()を使う、と理解したつもりですが、間違ってますか?
>>825 どうやって起動するのが問題だな。
起動するにはアプリケーションランチャーに登録する必要があると思うけど、
それってmanifest.xmlのactivityのintentFilterに
<category android:name="android.intent.category.LAUNCHER" />
って書かないといけない。
そうなると必然的にActivityが必要になる。
と、ここまでAppWidgetがいいじゃないイカと思った。
ポチっと押して終わりなんて処理も画面無しで出来るから。
いや、起動はブロードキャストでもインテントでもいいだろ 必要なものだけでは構成すればいい
>>836 だから、AppWidgetがそのIntentを発行する部分だよね?
>>837 ホーム置いて起動したいならAppWidgetを使えばいいってだけ
ランチャーから起動したいならActivity。画面が出るのが嫌なら、テーマでNoDisplayすればいい
本体の起動時に処理するならBroadcastReceiverだけでもいいし、ともかく用途に応じて選べばいい
アプリケーションにはActivityが必須ってことはない
840 :
807 :2010/12/29(水) 14:16:59
自分で定義したクリックアクションとRINGER_CHANGED_ACTIONをIntentに設定して、 RemoteViews#setOnClickPendingIntentに渡してますが、画面をローテートすると 自分で定義したクリックアクションのみ認識されなくなってしまうようです。 マニフェストには以下のように設定していますが、何か設定の仕方が間違っているのでしょうか? <application android:icon="@drawable/icon" android:label="@string/app_name"> <receiver android:name=".TestWidgetProvider" <intent-filter> <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> </intent-filter> <intent-filter> <action android:name="android.media.RINGER_MODE_CHANGED" /> </intent-filter> <intent-filter> <action android:name="com.test.WIDGET_CLICK" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> <meta-data android:name="android.appwidget.provider" android:resource="@xml/appwidget" /> </receiver> </application>
841 :
デフォルトの名無しさん :2010/12/29(水) 14:37:18
thisの使い方がいまいちわからんな。自分をわたすんならmeでいいんじゃね?
Javaにmeは無いぞ
thisわかんねー奴はjavaスレ逝け
マインちゃん
845 :
832 :2010/12/29(水) 17:10:09
>834 ありがとう、君のおかげで理解できた\(^-^)/
this is it
thisはメンバ変数でcontextで定義しておいて、onCreateで格納しておくと、onClickとかで使えるから便利。
よくわからんが、thisは自身ならどこでもいつでも呼べるんじゃないのか? 格納とか、格納してonClickで使えるとかどう言う事?
上にあった例だけど hoge = (Textview)this.findViewById(R.id.Hoge); hage = (Textview)findViewById(R.id.Hage); この違いは何? hogeにhoge hageにhage を入れてるだけだよね
>>849 onClickListener使った場合、onClick内でのthisはそのListenerになる
そういう場合はクラス名.thisと明示的に示してやる必要がある
うん、今日もバカばっかだ
>>850 上は
あれ?なんだっけ?とりあえず this. あ、これこれ。
this.で始めると入力支援が今のクラスのものだけに絞れることくらいかな
なんかthis で盛り上がってるな\(^-^)/
finalでは盛り上がらないのか? 個人的には、アレの使いどころが謎すぎて…
this is it,
this is IT
finalは高速化に関係するんじゃないのか?
/) ///) /,.=゙''"/ 人人人人人人人人人人人人 i f ,.r='"-‐'つ____ < > / _,.-‐'~/__, , ‐-\ < こまけぇこ・・・ん? > ,i ,二ニ⊃(●). (●) \ < > ノ il゙フ (__人__) \ YYYYYYYYYYYYYYYYYYYYYYY ,イ「ト、 ,!,!| ' ̄ ̄` | / iトヾヽ_/ィ"\ / ========================== l ヽ. | | | | . | __| | __ | |^)_ | ,-、 _ | | | | .|ノ |. i ヽ i'i. ヽ. -‐、 ! !-! ‐- ヽ. 〉、 l / _ ノ.ヽ. `' (ノo(ヽ?/ ヽノ (ノ | ヽ. ,`ヽ,ソ )ノ ノ/o | \ ' / / l ()ヽ l ヽ. ' | (⌒ヽ | ヽ. | しノ / ==========================
テキストビューアみたいなのを作っているのですが,本の栞のように表示位置を記憶して,次回起動時に表示位置を復元するのはどのように実装すれば良いのでしょう? 現在,assetsフォルダにテキストファイルを置き,一行ずつ読み込んでScrollViewの中の一つのTextViewに表示させることはできたのですが,スクロール位置の保存や復元の方法がよく分かりません. どなたかご教授のほどよろしくお願いします.
863 :
デフォルトの名無しさん :2010/12/29(水) 23:52:36
みんな動作確認て実機でやってますか?エミュの方います?
基本は実機(Desire)、互換性のテストに各バージョンのエミュレータで確認してる
865 :
デフォルトの名無しさん :2010/12/30(木) 00:16:34
やはり実機だとさくさく確認できます?
>>863 両方、サ店でコーディングしてて実機つなぐのめんどい時はエミュでやってる。
CPU i7 だから、糞ほど重いってこともないし。
867 :
デフォルトの名無しさん :2010/12/30(木) 00:19:23
>>866 なるほど、やはり実機買うしかないのか。。。携帯変える気無いからおくで買うしかないか?
いくらくらいだろ。。。
携帯中古屋でも売ってるだろ
中古屋かぁ、、、田舎だからあるかわからないけど探してみるよ
OSはUbuntuだが、エミュでサクサク動いている CPUはCore2Duo 窓はまるで動かなかったがLinuxならいけるんじゃないか
871 :
デフォルトの名無しさん :2010/12/30(木) 00:38:58
Linuxかぁ、窓しかないけどいっちょ挑戦してみようかな デュアルブート決め込んでみようか
PCスペックに余裕あるから、VMwareでUbuntu。
俺の周りは Windowsに絶望 → Ubuntu Ubuntuに疲弊 → Mac のパターンが多いな
俺は更に一周して結局Windowsに戻ってきたわ 何だかんだでWindowsが一番何でも揃う・・・
でも、Winはいまだに不安定なんだよね。 もう一周いってらw
877 :
デフォルトの名無しさん :2010/12/30(木) 10:19:47
不安定って言うのはどういうこと?
878 :
デフォルトの名無しさん :2010/12/30(木) 10:38:44
ドロイド君はゴキブリなんでしょうか?
ドロイド君は不敵な笑みを浮かべている・・・
ドロイド君はいつも君の後ろにいるよ
俺の後ろに立つな!
日付が変わった時に処理をしようと思っています。 ブロードキャストの日付が変わった時の「android.intent.action.DATE_CHANGED」を利用しようとしてテストしました。 時刻を23:59に変更して0:00を自然に待つとレシーブに成功しますが 手動で日付を何回か変更するとレシーブできなくなります。 これってバグなんでしょうか?
自分で作ってバグですかって聞いてどうする
バグは自分のせいじゃなくてあんどろいどのせい!って言いたい
885 :
デフォルトの名無しさん :2010/12/30(木) 14:47:52
エミュレータでSDカードにサブディレクトリを作成して そこにデータをコピーできますか? adb・ddmsともにサブディレクトリを作る方法が内容に思います。 よろしくお願いします。
adb shell mkdir /sdcard/subdir じゃだめだっけ?
プログラムから使うフォルダだったらプログラムから作れって事なんじゃないか
DDMS のファイルエクスプローラで出来るだろ。 フォルダを消す方法が謎だが
Z80互換CPUだろ、日立だっけ? X68000にボード突っ込んでたな
64180
892 :
デフォルトの名無しさん :2010/12/30(木) 19:22:23
>885です >>888 それ本当? 具体的に教えて
listviewについて質問させてください。 要素クリック時(onItemClickにて)に、 現在のpositionより低い(高い)要素のviewを変更したい のてすが、どのように他のview を取得すれば よいか教えてください。 親であるlistviewは取得できたのですが、 そのさきでどのように取得すればよいか 分からなくなってしまいました。
>>894 アイテム数を取得出来なかった?
その範囲でポジションを変更すればいい。
Adapterの中身を変更してnotifyDataSetChangedを呼びます
897 :
デフォルトの名無しさん :2010/12/30(木) 21:38:44
>885です >>893 サンキュー ついでに誰かddmsのあほなSDカードへのアクセスウエイトを はずす方法を教えて
≫895 Dtoはその範囲でとれる(getItemAtPosition )のですが、 Viewになるととれない状況です。 getChildAtで取れそうなのですが、 渡すindexが見つからず、うまくとれません。
>>898 Viewが欲しいならadapter#getViewを呼び出しちゃえばいいんじゃね?
>>882 自己解決
これはandroid側のバグらしい
単純にmain.xmlとhoge.xmlを同時にonCreateで呼び出したいんですけど setContentViewで1つか呼び出せません>< どうすればいいですか
新しいxmlを作ってmain.xmlとhoge.xmlの両方を<include>で取り込む
addContentView
addContentView だとlayoutResIDが使えないみたい><
inflateしてViewにすりゃいい
View view = this.getLayoutInflater().inflate(R.layout.hoge, null); addContentView(view, null); こうしたら予期せぬエラーで止まりました>< nullではない気もしますが、なかなかググっても参考になるサイトがみつかりません。。
. j// /\ヽ∨//∠ヽ. \\. \ ________ _/ ∠≠ニ二ニ≧=<´ ヘ. ', ヘ\ヽ. / _ -‐ ´/ , -‐´、_, '⌒`^ 、 \::\ } l ヽヘ ヽ} / _|_ \  ̄ フ´, / 丶\::V| | Vl ,' |____ . //./ `Vヽl | ヽ ' . | /| ヽ / ,イ/ Y/, ヽ.\ |. l (_ノ _ノ |/ / | ∨ヘ. ト、 \_ |. | . / / / l: / l ∨i 、 |  ̄ ! l lヽ│/ / l│ / イ ,イ. l ト、ヽ / | :l :| | l | ヽ_ノ !ー┼‐ |‐┬ | | l_メ、」_,;./l L l V ∧ / :|/ ハ. ト、 | |./│ヽ l | | ト. |.____ ヽ l´ヽ{ _⊥イ イ / / / l/⌒ヽ .| ー┼─ └── l | | | ヽ | 、i┘::::i \ | r┬┬‐┬ァ V ,∧. ,' ´ | ー┼− レ ヽ! ゝ- ' \l i,.┘:::::iノ / ,/〉│ :| { | _⊥_ l | . 7/l/l/ 、 `'ー‐ ' ∠≠r'ノ:jノ :| | | (__丿 ヽ レ | λ `i`ァー-- 、 /l/l/l ∧‐'.:|:::| ハ ', | l `、 レ' ', ,/| ::| :|:::| ./ ヽ_> _| __|_ _ノ ` = 、 '、 ノ ,.イ∧'|:l.:/l:::|´ \ ._| `>-r =ニi´、.,_`::: |:| { |:::l | .(_| _,.イ´ヽ.7 / /:\;八:V:ノ | ノ /7:::::! ○O'´ /::::::::/ヽ. ',
AlertDialog.Builderでリスト形式で選択させるようにsetItemsを使っているのですが それぞれの項目の左側に別々のアイコンって表示できますか?
ウィジェット毎に表示を変えるにはどうしたらいいですか? 1つ目のウィジェットのテキストの色は黒、2つ目は白、とか変えられる様にしたいです。
その二つのレイアウトをどのように組み合わせて表示するか次第だなあ
>>898 >>896 のやり方が正しい
タッチされたViewを直接変更したても、
スクロールして画面外出した後戻ってくると元に戻るぞ
Viewを直接変更しちゃダメ
getViewで返却するViewを変更する
913 :
910 :2010/12/31(金) 02:41:00
レイアウトは同じだったり、変えたり出来ればと思っています。
んじゃsetContentViewするのは変わらない部分だけで、 変えたい部分はViewGroupに対してaddViewやremoveViewすれば良い
915 :
910 :2010/12/31(金) 02:59:57
ありがとうございます。
916 :
777 :2010/12/31(金) 04:51:45
GPSの位置情報をコンテントプロバイダに保存するサービスを作ったのですが、 このサービスが取得した位置情報をリアルタイムにMAPに表示するには、 以下の方法のどちらが良いと思いますか? 1.サービスが取得した位置情報をブロードキャストして、MAPを表示しているActivityに渡す。 2.MAPを表示しているActivityがContentObserverを使ってコンテントプロバイダを監視して、 新しい位置情報が追加されるごとにコンテントプロバイダから取得する。
917 :
デフォルトの名無しさん :2010/12/31(金) 12:22:38
質問です ExpandableListView,SimpleExpandableListAdapterあたりを使っていて、例えばボタンを押した時のイベント時に 親要素、子要素の追加や削除を行いたいのですができません。 ボタンを押した時に下のような実行時エラーが出ます。 java.lang.IllegalStateException: The content of the adapter has changed but ListView did not receive a notification. Make sure the content of your adapter is not modified from a background thread, but only from the UI thread. ListView did not receive a notification. って書いてあるので、ExpandableListView,SimpleExpandableListAdapter のnotifyメソッドを呼び出してみたんですが、今度は下のような実行時エラーが出ます。 java.lang.IllegalMonitorStateException: object not locked by thread before notify() どうしたらできるようになりますか?
notifyじゃなくてnotifyDataSetChangedじゃないでしょうか
919 :
917 :2010/12/31(金) 12:46:19
>>918 ExpandableListView,SimpleExpandableListAdapterにはnotifyDataSetChangedは無いと思います
さ が せ
ごめんなさい、SimpleExpandableListAdapterにありました。 ExpandableListAdapterにSimpleExpandableListAdapterのオブジェクトを持たせてたので気づかなかった・・・ そしてやりたい事もできました。ありがとうございました。
Mavenで開発しています。 eclipseのandroid pluginを用いたRunでは、Emulator/Deviceにデプロイして、自動的にアプリケーションを起動(すでに起動していたら再起動)してくれますが、それをMaven Android Pluginで行うことはできますでしょうか? 現在実行しているゴール : clean install android:emulator-start android:deploy -Dandroid.device=emulator Maven Android Pluginのconfiguration : <configuration> <sdk> <platform>4</platform> </sdk> <deleteConflictingFiles>true</deleteConflictingFiles> <undeployBeforeDeploy>true</undeployBeforeDeploy> <emulator> <avd>***</avd> <wait>20000</wait> <options>-no-skin</options> </emulator> </configuration>
あけおめ!
あけおめ。 今年もエスパーレスに期待
新年早々ですが、質問させてください。 AlertDialog.Builderを使ってsetPositiveButtonとsetNeutralButtonとsetNegativeButtonの3つを使い、真ん中のNeutralButtonはクリックされても閉じないように実装したいのですが、どのようにすればよろしいでしょうか。 DialogInterface.OnClickListenerを実装すると、onClick()が呼ばれるのですが、メソッド内でdismiss()を書いても書かなくてもダイアログが閉じてしまうため、何度もNeutralButtonをクリックされても閉じないようにしたいです。
>>925 なんかよくわかんねーけど、onClick()でfalse返すとか?
教訓: 低知能者は試す前に口走る
>>925 普通のActivityでもテーマをDIALOGにすれば見た目をダイアログみたいにできますよ。
931 :
925 :2011/01/01(土) 12:21:43
>>926 ,
>>927 ,
>>928 ,
>>930 早速のレスありがとうございます。
正攻法?は無さそうですね・・・。
ActivityのテーマをDIALOGにするというのはカスタムダイアログを作る方法ですね。テーマの使いどころを知るという意味でも大変勉強になりました。ありがとうございます。
ちなみに、onClick()は戻り値がvoidでした。
AndroidとArduinoがまぎらわしい
ラジオボタンで7要素から1,2個選ぶことは、可能でしょうか? 1個しか選べないんですか?
ちぇっくぼっくすでやれ
初めて知ったけどAndroidでLINQみたいなことをできるライブラリ作った人いるんだね!すごい! まだ試してないけどw
937 :
デフォルトの名無しさん :2011/01/01(土) 15:40:48
eclipseが固まるようになってしまいました。 editText = new EditText(this); editText.s 上のようにeditText.setText(...) と書こうとして、sまで入力した時点で、eclipseが数十秒固まります。 その時topで見るとeclipseが99%くらいcpuを使っています。固まりを脱したら得に重くなる事はありません。 EditText以外でもいろんなところで起こります。 環境はUbuntu 10.10, oracle JDK 1.6.0_23, eclipse-java-helios-SR1-linux-gtk, android-sdk_r08-linux_86, ADT-8.0.1 です。JDKとeclipseはUbuntuのパッケージではありません。 以前は起こってなかったので、おそらくADT-8にアップデートしてからでしょうか。 回避方法はあるでしょうか。
UIレイアウトエディタって腐ってて使い物にならないけど、mac版のだけは比較的ちゃんと表示されるのが不思議
ゲームアプリってFlashを移植しただけなの? ていうかJavaでゲームつくれるの?
ウブンツでも開発できるのか まいんちゃんの表紙のやつ買えばいいのか?
都条例で入手できればだが
田舎だから大丈夫だ
そういえば、開発環境はWin/Max/Unix/Linuxのどれが多いんだろう? 俺はターミナルが便利だからUbuntuだけど
Maxがいちばん多いんじゃねえの
>>946 誰かが中途半端に訳したやつがどこかにあった気がするが
MaxてMac os Xのこと? 業界人じゃないんでこの略し方ははじめてみたわー
>>946 入門書ってほとんどその英語を訳したものなんだが
Max!!
すごい初歩的なんですが TextView text1 = new TextView(this); text1.setText("アンドロイド"); テキストをstring.xmlで指定して英語と日本語で勝手に切り替わるようにしたいんですが レイアウトのxmlを使わずにできるのでしょうか?
一度ボタンを押したら押されっぱなし、 もう一回押すと、解除ってどうすればいい??
956 :
デフォルトの名無しさん :2011/01/01(土) 23:25:09
Android プログラミングバイブルのツイッタークライアント作ってみた。 感動した。けどソースは丸まるコピーだから中身意味ふw
>>953 "アンドロイド"を選択した状態で、Eclipseでリファクタリング>Android>Android文字列抽出をやってみな
ちょっとおかしなコードになる可能性はあるけどね
958 :
953 :2011/01/02(日) 00:36:08
>>957 できました。ありがとうございます!
こんなかんじ
text1.setText(R.string.text1);
でもvalues-jpを作って日本語のも入れたのにエミュの言語切り替えても
日本語にならないです。
チュートリアルサイトとか見ても勝手に切り替わるって書いてあるんですけど
実機ならちゃんと切り替わるのかな。
spモードのアプリ開発ってできますか? 参考サイトなどあれば教えていただきたいです。
values-ja
jaだったのかあああああ おりがとうございます
>>954 つ トグルボタン(綴りは自分でよろしく)
963 :
デフォルトの名無しさん :2011/01/02(日) 09:50:14
TextViewをクリックされた時にダイアログを出したいんだけど 以下のコードでイベント処理がされません 何が良くないんでしょう TextView textview = (TextView) findViewById(R.id.textview_id); textview.setOnClickListener(new OnClickListener() { public void onClick(View v) { // ダイアログを出す } });
>>964 xx.xmlにandroid:clickable="true"を追加する事で動くようになりました
ありがとうございました
レイアウトのxmlへの紐付けの書き方がわかりません こういうのをxmlで設定したいです LinearLayout linearLayout = new LinearLayout(this); linearLayout.setBackgroundColor(Color.YELLOW); linearLayout.setOrientation(LinearLayout.VERTICAL); こう書きましたがエラーで起動せず LinearLayout linearLayout = (LinearLayout)findViewById( R.id.back1 );
967 :
966 :2011/01/02(日) 20:25:47
自己解決しますた
968 :
デフォルトの名無しさん :2011/01/02(日) 21:39:08
あまりに初歩過ぎて申し訳ない 教本(C&R研究所の基礎から学ぶ〜)のp35に沿って AVDを起動させたいんだけど、実行すると、 Emulator] Weird, the AVD's config.ini file is malformed. Try re-creating it. となってしまう どうすればいい? AVDは2.2(APIは8)で構築したんだけどそのせい? eclipse自体は3.6で、本は3.4ベース ADBの更新とかは問題ないようなんだけど・・・
>>968 ようわからんが、日本語のフォルダの下に置いてないか?
970 :
968 :2011/01/02(日) 23:56:30
調べてみたら、eclipceのインストールフォルダの上、 管理者システムフォルダに全角数字を使ってた・・・ これかな? 変更できないんだけど、どうしよう?
>>970 開発云々の前にosに付随してくるソフトの勉強するべきだね。
>>970 とりあえず、原因はそれじゃよ
対策は、がんばれ
974 :
デフォルトの名無しさん :2011/01/03(月) 11:58:38
ちょっとしたアプリを作っているんだけど,データベースがうまく扱えないorz 誰か助けてー データベースにinsertするときに no such column: (column名):, while compiling: UPDATE ........... table (テーブル名) has no column named (column名):, while compiling: INSERT INTO .... みたいなエラーが発生する. 本やらネットやらで調べたけどどこがおかしいのかよくわからん. 誰か上記のエラーに心当たりがある人いる?
>974 何を言っているのかよくわからんな そのようなカラムは存在しません。(カラム名):UPDATE.... コンパイル中に発生 テーブル(テーブル名)は(カラム名)で命名されたカラムを所持しません。:INSERT INTO... 調べるところは明確だろ
あれは美味しそうだな。 チーズがすごくきになる。
先生大変です!db4oタンが息をしていません!
981 :
777 :2011/01/03(月) 16:50:03
db4oタンてAndroidでも使えるのか...
db4oみてみたけどSQL書いたほうが楽な気がする
983 :
デフォルトの名無しさん :2011/01/03(月) 23:19:05
/res/layoutフォルダにxmlファイルを追加たんだけど,そのファイルを削除てから 実機でアプリを動かそうとすると java.io.IOException: Unable to upload file: Local file doesn't exist. なるエラーが発生して動かせなくなったorz Local fileって削除したxmlファイルのことを指しているのだろうか?
985 :
デフォルトの名無しさん :2011/01/03(月) 23:47:06
>>984 レスthx
なんかいじってたら解決できた(汗
初歩的ですまない intentで文字列を送りたいのだがどうしたらいい? putExtraメソッドでどうやっておくればよい?
ListViewに対してsdcard内のフォルダ を表示しています。 ところが端末を傾けると、傾ける前に表示されていた 内容が破棄されてしまいます。 破棄されない様な仕組みが必要なら、具体的な ヒントをお願いします。
再取得すればいいんじゃないの
再取得は(場合によっては)コストがかかるかも知れない。 傾ける前の表示時に使用した情報がアダプタにあるから、 それを再利用すればいいか。 ヒントありがとう。
>>987 送る方はこんな感じ
Intent intent = new Intent(this とか ACTION_ なんたらとか);
intent.putExtra("myHogeHogeExtra", "文字列");
startActivity(intent);
受け取る方はこんな感じ
String s = getIntent().getStringExtra("myHogeHogeExtra");
>>988 onSaveInstanceState と onRestoreInstanceState を実装するべき場面じゃないかな
>>992 988です。
ご教示のあったAPIを用いて無事に実装出来ました。
ありがとうございます。
wiki等みてもわからないので質問させて下さい。 ・TextViewにMarginをつけてTableRow内に設置するにはどうすればいいのでしょうか? LayoutParamsにsetMarginsして、それをTextViewのインスタンスにsetLayoutParamsしてもうまく反映されません。 やりたい事はTableに枠を書きたいので、別のやり方があればそれでもよいのですが、 (現在TableRowとTextViewの背景色の差分で外枠っぽいのを作ろうとしている) いまいちLayoutParamsがうまく使えないので・・・ --------------------- | ------------------ | | Text | | ------------------ ---------------------- こんな感じに配置したいです。 教えていただける方いましたらお願いします。
TableRowは使った事ないけど、下のコード参考にしてMarginじゃなくてPadding使ってなんとかならんか? AbsListView.LayoutParams lp = new AbsListView.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, 64); TextView textView = new TextView(this); textView.setLayoutParams(lp); textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.LEFT); textView.setPadding(10, 10, 10, 10);
996 :
デフォルトの名無しさん :2011/01/04(火) 18:07:12
Javaプログラムで生成した複数個のcheck boxをlayoutファイルに埋め込みたいのだけど,良い方法知ってる人いませんか? android-sdkならできそうな気がしてならないが,未だにわからない...
>>995 回答ありがとうー
Paddingだとうまく反映されるんだけど、PaddingってTextViewの中のStringの位置調整なんすよねー
TextViewの場所自体を少しずらしたいからちょい違うのかなぁ。
なんでsetPaddingのようにViewにはsetMarginがないのだろう・・・orz
998 :
デフォルトの名無しさん :2011/01/04(火) 18:35:40
1000なら今月中にマーケットでアプリ売る
>>997 です
すいません、自己解決しました。LayoutParamがTableRow.LayoutParamじゃなかったのと、
TextViewにではなくRow側にAddする第二引数にLayoutParamいれるようにしたらうまくいきましたー。
ありがとうございました。
1000ならアプリ長者
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。