Androidプログラミング質問スレ Part28
1 :
デフォルトの名無しさん :
2012/12/23(日) 21:20:54.50
スレタイに「初心者」入れとけ
テンプレ見たらNDKの質問も桶なのか。あんまり期待しないで活用しようかな。
5 :
デフォルトの名無しさん :2012/12/24(月) 01:14:04.89
みんな個人で開発するとき、バージョン管理ソフトとか使っている? 職場でVSS使っていて、使い方が最初わからなくて迷惑かけたから、これからのために何か使ってみようと思うんだけど、 個人でローカルで開発だと、なんかすげー設定めんどくさい
git
>>5 git使ってる。サーバなくても始められるから気軽。公開したくなったら、githubというサービスもあるし。
>>6-7 ありがとう
Subversion入れようとして挫折したからGit試してみる
>>8 vidual svn server でググれ
○ visual × vidual
Adobe ReaderやWebkitではないOpera,Firefoxなどのブラウザは何で描画してるのか解りますか? SurfaceViewとか?Android2系でハードウェア支援されてますか?
俺もgit使ってみようと思うんだけどイメージとして バージョンごとに同じプロジェクトのファイルが存在するってこと? あとeclipseとの連携はどうなるの?
>>12 それはsvnでも一緒のような。。。
gitのプラグインもあるみたいだよ
放置型RPGを作りたいと思ってるのですがどう作ればいいか、いい本やサイトご存知の方いたら教えて下さい。 自分なりにググりましたが出てこずでした…
git って手放しで奨められるものなのか? IntentService の中で HandlerThread がどう使われているのか見てみたくて、 ソースの取得に git が必要だったんで、EGit とか入れてやってみたけど、 アカウント取る必要があったりとか手順がよくわからなかったよ 会社では Subveresion だし、家でもそうだから慣れもあるとは思うけど
教えない、示さない、共有しない、 こういう奴はすべて保身のためにやっている
>15 ローカル運用だとgitが一番簡単だろ。 WindowsだったらTortoiseGITインストールしたあとに 適当なフォルダ右クリックして新しいリポジトリ作るだけで OKだからな。
WinCVSごった煮版も簡単・・・なはず どれもにたようなもんだけどな VSSとsubversionでチェックアウトの意味合いが違うのには困ったことがあるが
会社でsvn使ってるくせに、 アカウント取るだの意味分かんないもん
ダイアログについて質問です。 SeekBar 3 枚とその説明の為の TextView 3 枚 を含む LinearLayout を AlertDialog.Bulder.setView に放り込んでいます。 Android 2.2 では画面いっぱいまでダイアログがの幅 が画面に合わせて伸張した ので SeekBar の操作は問題なかったのですが、 Android 4 になると一番幅を取っている TextView の 長さを最大幅として画面中央 にこじんまりとダイアログが表示されてしまい、 SeekBar が操作しづらいです。 この問題の対処法を教えてください。
>>14 放置型RPGって「ゆけ!勇者」みたいなアプリのことかな?
もしそうならAndroidアプリ製作の前に次の事からやってみるといいよ
違うのなら忘れて。
・無料サーバーなどでホームページを作る (検索キーワード「はじめて作るホームページ」)
・アクセスカウンター、掲示板などを自作で作る (検索キーワード「CGI PHP 掲示板の作り方」)
・掲示板をデータベース対応型に改造してみる (検索キーワード「CGI PHP MySQL」)
・CGIゲームを自作で作る (検索キーワード「PHP ゲームの作り方」)
ここまでを、冬休みの学生なら2ヶ月、仕事と両立社会人なら6ヶ月くらいかな
こいつらの技術をつかめたら次はいよいよAndroid製作
マニフェストのactivityタグで指定されたアクティビティの型をすべて取得する方法はありますか?
>>24 なぜ全然違う役に立たないものを教えるのかわからんわ。
JavaのCUIでいいだろ。
>>27 時間の管理をサーバーに預けたいからじゃね?
普通に作ると、本体の時刻設定を弄られるとアプリも時間が経ったことになっちゃうから
>>27 JavaのCUIは詳しく無いからわからないけど
Webサーバーにオンラインデータサーバー的プログラムを作れるのならそれでもかまわなよ
JavaでCGIやる場合Javaサーブレット使うもんだと思ってる古い人間なんで~
同時アクセス時のデータ整合やらセッション管理やらに優れてるPHPの方がお手軽だとおもってね
>>28 そそ。放置型RPGってのが「行け!勇者!」みたいな物だと想定しての話だけどな。
その場合は時間だけじゃなく、アイテム、マップ、装備ふくめた全ステータスデータはサーバー側で管理して
プレイヤーランキング、新アイテムやマップの追加、定期イベント(クリスマスイベントなど)発行やらを可能にする感じ。
バージョンアップ通知も簡単になるし。
放置型RPGってのがネットワーク関係なく、完全なローカルゲームというなら
最初に言ったとおりこの話は全部忘れてくれ
時代的に
>>14 はソーシャルRPGみたいのを作りたいのかな?と思っただけさ
放置型RPGの質問した者です。 ご回答ありがとうございます。 あれはサーバー側で管理すればいいのですね! まさに、いけ勇者みたいな感じのを作ってみたいと思っていました。 railsなら普通に使えて、ec2も借りてるので皆様に教えて頂いたイメージで設計してみます。 ありがとうございました。
Androidのデバック署名で出来ることは? Androidのアプリ開発をしています。 アプリは署名をすることでリリースできるそうですが、デバック署名で出来ることは何ですか? Android marketで配らない限りはデバック署名で十分ですか? 出来ることの違いが知りたいです
選択した日付の曜日を取得するにはどうすればいいですか? 現在の曜日はわかるのですが、下記のコードにdate.get(Calendar.DAY_OF_WEEK);を追加できないので Calendar date = Calendar.getInstance(); DatePickerDialog datePickerDialog = new DatePickerDialog(this,new DatePickerDialog.OnDateSetListener() { public void onDateSet( DatePicker view, int yearint monthOfYear,int dayOfMonth){ text1.setText(year + "/" + (monthOfYear + 1) + "/"+dayOfMonth); } }, date.get(Calendar.YEAR), date.get(Calendar.MONTH), date.get(Calendar.DATE)); datePickerDialog.setTitle("日付選択"); datePickerDialog.show();
>>33 出来ることに違いは無い
有効期限には気をつけろ
>>34 public void onDateSet( DatePicker view, int yearint monthOfYear,int dayOfMonth){
Calendar date2 = Calendar.getInstance();
date2.set(Calendar.YEAR, year);
date2.set(Calendar.MONTH, monthOfYear);
date2.set(Calendar.DAY_OF_MONTH, dayOfMonth);
int dayOfWeek = date2.get(Calendar.DAY_OF_WEEK);
text1.setText(year + "/" + (monthOfYear + 1) + "/"+dayOfMonth + "日月火水木金土".charAt(dayOfWeek - 1));
}
>>35 そうなんですか
ありがとうございます
もうひとつ質問なんですが、 Androidの自作アプリが別の人の端末に入らないんです。
開発環境はAndroidのアプリのAIDEです。
自分の持っている端末2台ではどちらも正常にインストール,実行できました。
しかし、別の人の端末にインストールしようとすると、"解析に問題があります"とエラーが出て、インストールできません。
検索すると、apiレベルが対応していないということらしいのですが、apiレベルは問題ありません。
自分の持っている端末のAndroidバージョンは4.0と4.2です。
エラーが出る相手の端末はバージョン2.3です。
アプリの最低apiレベルは1で、ターゲットapiレベルは10です。
署名もしていますし、どうしてエラーが出るのか全くわかりません。
対策はありますか?
問題のapkファイル
http://yamamasa219.web.fc2.com/sosuu.apk
>>36 ありがとうございます!しかしうまくいきません。
このようにonDateSet以降を改良するんですよね?
コンストラクタDatePickerDialog(クラス名,new DatePickerDialog.OnDateSetListener() {})は未定義です、とでてきてしまいます
DatePickerDialog datePickerDialog =
new DatePickerDialog(this,new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet( DatePicker view, int year,int monthOfYear,int dayOfMonth){
Calendar date2 = Calendar.getInstance();
date2.set(Calendar.YEAR, year);
date2.set(Calendar.MONTH, monthOfYear);
date2.set(Calendar.DAY_OF_MONTH, dayOfMonth);
int dayOfWeek = date2.get(Calendar.DAY_OF_WEEK);
text1.setText(year + "/" + (monthOfYear + 1) + "/"+dayOfMonth + "日月火水木金土".charAt(dayOfWeek - 1));
}
}
);
datePickerDialog.setTitle("日付選択");
datePickerDialog.show();
}
>>38 DatePickerDialogのコンストラクタの引数足りてなくね?
>>39 解決しました
なんか勘違いしてました(汗)
ありがとうございます!
41 :
26 :2012/12/25(火) 22:11:47.59
>>29 すみません。正確に書きます。
Manifest.xmlに複数のactivityタグがあります。activityタグにはandroid:name="sample.MyActivity"のように
属性でアクティビティのクラス名を指定しますよね。この情報をプログラムから取得したいということです。
具体的にはアクティビティのクラスに対応するClass<?>オブジェクトを取得したいです。
取得したいのは自分自身のパッケージにあるすべてのアクティビティなので、
コード内で配列などに直接書いてしまってもいいのですが、
二度手間になるので実行時に取得する方法があればと思いました。
エミュレータークッソ遅い。 メモリ幾つあれば、CPU幾つあれば快適動作してくれるの?
44 :
デフォルトの名無しさん :2012/12/25(火) 22:28:15.79
京でも買ってくるしかない
>>42 部品をバラして作って、Androidとのviewのとこだけエミュで動かしながらだ。あとは完成してからのテスト。
という開発スタイルでやってる。
京もプロセッサ1個の性能は全然大したことないからICS(ARM)のエミュなんか動かしたら遅そう
>>48 快適動作に必要なスペックを訊いている人のレスとして
「XXXしながらだ。あとは完成してからのテスト。というスタイルで俺はやってるぜ!」
なんてこと書かれても、
えーっと、問いに対する答えになってませんが。
そもそも1文目が意味不明だし。
としか返せないです。
「単体テストしろ」なら、問いに対する答えにはなっていないにしても
まぁ理解できるレスではありますね。
・・・なんかすみません。 Corei3でRAM4GBだとサクサクだよーとか意見があったら嬉しかったのですが・・・
>>49 ごめんね、まともな開発したことない人には難しかったね。
エミュレータが重いなら実機でやれアホ
>>52 実機でやっても1分以上かからない?iOSだと10秒以下なのに。
何が1分以上なのか、説明しないで他人に伝わると思っている時点で重度のアスペ。 どうしようもない。
実機でやる場合ってapkファイル的なものが実機にインスコされる? adb接続を終了したら勝手に消える?
インスコされて勝手に消えない
57 :
デフォルトの名無しさん :2012/12/26(水) 01:24:50.20
>>50 Windowsなら、SDK Manager使ってx86 SystemImageとHAXM入れたら
速くならないかな?
developer.android.com/tools/devices/emulator.html#accel-vm
自分はUbuntuなんでKVM導入して動かしてるけど
i5-430UM 1.2GHz/RAM 8GBのノートで、ドロワーとかは一瞬で開く
ANDROIDロゴが出てからホームが表示されるまで、長くて10秒くらい
>>57 AMDの俺はWindowsじゃダメでLinuxでやるしか無いという…
>>51 日本語の話だよw
一度しかない人生なのだから
母国語くらいまともに遣ってやれ。
Contextにthis(Activity)を渡してるソースコードを ネットや本のいたるところで見かけるんだけど、 hprofで見ると参照が残ってリークしてるように見えるのは 問題ないのかな?
>>61 画面閉じた後も残ってるんだったら
onDestroyとかでクリアしてやるべき
>>63 ・「エミュレータの作成」がページのどの辺に書いてあるのか
・項目として書いてあるのか、文章の中で突然出てくるキーワードなのか
・回答者にキーワードをわざわざ検索してもらうことを想定しているのか
・上記のようなことを想像できないで、ただ何となく質問しているのか
アプリのDB管理?について質問なのですが、約8kbの文字をSQLiteでインサートを書き続けるのと、txtファイルを使ってデータ管理するのはどの部分がどの程度違うのでしょうか?
>>65 もう少しデータベースの特徴について理解した方がいいよ。
基本はどちらもファイルである事に違いは無いけど。
データのinとoutと、search、update等をどう実現するか、する必要があるシステムなのか
判断出来ないなら根本部分からの勉強不足だね。
>>66 ごめんなさいうまく日本語が書けないです…
SQLiteでインサートしてサーチするのと、txtファイルで保存しておいてそれをサーチする時の処理の速さと負担の違い
を知りたいです。
よろしくお願いします
いつもお世話になっております。bt1を押すと最初に日付セットのダイアログが呼ばれるんですが決定(「設定」)キーを押す前にlistviewを実行し、ログが出力されてしまいます。 当然セットした日付の反映はされません(次にbt1押したときに反映) 日付設定直後にリストビューに反映させるにはどうすればいいでしょうか? 日付設定は昨日36、39の方に教えていただいたのでできたのですが btn1.setOnClickListener(new View.OnClickListener() { // カレンダーボタン public void onClick(View v) { timeset();// 任意の日付をセット listview(); // セットした日付のデータをデータベースから取り出しlistviewに出力 Log.i("test","1"); } });
onDateSetの中で実行すればいいでしょう
>>67 データとやり方次第なんだから、自分で作って比較してみればいいだけの話だろう。
質問を書き込んで待っている時間があれば、とっくに検証し終わっているだろう。
2.3.6 DownloadManagerについて質問です ブロードキャストレシーバーで DownloadManager.ACTION_DOWNLOAD_COMPLETEの時を見てみると ダウンロードに失敗した場合は下記の二種類を受け取っています onReceive... EXTRA_DOWNLOAD_ID = 1593 COLUMN_STATUS = STATUS_SUCCESSFUL COLUMN_REASON = 0 onReceive... EXTRA_DOWNLOAD_ID = 1593 COLUMN_STATUS = STATUS_FAILED COLUMN_REASON = ERROR_CANNOT_RESUME 最初のレシーバーではダウンロードされたファイルがないのにSTATUS_SUCCESSFULが返されています これはどうしてでしょうか?
>>63 SDKがちゃんとインストールできてないんじゃないの?
パッケージをちゃんとインストールできてる?
>>71 皆さんの経験談や検証結果などをお聞きしたかったのですが…
自分で検証してみます
>>74 「俺の手を動かすのが面倒だから
お前らが俺の兵隊となって、結果だけ教えろ」
ということ?すげーな。
DatePickerのウィジェットを置いたAlertDialogを作成しています。 DatePickerDialogではありません。 DatePickerのウィジェットの下に [+5日][-5日] ボタンを設置し、 日付を設定する操作性を高めようとしています。 が、DatePickerに対して日付をset する関数が見当たりません。 無理なんでしょうか?
>>74 というかその程度の違いも想像つかないならDBなんか使わずに素直にテキスト使っとけ
>>76 DatePicker#updateDate は?
79 :
72 :2012/12/26(水) 20:47:12.50
STATUS_SUCCESSFUL→STATUS_FAILEDの流れの対策をしていましたが 実はSTATUS_SUCCESSFULの時点ではファイルの存在もありファイルサイズも満タンで STATUS_FAILEDのERROR_CANNOT_RESUME onReceiveが来た時にファイルは消されてしまうという… 4.0でも同じでした 一体この現象と仕様は…
80 :
76 :2012/12/26(水) 21:30:50.03
>>78 ありがとうございます。
DatePicker#set***
などばかり探していました。
>>75 そのように思われたのなら謝罪します、申し訳ありません。
私は「過去に私と同じ事で悩み検証した結果が残っているようでしたらご指南下さい」
と伝えたかっただけです、初めからそう書けばよかったですね申し訳ないです。
>>59 私がって主語が省略されてるのは、アメリカ人にもわかったぞ。
>>81 プログラム初心者のファイル操作よりsqliteのほうが速いと思うよ
DBの効用も知らない初心者のDB操作も恐ろしい気がするが
>>82 お前、凄いな
こんなにも会話が出来ない人がいるなんて驚きだ
Androidにインストールされている「ダウンロード」というアプリでは 失敗したダウンロードリクエストを再試行させる事が出来るのですが 自作アプリ側からDownloadManager.enqueueから受けたIDを利用して 同様の操作をする事はできないのでしょうか?
>>74 Androidでは実験したことないのでWindowsでの体験でいいだろうか?
[ テキストファイル保存型の場合 ]
次のように1行のデータサイズ合計が24byteで固定されている場合
|No[4byte]|名前[20byte]|メモ[20byte]|死亡フラグ[1byte]|
10000行目のデータがほしい時はファイルシークを24(byte)×10000(行)すれば
一瞬にして目的のデータにたどり着けるので問題はありませんね?
今度は1行のデータサイズが「名前」「メモ」のデータは文字数が時と場合によってランダムでかわり
決定できないようなデータの場合
|No[4byte]|名前[不確定byte]|メモ[不確定byte]|死亡フラグ[1byte]|
10000行目のデータがほしい時は、基本的にforループを10000回まわして探しにいかないとダメになります
(「カーソルをまわすやりかた」とか言われてます)
SQLの場合、後者も前者と同じように扱え、基本的に1秒以内に完了します。
またNo0~No10000までの死亡フラグを全て「生存(false)」から「死亡(true)」に変更したくなったとします。
これをカーソルまわしでやると、やはりfor10000ループが必要になりますが
SQLの場合「update 死亡=true where 死亡=false」のようなコマンド1行で(例えです)行え、やはり1秒以内に完了します。
速度面の違いのほかにも、SQLにはテキストファイルより優れた機能がたくさんあります。
例えば、アプリでプロフィール変更機能などを実現しようとした時に、
50箇所くらいデータを変更したが、やっぱり取り消したいという事がありえます。
テキスト保存型だと、この機能を実装するのは煩わしいです
保存用テキストの他に作業用テキスト(一時ファイル)を用意し、
最終決定字に一時ファイルの内容を本ファイルへ一気に保存していく。
SQLではキャンセルコマンド1行でこれを実現できます。ロールバック機能といいます。
その1つの「ロールバック機能」は、
たとえば、
後半2行「その1つの「ロールバック機能」は、たとえば、」はミスです。
>>74 その他、SQLの代表的な便利機能として「リレーションシップ」などもあります。
テキスト型で行っているときに、管理のしやすさから、なるべく全てのデータを1ファイルにまとめて記録しようと考えます。
しかし1人のデータ=1行すべて収めるやり方だと
「キャラクター名(10byte)だけ取得」したいのに、まったく不必要なデータが後ろに100kbyte余計に取得してしまったりなど無駄が出てきます
(いったん1行分まるまる変数に読み込み、その後「名前」だけ取得する場合)
これを回避するには、今度はファイルを複数に分けて管理する事になります。
「ログイン情報.txt」「キャラクター情報.txt」「所持アイテム.txt」「装備品.txt」
しかしテキスト型の場合、基本的にファイル数が増えていくと管理が面倒になっていきます。
例えば「[Aプレイヤー]の[サブキャラクター]の[手の装備]の装備名」を取得したい場合に
1:「ログイン情報.txt」からユーザー識別IDを取得する
2:1で取得したIDを使い「キャラクター情報.txt」からサブキャラクターIDを得る
3:2で取得したIDを使い「装備品.txt」から手に装備されてるアイテムIDを得る
4:3で取得したIDを使い「所持アイテム.txt」から装備品名称を得る
※多少作り方に左右されます
SQLの場合、上の処理はやはり1行で簡単に行えます。
これがリレーションシップです(リレーのバトンのようにIDを渡していくため)
他にも複数分かれているファイル(テーブルという)を1ファイルのように結合したり
Aファイルの「IDだけ」、Bファイルの「死亡フラグ」だけと必要なファイルの必要な部分だけを結合し
新しいファイルCを作成したりとても便利です。
長くなりましたが、当時CPUが2.4GHzのペンティアム4マシンで、カーソルまわしで2時間かかっていた処理が
SQLに変えることで2分で終わるようになったことが有ります。
基本的にデータ数が大きいものほど、テキスト型より管理が楽になります。
興味がわきましたらSQLの検討を考えてみてください。
>>74 >>90 の訂正
[誤り]
次のように1行のデータサイズ合計が24byteで固定されている場合
|No[4byte]|名前[20byte]|メモ[20byte]|死亡フラグ[1byte]|
10000行目のデータがほしい時はファイルシークを24(byte)×10000(行)すれば
[正しい]
次のように1行のデータサイズ合計が45byteで固定されている場合
|No[4byte]|名前[20byte]|メモ[20byte]|死亡フラグ[1byte]|
10000行目のデータがほしい時はファイルシークを45(byte)×10000(行)すれば
>>90 可変長レコードのテキストとDBを比較してDBが速度速いとかお前馬鹿?
94 :
@ :2012/12/27(木) 07:42:04.78
いちいち煽るな 心の貧しさ露呈しても恥ずかしいだけなことに早く気づけ
レベル低い内容をだらだら長文で書き込むほうが恥ずかしいわw
>>91 リレーのバトンだからリレーションか
初めて聞いたw
リレーのバトン、 関係(relation)データベースだからでしょ
リレーションとリレーをかけた俺うまいってことか
99 :
デフォルトの名無しさん :2012/12/27(木) 09:43:16.38
簡潔に答えられないやつはプログラムもクソな印象
>>93 データ内容にはよりますね。あくまで数ある中の一例ですが
テキストと比較しDB側が有利な点は数多くあります。
まして今は実装が簡単ですからね。
>>95 簡潔にまとめている方です。
本屋でDBの本、サイトでDB説明のサイトをぜひ読んでみてください。
そしてDBを何も知らない方を対象に2レスでまとめるには、どうするか?
考えて見ていただけると幸いに思います。
>>97-98 DBを何も知らない方を対象に専門用語をなるべく使わないよう
一般でよく使われる言葉でイメージしやすくしてみました。
専門用語を多く用いれば知識ある人には、わかりやすく、簡潔に、立派に見えますが
何も知らない方を対象にこれではダメです。
リレー例は初心者向け参考書などでもよく使われる一例です。
リレーショナルは関係で、リレー(中継)とは全然違うだろ 初心者向けだからと言って嘘を教えるのは間違ってるし、 「参考書=正しい」でもないだろ
そろそろ安藤プログラミングの話に戻ろうか
俺はなるほどと思って見てたけどな 説明出来ない奴より全然マシ
そもそも全文検索ならテキストファイルを全て読み込んでしまえば、 あとはCPUとメモリの性能だけの話だろう。 結局テキストファイルをどう扱うか次第。 前提条件を明確に設定せずに比べるような人間は、プログラムの才能が皆無だ。
105 :
93 :2012/12/27(木) 13:15:38.99
>>100 データ内容によるとかじゃなくて索引無しのファイルとDB比べて優劣云々言ってるお前がアホと言いたかったの
わかりにくくてごめんね
説明しないけど批判は出来る奴wwww
みんな冷静になって欲しい
そもそも
>>65 はDBの説明なんかを求めてはいない
今後のためにもDB勉強しとけ
>>65
Activityの遷移を行うときに親のActivityを閉じて、新しいActivityを親?(最上位)として表示させる方法はあるでしょうか? Viewの切り替えでも良いのですが、既存のActivityを再利用したいためにこの方法利用したいと思います。
>>109 ありがと。
言われてみればそりゃそうだw
2chmateを最新版に更新したら、 スレの更新などの後で表示される Toastのような表示が、 単なるフェードイン、アウトではなく、 画面最下部から上方向にスライドしながら 表示され、消えるときは下方向に スライドしながらフェードアウトする ようになった。 こういう表示の仕方ってどうやるの?
>>111 PopupWindowにアニメーション付けてるだけじゃないかな
contextには何が入ってるのでしょうか?
夢と希望が入っています
リストビューからあるデータをクリックして、DBとリストからそのデータを削除したいんですがどうすればよいのですか? 削除したいデータのIDを取得すればいいと思うのですがその方法がわかりません リストビューに表示したいのはa,b,cの3つですが下記の取得する列に_idを追加すると表示せざるをえなくなってしまいます 仮に_idを追加したところで、対象データをクリックした際にidを知る方法もわかりません・・・ String sqlstr = "select * from logtable where day='"+val_day+"'"; c = db.rawQuery(sqlstr,null); adapter=new SimpleCursorAdapter(this,R.layout.list_item,c, new String[] {"a","b","c"}, new int[] {R.id.item_a, R.id.item_b,R.id.item_c}); test_list.setAdapter(adapter);
しかしサンプルで書いてあることしか出来ない人多いんだな
日本の国語教育が原因やね
コードが長くなるのでメインのアクティビティの中に作ったクラスを別ファイルにしたのですが activityが継承されなくなって使えないメソッドが出てしまいました。 別ファイルのクラスはactivityでないものを継承してます。 どうすればいいでしょうか?
context受け渡せー
というと?
Java初心者スレにでも行け
HogeActivity.java { mContext = getApplicationContext(); HogeClass.hoge( mContext ); } -- HogeClass.java { public class Hoge { static void getRawData( Context context ) { context.****** } }
intent-filterで共有での表示をしたいのですが、 action.SENDのときpathPatternを指定しても効果が出ないのですが何か方法はないのでしょうか 同じ指定でもaction.VIEWのときはちゃんと効いてます ちなみに指定はandroid:pathPattern=".*\\.xxx"こんな感じで拡張子指定です
AndroidのAPIを見ると、必ずコメントがついていて、Eclipse上では、 Specified by: public void... Parameters param って感じで太字になっているのですが、Javadocで太字ってどうやるのですか?
↑自己解決しました
よくメモリリーク例の引き合いに出される以下のソースだけど
http://android-developers.blogspot.jp/2009/01/avoiding-memory-leaks.html これ全然メモリリークしないよね?
バージョン2.3.3のエミュレータで起動終了画面回転を試したけどヒープをMATってので調べても全然リークしてなかった。
そもそもTextView.setBackgroundDrawableでsBackgroundのActivityへの参照が毎回新しいものに切り替わってるっぽく
前のActivityを参照するものなんて綺麗サッパリ無くなるから古いActivityは常にGC対象になるはずだけど・・・。
もしかして、バージョン1.6の時代ではこのソースでリークしてたとか?
しかし「android メモリリーク」で検索するとこのプログラムを出してリークするよって解説が多いこと・・・そんなんでいいんかいな。
とにかくthisじゃなくContext.getApplicationContext() や Activity.getApplication()を使え、
やたら静的変数に保持すんなってのが伝わればいいんだろうけど
129 :
デフォルトの名無しさん :2012/12/29(土) 01:50:19.17
独自ViewにdrawLineで線を引いていて ボタンを配置しているViewよりしたに独自Viewを設置しているのにもかかわらずボタンの上にラインが引かれます 文字などは見えているので完全に上から引かれていると言うよりはボタンの背景が半透明になっているような感じです ボタンに先が引かれないようにするにはどうしたら良いでしょうか?
スクロールビューの中に、 ┌─────┐ │ .│ ├─────┤ │ .│ │ .│ └─────┘ こういうビューがあるとして、特定の条件が成立したとき ┌─────┐ │ .│ ├─────┤ │ .│ │ .│ ├─────┤ │ .│ └─────┘ こうしたいのですが、新しく追加された部分は、スクロールビューを下にしないと見えないようにしたいです。 どうやって実装すればいいのでしょうか? 予め、↓を作っておいて、デフォルトで3つめをGoneにしておく方法では、無理なようなのですが ┌─────┐ │ .│ ├─────┤ │ .│ │ .│ ├─────┤ │ .│ └─────┘
131 :
dev :2012/12/29(土) 02:39:58.18
>>130 いまいちよくわからんけどGoneじゃなくてinvisibleでやればいいのでは?
132 :
デフォルトの名無しさん :2012/12/29(土) 03:29:05.54
参考書見てるとレイアウトなどXMLファイルで作ってるのが多いんですが コードだけでレイアウトからすべてを書いている人っていますか? パーミッションの設定などは別にしますが。
基本的には 静的なレイアウト→xml 動的なレイアウト→コード でやって下さいね。とgoogle先生がおっしゃられられられらあれあれあれ
変な感じになってスマン。
レイアウトで横軸の中央に左端揃えしてビューを配置することはできますか? 普通にやったらビューの真ん中が中央にきますし、相対レイアウトだと親にするビューも存在しないので 非表示の細線ビューに無理やり左端揃えするくらいしか思いつきません
>>136 センターラインにTextView等を左端揃えしたいってことです
>>135 いろんなやり方があると思うけど
Relativeのgraviryをcenter_horizontal
その中にLinerで縦に並べても良いし、TextViewを直接置いてalignLeftで左の位置をそろえるのでもいいし。
>>137 変に短くまとめようとして、理解していない単語を使うな。
よくわからない長文を書いたと思ったら、次は一行でまとめてきてはじからそう書けよと思ったらかなり難解な文であった
まあ言葉に拘ったり、仕様どおりに書かないと相手にしなかったり、日本語かけとか長文うざいとか 結局のところ、自身が柔軟に対応できないのを人のせいにしてるだけだからね。そういう人達は。
144 :
デフォルトの名無しさん :2012/12/29(土) 19:18:52.98
馬鹿が質問して 馬鹿が回答するスレ
145 :
デフォルトの名無しさん :2012/12/29(土) 19:34:13.08
ICS以降の白いボタンが半透明な気がするんですが半透明じゃなくす方法はありませんか?
Android2.3以前でAlertDialogの外側をタップした時に ダイアログを閉じるようにできる?
148 :
デフォルトの名無しさん :2012/12/29(土) 19:53:47.61
アプリ公開して3日以上経ちますがGoogle Playの'最新'の枠に入ってないんですが やっぱり新しいアプリも多いから入らないことも多いですか?
150 :
デフォルトの名無しさん :2012/12/29(土) 20:29:18.79
WPFでいうところの DataGridのようなコントロールはありますか? Android2.3.3用(自分用)に作っています。
>>83 レス遅くなってすみません。
ありがとうございます
>>147 Cancelableだっけ?なんかプロパティがあるはず
cancelableはバックボタンを押した時にキャンセルするかどうか。ウィンドウの外側をタッチしてキャンセルはちょっと特殊なやり方だったはず
158 :
デフォルトの名無しさん :2012/12/30(日) 10:38:15.85
>>157 Android dialog 外 タッチ 閉じるとか
Android dialog outside touch close
で出てきた気がする
>>158 どうも
ググったらdispatchTouchEventを使う方法が
あったのでこれで出来そう
続けてレスして申し訳ないけど onSharedPreferenceChangedはプリファレンスにput/removeすると イベント捕捉するのに、clearだと捕捉してくれなくてはまった…
161 :
デフォルトの名無しさん :2012/12/30(日) 19:49:01.26
View型の継承クラスの型パラメーターを貰うジェネリクスクラスがあるとして、それを戻り値や仮引数に指定するとき <T extends View>と書くとコンパイルが通りません。 <T>なら通りますが。 何故なんでしょうか? クラスの定義に「型パラメーターはViewのサブクラスであること」という制限があるのに、 実際に、そのクラスを戻り値や引数で使用しようとしたら、「Viewのサブクラスであること」という制限ができないことにになります・・・。 public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_list_item); } public Sample<T extends View> method(Sample<T extends View> sample){ return sample; } class Sample<T extends View> private T view; } }
162 :
161 :2012/12/30(日) 20:04:12.83
Tだと通りません <?>なら通ります
文法が間違ってる public <T extends View> Sample<T> method(Sample<T> sample){ return sample; }
164 :
デフォルトの名無しさん :2012/12/30(日) 20:57:55.99
そういう書き方はじめてみたわ 型も継承できるんだ
アンドロイド端末開発の話はここでOK?
167 :
デフォルトの名無しさん :2012/12/30(日) 22:32:16.60
onTouchメソッドとかに渡されるviewのview.getId()から、そのviewのidの名前を取得するにはどうすればいいのでしょうか? R.id.hogeとあるときの「hoge」が欲しいんです。 getResource().getString(view.getId())では、falseが返ってきます
168 :
167 :2012/12/30(日) 23:14:14.77
getResourceName()でした
169 :
デフォルトの名無しさん :2012/12/31(月) 01:37:48.74
Javaちょっと使えてkindel fire hdが安いから買おうかなと思ってるんだけど kindle fire hd用のプログラムは普通のAndroid用のプログラムと違う風に作らないといけないの? android4.0で動くように作ればいいだけなのですか?
171 :
momo123 :2012/12/31(月) 07:19:58.22
こんにちは。レイアウトの仕方について質問があります。 xmlで要素を書いてJavaのクラスで要素を取得するときって、idを使うと思うのですが、 いくつかの要素をまとめて取得したいときのうまいやり方ってないでしょうか? (cssのclass属性にあたるようなものはなさそうです) style.xmlで複数の要素をまとめて指定できるそうですが、 xmlではなくてJavaでやりたいです。 (理由は、Javaで計算して文字サイズなどを指定したいからです) どなたかご存知の方がいれば教えていただけないでしょうか。 よろしくお願いします^^
どげんかしてsharp以外のスマホで赤外線を操作できんもんじゃろか 諦めけれん・・・諦めけれん・・・
>>172 apkデコンパイルして読めばいいんじゃね
捕まっても自己責任で
>>171 こんなんでいいんじゃない
int[] ids = { R.id.foo, R.id.bar, R.id.hoge, R.id.piyo };
for (int id: ids) {
TextView t = (TextView) findViewById(id);
t.setXxxXxxXxx( ........ );
}
キャッシュフォルダを作りたいのですが内部ストレージにする場合 ディレクトリのパスはどこになるのでしょうか? またSDカードにする場合、他のアプリからアクセスできないようにできるのでしょうか?
getCacheDir() できない
178 :
デフォルトの名無しさん :2012/12/31(月) 13:36:40.49
カメラアプリにインテントを渡して撮った画像を取得するってのはよくあるんだけど 今自分でカメラアプリを作ってて ツイッターとかで画像を上げるときに候補のアプリにだすまではわかるんだけど どうやってbitmapを返したらいいのかわかりません どこか解説しているサイトか、分かる方がいましたらお願いします。
Androidのソースコードをダウンロードしてきてカメラアプリのソースコードを呼んで 実際に何やってるのかを調べるのが一番確実
180 :
179 :2012/12/31(月) 14:19:19.58
× 呼んで ○ 読んで
181 :
momo123 :2012/12/31(月) 14:56:39.50
>>175 さん
ありがとうございます!!
そうすればできますですね。
やはりidはひとつひとつに振り当てないと無理そうですね。。
むしろ受け取る側だろ、Extrasとかに詰めるんだとは思うが
183 :
デフォルトの名無しさん :2012/12/31(月) 15:17:29.36
たしかに 読んでみます
画面遷移=アクティビティの切り替え まではわかったんですが どう切り替えるのか参考になるサイトないですか?
185 :
デフォルトの名無しさん :2013/01/01(火) 00:29:11.41
stratActivity(Activity)
>>185 intentを作ってActivityを新規でstartで立ち上げるって仕組みはわかっているんですが
それをどうやってボタンと関連つけるのかがわかりません‥‥
例えばbuttonがあった時にandroid:onclick="moveHoge"
とかを用意しておいて、Activity側で
public void moveHoge()
//前準備
startActivity(Activity)
みたいにやればいいんですか?
187 :
デフォルトの名無しさん :2013/01/01(火) 02:30:41.56
>>186 それでもいいし
buttonにIDつけて
((Button) findViewById(R.id.ID)).setOnClickListener(new OnClickListener(){
@overraid
public void OnClick(View v){
stratActivity(Activity);
}});(手書きだからあってるか微妙)
でもいい
AChartEngineを使って円グラフを表示させたいんですが、getPieChartViewはChartFactoryで未定義、と出ます あるページのサンプルソースをコピペしただけなんですがなぜでしょうか? ビルドパスは通ってると思います CategorySeries series = new CategorySeries(null); DefaultRenderer renderer = new DefaultRenderer(); (略) GraphicalView pie_chart = ChartFactory.getPieChartView(this, series, renderer); chart_area.addView(pie_chart);
>>189 APIレベルの話は書かれてない?
もしくはAndroidバージョンの話は
書かれていない?
>>190 参考サイトにってことですか?書かれてなかったです
>>172 しゃがう・・・しゃがうんや・・・
スマホ単独かスマホに常時つけられるほどのミニマムなIrDaアダプタじゃないと要件を満たせないんや・・・
>>174 それだと端末ごとに実装方法を調べて作り変える必要が出てくるやんやんとれヴぇるやん(´・ω・`)
196 :
775 :2013/01/01(火) 14:42:16.03
>>192 分かってて言ってるんだとは思うが…
android自体が赤外線通信にフレームワークレベルで対応してるってことと、どんなandroid端末でも(端末がサポートしてさえいれば)同じコードで制御できるってのは(ほぼ)同義でしょ?
で、現状androidは赤外線通信には対応してないわけで、そうなると同じコードで動かせるはずがない。
ここまで書いて思ったけど、そういう機種ごとの差を吸収するミドルウェア作ったら
>>192 の希望も満たせるし、程々に需要はある気がする。
まあ、結局大多数の機種でリバースエンジニアリング必須で凄い労力かかるので誰もやらないだろうけどw
まだgoogleにandroidで赤外線通信をサポートする要望出すほうが望みがある気がする。
万が一叶ったとしても、対応端末が普及するまでには年単位の時間がかかるだろうけどね…。
テレビのリモコンでも作るのか?
198 :
デフォルトの名無しさん :2013/01/01(火) 17:50:37.37
かなり基本的なことですけど、整理したいので教えてください。 Activitiy.findViewById()でインスタスが取得できるかどうかはどうやって決まるのでしょうか? 最初にsetContentView()でインスタス生成したものはActivitiy.findViewById()で取得できますが、 inflate()で追加したものは、inflate()の戻り値のViewのView.findViewById()でしか取れないんですか?
>>198 対象のViewがどこに存在するかでしょ、
inflate()で作ったやつもActivityにaddViewとかで追加してればActivity#findViewById()で見つかるよ
200 :
デフォルトの名無しさん :2013/01/01(火) 19:13:35.93
HashMapクラスは一つのキーに対して一つの値しか割り当てられないと思うのですが、 一つのキーに対して、複数の値を割り当てられるHashMapクラスのようなものはありますか? ご存知の方いらっしゃいましたら教えて下さい。お願いいたします。
HashMap<Key, Object[]>
203 :
200 :2013/01/01(火) 19:21:12.09
>>201 HashMap<Key, ArrayList<Value> >
とか、こんな感じで何とかするしかないのでしょうか?
他にもっと簡単な方法とかありますか?
IBMがtypedef代わりに使うのはよくないって書いてたけど class Bean extends ArrayList<Value> { } HashMap<Key, Bean > hash;
>>199 ありがとうございます。
inflate(レイアウトID, 親ViewGroup, true);
と
inflate(レイアウトID, null);
親ViewGroup.addView(レイアウトID)
って結局は同じことをしているんですか?
207 :
デフォルトの名無しさん :2013/01/01(火) 20:54:34.72
ホームに設置するウィジェットって、ウィジェット一覧から設置するのが普通ですが アプリ一覧からアクティビティを開いてそこで ボタンをおしたらウィジェット設置 とかってできますか?
一般には無理。標準のインテントはショートカットの作成のみ。 ホームアプリの方に手を入れられるんならもちろんできるが
209 :
デフォルトの名無しさん :2013/01/01(火) 21:02:24.86
ん、じゃあアプリ一覧にウィジェットのショートカットを 作ることは出来るってことでしょうか? 私がやりたいことは アプリ一覧にあるアイコンをタッチしたらそのアプリのウィジェットが ホームに配置されてほしいのですが それもムリでしょうか
そこはOSやフレームワークじゃなくて純粋にホームアプリの仕事なので何とも言えないが 一般的なホームアプリでは無理だと思う。
211 :
デフォルトの名無しさん :2013/01/01(火) 21:08:00.55
分かりました ありがとうございますm(_ _)m ウィジェットのアプリを出していて androidに不慣れだと思われる人が多くいるみたいで 説明も読まずに インストールしたのにアプリ一覧にない!インストールされてない!星1 とかがよくあるので困ってまして・・・ どうにかならんもんですかね(・ω・`)
>>211 ならランチャーから起動できるようにしといてメッセージ出せばいい
213 :
デフォルトの名無しさん :2013/01/01(火) 21:13:06.36
アプリ一覧からアクティビィ開かせてそこにメッセージを書いとくってことですかね それが無難かな ありがとうございます
ブロードキャストレシーバを継承した一つのクラスが受け取るブロードキャストインテントは、一つに限った方がいいのでしょうか? 一つのクラスで多くのブロードキャストインテントを受けようとすると、ちゃんと受けられないのが出てきました。
SocketIOを使うのにおすすめありますか?
216 :
デフォルトの名無しさん :2013/01/02(水) 01:18:55.37
2日くらい悩んでるので質問させて下さい。 リストビューを表示するだけの簡単なサンプルを 書籍からコピペして実行しているのですが、 LogCatに以下のようなエラーが繰り返し出て うまく実行できません。 対処方法を教えて下さい。 No valid entries found in bootclasspath '/system/framework/core.jar: /system/framework/bouncycastle.jar:/system/framework/ext.jar: /system/framework/framework.jar:/system/framework/android.policy.jar: /system/framework/services.jar:/system/framework/core-junit.jar'
217 :
デフォルトの名無しさん :2013/01/02(水) 01:45:50.69
218 :
デフォルトの名無しさん :2013/01/02(水) 02:09:07.45
219 :
デフォルトの名無しさん :2013/01/02(水) 02:13:17.57
>>214 受け取ったスレッドが処理し終えるまで次を受け取れないよ。
まあそんなことしてたらANRで怒られるから気付いてると思うけど。
serviceからwebview作成した場合flashを再生するとエラーでハングします。 activityだと正常に動作します。 serviceから作成した場合でもflashでハングしないようにする方法って無いでしょうか? java.lang.ClassCastException: android.app.Application at com.adobe.flashplayer.FlashPaintSurface.getBrowserActivity(FlashPaintSurface.java:555)
>>221 .,r‐--,,,_、
.゙l゙'i、 `゙''-,,,,,,,,,,,,,,,,,_
: ゙l `'i、.,r‐-、,,`'-,、 `''ー、_
゙l ,/゛ `゙''''ミッ、 ゙゙'''-,、
У `!ヽ、 ._,,i、 ,,,,,、
/ ゙r゙l, / ‘i、 { ゙i、
| ゙'i゙l ./ |, ゙l、 ゙l
| _,,,,_ .゙'},. | ,/ ゚i、 ゙l ゙l、
゙l ,r'"` `゙゙''',゙',lri、,,/ .゙l ゙l ヽ
│ .| .彳 ゚|″ | .| │
│ .ヽ_ _,,-° `i、 .| .,,゙l, .゙ケ'=ッ、
゙l, ,,,,,,、  ̄ ̄ .゙l,-'シ'',!.゙l ,/゜ ゙'i、 .}i、`.゙'i、
`'| `'i、 ,,,rン・'゙,,,-'i| .| .l、,,」 ゙= |
.゙ヽ, .゙!, i″ ゙''i, .l │ /" .゚┓ .|
‘'''l" ゙'-,,、゙l、 .,,「 | ゙l、 ゜ .|
゙l'-,、 `゙''゙‐'" ./ .ヽ .|
| ゙'ヽ,、 / '゙l .,ノ
′ .~'―--―ー¬''" ヽ-, |、
" .l゙
以後エセ関西人は完全放置の方向で
>>223 詳しくはわからないが、パッと考えた感じでは
Serviceは画面(view)をもたないバックグランドで動くものだから
画面(view)がないとwebviewは使えないんじゃないのと思った
Windowsでウインドウ表示してないのに、画面にWebサイト表示したいって言ってるような感じ
画面いらずに通信だけおこないたいならsoketとか他の通信方法使えばいいとおもうぜ
ま!もっと詳しい人をまったほうがよいよい
>>223 webviewを継承してDrawChild内でフラッシュのビューかチェックして弾くことで
ハングはしなくなりました。フラッシュはもちろん表示されないですが。
webviewを作成する時に渡すcontextは後で替れる方法ないでしょうか?
229 :
デフォルトの名無しさん :2013/01/02(水) 21:57:11.80
EditTextを押してもIMEを出さないようにするにはどうしたらいいですか?
android:editable="false"
231 :
デフォルトの名無しさん :2013/01/03(木) 02:25:03.02
>>220 遅くなりましたが、回答頂きありがとうございました。
処理時間が長いというわけではありませんでした。
BOOT_COMPLETEが取れてなかったのですが、Android3.1?からは一度も起動していないアプリへは、ブロードキャスト配信されないように変更となっていたのを知りませんでした。
一度起動させた後は正常に受け取ることができました。
初歩的な質問ですいません。 アクティビティA→アクティビティB という流れがあって、 Bを呼び出す時、startActivityで呼び出す場合の 戻ってくるメソッドは、onResume、 startActivityForResultで呼び出す場合の 戻ってくるメソッドは、onActivityResultで 合ってますか?
onResumeはどっちでも呼ばれる onActivityResultはstartActivityForResultで呼び出したときだけ呼ばれる
235 :
233 :2013/01/03(木) 12:23:40.74
アプリ完成してから開発者登録しようと思ってたら急激な円安 数百円とは言え、元が取れそうにないだけに微妙・・・w で、いつが登録するのに最適な時期ですかね? てか既に皆さんは登録済みですか?
Android4.1からのマルチユーザーで使用される プリファレンスファイルはユーザー別に存在しますか?
数百円のはした金が気になるくらいなら登録しないほうがいいと思うよ。 無料かつ広告なしアプリしか登録する気がない俺には、元を取るなんて概念がそもそもない。払い切りの手数料だと思ってる。
為替で気にするのは10万ドルぐらいからの両替でいいよw 1円の差で1万ドルで1000円、1000ドルで100円 25ドルだと数十円じゃね
1万ドルの場合 86円 -> 1万ドル=86万円 87円 -> 1万ドル=87万円 差 1万円 殿は本当に頭が悪うございますな。
FXとかやったら単位を読み違って爆死するんだろうなあ。
いやFXやってたからw 1万ドル=1万通貨単位でという話でさ あー一桁違ったねw 1円の差で1万ドルで1万円だったか
admobで為替に興味もってFXやりはじめるのもいいが 大抵大損して撤退する ソース俺w (admobじゃなくてアドセンスの方だけどね。昔はドルの小切手払いだった)
ListViewについて質問です。 Activityを継承したクラスのonCreateでsetContentViewし、ArrayAdapterにStringをaddしていき、最後にListViewにsetAdapterしています。 setOnItemClickListenerのonItemClick内ではGoogleMAP用のURIを作成しintentをstartActivityしているのですが、GoogleMAPアプリの起動と画面表示までは正常にいきますが、そこからバックキーで戻ると前のActivityが落ちてしまいます。 Android 2.3の実機では問題ないのですが、4.0の実機だと上記現象になります。 何か分かる方アドバイス頂けませんでしょうか。
4.0になってからは、書き方が悪くてやっちゃいけないことをすると、 きちんと例外を発生させて落とすようになった部分が多い。
去年の夏頃に2013年はi-Phone独走、Android死亡になりそうとか予想してたけど 海外では年末からi-Phone旧失速しはじめたようで、わからないもんだなーと思った i-Phone5の腐れ地図が思った以上に影響したようで~
>>248 iPhone失速が時間の問題ということくらい俺でも予想してたわ
作りが大衆迎合じゃないしな
パチンコガンダム駅はGoogleがじきじきに助け舟だしたから もう影響しないんじゃね?
元々限定的な影響だと思うけど
253 :
デフォルトの名無しさん :2013/01/04(金) 00:15:44.67
ActionModeにタイトルをつけたい時はどうしたらいいですか?
254 :
デフォルトの名無しさん :2013/01/04(金) 00:17:24.56
255 :
デフォルトの名無しさん :2013/01/04(金) 08:26:05.99
個人で作ることが出来ないアプリってどんなのがあるんでしょうか? ワンセグやお財布ケータイ関係は駄目ですよね? Root権限を取った端末なら何でも開発可能になりますか?
256 :
デフォルトの名無しさん :2013/01/04(金) 09:49:30.66
>>255 メーカーからAPIとか出てたらワンセグでもおサイフでもつくれる
257 :
デフォルトの名無しさん :2013/01/04(金) 10:48:33.59
何を作ったら、儲かりますか?
何作ったら儲かるか分かるなら頑張って自分で作ってるわ
おサイフケータイはあるんじゃないの
262 :
デフォルトの名無しさん :2013/01/04(金) 16:05:01.23
例外処理ってみなさんどうしてますか? Javaは一部の例外は処理強制 C#は自由 なんですけど、例外が起こる場合ってアプリの設計が悪いだけだから 例外処理は原則せず、既存ライブラリを使用して例外処理を強制されても中身は空 ただ、ユーザーの設定や操作次第で例外がおこりうる場合は 例外を拾うようにはしているんですけど、これでいいんですかね?
> 例外が起こる場合ってアプリの設計が悪いだけだから アプリの設計が悪いだけなのでしょうかね?
どんな操作をしても落ちずに正常に動けばいいよ
OAuthの認証で2.3の実機だと動くのに4.0だと強制終了になるのは 何が原因でしょうか? ログキャットではuristringがヌルポってでてます。 2.3では問題なく動くんですよね・・・
>>263 何が起きても仕様ですと書いておけばおk
そうしよう
268 :
デフォルトの名無しさん :2013/01/04(金) 17:40:14.60
>>263-264 例外の種類によっては、そもそも拾うことがおかしいってものありませんか?
配列の境界外
不正なキャスト
これは基本コーディングの中身がおかしいんだと思うんですよ
>>268 じゃあ
ファイル操作は?
インターネット通信タイムアウトは?
物によるんだってば
主シナリオ以外は例外にした方がすっきりする。自分で例外定義するようになるとわかってくる。
例外については、マ板の例外スレがpart7まで伸びてるくらい 各個人がぼくの考えた例外の正当な使い方を持ってるから、簡単には何が正しいかわかんないよ
>>268 だからそれらはRuntimeExceptionじゃん
自分のアカウント情報を取得するにはどうすればいいでしょうか? AccountManagerには全て or タイプ別しか情報が取れないようです。
エラー番号だけ出るようにしとけばボランティアデバッグスタッフが報告してくれるじゃん
>>272 横からで済まないがJava.io.IOExceptionはRuntimeを継承してないよな。
操作の結果に影響あるから必ず補足しとけってことだろ。
不要って人は、サポートしない言語使えばいいのにね。
IOExceptionはハードウェア絡みの例外もあり得るからなあ
277 :
デフォルトの名無しさん :2013/01/04(金) 22:17:31.56
FrameLayoutについて質問なのですが、 コードのほうで記述すう場合に private final int WC = ViewGroup.LayoutParams.WRAP_CONTENT; fl.addView(adView, new ViewGroup.LayoutParams(WC,WC)); とかのほかに BOTTOMの設定はどのように記述すればいいのでしょうか 調べてもなかなかみつからなくて、どなたかいらっしゃればお願いします。
278 :
デフォルトの名無しさん :2013/01/04(金) 22:28:27.90
>>275 Javaのチェック例外は失敗だと考えてる人は多いよ。少なくともAndroid作ったGoogleの中の人はそう。
基本的にAndroidのフレームワークは新規にチェック例外使ってない。
>>279 初心者には例外チェックを強制できていいと思うな。どうしたらコンパイルを通るようになるかしか考えてない奴ばかりだけど。
たしかにcatchした後のcloseの例外はうさいけど。pakage内の例外の基底クラスのIOExceptionがruntimeじゃないのが問題じゃないの。
チェック例外が何か知らんけど。
265だけど原因わかった 2.3からStrictModeがデフォでオンらしい メインスレッドでネットワーク処理とかやると駄目みたい はまったわー
>>280 例外なんて上の方でまとめてキャッチして対処すればいいんだよ。
どうせ下の方でキャッチしたところで再スローか握りつぶすかくらいしかやりようがない。
無駄に変更に弱いコードになるだけ。
>>282 おいおい、例外の載せ替えとかやってないのか?
他にもログ残したり、リトライしたりやることいくらでもあるだろ。
webとか単純なのなら、そういうのもあるかもだけど、androidでそれはちょっとな。
だからIOExceptionは事前にチェックしきれないんだってば
>>283 呼び出し先で発生した例外は常にその直上で処理してると自信を持って言える?
本当にその例外ラッピングは必要?
考えてみるとかなり無駄があるはずだよ
コンパイル時に漏れがないかチェックすること自体はいいアイデアだけど、直上でキャッチを強制するのはやりすぎ
そのために途中経路が汚れ、例外仕様の変更時に余計な修正箇所が増えて良くないっていうのが今の大勢
某キャリアの端末にプリインされるアプリを作るとき コーディング規約で、メソッド内を大きなtry-catchでくくって 上位にいかなる例外も投げちゃダメってのがあったわ…
>>285 常に? 応用の効かないやつだなぁ。
人にプログラム書かせる立場だと、とても便利。
288 :
237 :2013/01/05(土) 09:23:46.99
調べても出てこないし、エミュレータで確認したら 全アカウントで同じプリファレンスを参照してたから やっぱりユーザー共通なんだな…
>>285 直上でキャッチを強制するってどこに書いてあるんだ?
>>283 は
>>282 が下の方でcatchしても仕方ないという発言に対して下でcatchするといい場合の例を出してるだけに見えるけど
感情でレス内容捻じ曲げてないかい
290 :
デフォルトの名無しさん :2013/01/05(土) 15:16:30.41
初歩的な質問なのですが アクティビティとViewのクラスがあって Viewのクラスからアクティビティをfinish()したいのですが、できません どうやったらできるでしょうか・・・
291 :
デフォルトの名無しさん :2013/01/05(土) 15:34:30.27
後に同じ悩みで検索してここにたどり着いた人のためにも 解決したらどうやって解決したかを書いてくのがマナーだよ
自己解決糞野郎は社運賭けたプロジェクト納期1時間前に自分の担当箇所で致命的バグ見つけて 自力じゃどうしても解決できなくてネットで必死に同じ症例の解決方法を探して 納期5分前に何とか解決しているページがヒット、神にもすがる思いで開いたらそこには 「自己解決しました」 の一文、そのまま屋上で自己解決の4文字を恨みながら自分の人生を自己解決させる羽目になればいいんだよ
アプリ起業 iPhone C#まとめ Ver 1.5 http://tinyurl. com/9w97424
WebViewの表示をPNGでキャプチャーしてSDカードに保存 ↓ WebView#loadDataWithBaseURLで再表示 ってしてるんですが、再表示されたPNG画像の文字がゴツゴツしてやたらと画質劣化して表示されます。 PNG画像自体はきちんとした画質で保存されているので、描画の問題のような気がするんですが、 解決方法などご存知でしたら教えてください。
インテントでブラウザで表示させてOAuth認証が終わったら そのブラウザを閉じたいのですができますか? WebViewでOAuth認証するのはよろしくないみたいなので ブラウザをインテントで投げたんですが閉じる方法がわかりません
>>296 コールバックで自分のアプリに戻ってくるからとくに
閉じる必要ないと思うんだけど。
>>297 アプリには戻ってくるんですがブラウザが上のままなので
アクティビティを呼び戻すことで解決しました。
普通に使っててもブラウザはバックキーで終了しないから
アプリから終了なんてできませんよね
String hoge = "100+200"; String foo = "(100+200)/3"; などをカマすと、それぞれから以下が返ってくるような 関数はありますか?関数でなくとも、取得する方法などもあれば。 hoge → 300 foo → 100
301 :
デフォルトの名無しさん :2013/01/06(日) 03:29:42.91
xmlをあまり知らないんですがやはり覚えたほうがいいですか? コードは書けてxmlはパーミッションの許可を書けるだけなのですがxmlでできることはコードでも 全部できますか?
タグの整合性取れるんだったらあとはAndroidの知識のほうが必要
XML形式自体は10分あればわかる あとはAndroidのフレームワークが決めてること
304 :
デフォルトの名無しさん :2013/01/06(日) 10:33:52.25
アプリは海外に公開したほうがいいですか? その場合その国の言語に合わせてページを作ったりできるんですか? それとも日本語のままアプリもページも公開しているのでしょうか。
英語だけでいいよ 海外に公開するんなら最低限英語版は作れ
日本以外で公開する可能性があるなら、文字列リソースは英語を既定の言語として作って 日本語翻訳を付けるのがいい ストアの紹介文は言語別に複数書ける
つーか海外に公開したほうがいいかは製作者が考えることであって他人に判断は不可能だべ
ただしスクリーンショットは全言語共通・・・
309 :
デフォルトの名無しさん :2013/01/06(日) 11:07:58.38
翻訳サイトとかで訳すレベルじゃ作らないほうがいいですよね?
>>300 え、これって数式も解析して計算してくれんの?
まじで?
なわけない Rhinoでも組み込め
parseIntにコード埋め込めたらSQLインジェクションどころの話じゃないな 誇張抜きで世界が崩壊する
313 :
デフォルトの名無しさん :2013/01/06(日) 13:33:46.77
ListViewで listview.setSelection(100); とした後で、101番目の項目を「選択状態」にしたいのですが 可能でしょうか? やりたいこととしては、 ・SQLiteのDBをListViewに書いている ・ListViewの項目をタップして、内容を編集する ・編集完了後、ListViewを再描画する ・再描画後に、setSelection() で、更新した項目まで移動する ★更新した項目を注目させたい ★ListViewをタップなりスライドなりさせると フォーカスが外れて、「注目させたい」状態はなくなり 通常の背景になる 更新した直後だけ注目させたいです。 他の方法もあればご教授ください。
Checkable実装して、スクロール時にクリアするとか?
kxup.x0.com/img/50e93290.a1dc.jpg kxup.x0.com/img/50e932a1.a1e7.jpg 食材管理というアプリですが、画面のサイズにあわせて、折り返してアイコンを表示しています。 これはどうするんでしょうか。 linearlayoutとかTableLayoutだと、一行に表示するアイコンの個数は固定になりますよね。 検索すると、コードで画面のサイズを取得して動的に配置する方法が見つかるのですが、この このアプリは、UIは基本的なパーツの組み合わせで作っているようで、この部分だけ そんな凝った処理をしているとは思えません。 なにか簡単な方法があるのではないかと思うのですが。
GridViewじゃね?
>>316 ちょっとGridViewのサンプルを検索してざっと見てみましたけど、
あらかじめカラム数を指定して、一行のカラム数は固定っぽいです。
>>317 カラム数を画面サイズに応じて動的に変えればいい
カラムーチョ!
GridViewはカラムの幅を指定してカラムの数は自動っていう設定もできる
321 :
デフォルトの名無しさん :2013/01/06(日) 20:57:16.02
いままでなんとなくエミュレータでやってきたけど 実機でやったら快適すぎワロタwwww
322 :
313 :2013/01/06(日) 21:27:05.28
>>314 レスありがとうございます。
Checkable実装 とはどういうことでしょうか?
323 :
313 :2013/01/06(日) 21:37:56.69
>>314 すみません、そのままでしたね。
implements Checkable ですね。
ただし、上記を行ったう上でどのように
書いていけばいのかが分かりません。
324 :
デフォルトの名無しさん :2013/01/06(日) 22:09:44.90
>>320 検索したらそういう指定がありましたわ。
サンキュー。
android:columnWidth="90dp"
android:numColumns="auto_fit"
GridViewで1列目だけ高さを変えることができますか? 特定のセルだけ色を変えることができますか? 1つのセルに2行表示していますが、2行目だけ文字色を変えることができますか? いろいろ調べても分からないので教えてください(m_m)
できます
328 :
デフォルトの名無しさん :2013/01/07(月) 01:50:49.91
データベース関係の所があまり理解できないんですが がっつりsqlやったほうがいいですか? データベースのところって多くのアプリで利用しますよね?
>>328 Databaseはよく使うかもだけど、リレーショナルじゃないならPreferenceで十分じゃない?
GridViewってOSバージョン2系統は使えなかったんじゃまいか? 良く考えてから採用したほうが良いと思う
普通に1.X~4.Xまで使えますけど・・・
332 :
デフォルトの名無しさん :2013/01/07(月) 02:54:35.39
MediaRecorder.OutputFormatをDEFAULTに設定したらwavで保存されるって聞いて 試してみたが3gpでしか保存されない... wavで保存するにはどうしたらいいんでしょうか
プリファレンス画面で特定の項目をクリックして、 確認画面→プログレス画面→リスト画面の順に ダイアログを表示させたいきたいのですが、 どうやって処理を記述するのが良いでしょうか? 現在は下記の順序で処理させていますが、 何かすっきりしない処理順序にも見えます。 DialogPreferenceを継承したクラス内で (1)onCreateDialogView()で確認画面のViewを設定 (2)onDialogClosed()でOKボタンを押した時にAsyncTaskを実行 (3)AsyncTaskのonPreExecute()でProgressDialogを表示 (4)AsyncTaskのdoInBackgroundでリスト内容を取得 (5)AsyncTaskのonPostExecute()でProgressDialogを非表示した後に(4)で取得したリスト内容のAlertDialogを表示
334 :
デフォルトの名無しさん :2013/01/07(月) 17:48:34.41
ListViewで選択中の項目を取得する場合 OnItemSelectedListenerを使うと思いますが, ListViewで項目を選択後,別のタイミングで選択中の項目を取得する場合, ListView.getSelectedItemPosition()を使うと常に-1が帰ってきてしまいます. とても不自然な気がするのですがこれってそういうものなのですかね?
選択中っていう状態は項目を指で押してる間だけのことを指すので、そういうものです
336 :
デフォルトの名無しさん :2013/01/07(月) 18:08:41.44
>>335 ええ~っ
目から鱗が落ちました m(_ _)m
じゃあmultiple choiceなリストビューから選択中の項目リストはどうやって取得するんだと思って調べたら
getCheckedItemPosition(s)というのがあるのですね.
まさか"選択された項目"と"チェックされた項目"があるとは・・・
"フォーカス" を理解するがよろし
トラックボールとか付いてて選択状態にできる端末だとgetSelectedItemPosition()もちゃんとした位置を返すはず
339 :
326 :2013/01/07(月) 20:26:48.33
GridViewで2行目だけ文字色を変えるのはレイアウトのTextViewで文字色を指定して解決しましたが、以下については分かりません。 解決のヒントをいただけないでしょうか? ・GridViewで1列目だけ高さを変えたい。 ・特定のセルだけ色を変えたい。 ・特定のセルの1行目だけ文字色を変えたい。
× 1列目 ○ 1行目
BaseAdapter を継承した独自のアダプタクラスを作って getView で特定のセルの場合だけ色を変えたり高さを変えたレイアウトを返しそれ以外のセルは標準のレイアウトを返す
getViewで分岐処理して複数のレイアウトファイルを参照することにより 文字色もセルの高さも自由に変えられるようになりました。 ありがとうございました。
343 :
デフォルトの名無しさん :2013/01/08(火) 00:16:50.66
bottombarの高さってどうやって求めたらいいんですか?
>>343 ICSのナビゲーションバーのことだったら
dimensにnavigation_bar_heightもしくはnavigation_bar_height_landscapeがあるからそれで
データ保存/読み込みについて質問させて下さい。 現在、web上に置いてあるテキストデータ(*.dat)、画像データ(*.jpg)、音声データ(*.ogg)を アプリから通信で読み込み、それを内部領域に保存。 次回起動時は、webではなく内部データの方を読み込んで利用…というのを実装しようとしています。 テキストデータと画像データはそれぞれ、openFileInputとopenFileOutputを使用して、 問題なく実装する事が出来たのですが、oggファイルのみ、どのように内部領域に保存すれば良いか分からず困っています。 読み込みに関しては、恐らくMediaPlayerのパスをEnvironment.getExternalStorageDirectory().getPath()等で 読めばいいかなとは思っているのですが、アドバイス頂けると幸いです。
>>345 Fileオブジェクト自体は中身と関係ないだろう。
>>345 テキストや画像と同様に保存すればよいですが、
MediaPlayer で再生するとき実際に再生処理をするのは media_server という別プロセスなので、
別プロセスから読めるように openFileOutput の mode を MODE_WORLD_READABLE にします
348 :
デフォルトの名無しさん :2013/01/08(火) 16:05:07.66
>>344 どうやってアクセスしたらいいんでしょうか?
android.R.dimensにはありませんでした
>>348 Resources#getIdentifierで
350 :
デフォルトの名無しさん :2013/01/09(水) 01:39:27.35
ショートカット作った時に設定するアイコンは ブロードキャスト受けた側で保持してないと駄目?
352 :
345 :2013/01/09(水) 03:25:58.07
>>347 おかげさまで無事に保存・再生できました!
本当に助かりました。
Bitmapのoptionについて教えて下さい。 画像の拡大縮小を実現するために、Bitmapの読み込み時にinTargetDensityに値を指定して 実行端末に合わせたサイズで画像を読み込んでいます。 ただ、リソースに置いた画像を読み込む際に BitmapFactory.decodeResourceで上記をオプション指定すると問題なく設定したDensityで読めるのですが、 BitmapFactory.decodeStreamで本体メモリから読み込む場合や、 BitmapFactory.decodeByteArrayでバイトコードから生成した場合には、上記オプションを指定しても反映されません。 inTargetDensityはdrawableフォルダからの読み込みにしか適用されないのでしょうか? ちなみにcanvas#scaleを使用していないのは、描画速度が遅いためです。
inDensity も設定しないとだめなんじゃない
アプリから出る音だけを録音したいんですが、何か方法はあるでしょうか? MediaRecorderでは周辺の音も拾ってしまいます
スタジオ借りて。
ヘッドフォン端子
いいってことよ
PagerAdapterを継承してるクラスがあってメインのアクティビティから 現在のポジションを取得したいんですが非スタティックだと取得できなくて、 スタティックにするとgetItemPosition自体が使えなくなります。 どうやってアクセスすればいいでしょうか?
361 :
dev :2013/01/09(水) 19:01:17.42
>>360 getItemPosition使わんでもページ切替時にpositionをメインに保持しておけばいいのでは
>>361 getCurrentItemで取れました!
sonyウォークマンでandroidアプリ開発してる人居る?
いねぇよwww特殊すぎるだろww
開発環境を作ろうと思い、pleiadesをダウンロードしてファイルを開いてもeclipse.exeのファイルが無く、先に進めないです。 誰か教えて下さい。
367 :
353 :2013/01/10(木) 03:46:55.39
>>354 inScaled=trueにしてinDensityを設定してもダメでした。
Bitmapデコード時のピクセル密度の指定はリソースフォルダからのみ適用されるというような内容は
いくら探しても見つけきれなかったのですが、その可能性があるという事でしょうか?
AsyncTaskLoaderを使ったときloadInBackgroundの中の処理に 数値を渡したいのですがどのような方法がありますでしょうか?
自己解決しますた。 インスタンス化するときに引数を渡せました。
>>367 リソースから読み込む場合はdrawable-hdpiとかdrawable-xhdpiとかのフォルダから適切なやつを選んで読み込んでくれるけど、
ストリームやbytearrayから読み込む場合そんなことできるわけないのは当たり前。
GooglePlayで公開している有料のアプリをパッケージ名など買えて新しく作り直して有料アプリとして配布するときに 既存の購入者は無料でアプリを使用できるようにするようにしたいのですが、何か良い方法はありませんか?
372 :
デフォルトの名無しさん :2013/01/10(木) 12:08:24.45
>>371 古い方をprokeyにしてそれで認証するとか
373 :
デフォルトの名無しさん :2013/01/10(木) 23:17:16.05
shellコマンドを毎秒100くらい実行させたいんだけどどういう書き方したら早く実行できる?
シェルスクリプトでやれば
nohup &
377 :
デフォルトの名無しさん :2013/01/11(金) 00:00:12.58
XMLを使わずに、 public void onClick(View v){ if(v==imgbutton[1]){処理1;} else if(v==imgbutton[2]){処理2;} ↓↓100個くらい これをswitch文にしたいんですが、vがView型のため下の記述じゃエラーになります。 public void onClick(View v){ switch(v){ case imgbutton[1]:処理1; case imgbutton[2]:処理2; ↓↓100個くらい 何か方法はありますでしょうか?
378 :
デフォルトの名無しさん :2013/01/11(金) 00:02:57.88
>>374-376 input tap 500 500\nをforで回してるんだけどinput tap 500 500 & input tap 500 500 &…ってつなげて打てばいいの?
>>378 処理をバックグラウンドに送る ってのが真意かと
380 :
デフォルトの名無しさん :2013/01/11(金) 00:07:28.59
>>377 for(int i = 0;i<100;i++){
if(v == imagbutton[i]){
switch(i){
case 1:処理1;
...
}
break;
}
}
381 :
デフォルトの名無しさん :2013/01/11(金) 00:15:50.97
>>379 バックグラウンドでもいいんだけど早く実行させたい
連打系アプリで直接タッチすると10秒で130押せるのにコマンドだと30回くらいしか押せない
382 :
デフォルトの名無しさん :2013/01/11(金) 00:23:05.26
>>380 ありがとうございます
ただこういう形だと当たりを引くまで一から順番に判定することになりそうなので、
switchで当たりに飛べたらなぁと思ってまして、書き足りてなくてすみません。
自分なりに試行錯誤してたんですが、こんなふうにしたくて、
androidhacker.blog94.fc2.com/blog-entry-79.html
逆に
<Button
android:id="@+id/button1" ←←←←このidってのをコードで表現する方法ってありますか?
android:text="ボタン 1">
</Button>
384 :
デフォルトの名無しさん :2013/01/11(金) 00:33:10.40
>>377 public void onClick(View v) {
switch(v.getId()){
case imgbutton[1].getId():
case imgbutton[2].getId():
・・・
>>382 switchだって結局順番にあたっていく。
>>386 そうでもない、けど、100個程度じゃ有意な差も出ない
388 :
デフォルトの名無しさん :2013/01/11(金) 06:32:11.22
1行に対して複数の文字を表示するListViewを実装したいのですが、 ネットで調べてみるとBaseAdapterを継承したAdapterを作る場合と ArrayAdapterを継承したAdapterを作る場合の解説があって混乱しています。 両者の違いがよく分からないのですが、誰か解説してもらえませんか?
ここのひとに解脱は無理
ArrayAdapterはBaseAdapterのサブクラス
>>390 それは分かってるんですが、
両者の使い分けなど教えていただければ幸いです。
393 :
デフォルトの名無しさん :2013/01/11(金) 11:00:32.31
お前には聞いてねーよカス
>>389 まあ解脱はなかなか出来んよな、確かにw
>>391 それはわかってない、としか言いようがないw
BaseAdapterを継承したArrayAdapterで作るほうが楽チン
だけどそれじゃ機能が足りないよってときは
しかたなく自前でBaseAdapter継承して独自Adapterを作る
>>372 やっぱそういう形になりますかね
ありがとうございました
>>395 すべてbaseがいいよ
既存のはアダプターはすべて中途半端でサンプルくらいにしかつかえない
解説じゃなくて解脱なのかwww
プログラマーで 「この問題解決したくて2日間徹夜しちゃいました^^」 とかいう解脱したっぽい人、時々いるしな
Accessibility Services利用してアプリ作ってんだけど 最初にインストールした時にAccessibilityEventが何故か働かない ユーザー補助からもう一度ON/OFFすると正常に動くんだけどなんか問題あるのかな 実験用に超シンプルなつくりのアプリで試したけど結果同様。 ちなみに問題があったのはs3α本体。これは本体のバグと見ていいのか
>>399 最初にインストールしたときってインストール+ユーザー補助ONって意味?
もしそうなら俺の持ってる機種ではちゃんと動くけど
>>389 解脱
って、どうやって入力したの?
「かいせつ」ではもちろん、
「かいだつ」でも変換1回では出ないよね?
>>400 そうです。機種は何?
ちなみに2.3.3のxperia rayと4.1エミュ上では正常に動いた
404 :
デフォルトの名無しさん :2013/01/12(土) 19:25:54.57
>>403 2.3.3の007SHと4.1.1のtf700
この二つでは問題ないんだけどな
>>404 じゃあgalaxyが悪いくさいな
サムチョに問い合わせるわ
CookieManagerのsetCookieでクッキーを設定してるんですが 有効期限ってどうやって設定すればいいのでしょうか?
preferenceで質問です 任意のキーで値がまだ保存されてない場合に preferenceへ初期値を書き込みたいのですが 確認する為にはどうすればよいでしょうか? よろしくおねがいします
そんなこともわからないならやめた方がいいと思うの
>>407 中身がないかチェックして保存すればいいんじゃね?
端末からアプリのデータ削除すればいい とかそういう話?
>>409 任意キーに対して出来ることって
Boolean hogean = mPreference.getBoolean( "hoge", false);
取得しかメソッドないですよね?
>>411 >>409 Boolean hogean = mPreference.getBoolean( "hoge", null);
にしとけば
if(hogean == null)でいけない?
>>407 if(!preference.contains(key)){
preference.putXXX(key, value);
}
>>412 最初そうしてみたのですが
nullは代替値としては受け付けてくれませんでした
>>413 isやexistを気にしていて見落としていたようです
ありがとうございました
android4.0以降の機種だと画面を横向きにした場合は、dialogの横幅が目一杯まで広がりません… どうすれば良いですか?
>>416 android dialog 幅 でググれば直ぐ
staticメソッドの中でthisが使えません。 getDefaultSharedPreferences(this);使いたいんですがどうすればいでしょうか?
Contextとして渡せ static void aiueo(Context context) { getDefaultSharedPreferences(context); } aiueo(this);
アプリごとに保存されるcookieの場所ってプログラムで場所指定できないんですかね?
421 :
418 :2013/01/13(日) 11:18:34.26
>>402 じゃあ次の質問。
なぜ「げだつ」と入力したの?
>>402 ≠ 389
だとしても答えてほしい。
>>422 ちょっとセンスある間違え方だと思ったんだよ!
実際レスいっぱい付いたし満足
424 :
デフォルトの名無しさん :2013/01/13(日) 19:30:29.97
大便ありがとう
>>422 おまえ人のジョークに説明もとめるとか
人としてそういうことをしちゃだめだぞ
ジョークだったのか わかりにくい・・・ 回答ありがとう!優しいね!
アスペw
public static int wtf (String tag, String msg, Throwable tr) Logクラスにこんなんあってワラタ
xmlの文字列 android:defaultValue="" 内に @ を入れるとエラーに なっちゃうんだけどどう入力すればイイの? \@ とか %@ とか試してみたけどダメだった orz
431 :
デフォルトの名無しさん :2013/01/14(月) 21:40:05.43
Serviceってメインスレッドで実行されるから、画像処理を実行できるんですよね?
環境変えたのでAndroid SDK入れpath通したんですがSDK manegerを実行すると The AVD manager normally uses user's profile directory to store AVD files. However it failed to find the default profile directory. To fix this, please set the environment variavle ANDROID_SDK_HOME to a vaild path such as "%USERPROFILE%". というエラー文が出てしまいます。 これは環境変数に何を入れればいいのでしょうか?
BaseAdapterとArrayAdapterの違いが分からない人なんているのか 俺が説明してやろう って書こうと思ったけど遅すぎたようなので止めた
アクションバーを2.3に対応させるのと2.3はオプションメニューにするっていうやりかた どっちがいいんだろう?
android4.0のsdkを使うと、タイトル(actionbar?)にmenuボタンが表示されるんですが、画面下にmenuボタンを置く方法は無いでしょうか? 自分のアプリはタイトルを表示していない為、4.0sdkだとmenuボタンが消えてしまいます。。。 2.3のsdkを使った場合は、4.0の機種でも画面下にmenuボタン表示されるので、それと同じような事がしたいです。
>>435 無理
どうしてもって言うなら自分で独自にどうにかするしかない
でもユーザー観点からするとUIが独自って如何なものかと思う
JSONObjectでパースしてるんですけど パラメータがあるときとないときの取得でif文を使わないスマートな書き方ってありますでしょうか? 今は String hoge; if(hogeObject[i].has("hoge")) { hoge = hogeObject[i].getString("hoge"); } else { hoge = ""; } と書いてます。
hoge = hogeObject[i].has("hoge") ? hogeObject[i].getString("hoge") : ""; まあでも多少冗長でも自分が後で見て分かりやすいのが一番だけども
アプリ画面表示中に電源ボタンでスリープになり、再度電源ボタンを押した際に 復帰後の挙動がアプリによって違うことに関して教えてください。 要は、ユーザがアプリでの作業途中でスリープに陥ってもスリープ解除で 作業継続ができるようにしたいのですが、現状ではユーザがアプリを再起 動しないといけません。 ライフサイクルの挙動的には、電源ボタンでonDestroyが呼ばれてActivityは 終わってしまうので、スリープ復帰後に画面が残らないのは理解できるので すが、画面が残る(復帰している?)アプリもありますよね? 何か特別な処理を入れないといけないんでしょうか?
電源ボタンでonDestroyは普通呼ばれないが?
>>435 targetSdkVersionでなんとかできなかったっけ?
ListViewを使用したActivityで、メニュー押下でAlertDialogを出して、「追加」を押下してリストへデータをinsertした場合に、 ListViewの中身を更新する方法ってAsyncTaskでやるしかないの?
んなこたあ無いけど、更新や再取得に時間がかかるんだったら別スレッドでやった方が安全
447 :
デフォルトの名無しさん :2013/01/15(火) 21:44:53.80
>>442 普通、電源ボタンでonDestroyは呼ばれるので
電源ボタン→スリープ復帰で、画面が残らないはずですが
画面が残っているアプリがありますよね?(結構普通に)
なので、そうしたいんです・・
>>446 443じゃないけど。
ListViewで表示したいものが全部で100項目あって、
そのうち一画面に表示できるのが10項目とする。
ArrayAdapterの場合、最初から100個全部の配列を作って渡す。
各項目の表示方法は全部同じ。
これに対して、BaseAdapterを継承する場合、自分で各項目の
Viewを返すメソッドを実装するので、項目ごとに表示方法
(Viewの構造)を変えることも可能。
449 :
448 :2013/01/15(火) 22:34:16.19
続き。 あと、そのメソッドは実際に表示される分しか呼ばれない。 画面上に表示するのが10項目なら、最初は10回しか呼ばれない。 ので、データを最初から全部用意する必要がない。 さらに、スクロールすると新しい項目用のViewが必要だけど、 画面からはみ出て消える古い項目用のViewを(構造が同じなら) 再利用する仕組みがあって、うまく再利用されるように 気をつけて実装する必要がある。
>>449 ArrayAdapterでもgetViewでViewは好きに変えれるよ?
>>447 呼ばれません
必ず呼ばれるのはonPauseまで
BaseAdapterの一実装がArrayAdapter
フレームワーク側で用意はしてくれているけど
実装に不満があるなら自前で作ればいい
GalaxyNote2(SC-02E)でlogcatの「時刻」、「PID」、「タグ」が「?」になってしまうんだけどオレだけ? Kiesではちゃんと認識してるんだけどなぁ
453 :
デフォルトの名無しさん :2013/01/15(火) 23:34:16.43
スレッドBはスレッドAの終了を前提とする っていう場合、スレッドAとスレッドBのポインタ持たせるクラス作ってjoin()するしかないのでしょうか Androidには便利なライブラリが用意されていたりしませんか
>435 <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="10" /> のように、11を指定すれば、アプリは「え?ActionBar?なにそれ?」となるので、下に出る。
すまん、「11未満」を指定すれば、だ。
456 :
デフォルトの名無しさん :2013/01/16(水) 00:01:34.06
>>453 AとBのひとつのスレッドで実行しちゃダメなの?
逐次実行のExecutor作って突っ込めば順番に処理してくれるはず
458 :
デフォルトの名無しさん :2013/01/16(水) 00:07:35.41
>>456 それだとAはBの実行が確定するまでスタートできないことになるので・・・
>>457 やはりそれしかないんですかね
459 :
デフォルトの名無しさん :2013/01/16(水) 00:16:31.58
資源の解放ってどういうことなの? これやらないとヤバいことでもあるの?
android端末をiphoneに偽装するにはどうすればよいのでしょうか UAを変えるだけでは駄目でした。 googlechomeのctouchのように完全に偽装するにはUA以外に 何が足りないのでしょうか?
462 :
デフォルトの名無しさん :2013/01/16(水) 01:07:34.92
463 :
デフォルトの名無しさん :2013/01/16(水) 01:21:08.03
変数(float)を別クラスでインスタンス化→メソッドの戻り値で取得して それを代入した変数をメソッドの戻り値にしてさらに元のクラスで同じように取得すると数値が0.0になるのですが原因は何でしょうか
WebViewでFlashを表示させるプログラムを組んでます。 4.1環境で動かしたら真っ白で何も表示されなかったんで、 マニフェストのapplication内にandroid:hardwareAccelerated="true"を追加して対処しようと思ったんですが、 ビルドするとマニフェストに追記した内容が勝手に消えちゃって適応できなくて…… 開発環境はeclipseでAPIレベルは13で作業しています。 解決方法、誰か分かりますでしょうか……
4.1だともうFlash自体サポートされないんじゃ
アンドロイドプログラミング入門に良いサイト 有りましたら、教えてほしいです。
>>469 独自のViewなんですね
タブより画面占有しないので使えたら使いたかったのですが…
>>465 のタブのようなものを作ろうとすると”おすすめ”を押した場合と押された場合の画像を用意してさしかえるのですか?
eclipseで開発環境の準備してたんだけど、 インストールしたエミュレータを起動すると メモリ使用量100%で延々Androidの文字のアニメーションが表示されてる状態が続いてしまう。 これ待ってればいずれは表示が切り替わるかして落ち着くんでしょうか? (インストールや起動には成功してると仮定した場合) サンプルのHelloWorldの段階なので、eclipseからこれを実行した場合、 エミュレータの画面に表示されるはずだと思うんですが Androidのロゴの表示が続くばかりです。
PC買い換えろ 時間の無駄だ
>>472 i7のCPUでも結構時間かかるよ
実機検証がデフォ
>>473-474 ありがとうです。エミュレータが非常に重いということと、
本来はやはり、Androidのロゴから何らかの次の段階に代わって
その後でプログラムを実行できる状態になるってことかな?
ちょっと環境を代えて試してみますm(_ _)m
ホーム画面に登録されているショートカットの情報を列挙したいのですが、どのように取得すればよいのでしょうか?
それはホームアプリのみぞ知る情報かと
479 :
472 :2013/01/16(水) 19:30:38.88
apkファイル作成時に必要になる、keystoreについての質問なんですが、 hoge.keystore のファイルと、設定したパスさえわかれば 他のパソコンでもhoge.keystoreを使用してapkを作成し、アップデートも問題ないでしょうか?
>>436 >>454 サンクス
apiは14を使いたいんだよね
apiのlevelによっては、勝手に下に表示されるので、なにか方法があるかなと思ったけど無理みたいですね
自分でそれらしいメニューボタンを実装してみます。
Activityからホームにショートカットを作りたいのですが 調べた方法ではインストールされている全てのホームに配置されてしまいます 特定のホームを指定して配置するにはどうすればいいでしょうか?
484 :
dev :2013/01/16(水) 21:40:20.79
>>481 まったく問題ないよ
家と会社でやってる
485 :
dev :2013/01/16(水) 21:42:12.94
>>482 minとtargetを10にしていてもapi14は使えるよ
参照しているapiとこの指定は別物
>>465 ,470
GoglePlayアプリが何を使っているか知らないけど
android.support.v4.view.PagerTabStripがそれとそっくり
487 :
デフォルトの名無しさん :2013/01/16(水) 23:42:25.72
Android4.xでディスプレイサイズ取得する方法ってありませんか? 非公開api?ってのは一部で動かないのでこれ以外で取得する方法かshellで取得したいです (非公開api?) Display display = getWindowManager().getDefaultDisplay(); Method mGetRawH = Display.class.getMethod("getRawHeight"); Method mGetRawW = Display.class.getMethod("getRawWidth"); int w = (Integer) mGetRawW.invoke(display); int h = (Integer) mGetRawH.invoke(display);
>>484 ありがとうございます
これでようやくXPから卒業できます
>>483 そもそも各ホームアプリがどうやってショートカットを追加してるかを想像して(もしくは調べて)みれば、答えは分かるんじゃない?
出来る出来ないも含めて。
>>487 getWindow().getWindowManager().getDefaultDisplay().getWidth();
じゃだめなん?警告は出るけど4.0.3で一応取得出来るよ?
Canvasにポリゴンを表示させるにはどうすればいいんですか?
polygon 【名】 多角形 多角形は Canvas#drawPath で描けます
ポ♪ポ♪ポ♪ポ♪ポ♪ポ♪ポ♪ポリポリゴン♪ と♪て♪も♪か♪く♪か♪く♪ポリポリゴン♪ か♪ど♪に♪お♪ま♪ん♪ちょ♪コリコリあん♪
Androidアプリを個人で作ってもウイルス扱いされるだけで意味が無いようです もうやめましょう
自分で使う分だけ作ればいい
以下のを参考にしてメール送信を作りました
http://d.hatena.ne.jp/ttshrk/20110517/1305641955 問題なく動いたのですが、難読化のためproguardしたら動作しなくなりました orz
proguard-project.txt には、以下のようなものを入れているんですが
他に何かありますでしょうか?誰か教えて頂けないでしょうか?
-keep class javax.** {*;}
-keep class com.sun.** {*;}
-keep class myjava.** {*;}
-keep class org.apache.harmony.** {*;}
-keep public class Mail {*;}
-dontwarn java.awt.**
-dontwarn java.beans.Beans
-dontwarn javax.security.**
497 :
デフォルトの名無しさん :2013/01/17(木) 23:41:42.74
>>490 それだとnavigationbar?systembar?が計算されないです
onCreateをもう一度呼び出したいのですがどうすればいいですか?
なんでそんなことしたいのか分からん。
>>498 オン!クリエエエエエエエエエイトオオオオオオオオ!!!
と大声で叫ぶ
>>499 ・onCreateにたとえばListViewの項目をセットする処理を入れている
・動的な項目の追加、削除がしたくなった
・よーし、もう一度onCreate呼べばいいじゃん、俺って天才!!
・あるぇ、onCreateってどう呼べばいいの ← 今ここ
> たとえばListViewの項目をセットする処理 を新しい別のメソッドに切り出してonCreateと両方から呼べばいいと思うの
たしかに わざわざonCreateの意味がない
全部リセットしたいときとに使うとか
あはい
初歩的で済まないが、色々調べてもRelativeLayoutのイメージが掴めない つまりどういうことなんだってばよ
画面上の部品やRelativeLayout内に対して配置する部品がどの場所にいるか相対的に指定するもの
RelativeLayoutが一番使い勝手がいいから覚えるべき
510 :
デフォルトの名無しさん :2013/01/18(金) 22:09:50.49
初めて知ったwwww なにこれ自由自在やん
リレーは繋ぐだよね。まず画面上の四墨や真ん中にはボタン置けるでしょ、そこを 基点にボタンをくっつけて追加する、エクリプスのグラフィカルなエディタ向けのレイアウト。 俺的にはボタンでゲームパッド作るのに使ってるよ。
relative(相対的)はrelate(関係する)の形容詞で、relay(交代)と語源は別だと思う。
すいません。androidアプリの開発をしたいと思っているんですが、電話の契約はしたくありません。 iphoneとipod touchみたいな関係ってandroidスマホだったら何に相当しますか nexus7というのが売れてるようですが、これはちょっとスマホとは違いますよね
SIMフリー端末か中古を買え
Androidを使ったタブレットでも買え。
スマホぐらいのサイズのandroid
実機で確認しないと不安だろ?
>>513 実機は1万あればお釣りくるよ
最新の買うより、むしろ2.3とか入ってる型落ち品がいい
スペック低いのに合わせたら高いのも大体動くし
通販お勧め
問題は2.3と4.0では結構動作が変わる事がある点か そして今後は4.0が主流になっていく点か
EVO 3Dが安い
できれば2.3と4.0の2台あったほうがいいかも 無理なら4.0は実機で2.3はエミュでという方法も というのも4.0のエミュは重すぎる
みんな2.2以下は切った? そろそろあんなゴミ捨てていいよね
walkman いいよね もうちょっと安ければなぁ
525 :
デフォルトの名無しさん :2013/01/19(土) 14:22:28.97
>>513 白ロムのF-11Dオヌヌメ
4.0搭載で新品でも1万しない
俺はDTIのゴミSIM突っ込んで使ってるけど
話かわりますけど、カレンダーアプリ作りたいんですけど誰か相談に乗ってください。
>>525 ドコモの端末には疎くて良くわかんないけど、
SIMロックとかは無いのかな?
そのままDTI SIMで通話を除く全機能使えるの?
アンテナピクトも出ますか?
スレ違い
とりあえずソフマップでandroid4.0の入ったxperiaというのを買ってきた これで俺もandroidアプリで大金持ちだざまあw
MVNOはほとんどドコモのやつだし
>>526 Android なので通話以外問題なし
>>526 DTIとかiijはSIMロック解除は必要ないです。
ほとんどの機能は使えてると思います。
アンテナピクトっていうのはちょっと分かりません
>>530 Androidだからは関係ない
Softbankから出てる端末だと
SIMロック解除されてないと使えない
「前の月へ」ボタンが押された時にTEXTで入ってるdateカラムから現在日付前の月のデータ(今日で言うと2012-12-01~2012-12-31)が欲しいんだけど ↓のように「1か月前~今日」っていうのは取得できたのですが、ここからどう変更すればいいのかよくわからない。。レスお願いします。 "and julianday(playdate) between julianday(date(CURRENT_TIMESTAMP, 'localtime','-1 month')) and julianday(date(CURRENT_TIMESTAMP, 'localtime')) "
別アプリを終了させたいのですが、どのような命令を使うのでしょうか?
sqlite> select date(CURRENT_TIMESTAMP, 'localtime'); 2013-01-19 sqlite> select date(CURRENT_TIMESTAMP, 'localtime', 'start of month', '-1 month'); 2012-12-01 sqlite> select date(CURRENT_TIMESTAMP, 'localtime', 'start of month', '-1 day'); 2012-12-31 CURRENT_TIMESTAMPは変えとけよ
536 :
533 :2013/01/19(土) 18:35:12.03
>>535 ㌧クス! おかげで先へ進めるよ! マジで㌧クス!
内容はstartForegroundし、 その際のnotificationをクリックすれば このアプリを起動する形にしたいです。 そのうえでエラーが出て困っています。 最下位のstartforegroundの部分に赤線エラーで 「メソッドstartforegroundは InputMainActivityで未定義です」と出ます。 何が宜しくないでしょうか? ご示唆よろしくおねがいます。 onCreate内 Notification n = new Notification(); n.icon = R.drawable.ic_launcher; Intent i = new Intent(this, InputMainActivity.class);//第二引数のクラスはこのクラス。 PendingIntent pi = PendingIntent.getActivity(this, 0, i, 0); n.setLatestEventInfo(this, "test" ,"test",pi); startForeground(1,n);
startForeground は Activity じゃなく Service のメソッドなので Activity じゃなく Service の onCreate 内で使ってください
webページの表示法ということで onCreate にこれを記述しましたが
Intent intent = new Intent( Intent.ACTION_VIEW, Uri.parse("
http://www.yahoo.co.jp/ "));
startActivity(intent);
最初の実行では表示されず、wifi切るとweb自体は出てきます。
以降はwifiオンでbackキー終了の時は次回表示され、homeキー終了の時は表示されません。
確実に表示されるようにするにはどうすればいいですか?
よくゲームなどにある長いテキストが全て一斉にスクロールしてるのって通常のTextViewではできないですか?
542 :
デフォルトの名無しさん :2013/01/20(日) 19:19:44.91
543 :
デフォルトの名無しさん :2013/01/20(日) 20:08:10.53
javaでデスクトップアプリ(pcで動くやつ)をつくりたいのですが、将来androidに移植させる予定なので、guiをswingかSWTのどちらにするか悩んでます。 androidのguiはどっちに近いですか?
>>543 Javaでデスクトップアプリはやめとけ。
それから、スマホとデスクトップアプリなんてGUIが違いすぎるのでGUIの移植なんて考えるだけ無駄。
内部処理をGUIから分離しておいて共通化し、GUIは別個に作る。
Write once, run anywhereなんて嘘やったんや
mainが入ってるクラスで行数が多くなるので分割する場合 その中のメソッドを呼んだときはインスタンス化されないであってるでしょうか? またこういう風に使うのは一般的なんでしょうか? 例えば man.javaで呼ぶ public static void main(String[] args){ Hoge.hogehoge(); } Hoge.java public void hogehoge() { 処理 }
何がしたいんだ?Androidの質問なのか・・・? hogehogeメソッドは Hoge a = new Hoge(); a.hogehoge(); として呼ぶか、 public static void hogehoge() { } としてstaticメドッドにするか しないと呼べない。 っていうか、何が知りたいんだ?
>>546 Android以前の問題。Javaしっかり勉強してからAndroid開発しなよ。
あとここで聞く質問ではない。
549 :
デフォルトの名無しさん :2013/01/20(日) 22:46:49.76
OpenGL使ってゲーム作ってるんだけど、どうしてもスピード(GC)のことを考えるとstatic多用してしまう。 特にレンダラーの中ではメソッドを呼び出さないで見づらくなっても直に書いたり、 staticの配列を確保しておいて、汎用として使ったりどうしてもJavaらしくない書き方になる。 皆はどうしてる? やっぱこれからゲーム作りはNDK使ったほうがいいのかな。
スピードのことを考えると、っていうけど本当に計測したか? 速度に大きく影響するのなんて一般にコードのほんの一部だけだよ 綺麗に書いといて遅かったらボトルネックだけ直すようにすればそれほど汚くはならない
onOptionsItemSelected()内で Intentで外部呼ぶとmainやらサーフェスビューやらがしんで ポップで「予期せず停止しました」と出てしまうんですが このエラーをキャッチで受け取って出ないようにすることはできませんか?
552 :
デフォルトの名無しさん :2013/01/20(日) 23:26:39.58
>>550 4.0になってからGCの性能が上がったのか、それほど気にならなくなったけど、
TRIANGLRE_STRIPのスクエアデータ100以上処理して動かしてると、たまにカクカクするのが気になるんだよね。
もちろんGCで。
今はFPS58-60の間くらい、GCで引っかかるときFPS54位になる感じ。
共通で使えるメソッドはもちろん外に出してあるけど、ループで何度も呼ばれるところはさすがに汎用でできるものでも直書きしてる。
いろいろ試したいんだけど、何とか早くリリースしたいから取り合えずスピード優先の書き方になってるのは確かだけど。
ただ皆はどういう書き方してるのか、それがちゃんと実用でうまくいってるのか聞きたかったんだ。
>>543 ちゃんとMVCで作っていれば問題ない。ユーザ側のVはそれぞれで作り直すべき。
>>552 static多用は自分のアプリはいいかもしれんがいわゆるメモリ独占みたいな感じで
他のシステムやOSシステムが猛烈に不安定になるんじゃね?
ハードが不安定になるゲームなんて誰もやりたくないよ・・・
入門書はどれがいいんですか?
初歩的すぎて申し訳ないのですが教えて下さい。 下記のように書くと5秒wait(sleep)してから画像(imageview1)が表示されます。 画像が表示されてから5秒waitさせたい場合どう書けばいいのでしょうか? btn.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { switch (n){ case 1: imageView1.setVisibility(View.VISIBLE); try { Thread.sleep(5000); // 5秒待つ } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } break;
Indigo/ADT 20.0.3 → すべてのパースペクティブでウィンドウメニューにandroid関連が出る Juno/ADT 21.0.0 → JAVAパースペクティブのみでウィンドウメニューにandroid 関連が表示される なぜだろう。ほんの少し不便
androidタブレット自体に開発環境入れてandroidアプリ作製とかできるんですか
>>558 AIDEってアプリがあるよ。
日本語使えないけど…。
androidPC上のeclipseで開発してそのまま実行できるようになればいいのに てかそうなるとwindowsでVSでアプリ開発してるのと変わらねえな
ボタンを水平に隙間なく並べたいんですけどどうすればいいですか?
LinearLayoutを置き、android:orientationを"horizontal"にして、その中にボタンを並べる 隙間のないボタンの絵を描いて、並べたボタンの背景に貼る
marginってマイナスにはできないんだっけ? やった事ないから分からんww
relativeなら重ね可能
画像でやりたいなら9patchにweightつければいいだろ 通常のならweightだけでいけるし、簡単なデザインならXMLでカスタムできる
開発がもう少しで終わりそうだー 広告ってどこがいいかな? やっぱ工口だとクリック良さそうだよなぁ
568 :
デフォルトの名無しさん :2013/01/22(火) 01:36:03.59
実行中のスレッドから、別のスレッドにメッセージ送る方法って、 その別スレッドの参照を持つ以外は方法ないんですか? UIスレッドとサブスレッドがあって、サブスレッドからメインスレッドに特定の条件が成立したときに 通知させたいんですが・・・。 java.util.concurrentは使っています
フラグ立てろ
570 :
デフォルトの名無しさん :2013/01/22(火) 02:03:15.52
>>569 ありがとうございました
while (フラグ)
{
}
なんですね
メッセージキュー使うなり何なり方法はいくらでもある。
そんなレベルでjava.util.concurrentなんか使うな。意味ない。 スレッドセーフなクラス使えばスレッドセーフになるとか思ってるだろ? 大間違いだ。クラスがスレッドセーフかどうかなんてどうでもいいから使うとき必ずロックしろ。
>>550 >速度に大きく影響するのなんて一般にコードのほんの一部だけだよ
コードのほんの一部だけだけど何度も呼ばれる処理
それがGC
計測もしないで想像で言われてもねえw
フォルダ分けしたクラスはどのように参照するのでしょうか? 例えば MainActivity.java [hogeフォルダ]-hoge.java MainActivity.javaからhoge.javaを使いたいときなどです eclipseでフォルダ分けをしてもそこに関連づかないです
activityの挙動について質問です ActivityAからputExtraでデータhoge1を渡して起動させたActivityBがあるとします ActivityAをレジュームさせずに ActivityBを終了してhoge2を持たせてActivityBを再起動したいのですが どのようにしたらよいのでしょうか? ○ActivityA→ActivityB(hoge1)⇔ActivityB(hoge2) ×ActivityA→ActivityB(hoge1)→ActivityB(hoge2) ×ActivityA→ActivityB(hoge1)→ActivityA→ActivityB(hoge2) よろしくお願い致します。
Camera.open(int)はデバイスによってはブロックする可能性があるってAPIドキュメントに 書いてあるけど、どの実機がブロックするか知らない?
580 :
dev :2013/01/22(火) 13:53:59.11
>>567 admobのメディエーションで主要なとこ2,3入れておけば
あとから好きなようにできていいよ
581 :
dev :2013/01/22(火) 13:54:28.06
>>581 アクティビティ 再利用で検索してみましたが
どのような事を差すのかわかりませんでした…
finish()せずに初期化できるのでしょうか?
583 :
775 :2013/01/22(火) 15:52:02.20
>>579 ちなみにそれを知ってどうするつもりなの?
つまりどういうことです?
わからないです?
>>584 アホな質問するから質問で返されるんだよカス
こうやって馬鹿によって質問が流されるのを 何回も見てきたけど本当に可哀そうだよねぇ 答えられたら答えたいところだけど
>>579 いちいち1機種ずつ調べるのは現実的ではないから、どうするのが
現実的かと言うと「必ずブロックするもの」と仮定して作ること。
プログラム書く側の態度としては原則
>>589 が書いてくれた方法しかなくて。
そのためにはブロックする機種を知る必要はないわけで。
そんなことを敢えて聞いてるんだから何か理由があるんだろうと(ブロック時の挙動を実機で確認してみたいとか)、そう思って
>>579 と書いたんだけど。
結局579は何を聞きたかったのか分からずじまい?
逆に言えば理由聞く意味もそれに答える理由もないな
ブロックしない機種ってopenした直後には使えないってこと…?
open自体からしばらく戻ってこないんだろ。 戻ってきさえすれば直後だろうが使えるだろう。
Jsoup使ってるんですが メインメソッドでjsoupメソッドを呼び出すと画面真っ白で、eclipseのデバッグが起動します。 メソッドを呼びださなければ通常起動です。 どこが悪いのか、ご教授お願い致します。 public class クラス{ public String メソッド(){ String Url = hoge; String Table = null; try { Document doc = Jsoup.connect(Url).get(); if(boolean){ StatusTable = doc.getElementsByClass("fuga").text(); } } catch (IOException e) { Log.e("doc", "error"); } return Table; } ちなみに、try内でもcatch内でもlog.dは呼び出しされません。 続きます。
596 :
595 :2013/01/22(火) 20:07:24.17
Jsoup使ってるんですが メインメソッドでjsoupメソッドを呼び出すと画面真っ白で、eclipseのデバッグが起動します。 メソッドを呼びださなければ通常起動です。 どこが悪いのか、ご教授お願い致します。 下記が、上記メソッド実行時のeclipseデバッグの内容です。 スレッド [<1> main] (中断中 (例外 RuntimeException)) <VM はモニター情報を提供しません> ActivityThread.performLaunchActivity(ActivityThread$ActivityClientRecord, Intent) 行: 2194 ActivityThread.handleLaunchActivity(ActivityThread$ActivityClientRecord, Intent) 行: 2229 ActivityThread.access$600(ActivityThread, ActivityThread$ActivityClientRecord, Intent) 行: 139 ActivityThread$H.handleMessage(Message) 行: 1261 ActivityThread$H(Handler).dispatchMessage(Message) 行: 99 Looper.loop() 行: 154 ActivityThread.main(String[]) 行: 4945 Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) 行: 使用不可 [ネイティブ・メソッド] Method.invoke(Object, Object...) 行: 511 ZygoteInit$MethodAndArgsCaller.run() 行: 784 ZygoteInit.main(String[]) 行: 551 NativeStart.main(String[]) 行: 使用不可 [ネイティブ・メソッド] よろしくお願いいたします
597 :
デフォルトの名無しさん :2013/01/22(火) 20:09:45.44
◇ ミ ◇ ◇◇ / ̄| ◇◇ ◇◇ \ |__| ◇◇ 彡 O(,,゚Д゚) / ( P `O /彡#_|ミ\ 【ラッキーAA】 このAAを見た人はコピペでもいいので 10分以内に3つのスレへ貼り付けてください そうすれば14日後好きな人から告白されるわ宝くじは当たるわ 出世しまくるわ体の悪い所全部治るわでえらい事です
>>593 openはブロックしないけどstartPreviewでブロックするっていうのがあった覚えがある
ああそうだ、すまん。
要はopenもstartPreviewもブロックするものとして作れって事か
>>595 メインスレッドでネットワーク接続してるからかなあ
603 :
デフォルトの名無しさん :2013/01/22(火) 21:24:54.92
どのバージョンからかもどのapiからかも分からないけどyotubeのアプリで動画見るとsystembarが隠れるんだけどこれどういう機能かわかる人いる?
フルスクリーンじゃなくて?
>>603 setSystemUiVisibility
これは?
setSystemUiVisibilityもバージョンによって指定できるパラメータが違った気がする
607 :
579 :2013/01/22(火) 22:12:44.89
>>583 出張帰りで遅resスマソ
可能なら他部署から借りてくるなりしてプログラムテストの動作確認に使うつもり
NGならsleep入れるなりしてモジュールテストレベルの確認で済ませる
608 :
デフォルトの名無しさん :2013/01/22(火) 22:35:48.12
ボタンを画像にしてクリック押下されてる時にグローのような光る表現をさせたいのですが何か方法ありますか? イメージとしてはPowerampの再生ボタンみたいな
PaintにBlurMaskFilterかければグロー作れるから下に敷けばいいんじゃないか
610 :
デフォルトの名無しさん :2013/01/22(火) 23:36:50.67
2.2でスレッド作成は対応ですか?
1.0から作れます
いくつかアプリを作ってエミュで動かしてみた程度の初心者です。Android本体を持っていません センサーを使ったアプリのテスト用に実機が欲しくなったのですが、中古のAndroid携帯を買えばそのまま使えるのでしょうか それともSIMが入ってないとアプリのテストもできませんか? 上の方のログを読んだ感じでは、ものによってはSIM解除(?)とか必要なようにも見えますが…
SIMはいらんが開発用ならRoot取れてPCからシステム領域初期化できる機種を選んだ方がいいかも
中古で安い携帯だと昔のやつ選ぶ事になるだろうけど、昔のは最初SIM無いと動かないのあるよ ソフトバンクのやつは SIM挿して[設定]を「機内モード」にする必要せいのあるやつが結構多い。 機内モードにすればSIM抜いても動く。 機内モードにするまえにSIM抜いちゃうとロック画面から先進めなくなる。
ランチャーのアイコンをタップすると以前の状態が復元される。(他のアプリが起動される) 暗黙インテントなどで他のアプリを呼び出した後、再度自アプリのアイコンをタップして起動した場合に 以前インテントで呼び出した他のアプリが起動します。 アプリをアイコンから起動した際には必ず自分のアプリに戻りたいのですが(以前の状態は保持する)、どうすれば良いのでしょうか?
Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET とかたぶんそのへん
4coreとか、gcd無いと無理。
いつもお世話になっています! serviceのforegroundが起動中の時だけnew Threadを起動する方法ないでしょうか?
SDK16を入れた後eclipseでこのエラーが出て使用できなくなりました This Android SDK requires Android Developer Toolkit version 21.0.0 or above. Current version is 20.0.0.v201206242043-391819. Please update ADT to the latest version. 設定でSDKの場所を指定してもだめ、 ADTは既にver21が「入っているため更新できないと出ます eclipseとSDKをバックアップしてたのと総入れ替えしてもだめでした マイドキュメントをクリアしても同じです どこを直せばいいんでしょうか? ADTのフォルダはどこにありますか?
時間の無駄だからeclipseとSDK他、ばっさり消して最新を持ってきて入れりゃいい
eclipseとSDK消して入れ替えても症状が変わらないです windowsが壊れてるのだろうか…
624 :
デフォルトの名無しさん :2013/01/23(水) 14:24:19.84
質問です。 ググりながらやっている状態なので中途半端なこと言ったらすみません。 activity内でHttp通信で情報を取ってきます。 その情報をserviceへintent#putextraで渡します。 Serviceを呼びnotificationで上記putextraを表示しstartforegroundします。 疑問は、activityの通信を定期的に行いたい時にhttp通信の部分=activityは生き続けれるのか?ということです。 serviceを呼ぶことによって生き続けるのはserviceだけですよね? そう思うので、serviceにHttpメソッドを移したいのですが、findViewByIdなどを使うため、extend Activityでないと 都合が悪いのかエラーがでます。 http通信メソッドを活かし続けるにはどうすればいいのでしょうか?
Intent intent = new Intent( Intent.ACTION_VIEW, Uri.parse("
https://www.google.co.jp/ "));
startActivity(intent);
これでWebに飛べますが最初にどのブラウザで表示するかの選択が出てしまいます
表示させない方法はありますか?
628 :
デフォルトの名無しさん :2013/01/23(水) 17:15:57.38
>>626 Intent intent = new Intent("android.intent.action.VIEW", Uri.parse("http・・・"));
startActivity(intent);
これでブラウザ選ぶのがでなくていきなりWebにとんだけど、
>>626 の書き方でもWebに何も選ばなくて飛べた・・・
なんか他に要因があるんじゃない?俺も初心者だから分からんすまん・・・
そりゃ、httpに反応するアプリが複数無いならね。
画面のデザインでお勧めの書籍かサイトってある? 絵が下手すぎてボタンやテキストビュー並べただけの画面になってるんだがあまりにも試作品っぽくて・・・
>>624 それはAndroidやJAVAの話じゃないよね?
>>626 漠然としたインテント飛ばしてるから
>>630 レイアウトクックブックはどう?
すいません。ネットラジオをタイマー録音したいんですがそういうアプリはありますか。 音声を録音するやつしか見つからないんでえすが
633 :
デフォルトの名無しさん :2013/01/23(水) 19:05:51.44
ラジオなら音声だけでいいだろ
そうだね
いや、スマホ内部の音声じゃなくてマイクとかの外部音声を録音するやつしかないぽいんです
>>632 rtspやrtmp先探して保存するの作れば?
ネットラジオ機能同梱のやつじゃなくて 単に時間指定で端末内部の音をタイマー録画するやつがいいんですが
>638 >スマホ内部の音声じゃなくて 基地が以下
わからないならレスしないで下さい。うざいだけです
>>638 再生リダイレクトを拾うAPIなんてないから作れない
>>626 起動したいアプリが決まってるんだったらパッケージ名も指定する
まあバカにはムリだなw
_(:3」∠)_
>>625 サービス内に情報取るメソッドだけ移してactivity側で
レジュームと同時にbindとかでは無理ですか?
650 :
デフォルトの名無しさん :2013/01/23(水) 22:30:15.49
初歩的な質問ですいませんが スレッドって処理を平行して行うだけで、 全体の速度があがるわけじゃないんですよね?
使い方による
処理の速度があがるんじゃなくて処理が効率よくできる
653 :
デフォルトの名無しさん :2013/01/23(水) 22:47:36.74
なんか待ち時間とかあるとわけたほうが早いね(適当)
マルチコアなら一つの処理を速くできる場合もあるが 実際そういう処理は滅多にない。特にスマホではな。
複数のコアにきちんと処理を配分すれば、確実に全体の速度は向上する。
タスク並列でマルチコア使い切るのはかなり難しい。コーディングも煩雑で労力に見合わない。 データ並列は比較的簡単にスケールするけどスマホアプリでデータ並列やれるところってあるか?
AndroidのスレッドはUIを固まらせないためが一番多いとおもう
次に
>>656 そして656がわかるような人は、そもそも
>>650 みたいな質問はしない _(:3」∠)_
クラスに独自リスナー作って、 class ClassA { public interface MyListener { public void method(); } private MyListener listener; public void setListener(MyListener l){ listener = l; } ... } このリスナーをActivityにimplementsして、 a = new ClassA(); //aはフィールド a.setListener(this); ってやるとメモリリークする?
>>658 リークするかは知らないけど、Fragment#onAttach()とかもあるから大丈夫だとおもう
同じようなソースはいっぱい見た
マルチコアだったら htmlから画像のsrcを拾ってダウンロードする機能を作った場合 一つのスレッドで順番にやらせるよりコア数にあわせて複数のスレッドを作って分担させた方が早いのかな?
マルチコア関係なく複数スレッドのが早いと思うよ。
>>660 >>一つのスレッドで順番にやらせるよりコア数にあわせて複数のスレッドを作って分担させた方が早いのかな?
スレッドをコアに振り分ける事が任意にできるのか?
>>662 CPUをフルに使い切る処理ならスレッド数がコア数を越えると一般に遅くなる
でも
>>660 の場合はネットワークがボトルネックだからコア数は全く関係ない
いくつ同時ダウンロードしようがほとんどCPUは寝てるはず
>>663 >>スレッドをコアに振り分ける
そんな素晴らしい事をjavaVMはやってくれるの?
>>664 ネイティブスレッドだからDalvik関係なくLinuxカーネルの仕事
でも速くしたいなら並列化よりまずNDK使うのが先な気がするが
そこでGCDなんだよなぁ。
本物のJVMならネイティブコードとほとんど遜色ない速度が出るから JNI使うよりもマルチコアなら並列化した方がまず確実に速いんだが、Dalvikはなあ… コア使い切るのは可能でも古い端末やバッテリーを考えたらまずはJNIになるわな
AVDでマルチタッチを再現させたいんですが、どうにもうまくいきません。SDK最新にしたらハードウェアオプションの設定のデザインも変わってしまいました。 最新のSDKでマルチタッチを動かせた方いたらご教授ください。
>>664 空いているコアに処理を振り分けるだけで、
素晴らしいとかそんなご大層なものではなく、ただの基本機能。
マルチスレッドの恩恵というのは基本的には「I/Oウェイトタイムの隠蔽」なので、 ・I/Oウェイトが少ないかほとんどない処理のマルチスレッド化は効果が薄い ・相互依存性の高い処理のマルチスレッド化は効果がほとんど無い ただマルチスレッドにしただけで高速になると思っているなら、なぜそうするのか という原理の時点までさかのぼって勉強し直したほうがいい。
シングルコアならまあ間違いではないが マルチコアだと単純に演算能力をどこまで使えるかもある シングルスレッドじゃコア一つしか働けないもんな
マルチコアで速くなるようなCPUバウンドで並列化に適した処理って スマホでありそうなのは画像処理くらいしか思いつかないな OSによる描画は速くなったりするんだろうけどアプリには直接的にはほとんど恩恵ないね
Androidのカメラアプリでよくプレビュー画像を取得することが あると思います。 その際にcallbackを使って逐一、プレビュー画面を取得する メソッドを呼び出していますが、このcallbackの周期というのは 早く出来ないのでしょうか? このcallbackの周期は、やはり機種の性能に依存してしまうので しょうか? よろしくお願いします。
AdMobのバージョンと動作がバラバラでうまくいきません SDKとAdMobのバージョンのセットと、この解説ページの通りにやれば確実にうまくいくというのがあったら 教えてください
ESファイルエクスプローラなどでapkファイルを一覧したときに、ファイル名左のアイコンが、ドロイド君のものとアプリ独自のものがありますが、独自のものにするにはどこを設定すれば良いでしょうか?
アクティビティとかインテントとか複雑すぎじゃね googleの作った枠組みを覚えてその中でしか動けない感じでなんかやりづらいなあ iphoneもこんな感じなん?
678 :
658 :2013/01/24(木) 22:49:39.59
>>659 うん。同じようなソースが多数あるのはわかる。
でもstaticでない内部クラスや匿名クラスはリークするらしいけどよく使われてて、
よく見る=安全、ではないみたいなんで。
「内部クラス駄目っていちいち全部WeakReferenceとかやってらんねーべ、
とにかく使わなきゃいいなら全部implementsすりゃいいのか?」とおもったんだが
相互参照してることには変わりないしなー、と。
GCは循環参照でも正しく解放してくれる スタックか静的フィールドかJNIのハンドルから辿れないものはGCに殺られる
>>673 Camera.Parameters.getSupportedPreviewFpsRangeでサポートされている
レンジをsetPreiviewFpsRangeするのでは?
手持ち機種だと1レンジしかサポートされていないので変えた事は無いが
たまには答えれる質問ないかと見てみるが、ぜんぜんわかんない。 まだまだだぜ
>>613 ですが、回答ありがとうございました
適当にちょっと古いソフトバンク以外の端末買ってみます
>>677 甘いな。そんなの序の口。キャバクラでホステスにちょっと手を触れることができた程度だぜ。
さらに
Context、Widget、View、SurfaceView、Service、IntentService、Thread、Handle、AsyncTask
BroadcastReceiver、各種Listener
と先はまだまだ長いぞ
機種依存せずに一番下にボタンを配置ってどうやるの? Listviewの下に置きたいんだけど、listviewのピクセル指定じゃないようにしないと。。
687 :
デフォルトの名無しさん :2013/01/25(金) 08:18:47.80
日本語のファイルにアクセスしたい時ってどうしたらいいんでしょうか?
メンバーとスレッドの扱いに関してご教授ください。 ---------------------------- String str = null; //メンバ変数 メインスレッド{ aSyncTask実行 Toast.maketext(-,str,-); } aSyncTask{ httpパース処理; str=処理内容; } -------------------------- このような内容で、asynctask完了前にprintinされてしまうのでnullです。 結果的に同期させる内容なので、非同期なasynctaskにする必要ない?と思い、通常のメソッドに書き換えるとエラーが でました。UIスレッドでの通信はエラーのようです。 なんとか代入後のstrを表示する方法はないでしょうか? よろしくお願いいたします。
>>688 onPostExecute内でやらせるんじゃなくて?
詰まってます orz class TYPE_ABC { String str_a; String str_b; double a; double b; double c; int i; } List<TYPE_ABC> sABC = new ArrayList<TYPE_ABC>(); List<Integer> sINT = new ArrayList<Integer>(); outFile = new FileOutputStream(file); outObject = new ObjectOutputStream(outFile); outObject.writeObject(sABC);// IOException outObject.writeObject(sINT);// OK 誰かご教示してくれないかな...
implements Serializable
>>692 ありがとうございました m(_ _)m
>>692 ありがとうございました
書込みはちゃんと出来るようになりました
お手数ついでに出来ましたらもう1つお願いします
inpFile = new FileInputStream(file);
inpObject = new ObjectInputStream(inpFile);
sABC = (List<TYPE_ABC>)inpObject.readObject();
エラーは出ませんが読めません orz
SerializableじゃなくてParcelable使おうぜ
Parcelableって普通に自分で直列化を実装するだけだろ 意味ない
addPreferencesFromResourceとfindPreferenceが非奨励になってるんですけど これを使わずにどうやって設定画面を作ればいいでしょうか? ぐぐっても使ってるやり方しかみつかりません。 まだ使っても大丈夫なのかな? みんなどうしてる?
アクティビティのテンプレートに設定画面用のやつあるだろ あれベースにすればいい
>>692 読めなかった原因は他にありました
データ数を更新していなかったので読めてないように見えていただけでした
改めて,、ありがとうございました m(_ _)m
>>691 TYPE_ABCにserializableをimplementsして、serial_versionなんとかを宣言しては?
別の人が答えてたね すまん
AndroidというかEclipseのレイアウトエディッタの使い方になるのだけども… グラフィカルにボタンぽちぽち配置していく方の画面で 画面の下にスクロールする方法ってあるんですか? 例えばスクロールビュー配置した中に、縦に30個くらいボタン配置すると 1~10個くらいは画面に表示されるけど、20~30個は画面の下からはみ出て 表示されないので、画面みながら編集できなくて不便なんですよ… これ下のほうにスクロールできないんでしょうか?
使わないメソッド書いて呼ばなくても そのメソッドにエラー(APIバージョンによるからコンパイルは通る)があると止まるんだねえ はまったわー
俺思うんだけどさ、 320x240とかのサイズで画面を作っておいて、 実際に表示する際には、縦か横で最初にぶつかるまで等倍で拡大するって ことにしとけばもはや端末による解像度の違いとか考えなくていいと思うんだけど Android作った奴は馬鹿だなあ
>>705 出来ないんですね…。
UI設計見直しから考えてみます
助かりました。情報ありがとうございました。
>>706 iPadでiPhone用アプリを動かしてるところを見たことあるか?
あの頭悪い画面みたことがあれば間違ってもそんなことは言えないよw
>>707 一次情報以外を勧める人はいないし、二次情報を見るような習慣も基本的に付けないほうがいい。
main関数がないのが気持ち悪いなあ 作成したactivityをnewしてるやつは誰なんすか public static void mainはどこにあるんすか
main は ZygoteInit の中にあります Android のアプリはみんな起動済みの zygote から fork(2) したものなので main は呼ばれんのですよ
>>707 俺も重いが、我慢して見てる・・・
最近は右上の検索ボックスをよく使う
>>709 あれはわざとだろ。専用レイアウトにしないと受ける嫌がらせ。
質問させてください ホームにショートカットをつくりたいのですが ショートカットを作る際にIntent.putExtraで配列情報を持たせて そのショートカットから起動したときにActivityで取得したいと思います intやString単体ならちゃんと取得できるのですが配列やListを持たせるとnullが返ってきます Activity間ならちゃんと受け渡しはできてますが、この場合どのようにすれば受け取れるのでしょうか?
そっか、ありがとう 内容をStringで繋げればいけるってことかな 何で配列はできないようにした
TimerTaskってスレッドですか?
スレッドです。
>>707 sunのjavadocはDLして使ってたな。
Androidのリファレンスもダウンロードできるけど どのバージョンから使えるAPIなのかとか調べるのに結局サイト見てる気がする
>>721 関数名にマウス当てとけば大抵出るだろ。
PreferenceCategoryのtitleに英小文字を設定しても英大文字になってしまいます 考えられる原因、わかる方いませんか?
>>723 標準以外のフォント使用してないか?
そのフォントは小文字表現を表示できるのか?
725 :
723 :2013/01/26(土) 09:49:55.52
すいません、解決しました。 こちらの環境の問題でした
>>726 javaしか出来ない人には理解できないかな?
>>727 分かってるから笑われてるんだろ
それ以上マヌケを晒さないよう黙っとけ
>>728 javaしか出来ない人には理解できないかな?
プロシージャーと書かないととダメですか やっぱりw 回帰してる言葉もあるからいいかも ディレクトリ→フォルダ→ディレクトリ って戻ってるw
メッソドだろ
>>710 いや知らなかったクラスとかを使う時とかはまずここで調べてるから別に信用してないわけじゃないんだ
ただ少しだけ見たいときとかに固まってしまうのが・・・
>>721 本家のandoroidのリファレンスってダウンロードでるの?
ずっとwebでしか見れないと思ってたんだが
>>733 WEBサイトをまるごと保存できるブラウザのプラグインがある。
つーかそんなに重いか?世界中からアクセスあるっていっても全部テキストだぞ。
回線変えるか今使ってるPCを窓からぶん投げろ。
>>734 >WEBサイトをまるごと保存できるブラウザのプラグインがある。
そんなもん使うなよ
SDKManagerから落とせるだろ・・・
あのリファレンスの重さはネットやサーバーのせいじゃなくjavascriptのせいだからダウンロードしたやつ見ても重いよ javascript切れば劇的に軽くなる
俺も関数派だけどね。辞典で調べてもそっちのほうが筋通った説明だし。 クラスが推奨されてオブジェクト指向の流れになったとき メソッド?何それキモイ。また格好つけてわかりづらい横文字増やしやがって・・・ HtmlのFormSubmitにつけるmethodと被ってわかりづらいだろ!と当時は思ったもんだぜ。 名称の違いはMSとSUNの意地の張り合いなんだろうけどね 他にもクラス変数=メンバー変数、グローバル変数=パブリック変数、ローカル変数=プライベート変数 メンバー関数=内部関数=クラス関数とか他多数 いつの時代も企業の意地の張り合いにはこまったもんだわな
742 :
658 :2013/01/26(土) 19:11:16.18
>>679 そうなのかー。じゃあそんなに気にしなくていいのかな。
ありがとう。
グローバル変数とパブリック変数は全く違うだろ。。。
メソッドのイメージはクラスのインスタンスだな クラス内ファンクションはそのまま関数
わりとどうでもいいとは言いがたいがここで話すべき内容ではない
クラス変数とメンバ変数、ローカル変数とプライベート変数も別物だな
startserviceでforegroundしたnotificationがあるんですが、 再度startserviceしたときに落ちます。 落ちる理由は今から探すのですが、 この段階でnotificationが消えます。 activityのUIが消えてるのでactivityはkillされてると思うのですが、 foregroundもkillされてるとみていいのでしょうか? notificationだけが死んでるんでしょうか? foregroundだから死なない気がしてます!
draw9patch.bat から9patchを作っているけれど これって元画像の1ドットが Android画面だとめちゃくちゃ太いのな。 標準UIのButtonとかは 凄く細い線で描かれているのに 自前9patchだと(元画像の1ドットという最小単位でも) でかくなってしまって格好悪い。 こんなもんなのか?
749 :
デフォルトの名無しさん :2013/01/27(日) 00:20:51.20
>>747 Activityと離れてないServiceならServiceが強制終了した時まとめて落ちるよ
そしてアプリ自体が落ちた時、アプリが出していたNotificationは消える
752 :
デフォルトの名無しさん :2013/01/27(日) 01:12:34.05
ImageButtonを押すと画像が切り替わり、切り替わったImageButtonを押すと元の画像に戻る(要するにON-OFFを繰り返す) プログラムを組みたいのですが参考になるサイトなど教えてください state_pressed使ったら押してる間だけ切り替わっている状態になっちゃって・・・
>>740 こういうやつは関数型言語でも副作用ばりばりの汚い関数書いてそうだな。
>>752 トグルボタンにするか、
onclickで、別画像を表示するようにする
>>753 おあいにくさま、キミよりとっても綺麗なコードを書いておりまする~
>>755 あなたのコードは見てないけど俺もそう思う
javaしか出来ない人はコードすべてにおいて大雑把だと思う
色んな事に気を使えない
とりあえず動くようにeclipiseが誘導してくれるからな
>>751 あ、drawableフォルダ一択にしてる。
やってみます。
Android sdk rev21がSDK Managerに出てこなくて、rev.20のまま止まっています 環境はEclipse4.2 Mac OSX Lionです どうしたら21をダウンロードできるのでしょうか
Wifiに関する事で実現可能か否か不明な点があります。 Wifiに繋げた際に予め指定しているSSID以外のWifiのSSIDが検出された時 アプリを使用できなくするような事は可能でしょうか。(WifiのSSIDを予め読み取りif文で判定等) つまり、SSIDを指定しアプリの使用を制限することは可か不可か教えてもらえないでしょうか。 Wifiの情報のみで判断したいため、SSIDの精度を知りたいです。 初心者のため参考URL等もあると助かります、どうかよろしくお願いします。
最後の一行を見て、書く気が失せたわ
英語サイトとか出したら今度は英語読めないので日本語ページお願いします><になるな
これを貼れと言われた気がして。 電話サポートでのやりとり。 客「小学生でも判るように説明しろ!」 サポート「判りました。…ボク、お母さんと代わってくれるかな?」
http://developer.android.com/index.html 検索ボックスに「SSID」を入れて検索してみる。
WifiInfoというそれっぽいクラスにSSIDを取り出すメソッドがあることがわかる。
ではどこからアクティブなWifiInfoを取り出すか。
左のClassesにWifiManagerといういかにもなクラスがあるので、それを開いてみる。
getConnectionInfoというのがまさにアクティブなWifiInfoを返すらしい。
あとは実際に試してみる。
>>765 それで駄目だったから質問しにきたんですけど。
馬鹿には無理
>>759 とりあえず以下をためしてみれば。
・eclipse.exe -clean でキャッシュクリアしてからEclipse起動→ヘルプ→更新の確認
・SDK Manager→Tools→Optionsからキャッシュクリア
>>766 何をしたかも書かず「駄目だった」というようじゃ本当にプログラムは無理。
ちなみに、今30秒でテストコード書いてSSIDの取得には成功したが。
765の情報そのまま使って。
SSIDなんて好きなもの設定できる機器もあるのに、それで処理分けるなんて仕様考えたやつがおかしい
>>772 逆の方にとられちゃったかな?
あなたのコードは多分良いコードだろう って意味なんだけどね
>>774 ま、何にせよバグが少ないコードが一番なんだすけどね
CPUのスペックが桁違いにあがった今ではトリッキーなコードを書いても時間の違いは微々たるものだし
>>755 のように関数とメソッドとプロシージャを同一視するやつは使い分けが出来てないってことになる。
その辺りは難しいところですね...
でもString.format()の桁違いに遅い処理ははなんとかしてもらいたいな~
数値変換位 sprintf でもよくないかぃ おらくるさん
知ったかぶり乙
7 7 7
ジャバラーの中でチェックボタン等の二値の条件をファイルに保存する時にx0x????とかでandをとって書いてるヤツって何%いるのかな 素朴な疑問、C++なら当たり前だが...
Androidスレだからパフォーマンス敏感な人は多いのかな。業務系の仕事が多いからつい可読性にいっちゃう。
質問スレと関係ない主張はブログにでも書いとけよ。
いい加減、大人ならわかるよな?
>>2 が真理になってるぞ。
>>778 SharedPreferenceはbooleanそのまま入れられるから気にしたことがない
2.3以上対象のアプリなのですが4.1でテキスト編集のダイアログを出してテキスト選択など操作をすると表示されるコピーペーストのアクションバー(CAB)が暗くてアイコンが見えなくなってしまいます style.xmlでも2.3だからか弄れないようです 対処方法はありますか? (ダイアログを使わなければ明るいアクションバーになるのですがあまり変更したくないのです)
2.3ってアクションバーじゃないよね?
>>774 一体お前はIDの表示されないスレで何と戦ってんだ
一番アホだとおもうよ
>>786 お前は一体何を言っているんだ?
馬鹿なの?それともそれに気づいていない阿呆なの?
788 :
デフォルトの名無しさん :2013/01/28(月) 05:07:40.03
↑上手に釣れました~♪
java って面白いな class TYPE_DATA { inta, b, c; } public void job(TYPE_DATA data, boolean init) { if (init) data = new TYPE_DATA(); data.a = 1; data.b = 2; data.c = 3; }
↑なにこいつw
↑100m先右折
memset(&data, '\0', siziof(TYPE_DATA)); って簡単に出来ないからな
javaの言語仕様ではnewした領域のゼロクリアが 保証されてなかったっけ。
変数aの宣言してないっていうことじゃなくて?
797 :
760 :2013/01/28(月) 14:44:51.28
>>763 プロテクトではなく限定された範囲内で使用できる設定にしようとしてます.
>>765 こんな便利なサイトあったんですね...
ありがとうございます.
SSIDを取り出せました><
SSIDと一致したときのみ動かす設定を実現できたのですが
マルチSSID等、複数SSIDを設定できることから
もしかしたらSSIDを指定できる...?
全く同じSSIDが発行されることはないでしょうか?
>>771 変更隠蔽が可能な場合やはりSSIDでの認証は危険でしょうか?
SSIDはAP側で好きに設定出来るって言ってるじゃん
webviewで表示した物は勝手にキャッシュされるみたいだけど
そのキャシュに含まれてた画像をURLで指定して保存しようとすると
動作的にキャッシュの方から保存しにいってるのかな?
ただ、回線切断したら保存は失敗する。
おかしいのがあきらかにネットも繋がってURLも正しいのに保存ができないときがある。
キャシュの方から保存しにいってるのだとしたら
何かの動作でキャッシュのファイル名が変ってアクセスできなくなってるとか。
つまりその画像(
http://hoge.jp/hoge.jpg )はキャッシュにありアドレスは
キャッシュフォルダのhogehegeファイルというデータがあるのだが、
実際にはhogehege2ファイルという名前になってしまってアクセスに失敗する。
キャッシュを見に行く選択になったのでネットにはアクセスしない。
ゆえにネットも繋がってURLも正しいのに保存ができない。
この推理あってる?
>>796 class TYPE_DATA {
inta, b, c;
}
tab 使ったら int に a がくっついちゃったんですよ(笑)
int がtrue の時は下のようにしないとダメなんですよねぇ
public TYPE_DATA job(TYPE_DATA data, boolean init)
{
if (init) data = new TYPE_DATA();
data.a = 1;
data.b = 2;
data.c = 3;
return data;
}
>>800 >>int がtrue の時
init がtrue の時
バカにはムリw
>>800 そのメソッドが何をしたいのやらさっぱり。
根本的にJavaを理解してないようにしか見えない。
Android 4.0搭載でスマートフォンUIの端末でオススメってある? 自分のスマフォは2.3.6だけど買い換えたいのがまだ先だし 4.0にアップデートしちゃうと2.3がテストできないし… 一番古くてHD画面の白ロムはGALAXY NEXUSかな?でも3万位する… ソニーのウォークマンは4.0にアップデートできるけどWVGAでTegra2という割高感 みんなき開発専用機って持ってる?
>>803 保存はBufferedOutputStreamでurlはhttpを指定してます。
キャッシュフォルダを指定して保存しようとはしてないけど、
キャッシュから保存してるような雰囲気なんですよ。
そして何故か2.3では問題なく保存できてしまうという。
4.0から気を利かせすぎてキャッシュにあればキャッシュから保存
というような気がします。
>>806 今の実機を4.0にして安い2.3を買うとか。
今はまだ2.3と4.0の両方実機はあったほうがいいと思う。
そうでないと俺のように
>>799 >>807 みたいな違いに気づかないと思うw
>>804 いやいや こんなバグが出やすい言語だって事を言ってるのよ
だって、どこにバグがあるか理解出来なかった人もいるし、
そもそも
>>804 も オレが書くまでわからなかったわけだしね
(あえて)構造体のゼロセットも簡単に出来ない言語自体のバグともいえるけどね
ポインタが使えない言語のくせに参照(固定ポインタ)があるので、間違える人が出やすいって事
アンドロイドはC++/QTで開発できなかったっケ?
馬鹿になるプログラミング言語
>>808 例えばxperiaだとacroHD NXあたりから4.0にアップデート出来るけど
まだ一年も経ってなかったりして高い
2011年モデルだとほとんど4.0ないかも
>>810 補足として、
ここだったか他の2chだったか忘れたが、newした実体の場所がヒープだって書いてあったから試してみたのよ
ふるまいとしてはスタックだったんだけどね
肝心な所を隠している言語なので困るよね
>>806 L-01D Optimus LTE中古で1.3万位で買ったよ。
元は2.3だけど、SIMなしで4.0.4にアップデート可能。
>>814 メソッド内で宣言したらスタックじゃないの?
クラスの変数は自動で初期化されるしな
キャラクターの輪郭用意して、その上に目とか口の画像を置いて、目をクリックしたら目を瞑るアクションをさせたいと思ってるんだけど、目の位置が解像度や画面サイズによってどうしてもずれてしまいます。 コード上で上手く画像を設置するにはどうしたらいいですか? dpi設定しても画面サイズが異なるとずれるんだが。
画面サイズから倍率出したらいいんじゃね? 基準サイズから画面が2倍になったら座標も2倍にしたらいい
位置をdipで指定しないで 目の位置に来るまでのサイズの画像にすれば 目 目 ↓ 上部 透明 目 目
xperia acro HDオヌヌメ。 中古相場15000~2000弱くらい。
>>807 あれ?勘違いしてたか?
HttpURLConnection→BufferedOutputStreamって流れっぽいな。
これも同様にキャッシュ制御必要だけどさ。
×2000 ○20000
カスタムビューのonTouchEventでGestureDEtectorにディスパッチしてスクロール処理しようとしています onTouchEventはくるんですがonScrollが通知されません 試しにアクティビティのonTouchEventからビューのonTouchEventを直接呼んでやると問題なく動作しました 何が問題なのかヒントいただけないでしょうか?
ACTION_DOWNの時true返すとか?
evo3dでいいよ
よくあるサンプルだからシンプルな構造なら特に躓くことはないと思うんだが。 カスタムビューの親子関係が複雑な入れ子構造になってたりしないか? ソースもなし、ビューの詳しい構造もなしでヒントよこせってエスパーじゃねーんだぞ。
799だけど自己解決しますた NetworkOnMainThreadException だから2.3では問題なかったわけだ 4.0では逆にキャッシュになかったものをネットワークでアクセスしに行ったから 保存できる場合とできない場合があったということなのかもしれない
>>817 スタックだとGCの作業量が増えるからヒープに確保するみたいだね
>>789 ちなみにこれがバグコードじゃなく正常に動作するケースがあるのよね ※コードはそのままで
>>804 にわかるかな?
>>805 はどうだろう?
仕様が自分の理解と違う≠バグ
Java初心者講座はよそでやれよ
AsyncTaskLoaderを2つ使いたいのですが クラスは別にしても2つ目が動きません どこを変えればいいのでしょうか?
>>839 executeじゃなくてexecuteOnExecuterを使う、但し2.xだと使えないので注意
久しぶりにゲームアプリ作ろうとemo-framework弄ってみたら 4系には対応してないようで動かなかった オススメのフリーのゲーム用フレームワークってなにかありますか?
すっかりUnityかWebView一色になってしまって、その手のはほぼ死滅しちゃったね cocos2dxくらいか
Googleプレイストアでのコピー防止アプリについて確認させてください。 ブロードキャストのACTION_PACKAGE_ADDEDイベントでインストールされたapkファイルの情報(MD5)を取得することをしたいのですが、 コピー防止の場合はapkファイルのアクセス権が無いので無理ですよね? (テストしてたら稀に取得できずに、AppMonstaerで確認したら Protectの表示があったのでそうかと思っています) もう一つ、このコピー防止はアプリ作成者がGoogleストアに登録するときに設定で付加するのですか?
845 :
デフォルトの名無しさん :2013/01/29(火) 20:53:21.81
電話について下記のアプリを作りたいんですけど参考になるサイトありますか? 検索したけどなかなか見つけられなくて。 それかAPIを教えていただければ調べます。 1 ダイアルアップ(これは見つけた) 2 電話を切る。 3 着信があったらオフフックする。 4 アンテナの受信感度を取得する。
AsyncTaskを継承しているクラスでcontextを使いたいのですが受け取り方がわかりません。 メインからexecuteで渡せるのはstringのパラメーターだけのようです。 もしくはonPostExecuteのresultをメインに渡したいのですが これもやり方がわかりません。 どうすればいいでしょうか?
>>842 ありがとーございます
やっぱメジャーどころが一番いいですかね
849 :
デフォルトの名無しさん :2013/01/29(火) 21:34:19.51
VideoViewで、setMediaControllerが使えないです。 出てくるが、操作が出来ない。
>>847 よくわからんがコンストラクタの引数として渡すんじゃダメかな
851 :
デフォルトの名無しさん :2013/01/29(火) 22:02:04.70
ListView listview に listview.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // TODO Auto-generated method stub } }); を定義したら、ここでNullPointerExceptionが起きるんだけどなぜ? 特にこの部分を編集していない状態でいきなり例外はくようになった。 setOnItemClickListenerを定義するところで例外が発生していることを確認して、 該当部分をコメントアウトしたら、例外は出ない。当然だが。 で、↑にあるようにもういっかいsetOnItemClickListener を書いたら そこでぬるぽ。何が起きてるんだ?
なぜか listview が null になっていた。 レイアウトファイル上でListViewのIDを(内容は変えずに)更新したら ちゃんと findViewbyIdで取れるように戻った。 なにこれ。
listviewがnullなんだろ。 listview = (ListView)findViewById~とか listview = new ListView~とか ちゃんと入ってる?
例外の内容みりゃある程度原因推測できそうなものだけどな・・・
>>854 コード修正時のコンパイル、ビルドのタイミングによって、R.javaが再構築されてそうなる場合がある。
挙動がおかしかったら、プロジェクト→クリーンでプロジェクトをリビルドしとけ。eclipseの場合な。
859 :
854 :2013/01/29(火) 22:39:35.53
>>855-856 , 858
レスありがとう。
eclipse使ってるよ。
今後はもっとちゃんとデバッグしてから来ます。
860 :
デフォルトの名無しさん :2013/01/29(火) 22:44:37.04
getViewでLayoutParamsで高さ設定したらいけるんじゃまいか
862 :
860 :2013/01/29(火) 23:17:18.91
>>861 AbsListView.LayoutParams
でいけた。
>>860 できる。今やったらできた。
すでに解決してるかもしれんけど。
864 :
860 :2013/01/29(火) 23:26:04.53
>>863 レスありがとう。
HightとかMinHeightを指定しても
高さが変わらなかったから、方法が無いのかなと思ったんだ。
LayoutParamsを設定するときは設定するViewのLayoutParamsじゃなくて 親のViewGroupのLayoutParamsを設定する
866 :
dev :2013/01/30(水) 00:13:15.28
>>860 simple_list_item_checkedなんてのはsdkのリソースにある
res/layout/simple_list_item_checked.xmlを使ってるだけだよ
これコピーして好きなように変えてもいいんだぜ
Androidアプリってどのサイトに載ったら売り上げが飛躍的に上がるの?
スレタイを10000回読んでこい
869 :
デフォルトの名無しさん :2013/01/30(水) 01:05:27.22
ゴメン面倒くさいからここで聞いてみた。 Android開発者の交流スレとかありゃあよかったんだが。
>>869 Android友の会
スタックオーバーフロー
871 :
デフォルトの名無しさん :2013/01/30(水) 01:13:05.50
あざっす
Google Maps API Key の発行手順が変わっているみたいなんですがどうすれば取得できるでしょう?
874 :
デフォルトの名無しさん :2013/01/30(水) 02:07:19.86
プログラミングとは関係ないのですが個人で作ったアプリって あまりGooglePlayの最新の枠に掲載されませんよね。 みなさんどういった方法で宣伝していますか? 自分はレビュー依頼とプレスリリースを申込みましたが全然インストール数が上がりません。
>>873 知ってるけど教えてあげな~いw
ぐぐると一応出てくるよ
>>874 完全に反響営業状態で宣伝とかしてない
結構ツイッターとかブログ利用するといいかもね
>>874 自分とお友達で捨松をやる
そんな事をしなくても、良質のアプリならいつかは芽が出るはず
スレタイ読めないのか?
>>872 が読めないのか?
雑談したいならここはお前らが来るところじゃねーよ。
FragmentAからFragmentBのメソッドを直ぐに動かしたい場合は FragmentA→Activity→FragmentB このようにアクティビティをはさむしかないのでしょうか?
>>878 findByなんちゃらでFragment探せば?
880 :
878 :2013/01/30(水) 13:37:49.88
>>879 FragmentPagerAdapterから動的にFragmentを追加していますが
public Fragment getItem(int i) {
Fragment fragment = new HogeFragment();
~・~
return fragment;
}
Idを付与するメソッドがないので
findFragmentById()が使えません…
>>877 ほとんど雑談レベルの内容だがな
別にいいじゃん こんな所で解決出来る事なんかほとんどないんだし
>>881 バッググラウンドで破棄されたりするので間に一枚噛んだ方がいいみたいですね
ViewPagerで追加された動的なFragmentは、こんな感じで参照するのですね
ViewPager pager = (ViewPager) getActivity().findViewById(R.id.pager);
MyPagerAdapter adapter = (MyPagerAdapter) pager.getAdapter();
MyFragment f = (MyFragment) adapter.instantiateItem(pager, targetPostion);
f.method();
2.xではメニューボタンが付いてるのでいいのですが 4.xでアプリAではメニューキーが出るのにアプリBではメニューキーが表示されません 明確にメニューキーが出るようにさせる記述とかありますか?
>>880 なんかしらんけどそういうときってたぶん、見つけてもらう必要があるFragment自身で「今生きてますよ」とリストに自分を登録して検索できるようにするか、LocalBroadcastManagerなど使ってやりとりしたほうがいいと思う。
今回それが適当かどうかわからんけど。
>>877 そのまま返してあげよう
「スレタイ読めないのか?
>>872 が読めないのか?
雑談したいならここはお前らが来るところじゃねーよ。」
俺はスレタイ読めない気にしない人なので
キミの気に食わない発言をこれからも沢山し続けると思うよ
自由に利用してるからね
そのまま返して何がしたいんだろうと思った
2chは憂さ晴らし・雑談をする所
嫌なら自分でカネ出して3chでも造れよ
>>877
スルー力の無いやつがいると、こういうのが居着いついちゃうのよね
service内でnotificationのサウンドやバイブを支持するのもUI操作でhandlerが必要って認識でよろしいですか?
すみません。service内のタイマータスク内からnotificationプロパティをいじる場合にでした。
なんでそう思うのか不思議でならない
service内で、定期的にnotification内容を変えて表示するようにしたいんですが、その時の構造が service{ timertask実行 } timertask(){ notification設定{ }} なんですが、このnotificationがエラーになってます。 nullなんで半信半疑なので、こう思ってみました。
nullなのが原因であってUIスレッドから操作したのが原因ではないよね?
>>895 serviceからnotificationは生成、設定できる
というか、notificationを作ってforegroundに設定し、serviceが殺されにくくなるようにすることも多い
質問内容じゃ、何がしたいのかイマイチわからんが、過去に生成したnotificationのインスタンスを使いまわそうとしてない?
notificationを更新するときも、新しいインスタンス作ってみては?
>>897 自己レス
正確には間違ってるね
notificationに登録するpendingintentの使いまわしがまずかったんだったかな?
なんか、その辺をみなおしたらどうだろう
Notificationの更新って表示時に使ったidでupdateかけるんだよね? なんでnullになっちゃうんだ
>>891 まったくその通り!!
API Key取得のやりかた教えてくれる人まだ出てきてないんだなww
可哀想だからあと3日しても見つけられないようなら教えてやろうかな?
気分がのってたらねww
なんでそんなことしたいのか書いた方がいいよ やりたいことは別の方法で実現できることもあるから
903 :
895 :2013/01/30(水) 21:53:21.95
>>898 ありがとうございます。さすがっす。使いまわしてるっす。
再度初期化してみて、また報告します。
904 :
895 :2013/01/30(水) 22:05:24.02
ありがとうございます
>>895 解決です。
実際のところ、foregroundでやっているわけですが、更新メソッド内にnotificationのメソッド再生成で可能でした。
pendingintentはやり直さなくて大丈夫のようです。
同じ内容をプログラマー板にかいてしまいましたが向こうのは無視してください このエラーって何が原因ですか? java.lang.NullPointerException at android.widget.AbsListView.trackMotionScroll(AbsListView.java:4063) at android.widget.AbsListView$FlingRunnable.run(AbsListView.java:3568) at android.os.Handler.handleCallback(Handler.java:587) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:130) at android.app.ActivityThread.main(ActivityThread.java:3753) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:507) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:844) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602) at dalvik.system.NativeStart.main(Native Method)
なぜにtrackMotionScroll
>>906 わからないです
そんな関数使った覚えも無いです
そのエラーはNullPointerExceptionが原因です
該当バージョンのソースでも落としてその行見てみたら?
たぶんデベコンに上がってきたバグなんだろう ListView使ってる部分のソースを見なおしてはいかがかな
たぶんgetViewの中だな。 convertViewが再利用の時にnullになってると予想。
>>910 listviewを何個も使っているのでせめてどのクラスかわからないと厳しいです
つーか自分で怪しいとこにログ出力メソッド書いてみりゃいいやん
TimePickerの24時間指定ってxmlからじゃできないの?
ListView自身のフリック処理の部分だからフレームワークのソース見た方が良いよ
>>915 ということは
listview内のフリックイベントがエラーを出すような処理をしてしまってると言うことであってますか?
>>917 それはスタックトレース見れば大体予想がつくものでしょ
でも何が原因で例外が起こってるかまでは分からないからソースを見ろと言ってるの
OSのバージョン分からんし、メーカーのカスタマイズ入ってたりすると行がずれたりしてるかもしれないけど
ピンチイン・ピンチアウトについて教えてください 他の人たちのコードを参考にしてImageViewを拡大縮小することはできました。 これをViewGroupに対して適応できるかどうか知りたいです。 要は、ボタンやらテキストやら画像やらをまとめてピンチイン・アウトできるか知りたい。 結構検索したんだけど、特定のBitmapに対してしか見つけられませんでした。 なんか アプローチの方向が違うような気がしてちと不安。
>>920 出来るよ
対象の数によって手間がかかるだろうけどね
>>921 おおおお、ありがたい!
試しにチマチマ実装してみます。
なんか出口のないトンネルを歩いているような気分だった。
ViewPagerにあるFragmentからActionbarのメニューボタン追加について質問です Fragment内のonCreateOptionsMenuでメニューを追加しています ActivityのViewPagerのsetCurrentItemから件のFragmentがあるページへ ジャンプさせた場合は即座にボタンは追加されるのですが スワイプで移動させた場合はページの停止後に若干の溜めがあってからボタンが表示されます ViewPagerのsetOnPageChangeListenerのタイミングで Actionbarのタイトル変更やドロップダウンリストを追加していますが それよりもさらに遅いです もう少し早くする手順などありますでしょうか?
EclipseとAndroidSDKのマイナーバージョンアップが細かすぎて鬱陶しすぎる!! 廃止、非推奨、仕様の変更が多すぎて鬱陶しすぎる!! 変更内容の通知も不親切すぎて何かわったのかわからなすぎて鬱陶しすぎる!! いい加減安定してくれないかな
925 :
923 :2013/01/31(木) 21:15:03.53
とりあえずアクティビティにメニューを全て書き込んだレイアウトを適用させて 現在表示されているFragmentのページに合わせて表示の出し入れすれば スワイプのページチェンジでもすぐにメニューが差し替えられるようですが なんだかなあ… @Override public boolean onPrepareOptionsMenu(Menu menu) { int pageNum = mViewPager.getCurrentItem(); switch(pageNum) { case PAGE_A : menu.findItem(R.id.menu_a).setVisible(false); menu.findItem(R.id.menu_b).setVisible(false); break; case PAGE_B : menu.findItem(R.id.menu_a).setVisible(true); menu.findItem(R.id.menu_b).setVisible(true); break; } return true; } ... onPageSelected(int position) { ... invalidateOptionsMenu(); ... }
>>924 過渡期に使わず枯れた頃に使えばいいだろ。今はCOBOLでもやってな。
メニューを一から作り直すと時間かかるんかね
928 :
925 :2013/01/31(木) 21:54:54.02
…このやり方だとwithTextやsplitActionBarWhenNarrowとかが画面回転合わせて追従してくれない(汗 エミュレーター ランドスケープにしてもメニューのテキストでなかったり
929 :
901 :2013/01/31(木) 22:23:06.01
>>902 例えばエロアプリを作る場合、
・「ふわふわスカートめくり」という名称
・かわいい女の子のアイコン
で公開したとしても、
インストール後にユーザー設定で
アプリ名変更できて、
アイコンも(選択肢から選択させるとして)変更できた方が
良いと思ったので。
できますでしょうか。
931 :
デフォルトの名無しさん :2013/01/31(木) 22:38:13.13
以下のような場合の実装のヒントをいただけないでしょうか… ラジオボタン5つ、セットボタン1つ、解除ボタン1つ ラジオボタン毎に音声ファイルがある セットボタン押下で、音声ファイルを5回ループ再生開始 解除ボタンで再生停止、ループ解除 複数連続でセットされた場合は、セットされた順に再生
書かれてる通りにコードに落とせとしか言いようが…
>>931 >>932 すいませんラジオボタンは動的に作成するようなイメージなので、5つというのは固定ではありません
ヒントも何も…基本的な事で全部できるからなあ…
初心者レベルだしぐぐりながらやれとしか…
むしろ
>>931 これを誰かにヒントもらわないと出来ないようなら
今すぐプロジェクト閉じて他の道選んだ方が幸せになれるとおもう
そんなレベルです
>>929 アイコンはウィジェットにすればできそう
アイコンだけじゃなくてアプリ名もできるな 実際にはアプリ名にみたてたものをウィジェットで表示するだけだが
>>934 そうですか…
ありがとうございますもう少し情報収集してみます
>>929 そういう釣りアプリみたいなことするとGoogle側で規制が強まり
どんどん自由が失われ、作れるものの可能性も狭まり
使いづらくなっていくからやめれ
「自分さえよければいい」
これはオレオレ詐欺、フィッシングサイト、ベニーオークションと同じ詐欺師の思考発想
技術者として恥じるべき
どんぴしゃで同じことが出来るようなサンプルみたいなのはまずないから 小さい項目に分けてそれぞれのやり方を調べててみるといいかも
>>929 ・・・と思ったけど、よく読んだら俺の誤解だった。
自動で変更されるわけじゃないのね
申し訳ない!首つってくる
>>929 精々、ホームに貼るショートカットを変更できるぐらいで、アプリ一覧は無理だろう
942 :
929 :2013/02/01(金) 00:29:03.50
>>935 ,936
ドロワーの表示までは変えられないみたいですね。
ウィジェットは作ったことがありませんが、
ユーザーにウィジェットを置いてもらうように
アナウンスすれば良い…かな。
ありがとうございます。
>>938 ,940
どうして注意されているんだろうと思ったけれど、
勘違いでしたか。
とは言え、おっしゃる通り、動的にアプリ名やら
アイコンを変えることができたら、
「自動で変えてやれ、ふふふ」
な人が沢山出てきそうですね。
>>943 ショートカットは任意(といってもリソース内)のアイコンと、表示文字列を変えられるよ
それぐらいなら、ホームアプリでもできるのが多数あるはずだから、それを売りにできるとは思えないけどね
jsoup使ってるんですが、URLを指定しhtmlを取ってきて欲しいんです。 リンク先アドレスは間違いないのですが、指定ページ→自動ジャンプ→cgiによる自動生成ページという仕様のようです。 このようなURLからジャンプした先のhtmlを取得する方法はないのでしょうか?
リダイレクトされるurlをまずjsoupでとって 次にリダイレクト先をとりにいく
ファイルアクセスに関してなんですが アクセス権限があるファイルか無いファイルかってのはどうすればわかるのでしょうか
チェックボックスかスイッチボタンとしての星マークフォームウィジェットは最初からないのでしょうか? それらしきiconはsdkにはあるのですが…
>>945 cgiでも取得できるんじゃないの?
出力はhtmlだし
951 :
デフォルトの名無しさん :2013/02/01(金) 18:55:59.92
いまこそくそspモード用の使いやすいメーラーをちゃねらで作るべきだと思うの
APIやプロトコルが公開されてないから無理 原理的にimoniみたいな制限だらけのゴミしか作れん
953 :
デフォルトの名無しさん :2013/02/01(金) 19:23:53.77
>>952 そうなんだ…
うーん…どうしようもないな
ドコモメールのWebクライアントがフルAjaxで作られてたら…無いなw またスクレイピングで涙ぐましい努力してクソアプリ作る奴が現れるんだろう
>>953 そうだよ、冷静に考えてみ
フリメやPCのプロバイダメール使うときって必ず次の情報を自分で設定してるでしょ
1・ユーザーID
2・パスワード
3・受信サーバーのドメイン(POP3など) ※Webメールは自動で設定されてる
4・送信サーバーのドメイン(SMTPなど) ※Webメールは自動で設定されてる
spモードメールに限らず、国内キャリアのメールはこの4つ全部非公開だからね
かろうじてソフトバンクだけ3・4わかるけど
わかったところで1・2が非公開だからそれらサーバーにアクセスすらできない
大量スパム送信の踏み台恐れて非公開にしてるんだとおもうよ
apiの仕様でたまにでてくる““をnullにしたりするイクリプス設定とかないっすか?
いみふ
いみふ
エクリプスじゃないの?
この意味不明さを他の言葉に例えるなら 醤油ラーメンにたまに出てくるキシリトールを砂糖にしたりする電子レンジの設定とかないっすか?
ちゃんと教えてやれよ まず全裸になります
「apiの仕様でたまにでてくる““」が何かすら分からんし
意味もわかっていない素人が無理して専門用語使おうとして失敗しちゃった感
ViewPagerで質問です FragmentでGridViewやWebViewのページを設置しています WebViewではブラウザのスクロールが左右の端まで行った場合に きちんとViewPagerの移動をしてくれますが GridViewのページではスワイプ操作してもページを変更することが出来ません (液晶の外のベゼルから指を動かせば移動できます) どのようにすればページの切り替えを実現できますでしょうか?