Androidプログラミング質問スレ revision53 [無断転載禁止]©2ch.net

このスレではAndroidSDK・NDKやAndroidマーケットに関する質問を扱ってます。

※プログラミング自体が初めて!なあなたには↓↓↓こちらへ
スレ立てるまでもない質問はここで 144匹目
http://echo.2ch.net/test/read.cgi/tech/1473241397/
Eclipse統合M35【Java/C++/Ruby/Python/Scala】
http://echo.2ch.net/test/read.cgi/tech/1405391739/
★★Java質問・相談スレッド179★★
http://echo.2ch.net/test/read.cgi/tech/1476706523/
****オススメ関連リンク****
■ TechBoosterhttp://techbooster.org/category/android/tableofcontents/
■ Androidメモhttp://www.saturn.dti.ne.jp/npaka/android/index.html
■ 逆引きAndroid入門http://www.adakoda.com/android/
■ Androidプログラマへの道http://wiki.livedoor.jp/moonlight_aska/
■ Android Wiki*http://wikiwiki.jp/android/

****公式リファレンス****
■ Android developershttp://developer.android.com/index.html
■ ソフトウェア技術ドキュメントを勝手に翻訳http://www.techdoctranslator.com/
■ 日本Androidの会http://www.android-group.jp/
■ StackOverFlowhttp://stackoverflow.com/questions/tagged/android

****前スレ****
Androidプログラミング質問スレ revision51
http://echo.2ch.net/test/read.cgi/tech/1457303564/
Androidプログラミング質問スレ revision52
http://echo.2ch.net/test/read.cgi/tech/1479305887/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
0002デフォルトの名無しさん (ワッチョイ 8644-JJfG)2017/02/25(土) 13:23:04.40 ID:5hGR4j4I0
>>1
0003デフォルトの名無しさん (ワッチョイ 8a52-aiql)2017/02/25(土) 13:38:18.06 ID:YFU+S+5M0
>>1
よくやった!
0004デフォルトの名無しさん (ワントンキン MMfa-cghh)2017/02/25(土) 16:26:40.95 ID:BzGw9Vf7M
rxでリアクティブプログラミングできない奴は
この先生き残れないからな覚悟しておけ!
0005デフォルトの名無しさん (ワッチョイ 533c-JtgB)2017/02/25(土) 20:14:45.06 ID:OKJhVtjh0
質問します
今unityでAndroidアプリを作ってるんですけど
あるアセットを使ったところこの様なマニフェストが生成されました
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="com.android.vending.CHECK_LICENSE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="com.unionassets.android.plugin.preview.permission.C2D_MESSAGE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />

俺はこのアセットのリーダーボードとadmobの機能を使ってるんですけど実際に実機でビルド
させたところ何故か「写真やメディアへのアクセス許可」と「連絡先への
アクセス許可」というダイアログが出てしまいました
このマニフェストの中にはその様なものはないと思うんですけどどうでしょうか?
「このパーミッションが影響している」というものはあるのでしょうか?
0006デフォルトの名無しさん (ワッチョイ 8a17-6DQQ)2017/02/25(土) 20:32:46.23 ID:NbM7/95y0
使っているライブラリでパーミッシヨン要求してる
0007デフォルトの名無しさん (ワッチョイ 533c-JtgB)2017/02/25(土) 20:37:14.97 ID:OKJhVtjh0
>>6
返事ありがとうございます
それだと俺の腕ではよくわからないですね
ちょっとしばらく検索してみます
0008デフォルトの名無しさん (ワッチョイ 1eba-tvpq)2017/02/26(日) 20:42:49.73 ID:2t8lxsOP0
retrolambdaみたいなOSSのgradleプラグインを使用する場合、アプリにライセンス表記はいるのでしょうか
ライブラリがapkに入るわけではないから不要ですかね
わかる方いますか
0009デフォルトの名無しさん (ワッチョイ 8a17-6DQQ)2017/02/26(日) 21:57:24.40 ID:QW6dTtz/0
それは「gccでコンパイルしたプログラムはGPLにはならない」というのと同じ話かと。
そのプラグインがおかしなライセンス設定していなければだけど。
0010デフォルトの名無しさん (ワッチョイ 4aaf-JoRT)2017/02/28(火) 22:05:18.33 ID:Fgmp32cf0
Design support library使ってNavigationDrawer作ると枠が出るのですが仕様でしょうか
Android4.1.1だと出て6.0だと出ない
http://i.imgur.com/hBhuS6m.png
0011デフォルトの名無しさん (ワッチョイ a34f-BsB8)2017/03/01(水) 10:46:05.72 ID:q8QPPPXs0
スマートフォンのdp解像度で画面配置をすれば大抵のスマートフォンで大体同じ位置に来るんだろうけども、
タブレット向けdp解像度(960x600dp)で画面配置したら、
スマートフォンで動作させた時に画面に全部入らなくなりますか?
http://qiita.com/nein37/items/3918f5833bfa31fbe3d5
0012デフォルトの名無しさん (スップ Sdaa-tvpq)2017/03/01(水) 12:20:50.54 ID:6pnFK8Jrd
レイアウトによってはそりゃなるだろう
なにを聞きたいのかわからん
0013デフォルトの名無しさん (ワッチョイ 8b42-BJNc)2017/03/05(日) 08:47:16.40 ID:ePMet4eF0
Android studio更新したらデフォルトのルートレイアウトがconstraint layoutになってるわけだが
お前らconstraint layout理解した?
0014デフォルトの名無しさん (アウアウオー Sabf-BJNc)2017/03/05(日) 16:03:17.11 ID:PCF8KfNDa
クイズのアプリを作ろうとしていて、

"回答"というボタンをタップすると、正誤と解説表示し、
"回答"ボタンを"次の問題へ"というボタンに差し替えようとしています。

この場合、

 方法@"回答"ボタンのリスナーの挙動やテキストを書き換える

 方法A最初から二つのボタンを作っておいて、表示・非表示を切り替える

どっちが一般的でしょうか?
もしくはそれ以外に良い方法があったら教えていただきたいです。
正誤と解説をどのように出すか次第だし、ボタンも同じ方針にすれば良いだけでは?
001614 (アウアウオー Sabf-BJNc)2017/03/05(日) 22:54:12.42 ID:iuMLooDFa
>>15

ありがとうございます。

解説の表示・非表示を切り替えることが思いのほか大変だったので
解説も"次へ"のボタンもダイアログに表示することにしました。
0017デフォルトの名無しさん (JP 0H2f-BJNc)2017/03/06(月) 09:02:38.27 ID:LelUtlXwH
>>16
前に簡単な問題アプリ作ったときは
回答欄をVISIBLE.GONEにしておいて都度切り替えてやったよ
0018デフォルトの名無しさん (ワッチョイ 6bf8-2BvX)2017/03/06(月) 11:32:44.95 ID:hNpf6v840
>>14
画面をまとめて切り替えるなら
FrameLayout
├RelativeLayout/match_parent
│ ├TextView(問題)
│ ├RadioButton(回答選択肢1)
│ ├RadioButton(回答選択肢2)
│ ├ :
│ └Button(回答)

└RelativeLayout/match_parent
  ├TextView(正誤)
  ├TextView(解説)
  └Button(次の問題へ)
として、(重なっている)二つのRelativeLayoutをVISIBLE/INVISIBLE切り替える
LayoutをINVISIBLEにすれば、その子もINVISIBLEになる
001916 (オイコラミネオ MM7f-prdN)2017/03/06(月) 23:01:48.39 ID:0gVC6aC4M
>>17
ありがとうございます。
焦らずにもう一回考え直してみます

>>18
ご丁寧にありがとうございます!
Visibleの切り替えだと、空白が出来てダメだと思ったんですが自分のやり方が悪かったようですね。
やり直してみます。
0020デフォルトの名無しさん (ワッチョイ 8b42-BJNc)2017/03/06(月) 23:15:10.29 ID:OLRZivRg0
gone
0021デフォルトの名無しさん (ワッチョイ 0742-2hGO)2017/03/09(木) 22:16:19.01 ID:K4JzVPHG0
みんなdroid kaigi参加した?
0022デフォルトの名無しさん (アウアウカー Sa7f-nf/8)2017/03/09(木) 22:48:14.55 ID:neJq9orRa
シゴトシゴトシゴトダヨ
0023デフォルトの名無しさん (ワッチョイ 0742-2hGO)2017/03/09(木) 23:08:03.54 ID:K4JzVPHG0
stethoって何て読むん
0024デフォルトの名無しさん (ワッチョイ 7f45-2hGO)2017/03/09(木) 23:40:51.87 ID:kdsVwaqy0
0025デフォルトの名無しさん (ワントンキン MMa2-t6GO)2017/03/10(金) 21:03:32.66 ID:egYumMtLM
カタカナで書けよ
0026デフォルトの名無しさん (アウアウカー Sa7f-cXuX)2017/03/10(金) 21:34:30.55 ID:sUyr/tH9a
イヤデス
0027デフォルトの名無しさん (スップ Sdb2-fiD0)2017/03/10(金) 21:35:35.08 ID:tZih0X2dd
随分とかそったね
どうしたん
0028デフォルトの名無しさん (ワッチョイ 0742-2hGO)2017/03/11(土) 21:17:30.59 ID:g3v1A/if0
AlarmManagerで10分後にセットした後、端末の時刻を10分後に設定したら、
即alarmが実行されるのが正しいんでしょうか?
それともやっぱり10分後にalarmが実行されるんでしょうか。
0029デフォルトの名無しさん (ワッチョイ 07ba-fiD0)2017/03/11(土) 21:18:29.27 ID:6cSR8R+I0
>>28
即です
0030デフォルトの名無しさん (ワッチョイ 0742-2hGO)2017/03/11(土) 21:26:01.59 ID:g3v1A/if0
ってことは時刻を変更したことをbroadcastでonReceiveしてalarmを消したあとに再度設定しないさないといけないってことですか?
0031デフォルトの名無しさん (ワッチョイ 07ba-fiD0)2017/03/11(土) 21:30:11.29 ID:6cSR8R+I0
うーん
そもそもalarmmanagerはタイマー出はなくアラームなので時刻で発火するものだからね
どうしてもalarmmanagerで経過時間で発火させたい=プロセスを起床させたいならその方法しかない
プロセスが生きてる前提ならタイマーとかhanderでやったほうがいい
0032デフォルトの名無しさん (ワッチョイ 0742-2hGO)2017/03/11(土) 21:44:41.06 ID:g3v1A/if0
あ、駄目だ。
broadcastでonReceiveする前にalarmが発火してしまう
プロセスが死んでいてもやりたいんですよねえ。
0033デフォルトの名無しさん (ワッチョイ 07ba-fiD0)2017/03/11(土) 21:47:30.86 ID:6cSR8R+I0
あら、そうなっちゃうか
exactじゃない方のapiならそこまで瞬間的に発火しないと思ったが

仕様を見直そう^^
0034デフォルトの名無しさん (アウアウオー Saca-2hGO)2017/03/12(日) 12:15:46.01 ID:hExc4CEWa
@SQLiteの作成時にテーブルを作成する処理を記述

A後になってテーブルを追加するけど、SQLiteを作成する処理が走らず、テーブルが作成されなくてハマる


というのうも過去何度も繰り返しております。
使用するテーブルを最初から全部考えておけば済む話ですがなかなかうまく行きません。

どうやって処理してますか?

・毎回アンインストール&再インストールしてSQLiteを再作成する
・SQLiteを毎回作り直す処理を書く
・"No such table"の例外を拾ってテーブルを作成する処理を書く


毎回アンインストール&再インストールしておりますが、
なんか無駄を感じます。
0035デフォルトの名無しさん (ワッチョイ 323c-ZZsN)2017/03/12(日) 13:02:22.51 ID:T4N3k6YJ0
テーブルを追加する処理が確実に走るようにするじゃないの?
onUpgrade()
0036デフォルトの名無しさん (ワッチョイ e30f-p5Is)2017/03/12(日) 13:39:26.26 ID:utfsstCu0
DBのバージョン上げればonUpgrade呼ばれたよな確か
0037デフォルトの名無しさん (ワッチョイ 7252-jJqA)2017/03/12(日) 19:44:27.64 ID:WjKhORQs0
よくあるサンプルだと、onUpgradeは DROP TABLE して onCreate呼んでるだけだよな
でも普通はユーザのデータ消したくないからDBのバージョン比較して
ALTER TABLE 〜 ADD COLUMN とかしないとダメだよね
よく探せばそういうサンプルもけっこうある

>>34はDBのバージョンすら上げてなさそうだが
0038デフォルトの名無しさん (アウアウカー Sa7f-nf/8)2017/03/12(日) 23:42:03.46 ID:9tcWEMdga
>>32
ELAPSED_REALTIME_WAKEUPは?
0039デフォルトの名無しさん (ワッチョイ 3385-SJUV)2017/03/16(木) 07:01:11.02 ID:HfF6U4gS0
重い腰を上げてAndroid データバインディングを勉強し始めて2日目で、
.NETのデータバインディングと比べて色々不満があるが、今のところの一番気になる
点はMenuはデータバインドできないの??

通常のビューはデータバインドしてメニューは今まで通りの手動とか
混在コード書かなきゃいけないの??
0040デフォルトの名無しさん (ワントンキン MM5f-TYuy)2017/03/16(木) 08:50:33.55 ID:OjXhX61/M
データバインディング、MVVM、Rxは今や常識だからな
知らないのは恥ずかしいこと
0041デフォルトの名無しさん (スプッッ Sd17-nPNM)2017/03/16(木) 09:06:07.42 ID:tY3h0g4Cd
仕事でRx使ったら読めないとクレームきたでござる
0042デフォルトの名無しさん (ワッチョイ ef5b-ChYx)2017/03/16(木) 12:11:59.57 ID:SwJvykSg0
>>39
現状は無理です
.NETと違って設計段階でbindingを考慮してなかったからな
同様の意見は多数出てるからそのうち対応される可能性はあると思うよ
0043デフォルトの名無しさん (オッペケ Sr97-i4qJ)2017/03/16(木) 12:20:18.21 ID:nh3oPWeBr
暗黙的インテントでstartActivityを投げる時
出てくるアプリケーションのリストをキャンセルした際のリスナーって無いのでしょうか?
0044デフォルトの名無しさん (ワッチョイ 3385-SJUV)2017/03/16(木) 14:14:20.78 ID:HfF6U4gS0
>>42
現状は無理ですか。しょぼーんですね。

ありがとうございます。
0045デフォルトの名無しさん (ワッチョイ bf0e-ajdi)2017/03/16(木) 22:58:12.66 ID:K99AdbM30
結果が欲しけりゃstartActivityForResult
0046デフォルトの名無しさん (スププ Sddf-gIrG)2017/03/17(金) 12:53:11.98 ID:8UrI+HMCd
MPAndroidChart の LineChart を2つ使って線グラフを2つ描いているのですが、この2つのグラフの拡大・縮小、上下左右移動を連動させることは可能でしょうか?

一方を右にスライドさせるともう一方も同様に右にすらいどされ、常に同じ位置を表示している感じです。
0047デフォルトの名無しさん (ワッチョイ 5342-tpgq)2017/03/18(土) 11:29:13.02 ID:290jQTBd0
buildTypeとflavorを使ってビルドを分けることはできたんですが、
もう一階層作って3階層でビルドを分けたいんですができますか
0048デフォルトの名無しさん (ワッチョイ 53ba-nPNM)2017/03/18(土) 11:40:49.17 ID:6b/Lj0PJ0
できません
0049デフォルトの名無しさん (ワッチョイ bf52-8FG5)2017/03/18(土) 15:07:46.02 ID:OiEZtCVC0
>>47
ぐぐれ Flavor Dimensions
0050デフォルトの名無しさん (ワッチョイ 5342-tpgq)2017/03/18(土) 17:53:25.02 ID:290jQTBd0
dependencies{ }の中で、
flavorによってcompileするライブラリを条件分岐で切り替えたいんですが
どうやったらいいですか
0051デフォルトの名無しさん (ワッチョイ 5342-tpgq)2017/03/18(土) 18:03:32.55 ID:290jQTBd0
できましt
0052デフォルトの名無しさん (スプッッ Sddf-ChYx)2017/03/18(土) 18:24:08.44 ID:LqilER9ed
ならかけよ
0053デフォルトの名無しさん (ワッチョイ 5342-tpgq)2017/03/19(日) 09:52:58.01 ID:LoFd5DSt0
C言語の#ifdefみたいなのってできないんすか
importの部分をビルド設定で有効にしたり無効にしたりしたいです!
0054デフォルトの名無しさん (ワッチョイ ef44-i4qJ)2017/03/19(日) 10:49:43.49 ID:/R7/Uotw0
できないよ!

ndkとか使えばできるかもだけど
0055デフォルトの名無しさん (ワッチョイ 53ba-nPNM)2017/03/19(日) 10:59:27.30 ID:93Gn7GG90
フレーバーでソース分けるしかないね
0056デフォルトの名無しさん (ワッチョイ 73f8-12+v)2017/03/19(日) 12:08:47.39 ID:a7WIdHJn0
このところ毎日のようにGoogle製アプリが更新されているけど何事?
同じアプリが何度も更新されているのもあるようだし・・・
0057デフォルトの名無しさん (ワッチョイ 5342-tpgq)2017/03/19(日) 15:47:48.14 ID:LoFd5DSt0
ソース毎で分けたら同じソースが2か所に配置されて一か所修正したらもう一方も修正しないといけなくなるじゃないっすかー
なんでプリプロセッサの機能を消したかなあ
0058デフォルトの名無しさん (ワッチョイ bf0e-ajdi)2017/03/19(日) 20:13:33.37 ID:/Kusk5u20
消してない
最初から無いだけ
0059デフォルトの名無しさん (アウアウオー Sa1f-tpgq)2017/03/19(日) 20:23:50.35 ID:lkU1pg+Sa
・Webサーバを用意して、ユーザごとのデータを保管
・アプリ側でユーザ名とパスワードを入れて、Webサーバの自分のデータにだけアクセスを許可

という仕組みを作りたいんですが、どうやって作ればいいのか方向性が見えません。
ググってみると、AccountManagerなるものが出てきますが、アプリもサーバも自分で用意する場合でも使うものなのでしょうか?
0060デフォルトの名無しさん (ワッチョイ bf52-8FG5)2017/03/19(日) 21:07:52.28 ID:s3dEl3fs0
>>57
フレーバで切り分ける部分だけを別クラスに分離して、ファイル単位で分けるのが普通だよ
ifで分けるとかそれができないときの最後の手段
0061デフォルトの名無しさん (JP 0Hb7-tpgq)2017/03/20(月) 09:24:15.04 ID:gV5Vnu9FH
>>59
realmとかfirebase使えばいい
0062>>61 (アウアウオー Sa1f-tpgq)2017/03/20(月) 11:52:02.10 ID:1hDtask4a
ありがとうございます。
Firebaseの無料分で十分だと思うので調べてみます。

BaaSなるものがあることを昨日知りました。
とりあえずソースコードは共通クラスを作ってflavorでサブクラスを分けることでいい感じで分ける事ができたんですが、
レイアウトファイルはどうしたらいいんでしょうか
xmlにif文が書けたらいいんですが現状ほぼ同じファイルが2つできてしまってて、
一方を書き換えたらもう一方も書き換えないといけないです
できました
0065デフォルトの名無しさん (ワッチョイ 53ba-nPNM)2017/03/20(月) 14:45:58.68 ID:XcCZvFx20
ここはおまえの日記か
>>65
お前がしね
0067デフォルトの名無しさん (ワッチョイ bf3c-I81+)2017/03/20(月) 16:09:25.11 ID:d5aNJ3RN0
エスパー切れ
0068デフォルトの名無しさん (ワッチョイ 537b-zQmZ)2017/03/20(月) 16:33:46.76 ID:L1lapQ1z0
二度と出てけ
0069デフォルトの名無しさん (ワッチョイ 53ba-nPNM)2017/03/20(月) 16:50:08.68 ID:XcCZvFx20
二度と出てけ

二度と
(副)
〔否定表現と呼応して〕 その事は今回限りであって、 今後は絶対に△ない (しない) と言い切る様子。

出てけ
出ていけの省略口語。出るの命令形。

二度とは否定を伴うはずなので誤用ではあると思われるが、この場合、出ていかなかった事は今回限りにしろという言う意味になるはずなので次回ここに来たら出ていけという事になるのだろうか

考えれば考えるほど混乱し胸が苦しくなる言葉だ
0070デフォルトの名無しさん (ワッチョイ bf17-AQHT)2017/03/20(月) 19:49:17.62 ID:0i/2WiW90
二度とあることは三度とあると。
0071デフォルトの名無しさん (ワッチョイ c30f-ygAD)2017/03/21(火) 01:21:44.67 ID:kyidgKfj0
まれによくある
0072デフォルトの名無しさん (ワッチョイ 53ba-nPNM)2017/03/21(火) 01:31:36.31 ID:Zo5CVS0M0
二度と出ていけ

メダパニみたいな言葉だ
0073デフォルトの名無しさん (ワッチョイ ea9e-w4Jc)2017/03/23(木) 00:06:41.31 ID:DfbviLxH0
Inbox とかでドロワーで選択して、
フラグメントが表示されたとき、Toolbarとかの色が変更されるけど
あれどうやってやるの?
0074デフォルトの名無しさん (ワッチョイ 2a0e-pnQU)2017/03/23(木) 10:03:44.61 ID:Acv+joSL0
質問ですが、
listviewで下詰めで要素を表示するにはどうしたらいいでしょうか?

http://i.imgur.com/AYEDBQ1.png
こんな感じにしたいです。
0075デフォルトの名無しさん (アウアウカー Sa1b-l3MH)2017/03/23(木) 11:49:57.95 ID:I6bO4X7Wa
誰得
0076デフォルトの名無しさん (ワッチョイ be08-5sBS)2017/03/23(木) 14:24:47.77 ID:yKi2Dcwm0
ブロック崩しを実装したいのでは
0077デフォルトの名無しさん (ワッチョイ fee2-VHv+)2017/03/24(金) 00:20:52.42 ID:jrKW4GX+0
ListViewの設定で下からってのがあるっしょ
0078デフォルトの名無しさん (ワッチョイ 2a3c-LBHs)2017/03/24(金) 04:06:54.23 ID:YH8WFND00
グラビティをボトムで下に寄ったような
0079デフォルトの名無しさん (ワッチョイ 2a0e-pnQU)2017/03/24(金) 14:39:37.84 ID:L7qJtEni0
>>77
すみませんが、もう少しだけ詳しく教えていただいてもよろしいでしょうか?初心者ですみません
0080デフォルトの名無しさん (ワッチョイ 2a0e-pnQU)2017/03/25(土) 09:33:47.28 ID:pam1EuaF0
listviewの件ですが
tablelayoutにして解決しました。
ありがとうございました
0081デフォルトの名無しさん (ワッチョイ 931f-VHv+)2017/03/25(土) 10:46:12.34 ID:y17BaUFc0
ならかけよ
0082デフォルトの名無しさん (ワッチョイ 2a0e-pnQU)2017/03/26(日) 00:13:39.45 ID:IOu/oMC+0
>>81
linearlayoutのgravityをbottomにしてその中にscrollviewをwrap_contentで置いてtablelayoutを入れただけです。

<linearlayout width=match height=match gravity=bottom>

<scrollview width=match height=wrap>

<tablelayout>
....
....
</tablelayout>

</scrollview>

</linearlayout>

こんな感じです。
0083デフォルトの名無しさん (ワッチョイ e6cd-iasG)2017/03/26(日) 13:31:12.26 ID:EMF+Fe9C0
それだと大量のitemを投下すると重くなる気がするけどいいのかな
0084デフォルトの名無しさん (ワッチョイ 6679-yWxe)2017/03/26(日) 19:47:07.12 ID:XA6YgUQb0
javaも書いたことないけどiPhoneアプリでオブジェクト指向やxcodeは大体使えるから
中級者向けの本が欲しいんだが何かいい本ありませんか
0085デフォルトの名無しさん (ワッチョイ e6cd-iasG)2017/03/26(日) 20:03:16.58 ID:EMF+Fe9C0
「黒帯エンジニアが教えるプロの技術 android開発の教科書」って本が結構良かった
比較的最近(2016/7)の本だし
開発するにあたって何に気をつけるべきかが(割と荒く)書いてある
1から10まで書いてないと気が済まないならおすすめはしないけど
これに書いてあることを足がかりに自分で調べられるなら役に立つと思う
0086デフォルトの名無しさん (ワッチョイ aaa8-KZ3C)2017/03/26(日) 20:56:15.65 ID:VeFFDo4V0
「黒帯エンジニアが教えるプロの技術 android開発の教科書」
の内容紹介の説明だけ見たけど、
中級者向けっていっても、>>84は基本的な事をすっとばしたいのか??

いきなり、マネタイズとかパフォーマンスとかマテリアルデザインとかより、
やっぱ基本的なアクティビティのライフサイクルから始まって、
フラグメントやビュー、ビューグループの各種コントール、ダイアログなど
そこらへんは他の環境で経験あっても勉強しないとまずいよーな。
0087デフォルトの名無しさん (ワッチョイ 6679-yWxe)2017/03/26(日) 23:06:30.03 ID:XA6YgUQb0
おおすまんな。本屋で読んでみるべ
今までゴリ押しで勉強してきたからなぁ。丁寧に順番守って勉強出来る自信がない。、
0088デフォルトの名無しさん (ワッチョイ 7bd4-SVia)2017/03/26(日) 23:09:40.66 ID:F32BgOXZ0
4年前初めてAndroidやろうとしたとき読んでみて分かりやすかったけど、いま見たら内容だいぶ変わってる、当時はエクリプスだったし

http://www.shuwasystem.co.jp/products/7980html/4853.html
0089デフォルトの名無しさん (スップ Sdea-6g7I)2017/03/27(月) 09:07:54.10 ID:9ObHSaYAd
>>87
日本語書籍を用いて順番守って学習しないと使えないことから抜け出せてプログラマーとしてのスタートラインだから素人の言うことを真に受けるな
0090デフォルトの名無しさん (ワッチョイ 7ba8-0yGP)2017/03/27(月) 10:49:16.47 ID:z+zFLGCJ0
おまえは日本語くらいしっかり書けるようになってからレスしろ
0091デフォルトの名無しさん (ワッチョイ 2a25-n/U6)2017/03/28(火) 00:52:10.46 ID:Id9SGXxW0
styleのitemに指定できる要素について質問させてください。

親要素に@android:style/Widget.Holo.TabWidget を指定した独自スタイルを作成し、
tabLayout要素を上書きしようとitemタグに「android:tabLayout」と指定したところ、
「No resource found that matches the given name: attr 'android:tabLayout'.」
とエラーが出てしまい指定できません。

マニフェストの指定ではminSdkVersion=15, targetSdkVersion=21としており、
ビルドターゲットにはAPI=23を指定しています。
上記スタイルはvalues(接尾辞なし)にあるstyle.xmlで指定しています。

AndroidSDK配下にあるapi15, api21, api23のattrs.xmlファイル全てに
<declare-styleable name="TabWidget">
<attr name="tabLayout" format="reference" />
の記述があるため指定できると思っているのですが、
何か不足している記述等ありますでしょうか

ご存知でしたらご教示いただけますでしょうか
0092デフォルトの名無しさん (ワッチョイ ea7b-YuA+)2017/03/28(火) 04:29:25.59 ID:wWPXElef0
privateなリソース(フレームワーク内部用)だから使えないようになってる
public.xmlにないやつはprivate
009391 (ワッチョイ 2a25-n/U6)2017/03/28(火) 21:02:55.39 ID:Id9SGXxW0
>>92
今までの謎が解けました。
ありがとうございました。
0094デフォルトの名無しさん (アウアウカー Sa1b-l3MH)2017/03/28(火) 21:18:26.65 ID:AxeWea4ia
アプリから呼び出せないリソースはandroidのソースツリーから直接頂いたことはある。
0095デフォルトの名無しさん (ワッチョイ db3c-Uo23)2017/03/28(火) 21:47:37.92 ID:l9W+KT9H0
/system/usr/keylayout/ACCDET.klってファイルって
有線イヤホンのボタン押下時のキーコード定義だと思うんだけど
これに定義されてる
key 163 MEDIA_NEXT
key 165 MEDIA_PREVIOUS
この辺ってイヤホンをどう操作したら入力した事になんの?
3ボタン付きのイヤホンで受話、ボイスアシスタント、音量操作とかは出来たけど、上記の奴がどうしても分からん…
0096デフォルトの名無しさん (ワッチョイ 2a72-l3MH)2017/03/28(火) 23:27:22.93 ID:i+xjcOCH0
次曲、前曲に飛ばすためのボタン。
サポートしてるイヤフォンならマニュアルに操作方法載ってる。

だいたいどれかのボタン二度押しになってるんじゃないか
0097デフォルトの名無しさん (ワッチョイ db3c-Uo23)2017/03/29(水) 09:01:46.48 ID:Z1JspANm0
>>96
サポートしてるイヤホンって何かある?
どちらにしても、普通の3ボタン式のイヤホンじゃ駄目か…
0098デフォルトの名無しさん (ワッチョイ a6b4-kBvA)2017/03/29(水) 10:22:23.18 ID:GwbhbF0S0
NestedScrollViewの中にRecyclerViewを入れると、
RecyclerViewにAdapterを設定したタイミングで
画面に表示されていない画面外のセル全ての
画像読み込み処理が実行されてしまってるんですが、
回避する方法はありますか
0099デフォルトの名無しさん (ワッチョイ cf70-KZ3C)2017/03/29(水) 11:29:57.78 ID:s6kw3xb10
>NestedScrollViewの中にRecyclerViewを入れると、
入れない、が正解。
0100デフォルトの名無しさん (ワントンキン MM9a-Lcoi)2017/03/29(水) 12:53:44.55 ID:EaWGi1tYM
じゃあ画面全体をスクロールさせたい場合は
adapter内でpositionによってレイアウトを分ける
みたいなことしないといけないんですか
面倒くさいんですけど
0101デフォルトの名無しさん (ワッチョイ cf70-KZ3C)2017/03/29(水) 13:06:03.99 ID:s6kw3xb10
ちがうちがう。
NestedScrollViewとRecyclerViewは、どっちもNestedScrollingChildのサブクラスで、
CoordinatorLayoutのchildとして機能するということだ。
これくらい、ドキュメントで調べろよ。
0102デフォルトの名無しさん (スプッッ Sd4a-6g7I)2017/03/29(水) 13:25:02.64 ID:wysGCAMZd
断る!
0103デフォルトの名無しさん (ワッチョイ a6b4-kBvA)2017/03/29(水) 13:56:14.27 ID:GwbhbF0S0
CoordinatorLayoutは使っていて、
その内側にNestedScrollViewを使っています。
その内側にRecyclerViewとその他のViewがいくつか配置していて、
画面全体を上下にスクロールさせたいんです。
なので、この場合は、NestedScrollViewを使わずにCoordinatorLayoutの子としてRecyclerViewを一つ入れて、
RecyclerViewの中にその他のいくつかのViewを配置しないといけないと思ったんで、
>adapter内でpositionによってレイアウトを分ける
>みたいなことしないといけないんですか
っていう結論になったんですが何か違ってますでしょうか
0104デフォルトの名無しさん (ワッチョイ 2aa3-pqJl)2017/03/29(水) 15:30:45.55 ID:1aUbts4F0
>>97
俺が持ってるのこれだけど
http://www.plantronics.com/jp/support/product/backbeat-go-2
音量ボタン長押しで曲送りだよ。
0105デフォルトの名無しさん (ワッチョイ db3c-Uo23)2017/03/29(水) 18:13:21.22 ID:Z1JspANm0
>>104
それはBluetooth接続のワイヤレスイヤホンだろ?
だったらAVRVP.klの方に定義してあるキーイベントだから違うなー。
有線イヤホンのマルチファンクションボタン連続押しによる機能分けも
アプリ側の実装っぽい。
ACCDET.klのやつは、とりあえず定義してあるだけの内容かな…
0106デフォルトの名無しさん (アウアウカー Sa1b-PLqf)2017/03/29(水) 19:52:57.13 ID:PkJqS6sLa
検証用のプロジェクト公開してくれたら試してみるかもしれない
試してみないかもしれない
0107デフォルトの名無しさん (ワッチョイ 931f-VHv+)2017/03/29(水) 21:47:11.82 ID:In7rY+WH0
常に最新OSが手に入れられるのってnexusとpixelだけなんすか
0108デフォルトの名無しさん (ワッチョイ bf3f-MCV6)2017/03/30(木) 01:58:30.97 ID:nQaxHjXM0
>>107
公式エミュレータ
0109デフォルトの名無しさん (ワッチョイ bf3f-MCV6)2017/03/30(木) 01:59:19.24 ID:nQaxHjXM0
>>107
公式エミュレータ
0110デフォルトの名無しさん (ワッチョイ 5383-6H6Q)2017/03/30(木) 16:29:21.74 ID:ZRdRJHeA0
NotificationListenerServiceを利用していて、startService()したあと、onStartCommand()が呼び出され、getActiveNotifications()を実行できる状態になっていることは確認できるのですが、なぜかonListenerConnected()やonNotificationPosted()がまったく呼び出されません。

マニフェストや通知へのアクセス設定に不備がない場合、何が原因なのでしょうか?
0111デフォルトの名無しさん (ワッチョイ bf7b-fX8y)2017/03/30(木) 17:28:25.68 ID:YXllQBX+0
permissionとintent-filter設定してないとか
0112デフォルトの名無しさん (ワッチョイ ef79-oXBR)2017/04/02(日) 01:08:25.43 ID:zvgxOihW0
oncreate内でtablayoutを作ってTabLayout.getTabAt(0).selectをしたんですが0番のタブがクリックされたときの処理がされませんでした
どこに(どのように)書けばいいんでしょうか?
viewpagerは使っていません
0113デフォルトの名無しさん (ワッチョイ ef79-oXBR)2017/04/02(日) 04:41:59.60 ID:zvgxOihW0
reselectedで自己解決
失礼しました
0114デフォルトの名無しさん (ワッチョイ 933c-xboS)2017/04/05(水) 00:42:48.30 ID:gVidujsA0
android6.0の端末で出てたログが7.0の端末だと出なくなったんだけどこの辺何か設定必要なんだっけ?
同じapkで出なくなったのはデバッグレベルのログ
0115デフォルトの名無しさん (アウアウカー Sad7-dcFG)2017/04/05(水) 11:54:52.66 ID:MNLTBjHpa
>>114
出てたこと・出なくなったことはどうやって確認しましたか?
0116デフォルトの名無しさん (スップ Sddf-ZkEF)2017/04/05(水) 22:19:36.46 ID:RcS41rYJd
Oやばくね?
google頭いかれてんじゃね
0117デフォルトの名無しさん (ワッチョイ d31f-agmj)2017/04/05(水) 22:40:31.26 ID:IdFO7lAI0
ん?Picture in pictureぐらいしか目立つのはなかった気がするが
0118デフォルトの名無しさん (スップ Sddf-ZkEF)2017/04/05(水) 22:44:25.29 ID:RcS41rYJd
いやいや
バックグランドサービスが一切動かなくなるんやで
iOS並の糞OSに超絶デグレでうちの開発はパニック状態や
0119デフォルトの名無しさん (ワッチョイ 933c-xboS)2017/04/05(水) 22:45:23.96 ID:gVidujsA0
>>115
onCreateで各レベルのログ出すだけのアプリ作って6と7それぞれにインストール
6だとe,w,i,d,v各レベル出力できたけど7だとd,vのログがでない
0120デフォルトの名無しさん (ワッチョイ d31f-agmj)2017/04/05(水) 22:53:46.39 ID:IdFO7lAI0
どうせAndroidManifestにフラグを一つ追加したらオフにできるにきまってる
0121デフォルトの名無しさん (スップ Sddf-ZkEF)2017/04/05(水) 23:01:26.12 ID:oqPkxAA/d
>>118
あれはようするにサービス使ってるアプリはAPIレベル27以上は使うなというgoogle様のご意向だよ
googleが心から反省するまで26で止めればいいさ
0122デフォルトの名無しさん (ワッチョイ d3a3-ZkEF)2017/04/05(水) 23:45:40.92 ID:qywHDGAD0
androidはbackgroundで動けることが唯一の強みだったのにほんとバカだなよな
最近のgoogleは機能追加ではなくアプリに制限かけることしか考えてないわ
0123デフォルトの名無しさん (ワッチョイ 071f-D6lx)2017/04/06(木) 00:28:42.89 ID:sXLieVHV0
そもそもruntime permission対応したくないから23以上にしないし
0124デフォルトの名無しさん (ワッチョイ f73c-APqU)2017/04/06(木) 00:42:47.48 ID:oyVNkOtv0
background制限とかマジ勘弁
まーたお仕事が増える・・・
0125デフォルトの名無しさん (ワッチョイ fb32-k44U)2017/04/06(木) 01:29:15.64 ID:kJ8sCZUe0
foregroundのサービスなら大丈夫っぽい
そろそろforegroundはアイコンなしでできるようにしてほしい
0126デフォルトの名無しさん (ワッチョイ 327b-vf3K)2017/04/06(木) 02:38:07.66 ID:Ur+Lq6QH0
JobScheduler使えよってことじゃない
0127デフォルトの名無しさん (ワッチョイ fb32-k44U)2017/04/06(木) 06:25:28.33 ID:kJ8sCZUe0
Lollipopからってのはまだきついな
0128デフォルトの名無しさん (ワッチョイ 723f-+TA9)2017/04/06(木) 07:41:59.86 ID:vyfRyAmQ0
プログラムをプラットフォームのAPIべったりで書く奴は無能
backgroundサービスでもJobSchedulerでもどっちでも動くようにしとけ
0129デフォルトの名無しさん (スップ Sd92-RfQI)2017/04/06(木) 09:04:24.97 ID:sp2ENUYJd
サービスがプラットフォームべったりというならjobschedulerもべったりだろという
0130デフォルトの名無しさん (ワッチョイ 723f-+TA9)2017/04/07(金) 05:08:42.80 ID:GxIAMhcc0
だからサービスにもjobschedulerにも依存しすぎないように実装しておくべきってことでしょ
0131デフォルトの名無しさん (ワッチョイ fb32-k44U)2017/04/07(金) 05:32:35.55 ID:aRiH150x0
そろそろosの切り捨てを発表してほしい
バージョンによって同じコードでも推奨非推奨、動く動かないがあるからめんどくさい
0132デフォルトの名無しさん (ワッチョイ f225-mAnV)2017/04/07(金) 07:05:30.44 ID:g2Bp4RiZ0
そんなこと言ったらおまえが切り捨てられるだけじゃね
0133デフォルトの名無しさん (ワッチョイ 071f-D6lx)2017/04/09(日) 16:03:21.37 ID:NadzRpO+0
アプリ内課金でただの寄付でお金取ってもいいものなの?
アプリを気に入っていただけましたら寄付をお願いします。みたいなの
0134デフォルトの名無しさん (ワッチョイ efd9-EOe2)2017/04/09(日) 22:30:45.22 ID:XvRbw7ZK0
課金システムを利用して寄付を募ったら
詐欺じゃね
0135デフォルトの名無しさん (アウアウカー Sa7f-t9CE)2017/04/10(月) 00:40:31.03 ID:CDIHwj/Na
>>134
そうだとしたらどんな些細なものでもいいから新機能解放することにすればいいな
背景色変えられるだけの機能でもいいし
0136デフォルトの名無しさん (ワッチョイ f267-9XCV)2017/04/10(月) 01:17:29.55 ID:b+zXomQC0
カンパウェアだろ。別にいいんじゃねーの?Googleの規定と、法律まもれば。
0137デフォルトの名無しさん (ワッチョイ efd9-EOe2)2017/04/10(月) 09:09:15.79 ID:xk/B7Dik0
詐欺といったのは、些細な機能開放とかの有無ではなく、ユーザーから返金要求されたときに寄付だから返金しませんっていうのをやりたいのかなと思った点

>>135
そんな機能が付加価値になるアプリに寄付する奴はいねぇw
0138デフォルトの名無しさん (ワッチョイ 0f1f-HE/W)2017/04/14(金) 22:05:01.63 ID:oqWKvLke0
モバイルアプリ開発エキスパート養成読本読んでるんだが
リアクティブプログラミングとか出てくるんだがこれやった方がいいのか?
https://www.amazon.co.jp/dp/4774188638/
さっぱり理解できない
0139デフォルトの名無しさん (ワッチョイ eba8-HE5L)2017/04/14(金) 22:36:51.07 ID:s1OX5Qt80
俺がまだ勉強してないことはやらなくていいと思う
0140デフォルトの名無しさん (ワッチョイ 0f1f-HE/W)2017/04/14(金) 22:44:29.13 ID:oqWKvLke0
まずメリットがよくわからない
これを使わないと実現できない機能があるわけじゃないし
ユーザーメリットがあるわけでもないのに何でこんな面倒なものやらないといけないのって感じ
両方やってみて明らかにメリットあるって言える人いるの?
0141デフォルトの名無しさん (ワッチョイ eba8-HE5L)2017/04/14(金) 22:55:56.06 ID:s1OX5Qt80
その質問定期的にされるから、
前スレの>>950あたりも見てみん。
0142デフォルトの名無しさん (ワッチョイ 9fcb-eX02)2017/04/14(金) 22:59:37.82 ID:1tKdTMPH0
俺も齧った程度だけどリアクティブの良さは時間や実行タイミングを簡単に管理できることだと理解してる
そりゃ既存のスタイルでも実現できるんだけど
わざわざスレッドがどうこうって設計する手間が省ける
旧来のプログラミング手法とは大きく違うからとっつきづらいだろうけど
時間の管理をライブラリや言語レベルでサポートしてくれる感じ
0143デフォルトの名無しさん (ワッチョイ 0b75-tSB2)2017/04/15(土) 00:15:37.72 ID:KMbZmlHo0
リアクティブでRxJavaを使うのは周りではもう今はデファクトスタンダードだなあ
0144デフォルトの名無しさん (アウアウカー Saef-m8BH)2017/04/15(土) 01:10:42.02 ID:UXrd2QFea
一見面倒に思えたとしてもRx使わずに同じこと実現するのと比べれば圧倒的に楽だろ
0145デフォルトの名無しさん (ワッチョイ 0ba3-vkT9)2017/04/15(土) 10:18:01.21 ID:b29XQl7t0
そうだな
メソッドチェーンまで使いこなせている奴は少ないけど
0146デフォルトの名無しさん (ワッチョイ 0f1f-OvFE)2017/04/15(土) 11:01:30.26 ID:62Z8qO7/0
Rxうぜー死んだらいいのに
0147デフォルトの名無しさん (ワッチョイ 9be6-RZRQ)2017/04/15(土) 15:10:35.37 ID:K/W2GKWK0
私物のXperia X Compact(Android 7.0)で電話発信→通話→電話終了すると
PhoneStateListenerのonCallStateChanged()で
CALL_STATE_IDLE→CALL_STATE_IDLEという受信シーケンスになるんだけど
こんなことあるんだろうか…?エミュレータだと再現しないから端末固有だろうか?
0148デフォルトの名無しさん (ワッチョイ 3b0f-n2Cn)2017/04/15(土) 16:25:02.17 ID:X3fhrFTl0
Androidプログラミングを始めるおっさんたちのスレ
0149デフォルトの名無しさん (スプッッ Sd3f-vkT9)2017/04/15(土) 18:39:14.34 ID:XznyM8zad
>>146
バカには使えないからな
0150デフォルトの名無しさん (ワッチョイ eba8-HE5L)2017/04/16(日) 17:20:19.64 ID:xNQXkSOm0
RxAndroidでコレクションってどう扱えばいいのでしょうか?
class Model {
private Observable<String> field1;
private Observable<Integer> field2;
private Objservable<List<String>> field3; <-- ??
}
コレクションの要素の追加、削除を監視したいんですけど、
コレクション毎入れ替えるしかないのでしょうか?
0151デフォルトの名無しさん (スププ Sd3f-tSB2)2017/04/16(日) 19:52:42.85 ID:rpbl7PtZd
それはRxAndroidの話ではなくRxJavaの話では?
CollectionのアイテムをemitするObserver作ってonNextとかでSubscriber側で監視すればいいんじゃないの?
0152デフォルトの名無しさん (ワッチョイ eba8-HE5L)2017/04/16(日) 22:42:14.69 ID:xNQXkSOm0
>>それはRxAndroidの話ではなくRxJavaの話では
はは。すみませんでした。RxJavaの話なんだけどめんどくさかったのでRxAndroidと
書いてアピールしてしまいした。
>CollectionのアイテムをemitするObserver作ってonNextとかでSubscriber側で監視すればいいんじゃないの?
追加はそれでよさそうなんですけど、削除はどうするんですかね。
ああ。アイテムをemitするんじゃなくて、リストに対する変更を表すクラスをemitすればいいのかな・・
0153デフォルトの名無しさん (ワッチョイ efcd-TGvK)2017/04/16(日) 23:01:03.46 ID:cf4fIbZ+0
ここの人はクラス設計とかどうやってるの?
通勤の行き帰りで構造を考えて家に帰ったらそれを元にコード書きたいんだけど
androidのアプリでいいの無いかな?
開発がmacでやってるからmacと連携できるのがいいんだけど
0154デフォルトの名無しさん (ワッチョイ 2bb2-eX02)2017/04/16(日) 23:18:21.91 ID:aKjHRDAZ0
UMLにしろポンチ絵にしろお絵描きアプリで十分ですよ
0155デフォルトの名無しさん (ワッチョイ 2bb2-eX02)2017/04/16(日) 23:19:39.73 ID:aKjHRDAZ0
あ、スタイラスは必須な
0156デフォルトの名無しさん (ワッチョイ 0f1f-tSB2)2017/04/16(日) 23:25:14.46 ID:CFoOyimY0
いまどきはmvvmが基本やろ
0157デフォルトの名無しさん (ワッチョイ 0ba3-vkT9)2017/04/16(日) 23:37:42.13 ID:irWKjJqL0
アホしかいねえ
0158デフォルトの名無しさん (ワッチョイ 2bb2-eX02)2017/04/16(日) 23:47:32.61 ID:aKjHRDAZ0
一言アホとバカにして消えるくらいなら知識を教え合ってくり〜
0159デフォルトの名無しさん (ワッチョイ 6bcd-JCYE)2017/04/17(月) 04:42:31.79 ID:PXNvTCor0
>>153
よほど大きなタブレットでないと俯瞰できなくないか
印刷して移動中に紙に書き込んで帰って入力
1クラスについてやりたいならテキストで
0160デフォルトの名無しさん (スプッッ Sd3f-vkT9)2017/04/17(月) 09:08:36.45 ID:avieXFWjd
ネタにマジレス
0161デフォルトの名無しさん (ワッチョイ 0f1f-HE/W)2017/04/17(月) 22:02:43.18 ID:nxPRGvnH0
Rxって実際何に使うん
入門記事読んでたらlist操作とか出てくるけどそんなの大してメリット感じられないし、
唯一見てて便利そうだと思ったのはretrofitをつかったAPIアクセスのサンプルだけだったな
他に何かあるん
0162デフォルトの名無しさん (スプッッ Sd3f-vkT9)2017/04/17(月) 22:19:04.65 ID:D9tI2U/vd
>>161
非同期で何かを処理させてその結果に応じて何かをするケース全てに使えるわ
処理毎にいちいちinterfaceを自前で作る必要もなく実行スレッドを変えてもコードが全く変わらない
更にその非同期処理を複数の使用者でsubscribeすることでひとつの処理に対して複数人が同時に結果を待つようなことも簡単にできる
またよく出来たobservableはそれを再利用し、別のobservableへチェーンさせることで複数の連続した処理を一つの処理のごとく扱える上にそれをキャンセルすることも容易

その結果、使用側の状態管理が非常に簡潔になり状態管理の煩雑さに起因するバグが減る
0163デフォルトの名無しさん (ワッチョイ eba8-HE5L)2017/04/18(火) 00:24:51.35 ID:89ZmshXW0
>>162
師匠と呼ばせていただきます。
0164デフォルトの名無しさん (ワッチョイ 1f67-3JJD)2017/04/18(火) 10:39:41.55 ID:f1Itctap0
スレチですまん。
RXみたいなことを、swiftでやる方法教えてクレメンス
0165デフォルトの名無しさん (オッペケ Sr6f-TGvK)2017/04/18(火) 12:15:23.09 ID:TtdzMAwEr
>>162
ちょっとRxJavaについて調べてみるわ
0166デフォルトの名無しさん (スップ Sd3f-vkT9)2017/04/18(火) 12:30:42.96 ID:BrfKAM3kd
>>164
RxSwift
0167デフォルトの名無しさん (スッップ Sd3f-3JJD)2017/04/18(火) 14:27:07.98 ID:nW+CGq1Rd
>>166
結局、Rxswiftにいきついたです。
あんがと。
0168デフォルトの名無しさん (ワッチョイ eba8-HE5L)2017/04/18(火) 19:23:41.91 ID:89ZmshXW0
>>処理毎にいちいちinterfaceを自前で作る必要もなく実行スレッド
新しくHot/ColdなObservableって概念学んだけど、HotなObservableも変えられるの?
誰かが作ったライブラリがObservable返すとして
使う側がでよし実行スレッド変えようとして
Observable<String> hotObservable = getHoge().subscribeOn(Schedulers.IO)とか
自由にできんの?
実行スレッド変えるって誰がやればいいんだよ。
0169デフォルトの名無しさん (ワッチョイ eba8-HE5L)2017/04/18(火) 19:58:31.87 ID:89ZmshXW0
つか、自由に実行スレッド切り替えられないのか?
observables.subscribeOn(Scheduers.io()).subscribeOn(AndriodSchedulers.mainThread())
でもとに戻せじゃん。
ってことは他で実行スレッド指定されたらこっちでは制御できないってこと?
しょぼぞう
0170デフォルトの名無しさん (ワッチョイ bb57-eD8O)2017/04/18(火) 20:21:15.82 ID:g4wfevAg0
observerOnも調べなさい
これで任意にスレッドを行き来できる
0171デフォルトの名無しさん (ワッチョイ 0f1f-HE/W)2017/04/18(火) 22:35:07.12 ID:Lji6HgnP0
もうちょっと分かりやすいやつを頼む
0172デフォルトの名無しさん (スップ Sd3f-vkT9)2017/04/18(火) 22:42:46.84 ID:BrfKAM3kd
>>169
subscribeOnはどのスレッドで処理を実行するか
observeOnはどのスレッドで結果を受けるか
0173デフォルトの名無しさん (ワッチョイ 2bb2-eX02)2017/04/18(火) 22:50:41.43 ID:nns0GLnq0
めずらしく皆が知識を教え合ってていいぞ〜♪
0174デフォルトの名無しさん (ワッチョイ 6bc3-8aNn)2017/04/19(水) 14:21:31.19 ID:f+5qlUh10
http://i.imgur.com/Wshma1a.png
bluetoothchatを入れて通信自体はできたんだけど送った文字がそのまま帰ってくる
これはandroid側のプログラムに問題有り?
0175デフォルトの名無しさん (スププ Sd3f-tSB2)2017/04/19(水) 20:08:40.98 ID:6ZXNFEbBd
ここの人たちをエスパーか何かと勘違いしてない?
0176デフォルトの名無しさん (アウアウカー Saef-67Ep)2017/04/19(水) 20:19:53.55 ID:Me5FW8hZa
ラズパイが送られてきたもの一文字ずつ戻してるようにしか
0177デフォルトの名無しさん (スップ Sd3f-vkT9)2017/04/19(水) 22:53:16.20 ID:Oe3GTYDPd
>>174
おまえの頭に問題あり
0178デフォルトの名無しさん (ワッチョイ abd9-gojC)2017/04/20(木) 03:34:03.22 ID:dgbhiB9v0
コード書いた本人が何が起きてるかわからんものを赤の他人が画像1枚でわかるわけないだろ
青歯の届く距離でチャットするくらいなら普通に会話したほうがいいよね
0179デフォルトの名無しさん (ワッチョイ 0647-O9gr)2017/04/20(木) 04:26:38.13 ID:r8t9U2Ee0
VisualStudioでXamari使って作ってみたらバイナリがDLLだった
これを実機に入れても動かん
どうしたらよいの?
0180デフォルトの名無しさん (スップ Sd4a-mqxQ)2017/04/20(木) 09:33:30.22 ID:T8G8upSfd
>>179
xamarin.androidを使えはdllがapkに含まれた形で生成されるが
>>180
あり。試してみるよ。
0182デフォルトの名無しさん (ワッチョイ 6fe6-m8Mb)2017/04/20(木) 21:35:43.30 ID:KB/cnEtw0
Runtime Permissionについてなんだけど
checkSelfPermissionで大まかなチェックするのはいいとして
APIレベルでSecurityExceptionでいちいち捕捉しないといけない?
どこまで対応するのがベストなんだろう?
0183デフォルトの名無しさん (スップ Sd4a-mqxQ)2017/04/20(木) 22:26:35.40 ID:T8G8upSfd
securityexceptionのcatch自体にapiレベルをみる必要はない

基本的な方針としてアプリ起動時に全てのpermissionを取ってしまうのが普通かと
0184デフォルトの名無しさん (ワッチョイ 6fe6-m8Mb)2017/04/20(木) 22:46:18.63 ID:KB/cnEtw0
>>183
瞬間的なタイミングで権限OFFにされる事なんて
あり得ない想定でいいのかな?
0185doroidkun (スップ Sd4a-mqxQ)2017/04/20(木) 22:52:54.70 ID:T8G8upSfd
>>184
OFFにされたらプロセスは即座にkillされる

そこで考慮しないといけないケースは2つ
まず、履歴から戻った場合。最後に表示していたActivityが直接起動されるから、パーミッションが必要な全てのActivity起動時にパーミッションを取るようにしないといけないということ

ふたつめ。stickyなサービスがある場合。パーミッションがない状態で起動されてしまうのでなんらかのフェールセーフは必要となる
0186デフォルトの名無しさん (ワッチョイ 1e1f-HDOw)2017/04/20(木) 22:56:59.98 ID:pS1C8CAu0
targetSdkVersionを22以下にすればすべて解決する
0187デフォルトの名無しさん (ワッチョイ 6fe6-m8Mb)2017/04/20(木) 23:00:00.66 ID:KB/cnEtw0
>>185
なるほど参考になります
権限チェックの箇所洗い出しとどうやってエラーハンドリングや
縮退させて動作させるか検討してみます
0188デフォルトの名無しさん (ワッチョイ 7ff3-KIcP)2017/04/21(金) 11:12:53.57 ID:3BquMQWs0
adbの install -r って、adb uninstall と adb installを組み合わせたものっていう認識で大丈夫ですか?
0189デフォルトの名無しさん (アウアウカー Saeb-AD8C)2017/04/21(金) 11:52:27.19 ID:VVvPYvbda
uninstallしたらデータ消えちゃうでしょ。
データ消さずに更新するのがinstall -r
0190デフォルトの名無しさん (ワッチョイ 1e1f-HDOw)2017/04/21(金) 23:19:37.02 ID:USF0QZMS0
Google Play Consoleの画面が変わってstoreで見るのクリックする所が消えてるんだがどっから行ったらいいんだ
mvvmって要は、
viewで何かしらのイベントが発生したら
bindingで紐付いたviewmodelの処理が呼ばれて、
そこからmodelの処理が呼ばれてrxで結果を返して、
bindingで結果をviewに反映させるってことなん
viewからmodelの処理を呼びたくなったら絶対viewmodelに処理を追加して
viewmoel経由で呼ばないと駄目なん
面倒くさくないん
それでプログラムが分かりやすくなるん
保守性があって不具合の解析がしやすくなるん
0193doroidkun (ワッチョイ a3a3-mqxQ)2017/04/22(土) 19:22:24.80 ID:NtNMRzdE0
MVVMに限らずデザインパターンを適用すると必ずコードは増えるし面倒になるのは避けられない
フリーダムに作るとActivity、fragmentが巨大なりがちだから何か設計の指針があったほうが整理しやすいかもね
選ぶのは君だよ
databindingは好き嫌いあるし
0194デフォルトの名無しさん (ワッチョイ 1e1f-HDOw)2017/04/22(土) 21:58:34.54 ID:77P2TaT30
正直MVVMのメリットは全く理解できないが
周りが使ってるから時代遅れになってる気がして調べてるだけ
単体テストがやりやすくなるメリットがあるとかいうけど
単体テストの意義も正直理解できない
普通のやり方で何の問題もなくアプリが作れてるわけだが何でこんなの学ばないといけないの
むしろMVVMとかリアクティブプログラミングとか使ってるプロジェクトの方が炎上してる率が高い気がするんだが
0195doroidkun (ワッチョイ a3a3-mqxQ)2017/04/22(土) 22:43:57.98 ID:NtNMRzdE0
Rxはメリットしかない
0196デフォルトの名無しさん (アウアウカー Saeb-LESw)2017/04/23(日) 01:35:27.09 ID:IAwzGcufa
層の繋ぎ目がRxJavaに依存しているというのはデメリットだと思う
0197デフォルトの名無しさん (ワッチョイ 1e1f-HDOw)2017/04/23(日) 22:47:08.65 ID:7AsvLBbE0
modelのメソッドが返り値をもったら駄目でRxのSubscribe経由でなら結果を返していい理由も全然わからない
そうすることでプログラムが分かりやすくなるん
保守性があって不具合の解析がしやすくなるん
全然意味が分からない
結局お前らもみんながやってるからとか流行ってるからやってみてるだけで本当に価値があるか理解してないだろ
みんなが大学行くから僕も行くじゃ学費の無駄
0198デフォルトの名無しさん (ワッチョイ de92-0iG2)2017/04/24(月) 07:44:34.80 ID:+hsJqQEh0
layontInflaterで呼び出した子XML内の部品にアクセスできません(泣)
idも付けているのですが、null扱いになります。

読み込んだ直後なら動作するのですが、
子XMLが切り替わった後には内部のViewが無効となります。

XML切り替え時のremoveメソッドが無ければ動作するのですが、
これが無いと、切り替えるたび子がどんどん増えてダメですよね
何とか都合よく、XML切り替え+内部View参照する方法はないものでしょうか?
0199doroidkun (スプッッ Sd4a-mqxQ)2017/04/24(月) 09:16:13.41 ID:OVGIDxevd
>>198
viewgroupに対してremoveViewしたあとにaddViewしているという意味か?
論理的にはそれでaddviewしたviewが消えるなんてありえないので、単純なコードバグの確率100%
それ以上はその情報からは推測できない
新着レスの表示
レスを投稿する