Android開発質問スレ [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
!extend:checked:vvvvv:1000:512
↑スレ立て時は1行目と2行目に「!extend:checked:vvvvv:1000:512」をコピペして立てて下さい
荒らし対策のために強制コテハン表示&コピペミス防止
http://info.2ch.net/index.php/BBS_SLIP
Androidの開発全般に関する質問を扱います。
以下のスレが荒しによって機能していないのでワッチョイつけたスレ立ててみます。
上手くいきますように
Androidプログラミング質問スレ revision51 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1457303564/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured さて、
ACTION_SCREEN_ON/OFFがマニュフェスト登録でブロードキャストレシーブできないから、
registerReceiverするんだけど、たまに上手く動かなくなることがある。
アプリkillされたりして登録したレシーバが消えたりするのかなと推測している。
いっそsetForegroundした常駐型サービスつくって、registerReceiverすれば消えることないのかなとか考えたけど
常駐サービスは電池消費が気になる。
このあたりのベストプラクティスってどんな感じですか。 メモリ消費しまくってたり処理し続けたりしてなければ
サービスを常駐させること自体による影響は少ない
serviceでaction_screen_onをレシーバー登録した事はないけれど
ベストプラクティスとは違うけど
onResumeで代替出来ないか?とか
action_user_presentはManifestに書けたはずだからそれで代替出来ないか?とか Viewのvisibilityをgoneにする処理は重いのかどうか、そしてその理由をご存知の方いたら教えてください
visibilityをgoneにしたViewを子に持つlayout.xmlをinflateすると、visibilityの記述を消した場合に比べて大幅に時間が掛かったので疑問に感じました eclipseからAndroidStudioに乗り換えて環境を変えました。
eclipseで作成したアプリをAndroidStudio側で更新しようとapkを作成したら、
「×インストールしていないアプリ」と出て、更新できませんでした。
keystoreは同じものを使用しているのですが、調べてみると
おそらくjdkをアップグレードしたことで何か不具合が出てると思うのですが、
明確な解決方法がわかりません。
同じkeystoreを使い続けてapkを更新させることはできないのでしょうか? >>8
すいません、自己解決しました。
versionCodeとversionNameをbuild.gradleでも変更しなければいけなかったのが抜けてました。
新しいモジュールのapkは普通に作れてたからおかしいと思って調べたら・・・。 >>3
画面起動中にだけサービス動かして
画面起動のタイミングでサービス起動させて画面終了のタイミングでサービス落としたかった。
ただ、現状SCREENONひろって正常にサービス起動しても
メモリ解放アプリ動かしたらサービス切れたからどっちにしろフォアグラウンドは必要っぽい。
present はxmlでとれそうだから検討してみる。 すみません、アプリ開発はど素人なのですが、どなたか教えてください。
Qrioというドアのリモート施錠の機械とAndroidアプリがあり、
機械を設置した玄関ドアに近づいて、
スマホのアプリ上でドアロックの解除ボタンを長押ししたらドアが開く環境をつくりました。
ただ、毎回玄関についたらスマホ取り出してアプリ起動して、解錠ボタン長押しは面倒くさいので自動化できないかと思っています。
Qrioのアプリの機能でもできるらしいですが、ベータ版らしくこちらの環境ではまともに動きません。
Taskerなどで手持ちのスマホが自宅玄関前の位置に来たら、シェルスクリプトを実行し、アプリで玄関ドアの解錠を実行させたいのです。
コマンドで実行できるように、アプリからその特定の解錠ボタンの機能のコマンドを抽出したいのですが、何か良い方法はないでしょうか?
アプリはこれです。
https://play.google.com/store/apps/details?id=me.qrio.smartlock >>7
少なくともandroid.view.Viewなら別に重い処理じゃないと思うが
あと、大幅にとか書かれても伝わらん
具体的にこのコードとコードをこの環境で動かしたらこれだけ差がありますみたいに書かんと >>11
企業アプリのくせにプロガードしてないんだな androidstudioで自作ライブラリ(プロジェクト)を使う時にライブラリ内の一部のクラス使う時だけさらに別ライブラリを要求するとかって出来る?
そのクラスを使わない時は別ライブラリコンパイルしてなくてもエラー吐かないみたいな
使いまわせそうなクラス保管庫って感じの自分用ライブラリなんだが、一つだけjsoupを使うクラスを混ぜたい
けどそのクラスを使わないときにはjsoupコンパイルしたくないんだ >>14
レスありがとう
そっかぁ
処理速度に関してはそうだね申し訳ない
試しにNimbleDroidってWebサイトを使ってみた結果だったもんで
そこでの結果は長くなって申し訳ないけどこんな感じ
public class Custom extends RelativeLayout{}
のコンストラクタ内でxmlをinflateしてる
なおかつ、このレイアウト自体を100個以上生成してる(これがいけないのかもしれないけど)
<merge>
<TextView />
<LinearLayout>
<View1 weight=1 visibility=gone/>
<View2 weight=1 visibility=gone/>
<View3 weight=1 visibility=gone/>
</LinearLayout>
</merge>
だいぶ端折ってはいるけど、こんなxmlを使った場合は
inflateだけで126回コールされてCPU Timeで1151ms
もう一方は、visibility=goneを消した状態でinflateしたあと、
View1〜3に対してsetVisibility(GONE)を呼ぶと
inflateは同じ回数コールされて566msで、setVisibilityは約3倍のコール回数で336msって出た
合わせれば対して変わらないんだけど、Visibility変えるだけで
inflateに掛かる時間が倍違うのが気になったのです
まあでもこれよりも直すべきとこがあるからあまり気にしないことにします… 問題を切り分けたほうがいい気がするのは、時間計測のためじゃなく実際のアプリの中で100個生成してるなら明らかに設計に問題があるから見直したほうが良い
visibilityの問題は気になるね。Viewのコード憶えてないけど2つの呼び出しのコード比べれば分かるのだろうか?
できる人 http://ritsuan.com/job/3930/
IT分野/Android・iOS向けアプリ開発エンジニア
1名以上募集 若手募集
給与380,000円 600,000円 該当スレが見当たらなかったので、一番近しいと思われるこちらで質問させてください
自分でAndroidOS(AOSP)をカスタムしたものを作成し、それをタブレット端末に移植したいのです。
そこで必要な物は何か調べましたところ、とりあえずハードウェアを動かすことができる
カーネルとそれに付随したライブラリさえあればなんとかなりそう、という結論になりました。
こちらの認識で正しいでしょうか?
また、自分で調べましたところAndroidOSはカーネルとそのライブラリがGPLライセンスとのことで
販売元に公開を要求しましたところ、拒否されてしまいました。
このような場合はどのように対処すればよろしいのでしょうか。
よろしければご教示頂きたく存じます。 >>22
GPLってソースコード改変、再配布はOKでその代わり改変したソースコードを開示する必要のあるライセンス形態じゃなかったっけ
ここはAndroidアプリ開発を主眼としたスレだと思うから自分を含め答えられる人はなかなかいないと思う >>22
この辺を参考に
http://internetcom.jp/webtech/20130812/3.html
タブレット上でカーネルを立ち上げて画面表示するためには、
非GPLの非公開なソースコードが必要な場合もあるということらしい >>23
そのとおりです。
GPLライセンスを使用し、その成果物を配布した場合にソースコードの開示を求められます
AndroidOS自体の質問を取り扱っている場所など知っておりましたら
是非教えていただきたく存じます。
>>24
貴重な情報ありがとうございます。
もしグラフィック関係にプロプライエタリなコードが必要であった場合は、
何か代用できるものを探して見ようと思います。
この情報は全く知らなかったので大変勉強になりました。
ありがとうございます。 >>25
GPL適用ルールの一番基本的な部分が理解できてないかもしれないしれないので説明
カーネル以外の、Googleが著作権を直接保持してるAndroidのプログラムに関しては、
GPLで公開されている部分であっても
Googleは特定企業にGPL以外のライセンスで利用許諾を与えることができる
その場合はその特定企業はソースコード改変した成果物を配布していても
GPLによるソース公開の義務は無い GPLなら、Linux板だけど、著作権のことは、法律家がいないと無理
漏れは、宅建・行政書士にも受かっているけど、それでも、GPLは難しい。
LGPLとか色々な種類があるから
しかも、FSFは日本に支店を持っていないから、訴訟になっても困る >>26
カーネル以外のものはApache 2.0やLGPLだったはずなので公開しなくていいことは理解しております。
それにAndroidOSのカーネル以外のものを私は今必要としていません。
私がカーネル、およびそれに付随するライブラリのコードを欲しております理由は、
AndroidOSはハードウェアの違いをカーネルにて吸収している認識だからなんです。
そしてそのカーネルはハードウェアごとに適時最適化され、組み込まれている、
このようなものだったかと記憶しております。
そしてAndroidOSのカーネルはLinuxカーネルを使用しており、
LinuxカーネルはGPLライセンスなので公開要求を販売元にした、
こちら何か間違っておりますでしょうか。
もし何か認識を間違えているようでしたら、ご指摘いただけるとありがたいです。 ソースコードを要求しても、相手が拒否すれば、訴訟にも出来ない。
著作権はFSF, Linux財団など、著作権の権利者にしかないから。
裁判所へ訴状を提出しても、却下されるだけ
それに犯罪として刑事告訴しても、不起訴にされるかも
日本法人を持っていない会社は、難しい。
外人の権利者だから、日本の法律で処理できない >>28
付随するライブラリというのが何を指しているのかよくわからない
ハードウェアの違いはカーネルで全部吸収してるとは限らない
カーネルに動的リンクするコードやユーザレベルコードで吸収してる部分もある
カーネルに動的リンクするコードはGPL的にはソースを公開すべきだと思うんだけど
著作権者のひとりであるライナスが非公開にすることをある程度黙認してる 課金アイテムのデフォルトの価格設定をJPYではなく
USDにしたい場合はどうすればいいのでしょうか? >>27 >>29
そうですね、Linux板で聞いてみようと思います。
ありがとうございます。
最悪の場合は、どうにもならないかもしれませんが下記URLにて報告したいと思います。
ttps://www.gnu.org/licenses/gpl-faq.en.html
>>30
付随するライブラリ、と言いますのは、
カーネルとそのライブラリ、という認識で書いておりました。
HAL層やそれより上のレイヤーで吸収されることもあるというのは知っております。
その場合はよっぽど知られたくない技術が使われているんだなぁと関心致します。
それよりもライナス(Linus Benedict Torvalds:リーナス氏のことを言っていると想定)
氏が非公開にすることをある程度黙認している、
というのがどこからの情報なのかを教えて頂きたく存じます。
また、他の著作者をないがしろにする黙認という行為について、
リーナス氏の意見をなぜ今記載したのか、なんの関係があるのか、お聞かせ願いたく存じます。 ハードウェアメーカーがドライバーを非GPLで公開することを問題視しない立場を取ってる。
ストールマンなら大騒ぎだけど。 >>32
Linusの意見を書いたのは、
動的リンクするドライバ部分のソースコードを公開しない理由の元がそれだからだよ
あんたの質問に対する答えになってるだろ?
黙認してる直接的な情報元は今見つからないな
でも例えばこのページのLinusからのメールを見ればわかると思う
https://osdn.jp/magazine/04/04/30/1222207
非GPLの動的リンクドライバを見つけても我々に報告する必要はないと言ってる >>34
>Linusの意見を書いたのは、
>動的リンクするドライバ部分のソースコードを公開しない理由の元がそれだからだよ
>あんたの質問に対する答えになってるだろ?
Linuxはリーナスだけのものでは御座いません。
著作者のうちの一人の意見に過ぎないかと存じます。
>ttps://osdn.jp/magazine/04/04/30/1222207
(冒頭のhは抜かせていただきました。申し訳ありません)
>非GPLの動的リンクドライバを見つけても我々に報告する必要はないと言ってる
上記と同じ返答とさせて頂きます。
これ以上ここで議論をしても意味がないと思われますので失礼させて頂きます。
ご回答くださいました方々、ありがとうございました。 >>35
はいさようなら
Linuxカーネルの中には非GPLの動的カーネルモジュールを受け入れるためのコードが存在して、
それはLinuxカーネル開発者メーリングリストで合意されているということだよ
それに合意できない開発者はforkすればいいだけのこと Gradle sync failed: Plugin with id 'com.android.application' not found.
なんで見つけられねーんだよ!(T_T) >>37
どうやったらそうなったかを思い出すと何かヒントになる 便所に行って落ち着いたりすると、割とマジで解決案がひらめく。 setStyle(Color.GREEN)とかって
int g = Integer.parseInt("Color.GREEN")
setStyle(g)みたいな感じにてきないですか? Color.GREENとかって元々int型の定数じゃ
parseIntの意味とは >>41
だが解決した。ありがとう
Color.GREENてなくStyle.FILLでした ラジオボタンのxmlのbuttonを動的に設定する場合、23未満の場合はどのメソッドを使えば良いのでしょうか。 setButtonDrawable(Drawable)使えば良いじゃんと思ったけど
23未満てなんだ?APILevel?
これ1から使えるはずだし、何か勘違いしてる? 「xmlの」とあるから「そんなもんは無い」でいいんじゃねーの? いままでビューを重ねる場合は FrameLayout
RelativeLayout は位置関係をid直指定しなきゃならないクソ面倒なレイアウトって覚えていたけど
RelativeLayout でも位置関係をid直指定せずにビューを重ねられるんだな
それじゃ FrameLayout って何のためにあるの? >>56
relativeは可読性が悪い、処理負荷が高い
初心者はなんでもrelativeで作ろうとするが玄人は逆に最終手段 アブソリュートみたいに好き勝手な場所に置けて環境に合わせて勝手に拡大縮小してくれりゃお気楽なんだが
そこまで自由じゃなくても網目区切り位置指定でもいい ConstraintLayoutが出ましたよお前ら
サポートライブラリ上に実装されてるからどのバージョンの端末でも使える 初回起動が遅いことについて調べていたところ、このサイトで解決策っぽいのが見つかりました。
https://teratail.com/questions/49135
しかし対処法の「requestPermissionsが終わるまではBroadCastReceiverの中のパケット処理が動作しないようにする」の具体的な方法がわかりません。教えて頂きたいです。 課金アイテムのデフォルトを
円ではなくUSDに変更することってできますか? ベータを公開してから6時間立つんだが
未だにテスターリンクからストアにつながらない
こんなことあるんか? Firebaseを使ったAndroidアプリのプッシュ通知 + PHPによるプッシュ送信の実装
て
testFirebase.phpをサーバーにアップして
http://www.xxx.com/testFirebase.php
て感じで実行するの? Serviceクラスを継承したクラスでonStartCommandメソッドにIntentの引数があるけど、oncreateでgetExtraしたい場合どうすればいいんですか? 設定画面にある「データ使用量」(Data Usage)の画面を
intentなどで開くことは可能でしょうか?
ネットで調べたり、試したりしていますが
見つからなかったので、、、
よろしくお願い致します。 >>77
androidのソース読めばActivityの名前が分かるんじゃない?
バージョンやメーカーのカスタマイズのことも考慮する必要があるかも知れないけど >>78
色々調べたらみつかりました^^
Activityを調べたらいいのですね。
助かりました。ありがとうございました! 特定のあるアプリが最前面にきたらサービス開始ってやりだいんだけどそういうインテントってない?
サービス常駐させないと無理? すみません
ある他のアプリが起動したらサービスを開始したい
ただそれだけなんけどこれ以上何を書けばいいかわかりません サービスを常駐させてregisterReceiverでなんかしらのブロードキャスト登録してやれば監視できるけど
サービス常駐させないで他のアプリ起動のタイミングでBroadcstReceiverで最前面のアプリのパッケージ名かなんか拾って該当アプリならサービス開始できないかなと思って 他のアプリとは何物なのか(改造できるものなのか)くらいかけよ… ごめんなさい。その答えでわかりました
ありがとう御座います serviceからWindowManagerのSYSTEM_ALEATでScrollViewを表示してもスクロールすることができないんだけど
できないのかな? >>86
あー何だったけ?overlayは入力が出来ない条件が何パターンかあったはず。
でも正しく設定すれば、基本Viewは何でも動くよ。
例えばWindowManager.LayoutParams.FLAG_NOT_FOCUSABLEはちゃんと外れている?
focusが当たんないと入力出来なかったはず(他にも何かあった気がするけど忘れた)。 Ryzen 7でPCを作りたいのですが
CPUがAMDでも快適に開発に使えるエミュレータはありますか? Androidプログラミング質問スレを立ててください ほい
Androidプログラミング質問スレ revision53 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1487994370/ Google Play Storeのアプリ評価で1つ星(レビューなし)を2件受けてしまいました。不当評価だと考えています。
不当評価だと判断した理由は、漢字日本人名(名前は異なる)、プロフィール写真無という特徴のアカウントで、同ジャンルの他社アプリも同じ日付で10アプリ以上、同様に1つ星(レビューなし)評価をされていたからです。
もともと評価数が少なく、現在、少しずつ検索知名度を上げている身としては、1つ星評価はとてもキツイです。
このような場合、どのような対策がありますでしょうか?
googleに通報などすると調査や対応などしてくれるものでしょうか? >>93 >>94
早速のご回答ありがとうございます。
そうですか。対策はないですか。。。
他社アプリの方の中には1つ星を6件受けている人や、初めての評価が不当評価だった人もいるから、自分はまだマシとあきらめるしかないですね。。。
googleの不正評価検知システム構築に期待します。。。 とりあえず自分も他の競合アプリに☆1つけてみるとか >>96
犯人を見つけ出して1つ星で報復できたら痛快ですね。
しかし、せめてもう少し巧妙にしてくれれば、こっちも不当なことに気付かずに、低評価を真摯に反省して努力できたのに。。。
って、そこまで計算してたりしてw >>95
自分は全く気にしないことにした
レビューも返事は全くしないし見ることすらしなくなった
こんなのにかまってると気が重くなるだけ 日本人の方が不当評価するやつ多い気がする
足の引っ張り合いが好きな駄目な国民性なんだろうね ■ このスレッドは過去ログ倉庫に格納されています