Androidプログラミング質問スレ revision53 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
rxでリアクティブプログラミングできない奴は
この先生き残れないからな覚悟しておけ! 質問します
今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の機能を使ってるんですけど実際に実機でビルド
させたところ何故か「写真やメディアへのアクセス許可」と「連絡先への
アクセス許可」というダイアログが出てしまいました
このマニフェストの中にはその様なものはないと思うんですけどどうでしょうか?
「このパーミッションが影響している」というものはあるのでしょうか? >>6
返事ありがとうございます
それだと俺の腕ではよくわからないですね
ちょっとしばらく検索してみます retrolambdaみたいなOSSのgradleプラグインを使用する場合、アプリにライセンス表記はいるのでしょうか
ライブラリがapkに入るわけではないから不要ですかね
わかる方いますか それは「gccでコンパイルしたプログラムはGPLにはならない」というのと同じ話かと。
そのプラグインがおかしなライセンス設定していなければだけど。 Design support library使ってNavigationDrawer作ると枠が出るのですが仕様でしょうか
Android4.1.1だと出て6.0だと出ない
http://i.imgur.com/hBhuS6m.png スマートフォンのdp解像度で画面配置をすれば大抵のスマートフォンで大体同じ位置に来るんだろうけども、
タブレット向けdp解像度(960x600dp)で画面配置したら、
スマートフォンで動作させた時に画面に全部入らなくなりますか?
http://qiita.com/nein37/items/3918f5833bfa31fbe3d5 レイアウトによってはそりゃなるだろう
なにを聞きたいのかわからん Android studio更新したらデフォルトのルートレイアウトがconstraint layoutになってるわけだが
お前らconstraint layout理解した? クイズのアプリを作ろうとしていて、
"回答"というボタンをタップすると、正誤と解説表示し、
"回答"ボタンを"次の問題へ"というボタンに差し替えようとしています。
この場合、
方法@"回答"ボタンのリスナーの挙動やテキストを書き換える
方法A最初から二つのボタンを作っておいて、表示・非表示を切り替える
どっちが一般的でしょうか?
もしくはそれ以外に良い方法があったら教えていただきたいです。 正誤と解説をどのように出すか次第だし、ボタンも同じ方針にすれば良いだけでは? >>15
ありがとうございます。
解説の表示・非表示を切り替えることが思いのほか大変だったので
解説も"次へ"のボタンもダイアログに表示することにしました。 >>16
前に簡単な問題アプリ作ったときは
回答欄をVISIBLE.GONEにしておいて都度切り替えてやったよ >>14
画面をまとめて切り替えるなら
FrameLayout
├RelativeLayout/match_parent
│ ├TextView(問題)
│ ├RadioButton(回答選択肢1)
│ ├RadioButton(回答選択肢2)
│ ├ :
│ └Button(回答)
│
└RelativeLayout/match_parent
├TextView(正誤)
├TextView(解説)
└Button(次の問題へ)
として、(重なっている)二つのRelativeLayoutをVISIBLE/INVISIBLE切り替える
LayoutをINVISIBLEにすれば、その子もINVISIBLEになる >>17
ありがとうございます。
焦らずにもう一回考え直してみます
>>18
ご丁寧にありがとうございます!
Visibleの切り替えだと、空白が出来てダメだと思ったんですが自分のやり方が悪かったようですね。
やり直してみます。 AlarmManagerで10分後にセットした後、端末の時刻を10分後に設定したら、
即alarmが実行されるのが正しいんでしょうか?
それともやっぱり10分後にalarmが実行されるんでしょうか。 ってことは時刻を変更したことをbroadcastでonReceiveしてalarmを消したあとに再度設定しないさないといけないってことですか? うーん
そもそもalarmmanagerはタイマー出はなくアラームなので時刻で発火するものだからね
どうしてもalarmmanagerで経過時間で発火させたい=プロセスを起床させたいならその方法しかない
プロセスが生きてる前提ならタイマーとかhanderでやったほうがいい あ、駄目だ。
broadcastでonReceiveする前にalarmが発火してしまう
プロセスが死んでいてもやりたいんですよねえ。 あら、そうなっちゃうか
exactじゃない方のapiならそこまで瞬間的に発火しないと思ったが
仕様を見直そう^^ @SQLiteの作成時にテーブルを作成する処理を記述
A後になってテーブルを追加するけど、SQLiteを作成する処理が走らず、テーブルが作成されなくてハマる
というのうも過去何度も繰り返しております。
使用するテーブルを最初から全部考えておけば済む話ですがなかなかうまく行きません。
どうやって処理してますか?
・毎回アンインストール&再インストールしてSQLiteを再作成する
・SQLiteを毎回作り直す処理を書く
・"No such table"の例外を拾ってテーブルを作成する処理を書く
毎回アンインストール&再インストールしておりますが、
なんか無駄を感じます。 テーブルを追加する処理が確実に走るようにするじゃないの?
onUpgrade() DBのバージョン上げればonUpgrade呼ばれたよな確か よくあるサンプルだと、onUpgradeは DROP TABLE して onCreate呼んでるだけだよな
でも普通はユーザのデータ消したくないからDBのバージョン比較して
ALTER TABLE 〜 ADD COLUMN とかしないとダメだよね
よく探せばそういうサンプルもけっこうある
>>34はDBのバージョンすら上げてなさそうだが >>32
ELAPSED_REALTIME_WAKEUPは? 重い腰を上げてAndroid データバインディングを勉強し始めて2日目で、
.NETのデータバインディングと比べて色々不満があるが、今のところの一番気になる
点はMenuはデータバインドできないの??
通常のビューはデータバインドしてメニューは今まで通りの手動とか
混在コード書かなきゃいけないの?? データバインディング、MVVM、Rxは今や常識だからな
知らないのは恥ずかしいこと >>39
現状は無理です
.NETと違って設計段階でbindingを考慮してなかったからな
同様の意見は多数出てるからそのうち対応される可能性はあると思うよ 暗黙的インテントでstartActivityを投げる時
出てくるアプリケーションのリストをキャンセルした際のリスナーって無いのでしょうか? >>42
現状は無理ですか。しょぼーんですね。
ありがとうございます。 結果が欲しけりゃstartActivityForResult MPAndroidChart の LineChart を2つ使って線グラフを2つ描いているのですが、この2つのグラフの拡大・縮小、上下左右移動を連動させることは可能でしょうか?
一方を右にスライドさせるともう一方も同様に右にすらいどされ、常に同じ位置を表示している感じです。 buildTypeとflavorを使ってビルドを分けることはできたんですが、
もう一階層作って3階層でビルドを分けたいんですができますか >>47
ぐぐれ Flavor Dimensions dependencies{ }の中で、
flavorによってcompileするライブラリを条件分岐で切り替えたいんですが
どうやったらいいですか C言語の#ifdefみたいなのってできないんすか
importの部分をビルド設定で有効にしたり無効にしたりしたいです! このところ毎日のようにGoogle製アプリが更新されているけど何事?
同じアプリが何度も更新されているのもあるようだし・・・ ソース毎で分けたら同じソースが2か所に配置されて一か所修正したらもう一方も修正しないといけなくなるじゃないっすかー
なんでプリプロセッサの機能を消したかなあ ・Webサーバを用意して、ユーザごとのデータを保管
・アプリ側でユーザ名とパスワードを入れて、Webサーバの自分のデータにだけアクセスを許可
という仕組みを作りたいんですが、どうやって作ればいいのか方向性が見えません。
ググってみると、AccountManagerなるものが出てきますが、アプリもサーバも自分で用意する場合でも使うものなのでしょうか? >>57
フレーバで切り分ける部分だけを別クラスに分離して、ファイル単位で分けるのが普通だよ
ifで分けるとかそれができないときの最後の手段 >>59
realmとかfirebase使えばいい ありがとうございます。
Firebaseの無料分で十分だと思うので調べてみます。
BaaSなるものがあることを昨日知りました。 とりあえずソースコードは共通クラスを作ってflavorでサブクラスを分けることでいい感じで分ける事ができたんですが、
レイアウトファイルはどうしたらいいんでしょうか
xmlにif文が書けたらいいんですが現状ほぼ同じファイルが2つできてしまってて、
一方を書き換えたらもう一方も書き換えないといけないです 二度と出てけ
二度と
(副)
〔否定表現と呼応して〕 その事は今回限りであって、 今後は絶対に△ない (しない) と言い切る様子。
出てけ
出ていけの省略口語。出るの命令形。
二度とは否定を伴うはずなので誤用ではあると思われるが、この場合、出ていかなかった事は今回限りにしろという言う意味になるはずなので次回ここに来たら出ていけという事になるのだろうか
考えれば考えるほど混乱し胸が苦しくなる言葉だ Inbox とかでドロワーで選択して、
フラグメントが表示されたとき、Toolbarとかの色が変更されるけど
あれどうやってやるの? 質問ですが、
listviewで下詰めで要素を表示するにはどうしたらいいでしょうか?
http://i.imgur.com/AYEDBQ1.png
こんな感じにしたいです。 >>77
すみませんが、もう少しだけ詳しく教えていただいてもよろしいでしょうか?初心者ですみません listviewの件ですが
tablelayoutにして解決しました。
ありがとうございました >>81
linearlayoutのgravityをbottomにしてその中にscrollviewをwrap_contentで置いてtablelayoutを入れただけです。
<linearlayout width=match height=match gravity=bottom>
<scrollview width=match height=wrap>
<tablelayout>
....
....
</tablelayout>
</scrollview>
</linearlayout>
こんな感じです。 それだと大量のitemを投下すると重くなる気がするけどいいのかな javaも書いたことないけどiPhoneアプリでオブジェクト指向やxcodeは大体使えるから
中級者向けの本が欲しいんだが何かいい本ありませんか 「黒帯エンジニアが教えるプロの技術 android開発の教科書」って本が結構良かった
比較的最近(2016/7)の本だし
開発するにあたって何に気をつけるべきかが(割と荒く)書いてある
1から10まで書いてないと気が済まないならおすすめはしないけど
これに書いてあることを足がかりに自分で調べられるなら役に立つと思う 「黒帯エンジニアが教えるプロの技術 android開発の教科書」
の内容紹介の説明だけ見たけど、
中級者向けっていっても、>>84は基本的な事をすっとばしたいのか??
いきなり、マネタイズとかパフォーマンスとかマテリアルデザインとかより、
やっぱ基本的なアクティビティのライフサイクルから始まって、
フラグメントやビュー、ビューグループの各種コントール、ダイアログなど
そこらへんは他の環境で経験あっても勉強しないとまずいよーな。 おおすまんな。本屋で読んでみるべ
今までゴリ押しで勉強してきたからなぁ。丁寧に順番守って勉強出来る自信がない。、 4年前初めてAndroidやろうとしたとき読んでみて分かりやすかったけど、いま見たら内容だいぶ変わってる、当時はエクリプスだったし
http://www.shuwasystem.co.jp/products/7980html/4853.html >>87
日本語書籍を用いて順番守って学習しないと使えないことから抜け出せてプログラマーとしてのスタートラインだから素人の言うことを真に受けるな おまえは日本語くらいしっかり書けるようになってからレスしろ 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" />
の記述があるため指定できると思っているのですが、
何か不足している記述等ありますでしょうか
ご存知でしたらご教示いただけますでしょうか privateなリソース(フレームワーク内部用)だから使えないようになってる
public.xmlにないやつはprivate >>92
今までの謎が解けました。
ありがとうございました。 アプリから呼び出せないリソースはandroidのソースツリーから直接頂いたことはある。 /system/usr/keylayout/ACCDET.klってファイルって
有線イヤホンのボタン押下時のキーコード定義だと思うんだけど
これに定義されてる
key 163 MEDIA_NEXT
key 165 MEDIA_PREVIOUS
この辺ってイヤホンをどう操作したら入力した事になんの?
3ボタン付きのイヤホンで受話、ボイスアシスタント、音量操作とかは出来たけど、上記の奴がどうしても分からん… 次曲、前曲に飛ばすためのボタン。
サポートしてるイヤフォンならマニュアルに操作方法載ってる。
だいたいどれかのボタン二度押しになってるんじゃないか >>96
サポートしてるイヤホンって何かある?
どちらにしても、普通の3ボタン式のイヤホンじゃ駄目か… NestedScrollViewの中にRecyclerViewを入れると、
RecyclerViewにAdapterを設定したタイミングで
画面に表示されていない画面外のセル全ての
画像読み込み処理が実行されてしまってるんですが、
回避する方法はありますか >NestedScrollViewの中にRecyclerViewを入れると、
入れない、が正解。 じゃあ画面全体をスクロールさせたい場合は
adapter内でpositionによってレイアウトを分ける
みたいなことしないといけないんですか
面倒くさいんですけど ■ このスレッドは過去ログ倉庫に格納されています