13/11/22 05:39:21.98
このスレではAndroidSDK・NDKやAndroidマーケットに関する質問を扱ってます。
※プログラミング自体が初めて!なあなたには↓↓↓こちらへ
スレ立てるまでもない質問はここで 126匹目
スレリンク(tech板)
Eclipse統合M34【Java/C++/Ruby/Python/Scala】
スレリンク(tech板)
★★Java質問懽\363蜻樺kスレッド161★★
スレリンク(tech板)
****オススメ関連リンク****
■ TechBooster URLリンク(techbooster.org)
■ Androidメモ URLリンク(www.saturn.dti.ne.jp)
■ 逆引きAndroid入門 URLリンク(www.adakoda.com)
■ Androidプログラマへの道 URLリンク(wiki.livedoor.jp)
■ Android Wiki* URLリンク(wikiwiki.jp)
****公式リファレンス****
■ Android developers URLリンク(developer.android.com)
■ ソフトウェア技術ドキュメントを勝手に翻訳 URLリンク(www.techdoctranslator.com)
■ 日本Androidの会 URLリンク(www.android-group.jp)
■ StackOverFlow URLリンク(stackoverflow.com)
****前スレ****
Androidプログラミング質問スレ Part37
スレリンク(tech板)
2:デフォルトの名無しさん
13/11/22 05:42:19.05
前スレ>>979が恥ずかしすぎる件
3:デフォルトの名無しさん
13/11/22 11:35:49.63
前スレ >>998 へ
>>DalvikはJava仮想マシンとされることもあるが、動作するバイトコードがJavaバイトコードではないため、厳密にはこれは正確ではない。
>>また、Java互換性テストを通過していないので、法的にもJavaを名乗れない。
java javaVMとは少し違うが原理は同じ
では、これからは「javaのよーなもの」でよろしいか?
4:デフォルトの名無しさん
13/11/22 11:47:47.46
普通にdalvikって呼べばいいんじゃない
5:デフォルトの名無しさん
13/11/22 11:51:07.80
>>4
ドブスのサエコに手玉とられた野球選手みたいでイヤだな
6:デフォルトの名無しさん
13/11/22 11:52:15.86
仮想マシンってだけで原理が同じだからJavaみたいなもんだ!ってんなら
.NetもJavaみたいなもんだわな
DalvikはAndroidのために1から設計された仮想マシンだよ
7:デフォルトの名無しさん
13/11/22 11:59:46.97
言語仕様がまるまるjavaだからjavaのよーなものでイイジャン
8:デフォルトの名無しさん
13/11/22 12:11:28.35
大本はApache Harmonyじゃなかったっけ
9:デフォルトの名無しさん
13/11/22 12:37:38.17
ARTには期待してる
dalvikはさっさと捨てよう
10:デフォルトの名無しさん
13/11/22 14:35:17.90
ブラジル人が喋ってるのはポルトガル語じゃないって言ってるようなもんだ
11:デフォルトの名無しさん
13/11/22 16:24:42.98
>>10
スペイン語と書き間違え?
12:デフォルトの名無しさん
13/11/22 23:11:14.46
>>6
その理屈ならUCSD p-SYSTEMを出してこないと :-P
13:デフォルトの名無しさん
13/11/23 01:49:03.04
明示的Intentの受け取り側のアプリから、送り主のアプリの情報(パッケージ名等)って取得できないでしょうか?
14:デフォルトの名無しさん
13/11/23 03:20:07.73
スタートボタン押して現在時刻を取得してその日から今日が何日目か経過日数を表示したいんですけどコード教えてください。
15:デフォルトの名無しさん
13/11/23 03:39:40.37
>>14
それは、androidって言うよりjavaの質問だから↓で質問して
★★ Java の宿題ここで答えます Part 72 ★★
スレリンク(tech板)
16:デフォルトの名無しさん
13/11/23 04:18:41.84
>>14
return 0;
17:デフォルトの名無しさん
13/11/23 06:40:01.34
>>13
ComponentName cn = getCallingActivity();
String packageName = cn.getPackageName();
18:デフォルトの名無しさん
13/11/23 06:52:49.08
スタートボタンってなんだ!?
19:デフォルトの名無しさん
13/11/23 06:59:37.89
>>18
セレクトボタンの隣
20:デフォルトの名無しさん
13/11/23 08:30:48.76
セレクトボタンってなんだ!?
21:デフォルトの名無しさん
13/11/23 08:38:52.50
スタートボタンの隣
22:デフォルトの名無しさん
13/11/23 11:48:41.43
前スレにてBufferedWriterについて質問したものです。
どうも、BufferedWriterとFileWriterの相性が悪いみたいです。
実はFileWriterの中にもバッファがいるみたいで。。
例えば、FileOutputStream + OutputStreamWriter + BufferedWriter
は大丈夫だったです。
BufferedWriterとFileWriterで、いつも失敗するって訳ではないです。
(同じような現象に遭遇した方いませんか)
23:デフォルトの名無しさん
13/11/23 13:46:58.06
>>18-21
ワロタwww無限ループ
24:13
13/11/23 14:28:39.01
>>17
ほしい値が取れました!
ありがとうございました
25:デフォルトの名無しさん
13/11/23 14:33:56.05
22です。
やっぱり、BufferedWriterのnewLineメソッド使うのが駄目なようです。理由は不明。
FileOutputStream + OutputStreamWriter + BufferedWriterでもnewLineを使うとNG。
疲れたので寝ます。
26:デフォルトの名無しさん
13/11/23 14:56:03.42
>>25
osのバージョンは?
27:デフォルトの名無しさん
13/11/23 15:11:50.69
>>26
minSdkVersionは10、targetSdkVersionは17にして、
実機は4.3のNexus7を使ってます。
28:デフォルトの名無しさん
13/11/23 16:20:42.99
>>27
おかしいな。
newLine()のは中身write('\n')
なんかもっと基本的なところで間違ってるんじゃないかな。
29:デフォルトの名無しさん
13/11/23 16:29:35.44
>>28
write(str + "\n")はOKで
write(str) の後、 write("\n") または newLine()
のように2連続にすると駄目みたいです。謎すぎる。
30:デフォルトの名無しさん
13/11/23 17:13:38.25
結構java.*のAPIバグ多いよね。
java.nio使って非同期Udp通信やろうとしたら明らかにおかしな挙動があって諦めたことがあるよ
31:デフォルトの名無しさん
13/11/23 17:22:39.77
それはお前の技術力不足
32:デフォルトの名無しさん
13/11/23 17:48:11.79
どうせマニフェストあたりを、ちゃんとしてなかっただけだろ。
33:デフォルトの名無しさん
13/11/23 17:59:55.97
マニフェストを守らないのは政治家だけでお腹いっぱいだ
34:デフォルトの名無しさん
13/11/23 18:55:31.60
>>31-32
いやほんとに。
同一セグメント内でPCとスマホが通信相手を探し合うロジックで、次の手順になってた。
1)Android側は充電器につながったときのIntentを受け取ってサービス起動、Wi-Fi有効化
2)サービスはWi-FiのIPアドレス、UDP20774番ポートをListen開始
3)パソコンにはJavaで作ったクライアントアプリが動いていて、定期的にUDPの0.0.0.0:20774に向かって信号パケットを送信
4)Android側のサービスは③のパケットを受け取ると、その発信元IPアドレスをDatagramChannel#receive(ByteBuffer)の戻り値から知る。
5)Android側からPCのTCPポート20774に接続、SD内の写真を自前ソケットでアップロード
上記の④が問題。
DatagramChannel#receive(ByteBuffer)の戻り値(InetSocketAddressa)はUDPパケットの「発信元」IPアドレスを返すはずなんだが、
Android上で動かすと自分自身のIP/ポート番号を返してきてしまう。
同じコードをPC用Javaアプリにコピペして実行したら思惑通りの動作をした。
DatagramChaneelはNIOだけど従来版(java.io.DatagramPacket#receive())はちゃんと期待通りの動作をする。
どう考えてもAndroidのDatagramChannelがおかしいでしょ?
まあ仕方ないからDatagramPacketで代用してちゃんと動くものができたんだけどね。
35:デフォルトの名無しさん
13/11/23 19:54:35.44
22です。
実際はファイル書き込みが途中で終わるわけでなく
Writer.java:141 でNullPointerExceptionがおきていたようです。
(RuntimeExceptionをcatchして無視してたのでわかりませんでした、
問題が発生したため○○を終了します。のメッセージがいやだったので
NullPointerExceptionが起こる理由は相変わらず分からないですが)
36:デフォルトの名無しさん
13/11/23 19:59:04.07
あほすぎ。
write()でnull渡しただけだろ。
Writer.java
140 public void write(String str) throws IOException {
141 write(str, 0, str.length());
142 }
37:デフォルトの名無しさん
13/11/23 20:02:12.31
22です。
nullをwriteしてたのが間違いでしたぁ、解決しましたぁぁ
たぶんこれが問題でした、お騒がせしましたぁ。。
38:デフォルトの名無しさん
13/11/23 20:11:43.93
大山鳴動して鼠一匹
解決出来てよかったね
39:デフォルトの名無しさん
13/11/23 20:17:39.34
では解決されたようなので次の話題を・・・
SQLiteOpenHelperをextendsしたclassを使って
SQLiteを利用しているのですが、以下動作に困っています。
■やっていること
・コンストラクタの中と、onCreate() 内でTABLEを作った後で
同じ関数 fixDB() を呼んでいる
・fixDB() の中でやっていることは、
- dbをgetWritableDatabaseで取得して
- Cursorの中にレコードAが存在しているかチェックして
- 存在していなければレコードAをdbに追加する
というものです。
■fixDB()の処理
SQLiteDatabase db = this.getWritableDatabase();
String selection = "Name=?";
String[] selectionArgs = { "recordA" };
Cursor cursor = db.query("name_table", new String[]{"Name"}, selection, selectionArgs, null, null, null);
if (!cursor.moveToFirst()) {
// レコードが0個なので、追加する(省略)
}
■実際の動作
・DBが無いときにアプリをデバッグ実行し、コンストラクタ⇒onCreate()の順番で
処理が進んでいることを確認しています
・fixDB() の各行にBreakPointを設置して1行ずつ進めているのですが、
・コンストラクタ⇒fixDB⇒1行目⇒2行目
⇒onCreate()⇒fixDB⇒1行目⇒ ・・・ ⇒fixDBの終わりまで進む
・結果、レコードAが2つ追加されている
これを回避する方法などわかりますでしょうか?よろしくお願いします。
40:デフォルトの名無しさん
13/11/23 20:39:32.20
>>39
fixDBを
・onCreateでのみ呼ぶ
・コンストラクタのみで呼ぶ
では駄目なの?
41:デフォルトの名無しさん
13/11/23 20:41:13.97
>>40
訂正
・onCreateのみで呼ぶ
のみで。
42:デフォルトの名無しさん
13/11/23 20:52:11.68
実行される順序。
コンストラクタ
fixDB()
getWriteableDatabase()
onCreate() ←DBがないのでonCreate()が呼ばれる。直前でトランザクション開始
fixDB()
getWriteableDatabase()
query()
insert() ←insertしているけどトランザクション中なのでコミットされない
query() ←直前のinsert()はコミットされていないからqueryしても取れない
insert()
ここでonCreate()が終わってコミットされる
43:デフォルトの名無しさん
13/11/23 20:56:58.89
>>42
ソース見たらgetWriteableDatabase()がネストしたら例外上がるみたいだから違うも。
onOpen()があるからそれは使えば良いと思うが。
44:デフォルトの名無しさん
13/11/23 21:08:34.42
トランザクションの問題なら、insertの前後にbeginTransaction()などの命令を挟んで、トランザクション管理をしたらどうだろう?
45:デフォルトの名無しさん
13/11/23 21:08:50.64
strings.xmlをローカライズさせてるんだけど、
文字列XXX と併せて
英語: Get XXX
日本語: XXX を取得
という文字列を生成したいです。
strings.xml内ではどういう <string /> を指定して、
Javaソース内ではどうXXXと結合すれば良いでしょうか?
もしくは、Java内で言語判定(英語か日本語か)をして、
ゴリゴリ書いていくしか方法は無いでしょうか?
46:デフォルトの名無しさん
13/11/23 21:22:25.09
>>45
values/strings.xml
<string name="getto">Get %1$s</string>
values-ja/strings.xml
<string name="getto">%1$s を取得</string>
example.java
context.getString(R.string.getto, "ウンコ");
47:45
13/11/23 22:08:22.61
>>46
こういう書き方ができるのですか!
ありがとうございました。
48:デフォルトの名無しさん
13/11/23 22:21:34.04
数字入れたいなら$dな
49:デフォルトの名無しさん
13/11/24 00:34:09.33
今、リストの各項目を長押しでメニューが出るようにしています。
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
長押しがめんどくさいのでシングルタップでメニューを表示させるように変えたいのですが、PopupMenuを使うのが一番楽でしょうか?
できればコードを大幅に書き換えずに、シングルタップのeventlistenerからonCreateContextMenuをどうにか呼んで同じメニューを出したいのですが可能でしょうか?
50:デフォルトの名無しさん
13/11/24 00:53:15.72
PopupMenuだと出る位置が押した場所付近になるから
普通にonListItemClick内でDialog作ったらいいんじゃない
51:デフォルトの名無しさん
13/11/24 03:12:05.29
support13Demosをインポートして
エラーばかりだったのでsupport-v4.jarを入れたりしたのですが、
ActionBarTabsPagerクラスの
public TabsAdapter(Activity activity, ViewPager pager) {
super(activity.getFragmentManager());
mContext = activity;
mActionBar = activity.getActionBar();
mViewPager = pager;
mViewPager.setAdapter(this);
mViewPager.setOnPageChangeListener(this);
}
super(activity.getFragmentManager());
の部分でThe constructor FragmentPagerAdapter(FragmentManager) is undefined
となってしまいます。
何をすれば動くようになるのでしょうか。。。
52:デフォルトの名無しさん
13/11/24 10:18:58.54
>>49
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
view.showContextMenu();
}
53:デフォルトの名無しさん
13/11/24 10:37:08.28
>>51
試したがsupport-v4.jarとsupport-v13.jarを追加するだけで動いた。
「エラーばかりだったのでsupport-v4.jarを入れたりした」
ソースを修正したならそれが原因。
54:デフォルトの名無しさん
13/11/24 14:19:25.00
>>53
support-v13.jarの入れ方がまずかったようでした。
今度はsupport7demo入れたらRが生成できず、
aaptを終了しましたとエラーがでてしまいます(泣)
55:デフォルトの名無しさん
13/11/24 15:49:30.44
アクションバーの
1.アイコン
2.リストナビゲーションのリスト
のパディングとサイズを変更する方法はないでしょうか?
以下を試してみましたが、上記1,2には変化なしでした。
カスタムビューは使用しない方向で検討しています。
<style name="AppTheme" parent="@android:style/Theme.Holo">
<item name="android:drawablePadding">0dp</item>
<item name="android:dividerPadding">0dp</item>
<item name="android:itemPadding">0dp</item>
<item name="android:padding">0dp</item>
<item name="android:textSize">10sp</item>
</style>
56:デフォルトの名無しさん
13/11/24 17:31:27.96
もっとタイトル部分とかアイコン部分とか細分化して設定しないと
[テーマ]
-背景
-タイトル
[背景]
-色とか
[タイトル]
-文字色とかサイズとか
こんな感じで
サンプルのActionBarCompatにstyleあるから参考にしたらいい
android-sdk\platformsのvalues\style.xmlにも継承元の設定がある
57:49
13/11/24 17:36:25.00
>>52
ありがとうございます!まさにやりたいのがそれでした。
ListView使ってなかったので
text1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
view.showContextMenu();
}
});
として期待通りの動作をしました。
>>50さんもありがとうございます
58:デフォルトの名無しさん
13/11/24 17:37:32.12
ListView使ってないって、(初心者っぽいのに)凄いな。
59:55
13/11/24 20:05:33.40
>>56
ありがとうございます。
こうやってみて、背景色などはこの方法で変えられたんですけどパディングと大きさだけ変えられませんでした。
なにか心当たりがあればお願いします。
<style name="AppTheme" parent="@android:style/Theme.Holo">
<item name="android:actionBarStyle">@style/MyActionBar</item>
<item name="android:actionButtonStyle">@style/MyActionButton</item>
</style>
<style name="MyActionBar" parent="@android:style/Widget.Holo.ActionBar">
<item name="android:itemPadding">0dp</item>
</style>
<style name="MyActionButton" parent="Widget.Holo.ActionButton">
<item name="android:paddingLeft">0dip</item>
<item name="android:paddingTop">0dip</item>
<item name="android:paddingRight">0dip</item>
<item name="android:paddingBottom">0dip</item>
<item name="android:scaleType">center</item>
<item name="android:maxLines">2</item>
</style>
60:デフォルトの名無しさん
13/11/24 20:41:55.98
アクションバーってサイズ決まってるからパディング取れないと思うけど
そもそもWidget.Holo.ActionButtonにpaddingある?
61:55
13/11/24 21:15:11.88
>>60
Android sdk18のWidget.Holo.ActionButtonに
<item name="android:paddingStart">12dip</item>
<item name="android:paddingEnd">12dip</item>
というふうに定義されていて、私のプロジェクトのminSDKが15なのでpadding~~で指定している次第です
ActionBarの高さについてですが、
<style name="AppTheme" parent="@android:style/Theme.Holo">
<item name="android:actionBarSize">10dp</item>
</style>
として低く(薄く)なったのは確認できました。
その際、ボタンのサイズは変わらず画面外へはみ出しました。
62:デフォルトの名無しさん
13/11/24 21:26:01.47
じゃあSDK15でpaddingTopとかで定義ある?
なければできないのでは
63:デフォルトの名無しさん
13/11/24 21:32:47.79
15で確認しないのは何故なんだろ。
まことに不思議である。
64:55
13/11/24 21:35:37.87
>>62
度々ありがとうございます。
SDK15に以下のように定義されてました。
定義されていないpaddingTopとpaddingBottomを指定せず試してみましたが、変わらずでした。
<style name="Widget.Holo.ActionButton" parent="Widget.ActionButton">
<item name="android:minWidth">@android:dimen/action_button_min_width</item>
<item name="android:gravity">center</item>
<item name="android:paddingLeft">12dip</item>
<item name="android:paddingRight">12dip</item>
<item name="android:scaleType">center</item>
</style>
65:55
13/11/24 21:58:25.77
0dipではなく50dipにしたらボタンの間が広がったので、どうやら指定自体はきいているようです
アクションバーのボタンの間を狭めたいだけなのにこんなにハマるとは・・・
>>63
仰るとおり、恥ずかしい;
66:デフォルトの名無しさん
13/11/24 22:02:35.41
styleまじめにやろうとすると何個も入れ子したりすげーはまる
テーマ切り替えとか入れたらすごい量になるし
67:55
13/11/24 22:17:53.45
できたっ!!!
どうやらandroid:minWidthを小さい値に設定してやらないと、一定より小さくならないようです。
ヒント下さった方、ありがとうございます、おかげで発見出来ました!!
<style name="MyActionButton" parent="@android:style/Widget.Holo.ActionButton">
<item name="android:paddingLeft">0dip</item>
<item name="android:paddingRight">0dip</item>
<item name="android:minWidth">0dip</item>
</style>
>>66
尊い土日が犠牲になりました。
68:デフォルトの名無しさん
13/11/24 23:39:02.68
標準のとは別の自作ロック画面アプリを作ろうとしています。質問させてください。
BroadcastReceiverで、ACTION_SCREEN_OFFを受け取ったら画面表示させたいのですが、
電源ボタンを2連打で画面OFF→画面ONを素早くやると、どうしてもHOME画面が一度出てきてしまいます。長い時は数秒にも及びます。
画面OFF→画面ONになった時に、HOME画面を出さずに自作ロック画面を表示させるにはどうすればよいでしょうか。
69:デフォルトの名無しさん
13/11/24 23:41:09.35
パスワードフィッシング?
70:68
13/11/24 23:42:59.78
因みに補足情報ですが、
・標準のロック画面はひとまず解除してます。
・ACTION_SCREEN_OFFを使ってるのは、ACTION_SCREEN_ONだと完全にHOME画面が表示されてからのイベント受け取りなのでだめでした。
・自作ロック画面の表示方法としては、BroadcastReceiverのonReceive()内でstartActivity()によるActivity表示方法と
WindowManagerのaddView()によるView表示方法を試しましたが、このメソッドではどちらも一度スレッド?が
切り替わってしまい、ここでHOME画面が表示されるようです。
71:68
13/11/24 23:52:03.56
>>69
いえ、そんなことしません。
72:デフォルトの名無しさん
13/11/25 00:23:56.29
プロジェクトの新規作成でFixed tabs + swipeにして、
メニューを追加していくとtabが潰れてスピナー表示になるわ、
splitActionBarWhenNarrow指定しても何も効果ないわで仕様が分からん。
googleの公式の説明の意味が分からん。
73:デフォルトの名無しさん
13/11/25 10:05:54.96
今Twitterのクライアントを作ろうとしているのですがListViewにmAdapter.add(status);にすると一番下になってしまうのでmAdapter.insert(status,0);を使って一番上に来るようにしているのですが、新しいつぶやきが来るとポジションがズレてしまい困っています。
ListViewを逆順にするとか何かいい解決方法はないでしょうか?よろしくお願いします。
74:デフォルトの名無しさん
13/11/25 10:54:56.27
>>73
POSTしてからGETした結果から取ればいいじゃん。
75:デフォルトの名無しさん
13/11/25 11:03:46.71
参照するデータを逆順に並べておく
76:デフォルトの名無しさん
13/11/25 11:10:17.44
>>73
時系列順にしたいなら、時間でソートするだけだろう。
77:デフォルトの名無しさん
13/11/25 13:50:23.67
>>74
>>76
時間順で解決しましたありがとうございました
78:デフォルトの名無しさん
13/11/25 13:59:55.63
Twitterクライアントってユ-ザー10万で打ち止めだっけ?
まあ個人でそれだけ行けば成功だろうけど
79:デフォルトの名無しさん
13/11/25 17:38:08.30
Androidプログラミングの書籍に関して質問があります
最近のAndroid OS(4.x)でも極力エラーが出ないようなコードを掲載しているシンプルな参考書はありますでしょうか
Javaのプログラミングに関しては多少知識があるため
Androidに関するプログラミングを重点的に理解できる書籍を探しております
浅いレベルの内容のものを短時間で読んで概要を把握しようと考えました
巷には秀和の量産本がスパムのように溢れており
該当する内容の本を見つけ出すのが難しかったため質問致します
80:デフォルトの名無しさん
13/11/25 17:54:12.94
>>79
バカには無理
81:デフォルトの名無しさん
13/11/25 18:15:10.73
>>79
そんな本はないから、もう書き始めちゃって良いと思うよ。
煽りではなく、本当に。
82:デフォルトの名無しさん
13/11/25 18:52:46.54
>>79
書籍は結構高いしブログで十分だとおもう
83:デフォルトの名無しさん
13/11/25 18:53:45.66
>>79
ジュンク堂へ行けよ
84:デフォルトの名無しさん
13/11/25 19:41:22.81
返答ありがとうございます
大型書店で適当な入門書を再度探してから
不明瞭な点をWebで調べる方針にしてみます
85:デフォルトの名無しさん
13/11/25 19:55:23.75
ボタンをLinearLayoutにsetGravityで中央に配置
この時ボタンのgetLeftが0になるんだけど中央に動かした分も入れてとれる方法ないですか?
86:デフォルトの名無しさん
13/11/25 19:56:14.14
>>79
かつでは大きい会社のサブルーチン開発部門いたので
少しプログラムやるなら検証方法おしえてやるよ
命令を1億回とかもっと莫大な数ループ組んだりして問題ないか
検証するんだよ1個づつ信頼できるかできないかを
検証していけ それしかない
87:デフォルトの名無しさん
13/11/25 21:23:03.41
>>79
すべてのcatchしてもみ消せばエラー出ないよ。
88:デフォルトの名無しさん
13/11/25 22:00:26.91
JavaはサーバサイドばかりだったのでGUIのお作法をよく知りません。
ロジックってActivityにだらだらと書くもんではないと思うんだけど、クラス分割の指針がようわからん。
なんでもかんでもlistenerをimplementsしてR.id.xxをswichで分岐して…ってのもとてもスマートとは思えんし。
この辺のクラス設計とかを解説してる本とかサイトありますか?
89:デフォルトの名無しさん
13/11/25 22:02:59.67
>>88
サーバーサイドで使ってたクラス設計技術を使えばそこまで初歩的な部分で悩むことはないと思うが。
プププ…クスクス
90:デフォルトの名無しさん
13/11/25 22:08:03.48
なまじJava知ってる人がAndroidやり始めるのって苦労しそうだね
AndroidからJava入る人の方が変なところにこだわらなくてすぐアプリ作れそうだと思うがどうよ
91:デフォルトの名無しさん
13/11/25 22:09:47.20
>>88
MVCはもともとアプリケーションの開発で考えられたもの。
サーバーサイドでもServletやActionにだらだら書いてたのだろう。
92:デフォルトの名無しさん
13/11/25 22:09:57.54
一応、組み込み系に分類される(こともある程度かな?)ので、泥臭い組み方したほうがリソース的に有利だと思うよ
ここ1、2年であまり意識しなくてもよくなったかもしれないけど
93:デフォルトの名無しさん
13/11/25 23:16:02.03
最適化にこだわらないのなら
チームで作業しているわけでないのなら
自分のわかりやすい方法でやれ
好きにやれ
94:デフォルトの名無しさん
13/11/26 01:13:32.28
>>88
おまえC言語時代のおっさんだなww
95:デフォルトの名無しさん
13/11/26 02:00:37.00
初歩的な質問かもしれません。
画面A、Bがあるとします。
AからBに移動し、BからAに戻ってきた時の処理はどこに記述したらいいのでしょうか?
あともう一つ
別のアクティビティのビューを取得するにはどうすればいいですか?
いろいろやっているのですが全てNULLで返ってきてしまいます…
96:デフォルトの名無しさん
13/11/26 02:03:14.17
ぬるぬ~る
ぬるぬるぬ~る
97:デフォルトの名無しさん
13/11/26 03:09:25.02
>>95
ActivityとViewは別物だろう。"の"って何。
98:デフォルトの名無しさん
13/11/26 05:28:29.11
>>95
AからBに画面を偏移するには
Intent intent = new Intent(this,A.class);として
情報を付加したい場合は
intent.putExtra("なまえ", 付加情報);して
startActivityForResult(intent, リクエストコード(int型の当た[ここでは1とする]));
で立ち上げ
B側でまずonCreate()内のsetContentView()の後に
setResult(Activity.RESULT_CANCELED);を追加しておいて
Aに情報を付加したい場合はまたIntent作って
setResult(Activity.RESULT_OK, intent);をしてfinish()して
A側でonActivityResultをオーバーライドしておいて
onActivityResult()内で
if(requestCode == 1&& resultCode == Activity.RESULT_OK)
としてA側でBから投げられたintentから情報を取り出して処理する
99:デフォルトの名無しさん
13/11/26 05:46:58.65
>>98
ワザワザ複雑にしている理由は何?
100:98
13/11/26 06:14:12.35
>>99
いや、わかりやすいかなと思ってね
余計にわかりづらかったかな‥‥
101:デフォルトの名無しさん
13/11/26 08:18:58.27
>>89
>>91
>>94
煽るのも勝手だが結局ひとつも真っ当な答えがない
知らないなら出てこなきゃいいのに
102:デフォルトの名無しさん
13/11/26 08:25:56.90
>>101
自分も知らないくせにこの言い草
103:デフォルトの名無しさん
13/11/26 08:33:38.22
>>101
枯れ木も山の賑わい
何か書いてくれるだけでもありがたいと思わなくちゃ
104:デフォルトの名無しさん
13/11/26 08:36:16.34
>>100
色々な方法があるが、
例)呼び出し元のonActivityResultで処理すれば済むと思うけど...
105:デフォルトの名無しさん
13/11/26 10:03:34.16
>>102
すまんな、>>88本人なのだよ。
>>103
まあ2ちゃんだしな。
ひとりくらい親切な人いるかなと思ったけど
106:デフォルトの名無しさん
13/11/26 10:15:58.98
>>105
本人だから言ってんだけど…
107:デフォルトの名無しさん
13/11/26 10:16:51.01
>>105
おまえ気持ち悪いな
108:デフォルトの名無しさん
13/11/26 10:23:05.67
質問は聞き方が10割
良い回答がないのは良い質問ができていないということ自覚しよう
109:デフォルトの名無しさん
13/11/26 10:27:19.92
↑最高の回答だな
110:デフォルトの名無しさん
13/11/26 10:29:01.18
怒涛の自作自演
111:デフォルトの名無しさん
13/11/26 10:29:32.14
>>97
そうですね…
具体的に言うと画面A,Bがあるとして
Bにはリストビューがあります。
A側の処理でリストビューに値を新規に追加していきたいのですが、どうすればいいでしょうか?
別クラスを通して間接的に参照して追加しようとすると追加の処理?で起動エラーが出ます。
>>98
なるほど、解決しそうです。
ありがとうございました。
112:デフォルトの名無しさん
13/11/26 10:31:02.80
>>111訂正
×起動エラー
○エラー
113:デフォルトの名無しさん
13/11/26 10:31:56.63
>>101
>>91だが、MVCと書いてあるだろう。
114:デフォルトの名無しさん
13/11/26 10:38:47.96
>>111
画面というのがActivityのことなら、表示されてないものは、無いものと思っていた方がいい。いつ終了するかもわからないし。DBに保存して読み出す。
表示するViewを切り替えてるだけなら、普通にできそうだから、例外メッセージ見ないとわからない。
115:デフォルトの名無しさん
13/11/26 11:04:04.17
>>113
その綺麗にMVC分離できているサンプルソースを見たことないのだよ
Activityにぐちゃぐちゃ書いているソースしか見たことない
もっともサーブレットのMVCはmodel2だからGUIのそれとは少し違うと認識してる
しかしサーブレットの普及でMVCと言ったらそっちを指すような世の中になってるし
116:デフォルトの名無しさん
13/11/26 11:06:48.44
>>101
リスナやIDでの分岐はGUIに特有の現象ではないから、
そこで躓いてるってことは「GUIの作法知らない」ではなく「一般的なクラス設計をよくわかってない」ということになる
だから一般的なクラス設計から学び直せ
# リスナの扱い方もわかってないレベルでよくサーバーサイドなんて出来たな
# ↑このスレの皆が思ったこと
117:デフォルトの名無しさん
13/11/26 11:13:57.56
>>115
「サンプル」は処理を示すことが目的なんだから綺麗なクラス設計にするわけないだろう
クラス設計の手本を見たいならオープンソースのコードを調べるべき
# もしかしてオープンソースにあまり慣れてない?
# チェックアウトの方法わかりますか?
118:デフォルトの名無しさん
13/11/26 11:21:21.61
オープンソース関係ないじゃん
119:デフォルトの名無しさん
13/11/26 11:29:29.15
少しは自分で考えろ
120:デフォルトの名無しさん
13/11/26 11:56:51.27
>>103
いやいやいやいや、まてまてまてまて
しれっと間違い書いてんじゃねーよ。
2chだから許されるとか、まずないから。
性根腐った輩が2chなら認められる、みたいな風潮
マジいらないから
121:デフォルトの名無しさん
13/11/26 12:41:37.11
具体的になってきた。ありがとう。
>>116
一般的なクラス設計ってのが抽象的すぎてどの程度をさすかわからないが、GoFパターン位なら一通り理解してそこそこ使ってる程度です。リスナーはサーバサイドではあまり使わないから理解度は低い
>>117
おすすめのオープンソースありますか?
全部読み切れる位の程よい大きさだと助かります
チェックアウトの仕方は知ってます
122:デフォルトの名無しさん
13/11/26 13:07:07.23
ここは質問に答えるスレであって君の雑用をこなすスレではないのだが
123:デフォルトの名無しさん
13/11/26 13:17:01.13
経験者のようだが、androidに関しては、
androidの初心者本を買うところからスタートすべき人だな
124:デフォルトの名無しさん
13/11/26 13:19:56.91
> 一般的なクラス設計ってのが抽象的すぎてどの程度をさすかわからないが
「オブジェクト指向分析設計」の範囲
> おすすめのオープンソースありますか?
「どういう設計のコードが読みたいのか」による。
クラス設計についてもやり方は人それぞれだから、したがって読むべきコードも自分がどういう設計をしたいのかによって変わる
125:デフォルトの名無しさん
13/11/26 13:48:13.39
知識ないくせに自分を高く見せようとするから変な質問するようになる
プログラムの表層的な知識よりもいいこと教えてやったぞ感謝しる
126:デフォルトの名無しさん
13/11/26 13:56:53.33
>>121
ググレカス+バカムリ
127:デフォルトの名無しさん
13/11/26 13:59:28.45
オープンソースもなにも、AndroidなんだからAndroidのソースを読めばイイんじゃねぇの?
OS自体のソースじゃなくって、ランチャーとかそういったOS付属アプリのソースを。
…そして、Googleオススメのヘンテコな書き方に余計悩めばイイさw
128:デフォルトの名無しさん
13/11/26 14:25:15.42
>>123
おすすめの書籍ありますか?
近場の本屋でざっと目を通した程度だと、blogと同程度のサンプルレベルのコードが載っているものばかりでした
(なので書籍名すら覚えてません)
>>124
質問をかえますが、ご自身が読まれてよい設計をされてると思ったオープンソースありましたら教えてもらえませんか?
>>125
自分を高く見せようとは思ってませんよ
自分のレベルを合ったアドバイスを頂きたく書いているつもりです
>>127
Google謹製のソースは変なんですか?
試しにちょっと覗いてみます
129:デフォルトの名無しさん
13/11/26 14:42:39.49
多少は綺麗なコードを書くことを心掛けているがとりあえず動けばいいや派なので
なんでそんなにコードにこだわるのかがわからん
会社で大規模なアプリを作るならわからるが個人の趣味のアプリならほとんどDLされないわけだし
まあアプリを作る目的が違うんだろうな
130:デフォルトの名無しさん
13/11/26 14:51:17.51
最近のコに多いよね、こういうコ。
「はじめてに一番最高の1冊で済む参考書を求める」ってコ。
なんか処女厨と同じ匂いがするよねw
どうせそんな本は存在しないんだから、
とにかく何でもイイから2・3冊読んでざっくりと理解したら、
あとは実際にコード書いてみながら、要所要所でググったりしたほうが早いのにね。
131:デフォルトの名無しさん
13/11/26 14:52:19.18
で、こういうコに限って、英語読めないっていうコが多いんだよねwww
132:デフォルトの名無しさん
13/11/26 15:00:38.38
最近どこでもネットの情報は絶対ダメ本どれ本どれって聞く奴いるけど
本の宣伝かアフィのレス稼ぐくらいしか目的が思い浮かばない
それか相当の年寄りか
133:デフォルトの名無しさん
13/11/26 15:04:14.03
書籍が出るころにはその情報はもう古いことが多いよな
134:デフォルトの名無しさん
13/11/26 15:06:30.41
本は、入門書と[逆引きAndroid SDK]と[cook book]
で良いんじゃない?
俺も英語読めね
135:デフォルトの名無しさん
13/11/26 15:08:06.72
>>134
サンプルレベルのコードじゃダメなんだってw
136:デフォルトの名無しさん
13/11/26 15:23:19.90
つまるところちゃんと設計語れる奴は誰一人いないスレ
日本のITレベルの低さを物語ってるな
とりあえずSDKに付いてるサンプルアプリは見た?
137:デフォルトの名無しさん
13/11/26 15:26:56.64
レべルの高い人はお仕事中です
そもそもこんなスレに来ません
138:デフォルトの名無しさん
13/11/26 15:31:48.79
ネットの分散された情報より
それなりの量の情報を1冊としてまとめてくれている本の方がいいことも多い
特に初めてやる事は。
ただおすすめの本をネットで聞いてる暇あるなら、早くやり始めろとも思う
139:デフォルトの名無しさん
13/11/26 16:12:19.81
>>128
ジュンク堂で3万位書籍を買ってきて、
オクで即決1万位の端末を手に入れて、
ダイソーで105円のカラーケーブル買ってくれば、
開発を始められるのに
どれだけ貧乏なんだ?
140:デフォルトの名無しさん
13/11/26 16:14:30.84
>>137
ここにいるのは社畜じゃなくてフリーランサー
すごいのもいると思うよ
141:デフォルトの名無しさん
13/11/26 16:24:28.27
>>128
どの本が良いかなんて...自分で手にしてみて判断がつかない人にまともなアプリが造れるのか?
142:デフォルトの名無しさん
13/11/26 16:28:33.75
設計レベルの話か?
質問主の話はコーディングレベルの話じゃね?
143:134
13/11/26 16:32:29.41
>>135
いや、俺は、入門書以外は持って無くて
あとは、教えてもらった知識と、ググって
知識を補ってる。
まぁ、手を動かしたぶんだけ身についていくもんでしょ。
ちなみに、俺は、プログラミングはCから入って
C++→java(基本的な部分)→C#→再屠avaおよびAndroid
てな感じでC系の本と、javaの本と、あとweb系の本とかで
正直、もう本買うの嫌。
144:デフォルトの名無しさん
13/11/26 16:41:03.37
relativelayout を extends した独自ビューのなかで、imageview をタッチしたら自身の幅と高さを変えたいんだけど、可能?
145:デフォルトの名無しさん
13/11/26 17:10:00.57
USB接続の実機でデバッグしてるのですが、例外が発生しても
Thread [<1> main] (Suspended (exception RuntimeException))
<VM does not provide monitor information>
ActivityThread.performResumeActivity(IBinder, boolean) line: ****
...
となって、スタックトレースの先頭が表示されなくて、場所を特定できないのですが、
これは仕方ないのでしょうか?
宜しくお願いいたします
146:デフォルトの名無しさん
13/11/26 17:16:36.69
CとC++出来るなら基礎できてるしそりゃすんなりAndroidもできて当たり前だろ
147:デフォルトの名無しさん
13/11/26 17:19:46.15
>>146
C++からjavaへの低脳化は結構厳しいものがあるよ(怒涛笑)
148:デフォルトの名無しさん
13/11/26 17:41:47.95
個人で作ってて自分しかコード読まないなら設計なんて考えるだけ無駄だよ
所詮は他人のため、分業のためのお約束に過ぎない
ちなみにGoogleが書いたコードは参考にするな
昔からOSのソースコードなんてスパゲッティの塊で素人は近づくなと相場は決まってんだよ
149:デフォルトの名無しさん
13/11/26 17:51:02.28
オライリーのAndroidの本買ったけど
オライリー読んでる俺スゲーっていう気分にはなる
150:デフォルトの名無しさん
13/11/26 18:07:09.63
設計論じはじめると宗教戦争みたいになるから誰も足を踏み入れたくないんだと思われ
151:デフォルトの名無しさん
13/11/26 18:17:41.44
>>145
manifestのdebugableをtrueにしてるよね?
あと例外のトリガが自分のソースじゃない場合は関係無い箇所のトレースしか流れなくて
原因の特定に時間かかることも多い
152:デフォルトの名無しさん
13/11/26 18:27:28.30
俺はいつも下の繰り返し
1) フレームワーク作る
2) 作品を作るが、フレームワークに不満があり作り直しを決意する。
3) フレームワークを作り直す
4) 何回か繰り返す
5)新しいプラットフォームの出現で1)に戻る
153:デフォルトの名無しさん
13/11/26 18:38:54.99
>>152
趣味としてはいい流れだね
154:デフォルトの名無しさん
13/11/26 18:40:34.55
>>152
他の言語ならともかく、既製品のフレームワークで溢れかえってるJavaでフレームワークを独自開発したくなるケースってあるか?
155:デフォルトの名無しさん
13/11/26 18:49:11.25
俺は下のような感じ
1) とりあえずやりたい事が技術的に可能か判断するため実際に動く物を作る。
非公開な小さな実験プログラム的な位置づけ。当然設計なんか皆無。
2) 可能だとわかったら作品作りを開始する前に脳内で設計を多くエミュレートしまくる。
忘れちゃうのでメモもとっていく。
この時に今後追加でつけるであろう機能もある程度は絞る。
そして自分が今後メンテしやすいように設計を考える。
参考書などのガチガチな方法ではなく、あくまで自分がやりやすい形の設計。
3) 作品を作る。
4) 作った後にさらに追加機能を思いつくこともある。入れられそうなら無理やりでもねじ込む。
ダメそうなら今作はここまでにし次回作(続編)側に回す。
5) 続編の企画を開始し 1) に戻る。
この時 2) に移った段階で前作の 4) で浮上した点について設計の拡張性を再考察する。
これの繰り返しで作品つくる度にどんどん自分のやりやすい設計が勝手に構築されていく
156:デフォルトの名無しさん
13/11/26 18:53:44.10
俺の場合、作品作るとライブラリを根本から見直さなきゃダメになるケースが多い。
その結果フレームワークなのに1回しか使わないとか、過去に何度やらかしていることか。
正直、俺はセンスないと思う。
157:デフォルトの名無しさん
13/11/26 18:55:02.73
漏れのやり方そっくりじゃねーか
ライセンス料払え
158:デフォルトの名無しさん
13/11/26 19:12:16.04
作りながらライブラリ構築するのは時間の無駄
俺の場合ライブラリはコメントもしっかり書かないと落ち着かないから特に。
完成して次回作を作る初期の段階で、前のソースからコピペしてライブラリっぽくするくらいがいい
159:デフォルトの名無しさん
13/11/26 19:44:09.35
>>115
ソースを見てる時点で間違い。クラス図を見ろ。
もしかして、いきなりソース書いてるのか。それはぐちゃぐちゃになるわ。
ただ、キレイはキリがないので、自分やチームの技術レベルでわかりやすい程度にしてる。
160:デフォルトの名無しさん
13/11/26 19:49:13.00
>>159
クラス図はじめUMLとか設計書まで丁寧に公開しているのなんてめったに見かけないよ
ソース読んで自分の頭の中でクラス図なりアクティビティ図を組み立てるしかないでしょ
161:デフォルトの名無しさん
13/11/26 20:10:04.81
ぶっちゃけkitkatでも何か動かないって言ってる奴いるし
android/googleの場合やり方自体どんどん変わっていくだろうから細かいところ気にしてもしょうがないな
162:デフォルトの名無しさん
13/11/26 20:37:12.25
>>160
ぼっちは仕事とかで見ないのか。それは済まなかったな。
できたものより、できる工程見ないと、自分でも作れないと思うし。
開発手法の本とかで勉強するしかないんじゃないか。
163:デフォルトの名無しさん
13/11/26 20:41:36.04
>>140
社畜だが個人で出してるアプリは1万超が複数
ちなみにツール系で数ヶ月気合い入れて作って後は放置で安定収入
全部自分で調べた。このスレで聞いてもレスすらもらった事なし
164:デフォルトの名無しさん
13/11/26 21:07:30.60
>>162
いきなり仕事でアプリ作ってる話にすり替わってる…
きっと人の話を理解できず俺様論ばかり語るありがちなアーキテクト様ですか?
165:デフォルトの名無しさん
13/11/26 21:22:15.77
大声と論点のすり替えができれば日本では出世できるよ
166:デフォルトの名無しさん
13/11/26 21:24:41.10
>>164
いや、俺は仕事やコミュニティでいろいろ見てるけど、そういうのに加わってない人は、見る機会ないんだなってこと。
167:デフォルトの名無しさん
13/11/26 21:27:55.60
で、見る機会がある人は一連の流れの評価はどうなるんだ?
最初の質問者の評価
答えた奴らの評価
168:デフォルトの名無しさん
13/11/26 21:31:14.66
>>160
クラス図はソースから自動生成できるだろ
なーに言ってんだ此奴
169:デフォルトの名無しさん
13/11/26 21:39:28.56
クラス図作ってどうすんの?
クラス図作る以前に、己の性格直さないと共同作業できない人が大杉
170:デフォルトの名無しさん
13/11/26 21:40:31.47
リバースエンジニアで生成できる程度のクラス図なんざソース見るだけで十分
クラス図が欲しくなるようなソースからは新聞紙サイズの図が出力される
171:デフォルトの名無しさん
13/11/26 21:44:31.68
全体的にゴミ扱いのUMLで数少ない評価されてるものがクラス図なのに・・・
172:デフォルトの名無しさん
13/11/26 21:45:05.34
>>167
見る機会があるだけで見てるだけなので評価できる能力なんかありません
173:デフォルトの名無しさん
13/11/26 21:46:30.07
そもそもアンドロイドのアプリで巨大なもの作ってるの本当に少数だと思うけどね
174:デフォルトの名無しさん
13/11/26 21:48:56.53
クラス図の価値は否定してないでしょ
犬小屋作るのに設計図いるかって話してるんだよ
175:デフォルトの名無しさん
13/11/26 21:56:11.05
クラス図なんていらん
そんな大規模なの作らんし
DB(ローカルでsqliteのみでできるもの)もテーブル定義をメモ程度に残しておけば事足りる
これで足りなくなる規模のアプリ作ってるの?
176:デフォルトの名無しさん
13/11/26 22:11:41.84
クラス図は引き継ぎなどで他人に説明する手段として使うのみ
ドキュメントも成果物の1つとして納品するケースはあるが
個人で作るときに必要となったことはないなあ
177:デフォルトの名無しさん
13/11/26 22:48:56.58
だなぁ
むしろ半年後とかに自分で修正する時に当時を思い出せるようなメモ帳テキストか
コードの最初にわかりやすいコメント入れてるとか程度だなぁ
個人でもソースを2万行以上とか超えるとか、非同期処理多様でやたら複雑なアプリとかだと
多少クラス図もどきやメソッドの関連性みたいなものは書いてる時あるが
全部自分用だなぁ
人に見せる用ならさすがにちゃんとしたもの書くが
178:デフォルトの名無しさん
13/11/26 23:07:56.00
クラス図どうの言ってる人たちはAndroidアプリ作る時の話をしているのか、仕事でそれなりのシステム作る時の話をしているのか?
どうも後者じゃないか?
オフィススイート級のAndroidアプリを仕事として作っている人たちなの?
179:デフォルトの名無しさん
13/11/26 23:13:26.29
質問者はそんなこと聞いてたのか
180:デフォルトの名無しさん
13/11/26 23:50:02.60
ソース書いて修正するより、クラス図書いて修正してからソース書いた方が、結果的に綺麗で早い。小さいものでも。俺はね。
ただ、この方法はフレームワークと分離できるか理解してないと、ソース書く時点で多くの手戻りを生むかも知れん。
自分の得意な開発手法でやればいいんじゃないの。
答えが自分と違うからって、否定する意味がわからん。
181:デフォルトの名無しさん
13/11/27 00:29:09.36
最初の質問は、色々詰め込み過ぎてデカくなりすぎたActivityクラスを分割したいってだけ。
割と単純でよくある話だ。
なのにここの連中は初歩から勉強し直せやら、オープンソース読めやら、クラス図書けやらと的外れなレスして、あとは大量のガヤ。
誰一人としてこの単純な質問に適した回答をしていない。
むしろ回答できない、回答できる奴がいないといった方が正しいな。
真っ当な回答できる奴いるか?
いるなら出てこいやあー!
182:デフォルトの名無しさん
13/11/27 00:38:23.86
真っ当な回答なら大量に出てるだろ
方法は人それぞれだから自分が一番やりやすい方法見つけて好き勝手にやれと
正しい回答が出まくってるのにそれに気づけない馬鹿なだけだよ
「恋愛の答えおしえてください」みたいな事質問してると気づけない馬鹿ってこと
ご理解いただけたかしら?
183:デフォルトの名無しさん
13/11/27 00:40:11.34
EditTextPreferenceのボタンが押された時の処理ってどういう風に取得してきたらいいでしょうか?
184:デフォルトの名無しさん
13/11/27 00:45:58.88
俺の場合、activityでは各アプリで共通のライフサイクル処理やキーイベント処理を書くだけに留めて
基本は他のクラスから参照するようにしている。
保存リストア系も専用の処理クラスを作って、activityのonXxxxクラスからコールするようにしている。
なので、そこまで肥大化しないな。
185:デフォルトの名無しさん
13/11/27 01:08:38.16
業務じゃなけりゃ、自前のフレームワークなんて、精々、サブパッケージ程度に収まる範囲でしょ
クラス図とか作るなとか、作る必要ないとか言う気はないけど、実際のところ、作らなきゃ把握しきれないほど肥大化するもの?
186:デフォルトの名無しさん
13/11/27 02:07:02.21
>>181
俺はあるPC用のプログラム作ってるけどmainが肥大化してるからどうしたらいい?
質問としてはこんなレベル
真っ当な回答とやらを聞きたいな
187:デフォルトの名無しさん
13/11/27 07:29:02.51
>>186
構造化プログラミング、関数化
188:デフォルトの名無しさん
13/11/27 07:53:36.47
いつまでこの話題が続くのか...非常にツマラン
馬鹿はほっとけ
189:デフォルトの名無しさん
13/11/27 08:01:17.31
馬鹿達の薄い知識自慢大会になるからこの手のネタはみんな避けてるんだな
190:デフォルトの名無しさん
13/11/27 08:16:56.79
さいごにちゃぶ台ひっくり返して自分が一番上だと思いたい書き込みもよくあるオチだな
191:デフォルトの名無しさん
13/11/27 08:55:37.77
本当の馬鹿に馬鹿っていうと発狂してやめ時みつけられなくなるからな
精神的上位者がぶったぎるのも必要なんだよ
192:デフォルトの名無しさん
13/11/27 09:18:10.31
>>191
では、精神的上位者のアナタがぶった切ってやって下さい
193:デフォルトの名無しさん
13/11/27 09:57:50.03
>>183
全部xmlだけで定義するのは無理
onClick()実装したサブクラス作ってそれをxmlに記述するか、無名クラスに実装して、コード上でPreferenceCategoryにaddするか
194:デフォルトの名無しさん
13/11/27 11:11:43.79
>>183
xmlPnClickにメソッド名を記述して
setContenViewで実装するActivityに
public メソッド名(View v){}
で実装する。
195:194
13/11/27 11:13:40.97
文字化けした
onClick�
196:デフォルトの名無しさん
13/11/27 12:26:27.11
おっと、最近はxmlでEditTextPreferenceにonClick属性が指定できるようになってたのか。知らなかった
昔自分もやりたくて調べたけどその時はできなかった
197:デフォルトの名無しさん
13/11/27 12:36:58.85
人数増えすぎて希望したセミナーうけれないという弊害が出てきそうなムードだ
無料セミナーなのに音読があるから結局3000円オーバーする書籍買い込む結果になる
ダダ漏れのgoogleドライブのアンケートに書いてもメアドやスカ晒されるだけなのでここに
書いておく
セミナー主はどういう考えで人数ふやしているんだろうか?批判ではないが本心が知りたいな
もちろん主催さんには恨みも批判もないが本心が知りたくなってきた
198:デフォルトの名無しさん
13/11/27 15:21:47.94
newで作ったEditTextをsetView()して
AlertDialogを作っているのですが、
2回目の表示時に例外で落ちます。
ググると同現象は各所で書かれているのですが、
(例えばここ)
URLリンク(d.hatena.ne.jp)
EditTextやAlertDialogをフィールドに逃がすのではなくて
「適切なViewに対してremoveView()」することで
対処したいです。
どのように書けば良いのかご教授いただけますでしょうか。
removeView()して解決する方法は
StackOverflow含めて見つかっていません。
<例外の内容>
java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
よろしくお願いします。
199:デフォルトの名無しさん
13/11/27 15:22:43.37
>>171
ステートチャート図とか、シーケンス図も使えると思うが。
まあ、UML の前からある図だけど。
200:デフォルトの名無しさん
13/11/27 15:48:51.09
>>198
アラーとダイアログはActivityのライフサイクルにあわせないと、2回目の表示で落ちることがある
Activity.showDialogをコールしてActivity.onCreateDialogの中でAlertDialog.Builderで作ってActivityに渡す
画面の縦横切り替えでも落ちるならコレが原因
201:デフォルトの名無しさん
13/11/27 17:08:07.42
>>画面の縦横切り替え
アイポンやandroidで初めて見た時はすごいなって思って自分のアプリにも導入したけど、あんまり意味がない事が判明
だから最近は縦か横かに固定してる
202:デフォルトの名無しさん
13/11/27 20:48:55.83
縦固定アプリはタブレットで使う時にむかつく
203:デフォルトの名無しさん
13/11/27 21:06:35.50
タブレットは装備が貧弱だから次のバージョンでから動作不能にする予定です
204:デフォルトの名無しさん
13/11/27 21:22:23.03
起動時の向きに固定したったらええやん
俺も「作業中の画面向き変更ってあんまり意味なくね」って思ってたけど,
稀に「編集は横画面が使いやすいけど閲覧には縦のほうが使いやすい」みたいな場合が
あるような気もしてる
205:デフォルトの名無しさん
13/11/27 21:28:12.45
起動時の向きの固定とか、動的でプログラマブルな向き変更って
初期の向きでの画面構築後に、再構築しなきゃならんよね
遅くなりそう
206:デフォルトの名無しさん
13/11/27 21:29:45.90
個人的には端末の方で固定してるけど、
アプリの方で可変の場合に今の向きじゃない方にしたい場合だけ端末の方を一旦解除→アプリ起動ってめんどくさい状況がまれに発生する。
本当は物理ボタンでもタッチでもいいけどデフォが固定で向き変えたいときに押す方がいいんだけどね。
端末の機能アピール以外に端末の向き変えて画面変わる状況は意味ないと思う。
手動で向き変えることが苦痛なほど向き変えまくる状況がないし、そもそもAndroidのシステムとしてそんなの想定してない。
207:デフォルトの名無しさん
13/11/27 21:46:10.55
タブレットはともかくとして普段は端末で回転無効にしてる人多いんじゃない?
最初から横画面なんていらんかったんや
208:デフォルトの名無しさん
13/11/27 21:55:58.14
そう言われれば写真や動画見るときしか横にしないな
まれにqwertyで長文入力するとき
209:デフォルトの名無しさん
13/11/27 22:26:29.80
ブラウザではよく縦横切り替えるなあ。PC用サイト見ると縦のままじゃ読みづらいことがままある。字の大きさ的に。
それ以外のアプリでは向き固定の方がありがたいな。
回転禁止がシステムレベルでアプリごとに固定できるってんでもいいんだけど。
210:デフォルトの名無しさん
13/11/27 22:32:41.15
向き固定のアプリとか「技術力ないんだなー」としか思わん
211:デフォルトの名無しさん
13/11/27 22:44:05.76
ユーザレベルの知性を感じない感想だな
212:デフォルトの名無しさん
13/11/27 22:48:20.83
海外だとこの手のシャキーン!とキーボード出てくる機種に人気あるイメージがあるから
もしかしたら横向きの需要は海外の方があったりするかもね
URLリンク(www.android.com)
213:デフォルトの名無しさん
13/11/27 22:50:17.17
現在、AlertDialogで設定画面を作っています。
例えば、
設定ダイアログ
ー設定1
ーー設定11
ーー設定12
ー設定2
といった構成を考えているのですが
設定11の場所で物理キャンセルボタンを押した場合に
ダイアログ自体が閉じてしまいます。
これを設定1に戻るようにしたいのですが、
setOnCancelListener()を使い、
設定1ダイアログのshow()メソッドを呼び出す以外に方法はあるのでしょうか?
設定項目が増えた場合を考慮して、できればこれ以外の方法で
実装したいと考えています。
214:デフォルトの名無しさん
13/11/27 22:55:36.66
>>211
スマホからタブレットまで画面サイズが多様化してる時代に特定の方向に画面を固定する理由なんてない
「画面変更に対応しづらい糞設計のコードなんだろうなー」としか思わん
215:デフォルトの名無しさん
13/11/27 22:56:00.99
>>213
俺の知る限りではない
ダイアログは表示が1個だけであり
ウインドウズみたいに重ねて表示できない仕様なんだろうと思っているぜ~
なので俺も1→(1の設定を記憶しておき)→11表示(1は消える)→もどる(11の設定を記憶しておく)→1表示(記憶しておいた1の設定を全部復元)
というイチイチ面倒なことやってるよ
スーパー天才回答が現れることを俺も願っている
216:デフォルトの名無しさん
13/11/27 23:06:16.31
スマホ・タブ・縦横・解像度非依存で完全に対応したのが一番いい
ただ技術や時間やコスト不足で完全じゃないなら妥協で固定画面の方がマシだな
217:デフォルトの名無しさん
13/11/27 23:10:26.93
思いつきだがスタック使えば設定項目増えてもそのやり方でいける気がするが
多重ダイアログは使うなということなんだろうな
218:デフォルトの名無しさん
13/11/27 23:13:53.37
いつも思うんだけどさ
画面の向き固定しても、
結局回転時の処理ちゃんと書かないとバグるよね
219:デフォルトの名無しさん
13/11/27 23:14:10.43
>>216
画面対応に対応できない技術力なんだなーという指標にはなるからね
場当たり的なコーディングで対応してるからそういうことになるんだなーと
220:デフォルトの名無しさん
13/11/27 23:16:08.86
単純なボタン置いてるだけのUIならともかく
ゲームまでなると縦横対応するのはなかなか難しい
画面のアスペクト比でゲーム性も変わっちゃうから
221:デフォルトの名無しさん
13/11/27 23:21:10.97
ゲームはパフォーマンス的な理由があるから許すけど、
パフォーマンス関係ないアプリケーションで縦横回転に対応できないのはかなり足元見られるよ
222:デフォルトの名無しさん
13/11/27 23:22:53.54
もしかして回転対応って、専用のレイアウトを両方に用意するとかいう話じゃなく
回転しても落ちないとかその程度のレベル?
223:デフォルトの名無しさん
13/11/27 23:29:00.58
レベルはわからんけど
少なくとも向き変わったら画面からはみ出して操作できなくなるとかはダメだな
デザインの優秀さはまた別問題だし
224:デフォルトの名無しさん
13/11/27 23:31:17.63
>>222
最低限回転できれば及第点。
回転すらできない糞アプリも割とあるから
225:デフォルトの名無しさん
13/11/27 23:40:53.06
世の中どんな珍端末あるかわからないってのもあるけど
小さすぎて押しにくすぎとかもあるからUIは全て完璧なら問題ないけど一部分だけ取り出してそこができてれば合格というのはないな
226:デフォルトの名無しさん
13/11/27 23:43:29.33
「わしゃ!回転固定のアプリは認めないんじゃ!技術力不足じゃ!
ゲームは許すけどそれ以外は足元見られるぞよ!」
騒いでるのは奇特な頑固爺さんプログラマ1名だけだから無視しとけって。
俺らは頑固な同業者や評論家向けにアプリ作ってるんじゃないんだぜ。
ユーザー向けに作っているんだよ。
1つの映画に対し映画評論家の意見と一般視聴者の意見がわかれるのと非常に似てる。
評論家が最高得点つけた映画が必ずしも面白いとは限らないというやつ。
227:デフォルトの名無しさん
13/11/28 00:03:11.10
スマホすらガラパゴス化してる日本以外も含めると
タブレットもすでにAndroidが過半数なんだっけ?
228:デフォルトの名無しさん
13/11/28 00:20:33.57
周りからの意見を組み込んでいった結果、
シンプルだったアプリがいつの間にか
ガラパゴスアプリと化していたよ。
229:デフォルトの名無しさん
13/11/28 00:20:38.70
>>213
ダイアログじゃなくて透過Activityにしたら?
230:デフォルトの名無しさん
13/11/28 01:26:57.41
DQ1見てUIの重要さを考えさせられました
231:デフォルトの名無しさん
13/11/28 02:21:41.88
>>230
一方カスROMを入れている俺はNo such~エラーが出て起動すらできないのであった・・・
NDK系のアプリだとこれしょっちゅう出るけどどうすりゃいいんだ
232:デフォルトの名無しさん
13/11/28 03:22:44.66
携帯端末の場合
日本語入力に横はありえない
リストも縦が見易い
カメラが横固定だから写真の表示は横が見易いだろうが
そもそも横画面は持ちにくいし、片手で操作出来ない
233:デフォルトの名無しさん
13/11/28 03:32:03.28
俺はたいてい回転固定して使ってるけどな。ベッドとかではその方が便利。
作る分には回転させたほうが楽だから、そうしてるけど。
234:デフォルトの名無しさん
13/11/28 03:45:27.14
タブレットで縦固定にしてると落ちるものがあるね
エラーが出ないでいきなり落ちる
235:デフォルトの名無しさん
13/11/28 03:52:03.32
アクティビティAからアクティビティBに移動してダイアログのOKを押しました。
それが押されるとアクティビティAに戻るようになっています。
アクティビティA側の処理で、アクティビティBのダイアログのボタンがクリックされたという処理の仕方がわかりません。
処理の書き方を教えてもらいたいです。
236:デフォルトの名無しさん
13/11/28 03:54:41.95
>>98
237:デフォルトの名無しさん
13/11/28 04:08:26.89
>>236
これってダイアログから戻った時のクリックの処理も受け取れるのですか?
238:デフォルトの名無しさん
13/11/28 05:39:00.36
斜めにも対応できないのは未熟なんだなと思う
239:デフォルトの名無しさん
13/11/28 06:43:07.04
>>218
横画面の状態でアプリ起動したとき、アプリが縦固定だと回転が発生するからね。
それを考慮していないアプリは見たことある。
240:デフォルトの名無しさん
13/11/28 06:58:56.70
自動回転はイライラするから普通は使わないよね
ボタン切り替えにすればよかったのに
241:デフォルトの名無しさん
13/11/28 07:28:46.85
>>237
>>98 は反面教師 普通にやればいい
242:デフォルトの名無しさん
13/11/28 07:30:37.29
>>215
自前でやるならスタック使えばいいし、そもそも設定用ならアラートdlg使わなくても出来る
243:デフォルトの名無しさん
13/11/28 08:39:47.80
「HOME」は「縦固定画面」だが誰も文句は言わないね
縦横表示はユーザーが持ってる向きじゃなくてアプリの内容によって変えるものだと思う
244:デフォルトの名無しさん
13/11/28 08:48:45.80
機種によるでしょ
245:デフォルトの名無しさん
13/11/28 09:01:02.82
人によるんじゃね?
246:デフォルトの名無しさん
13/11/28 09:30:55.31
ホームが縦固定のほうが少数派なのでは?
よくしらんけど。
247:デフォルトの名無しさん
13/11/28 09:36:32.83
>>243
Android標準のHOMEは縦横対応してるけど。
248:デフォルトの名無しさん
13/11/28 09:42:18.65
物理キーあった時代のスマホとタブ出てからで違うのかも知れんが
249:デフォルトの名無しさん
13/11/28 09:47:46.44
完全な物理キーって手探りで押せたから便利だったのにな
250:デフォルトの名無しさん
13/11/28 10:14:33.88
>>230
DQ1のUIは良いってこと?悪いってこと?
251:デフォルトの名無しさん
13/11/28 10:16:38.77
目的がはっきりしている場合、ボタンは物理キーに越したこと無い。
より汎用的という方向性から物理キー撤去、オールタッチ方式となった。
ボタンは出っ張りと押したときのヘッコミ感がすべて。
この形状操作をソフトウェアでコントロールできるような夢のタッチパネルが出現すれば皆ハッピー。
252:デフォルトの名無しさん
13/11/28 10:23:07.92
Snoy Readerは電子書籍端末のなかで唯一ページめくりが物理ボタンで、それがいいって言ってる人を見たね。
253:デフォルトの名無しさん
13/11/28 10:23:38.21
ムゲンプチプチとか、乳首ボタンとか、そうなると柔らかいボタンもアリだな
254:デフォルトの名無しさん
13/11/28 10:33:51.97
タッチパネルのボタン部分がでっぱるのは出そうとしてるところあるけど
とりあえずボタンの位置は固定っぽい
255:デフォルトの名無しさん
13/11/28 10:42:06.26
ボタンらしい凹凸は難しいだろうけど
せめてザラザラをつけるくらいなら
できそうな気がするね
256:デフォルトの名無しさん
13/11/28 10:47:36.07
タッチパネル上で細かい制御が出来るなら盲人向けのタブレットが造れるからバカ売れするかもよ
257:デフォルトの名無しさん
13/11/28 10:48:36.50
低周波治療器みたいなビリビリを指に流せ
258:デフォルトの名無しさん
13/11/28 10:54:50.59
触ったらバイブレーションするのなら今でもあるね
259:デフォルトの名無しさん
13/11/28 11:20:15.94
画面全体に格子状にグリッドつければいいだろ
指スライドのジャマにならず感知できるくらいの浅さで
260:デフォルトの名無しさん
13/11/28 13:14:27.54
>>241
具体的にどうしたら良いか教えてやれよ
261:デフォルトの名無しさん
13/11/28 13:38:37.83
やっぱ仮想十字キーの操作性は悪いな
フリックとかドラックで動かすのは難しいのかな
262:デフォルトの名無しさん
13/11/28 13:43:25.00
>>259
それなら保護シートみたいなので済むな。すり減ってきたら交換できるし。
263:デフォルトの名無しさん
13/11/28 14:14:29.72
十字は押した位置を基準にしてとかはもうやってるアプリある