X



Android開発質問スレ [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ de3c-eecL)
垢版 |
2016/08/25(木) 23:34:25.22ID:81UB5JLm0
!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
0240デフォルトの名無しさん (ワッチョイ 89fa-9WOx)
垢版 |
2018/05/23(水) 20:33:24.26ID:Au5e7VGg0
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

9YNLV
0242デフォルトの名無しさん (ワッチョイ 45fa-2e90)
垢版 |
2018/07/04(水) 23:27:00.74ID:gFgZc5FG0
D7E
0247デフォルトの名無しさん (スプッッ Sdea-ZR/F)
垢版 |
2018/08/27(月) 14:03:59.59ID:Qtgk9OXyd
ProgressDialogを非同期処理後のあとに処理を挟んでから閉じたいんだけど、多分Thread.join()でメインスレッドが止まってしまってProgressDialogが表示されないんですがなんか方法ありますか?
こんな感じなんですけど

public void onClick(View p1){
ProgressDialog progres = new ProgressDialog(activity);
progres.setMessage("読み込み中...");
progres.show();

Thread thread = new Thread(new Runnable(){
@Override
public void run(){
なんか処理
}
});
thread.start();

try{
thread.join();
}catch(Exception e){}

なんか処理

if((progres != null) && (progres.isShowing())){
try{
progres.dismiss();
}
}
}
0250デフォルトの名無しさん (ワッチョイ bdd2-PcWx)
垢版 |
2018/08/27(月) 16:54:35.75ID:NNvRCUhZ0
>>247
その最初の"なんか処理"がUIいじってる処理じゃない?
ProgressDialogと"なんか処理"のUIスレッドがバッティングするから
順番的にProgressDialog表示→ProgressDialog非表示→非同期終了
になって表示されてないように見える
AsyncTaskとか試したけど結局UIスレッドはシングルスレッドだから無理だった

RxJava使えば解決できるのかな?
0252デフォルトの名無しさん (ワッチョイ 6681-XiPX)
垢版 |
2018/08/27(月) 23:47:17.63ID:NwXgXeyj0
val dialog = ProgressDialog(this)
dialog.show()

disposable = Observable
  .interval(5, TimeUnit.SECONDS)
  .subscribeOn(Schedulers.io())
  .observeOn(AndroidSchedulers.mainThread())
  .subscribe({
    dialog.dismiss()
    disposable?.dispose()
  })
0253デフォルトの名無しさん (ワッチョイ 6a7c-EM0A)
垢版 |
2018/08/28(火) 09:17:44.47ID:nen4cHNL0
RxJavaもいいけど、まずThreadの基本的なことは知った上でないと。
>>247
何が悪いか自分でほぼわかってんじゃん。
>>250
大間違いもいいとこwww

・メインスレッドでの、join()は厳禁(ANRを引き起こす。)
・別スレッドからUI処理を行うにはHandlerを経由する。
handler.post(()->{ UI処理 })
0258デフォルトの名無しさん (ワッチョイ 6aea-4dUf)
垢版 |
2018/08/28(火) 16:33:11.99ID:aKTewaJt0
>>257
ありがとうございます。
作りたいのはメトロノームみたいな感じで、中の処理は10ms以内に終わる程度なんです。
そのかわりに速度が出来るだけ正確で、速度を任意に変更させたいと思ったら、
意外と難しくて悩んでました。
0259デフォルトの名無しさん (ワッチョイ d9e3-EM0A)
垢版 |
2018/08/28(火) 17:07:05.15ID:Vv/IqA8P0
なんかちょくちょくズレた回答するやつがいるな。
ScheduledExecutorServiceには、scheduleAtFixedRate()かscheduleWithFixedDelay()があり、
RxJavaだと、それぞれinterval()、timer()に相当する。
FixedRateとFixedDelayの動作の違いは自分で確認。
0260デフォルトの名無しさん (ワッチョイ 6aea-4dUf)
垢版 |
2018/08/28(火) 17:27:45.59ID:aKTewaJt0
正確に行うにはscheduleAtFixedRate()だと思うのですが、
間隔を再設定するにはどうしたら良いのでしょう?
下記コードだと、点滅速度がどんどん早くなる一方でした。

View _viewMain; // 表示ビュー
ScheduledExecutorService _service = Executors.newSingleThreadScheduledExecutor();
int _Color;
private void SpeedChange(final Long lngMs) {
// _service.shutdownNow(); // 一度止める・・・と、アプリが停止する
_service.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
_Color += 8;
if(_Color > 256)_Color = 0;
_viewMain.setBackgroundColor(Color.rgb(_Color, _Color, _Color));
}
}, 0, lngMs, TimeUnit.MILLISECONDS);
}
0263デフォルトの名無しさん (ワッチョイ bdd2-PcWx)
垢版 |
2018/08/28(火) 18:59:53.23ID:3Sn7mDGq0
UI操作する重い処理の前にProgressDialog表示だけど、
Handler().postDelayedで遅らせるとくるくる回るやつが出るけど
遅らせた分だけくるくる回ってUI操作する重い処理に入ると
くるくるが止まったままになる

だけど、Oreoの端末だと重い処理が終わるまでくるくる回ったままで
思った通りの動作になるんだよな
この辺改善されたのかな
0265デフォルトの名無しさん (ワッチョイ 5e76-AMbZ)
垢版 |
2018/08/29(水) 02:25:54.36ID:J7N2J0jT0
画面サイズから計算してパーツの配置を行なっているのですが、
getDefaultDisplayのgetMericsやgetSizeを行うと常にナビゲーションバーを除いた数値しか取得できず、

ナビゲーションバーの表示/非表示で位置を調整することができません

ナビゲーションバーの表示/非表示を取得する、またはナビゲーションバーの表示/非表示を考慮した画面サイズの取得をする方法はないでしょうか?

ナビゲーションバー以外のサイズを取得したく、非表示の場合は画面全体サイズを手に入れたいです
0266デフォルトの名無しさん (ワッチョイ f97c-EM0A)
垢版 |
2018/08/29(水) 08:13:02.35ID:7qThEoOh0
ある。
0267デフォルトの名無しさん (ワッチョイ d9e3-vl9i)
垢版 |
2018/08/29(水) 08:57:56.85ID:+uEXYG2j0
>>265
>ナビゲーションバー以外のサイズを取得したく、非表示の場合は画面全体サイズを手に入れたいです
イコール 一番外のFrameLayoutのサイズでは?

>ナビゲーションバーの表示/非表示を取得
View#getSystemUiVisibility

>画面サイズから計算してパーツの配置を行なっているのですが、
機種・Androidのバージョンによっては、音量Up/down・USB抜き差しでもアプリの
画面サイズが変わるから、その方法は破綻するよ
0270デフォルトの名無しさん (スプッッ Sd0a-ZR/F)
垢版 |
2018/08/29(水) 15:08:01.73ID:ekINNu/1d
>>267
ナビバーの表示状態とサイズはこれで取得できるんじゃないか
Display disp = getWindowManager().getDefaultDisplay();
Point p1 = new Point();
Point p2 = new Point();
disp.getRealSize(p1);
disp.getSize(p2);
if(p1.y != p2.y){
//ナビバーが表示されている
}else{
//ナビバーが表示されていない
}
0272デフォルトの名無しさん (ワッチョイ d9e3-EM0A)
垢版 |
2018/08/29(水) 17:40:41.68ID:KAtXbyjX0
postDelayedそのものにループする機能はない。
postDelayedを再帰させてループにすることはできる。
0273デフォルトの名無しさん (ワッチョイ 6aea-4dUf)
垢版 |
2018/08/29(水) 17:46:49.98ID:HxBiINAJ0
final Handler handler = new Handler();
final Runnable r = new Runnable() {
@Override
public void run() {
何かの処理();
handler.postDelayed(this, 1000);
}
};
handler.post(r);

この場合の時間は、何かの処理() + postDelayed(1000) ってことなのかな?
0274デフォルトの名無しさん (ワッチョイ d9e3-EM0A)
垢版 |
2018/08/29(水) 18:11:54.72ID:KAtXbyjX0
再帰の形になってるから、
なんかの処理+1000ms
が、延々と続くね。
0275デフォルトの名無しさん (ワッチョイ c923-PcWx)
垢版 |
2018/08/29(水) 22:49:58.34ID:NroqzxEA0
Oreoでフォアグラウンドサービスを起動して放置しておくと
Doze→Deep Dozeに遷移してスリープしちゃうから
AlarmManager#setExactAndAllowWhileIdleで10分おきに
意味のないBroadcast投げて疑似ウェイクアップさせてるんだけど
ファーウェイの端末だと全然効果ないみたい
ファーウェイの設定でバックグラウンド起動許可しても何しても
数回かに1回はスリープ入ってしまって肝心な時に動かない
これどうすれば回避出来るんだろう?
常に起きてるフォアグラウンドサービスという作りが悪いのかな?
0279デフォルトの名無しさん (ワッチョイ 23ea-8dGN)
垢版 |
2018/08/30(木) 10:39:39.46ID:k+AaA+te0
>>277
TimerTaskのscheduleAtFixedRateが良いのですか!
ググるとTimerは評判悪かったので回避してました。
現在時刻を基準に長時間動かすなら、誤差が累積するHandlerよりも、
TimerTaskが良さそうですね、ありがとうございます。
0280デフォルトの名無しさん (ワッチョイ 3de3-zJks)
垢版 |
2018/08/30(木) 10:41:19.21ID:KSTXTqe70
>>277
お前も理解足りてない。
ひっくり返したところで「タイマー」としては、おかしな動作になるだろ。
handler.postDelayed自体は名前の通り、delayしてpostするだけですぐに終わる。
0281デフォルトの名無しさん (ワッチョイ 23ea-8dGN)
垢版 |
2018/08/30(木) 11:17:55.14ID:k+AaA+te0
>>275
>例えば、Huaweiの一部の端末ではServiceのForeground化が行えない(正確には、API的には使えますが、すぐにKILLされます。
>また、CPU WakeUpも無効です)ため、一部の重要なServiceを常駐することができません。
>これは業務用アプリでは致命的になる恐れがあります。
https://qiita.com/eaglesakura/items/3f552dc5971d39fa9466

これかな?
0282デフォルトの名無しさん (ワッチョイ dd23-tpL7)
垢版 |
2018/08/30(木) 19:42:11.10ID:6Jddx8rd0
>>278
最適化から除外したり省電力設定から除外したりしたけど
数回に1回はまともに動かないみたい(ユーザに試してもらった)
手持ちのXperiaでも5回に1回くらいの割合でスリープしてるようで
BroadcastReceiverに通知が飛んでこない事がある

>>281
多分それだと思う
スタックオーバーフローとかQiitaも色々見たけど解決策がなかった
個人アプリだから深刻ではないけど業務アプリはどうするんだろう…?
0289デフォルトの名無しさん (ワッチョイ 5bd5-rcbP)
垢版 |
2018/12/10(月) 00:58:36.72ID:0Vf+q8kL0
ここで聞く内容ではないかもしれないけど、詳しい人がいることを期待して来ました。
google play service が動かない端末って、どんな理由で動かないの?
ガラケータイプの端末(具体的には Yモバの 702KC など)であるアプリを動かそうとすると同サービスが必要だと言われ、
同サービスをインストールして再び試すと今度はこの端末では同サービスがサポートされてないと言われ、結局起動できない。
なんとか動かしたいと思ってるんだけど、そもそも端末の問題でどうやっても無理ってことがあるのか知りたい。
前述の 702KC の旧代である 502KC では動いてるようで、何か意図的に動作させないような細工が加えられたのならそれを無効にしてしまえばいいんじゃないかと思ってもいる。
702KC は android 5.1.1、502KC も同じはずで、同サービスが動く動かないを分けるような違いがどこにありそうか、心当たりをぜひ教えてほしい。
0291デフォルトの名無しさん (ワッチョイ 01d2-n9Ol)
垢版 |
2018/12/10(月) 11:25:48.84ID:MCcY8gyl0
>>289
そういうガラスマみたいな端末はメーカーがかなりいじってるから
play serviceが対応してないのでは
デベコンの端末カタログにその型番で調べたけどなかったから
公式にサポートされてない端末ってことになる
0292289 (ワッチョイ 5bd5-rcbP)
垢版 |
2018/12/11(火) 08:20:33.34ID:epqd8p1b0
>>290,291
ありがとう
デベコンの端末カタログってのを自分で設定したことが無いから外してるかもしれないけど、google play services については google が設定してるんだよね?
ケータイメーカーの方がわざわざ動作確認する義理が無いのはいいんだけど、わざわざ除外登録を google に申し入れてるかもしれないってことかな?
アプリ起動時のエラーメッセージ的には「この端末では同サービスがサポートされてない」と出てくるけど、これは同サービス自身が端末カタログを確認してあえてエラーにしてるってこと?
あるいは同サービスはわざわざエラーにするようなことはしてないけど、この端末で機能を動かそうとしたら本当にエラーが出ちゃってる感じなのかな。
具体的にアプリがどの機能を使ってるか分からないけど、ひとつは「みまもりマップ」ってアプリで少なくともマップを使ってるだろうし、
もうひとつ試したところだと「Gyao!」で、これは何使ってるのか分からないけど支払い関係なのかな(お目当てはみまもりマップの方でGyao!は試しただけでよく知らない)。

どっちにしてもそれほどシビアなものじゃなさそうな気がするし、アプリ起動初っぱなで出てくる。
0293デフォルトの名無しさん (ワッチョイ 01d2-n9Ol)
垢版 |
2018/12/11(火) 13:49:28.89ID:O5AyGw5K0
逆にplay servicesに対応できてる端末をカタログに入れてそうな
エラーがでるならやっぱりコード的に動かないと思う(オフラインで試してみたら)

どうしてもその端末で動かしたいならplay servicesを使わないアプリにするしかないかも
0299デフォルトの名無しさん (ワッチョイ d9c7-weQm)
垢版 |
2019/01/03(木) 17:24:02.36ID:mPxSEijK0
Activity継承してないクラスで
Contextが必要なメソッドを使うとき
どうやればいいですか?

継承してるクラスではthisやgetAplicationContextを与えてやればいいと思いますけど
0307デフォルトの名無しさん (スップ Sd73-weQm)
垢版 |
2019/01/04(金) 09:49:46.39ID:mDaXDGZYd
Activityを継承するかActivityのインスタンスを作って
継承ならthisかgetApplicationContext、インスタンスならgetApplicationContext渡せばいいということですか?
viewが絡むならthisで
0308デフォルトの名無しさん (ワッチョイ 5120-mHCk)
垢版 |
2019/01/04(金) 19:51:02.36ID:MMowKaFO0
>>296
何がしたいのか良くわからんが・・・

Reflectionを使えば、(リソース等から生成されるClassである)Gの("id"などの)フィールド
や、さらに("text"などの)id下のフィールドを列挙し、名前・型・値など取得できるから
その値がR.id.textと一致するもの("id"/"text")を探せばいいのでは?

参考: ttps://did2memo.net/2013/09/10/java-reflection-how-to-display-all-java-field/
0316デフォルトの名無しさん (ワッチョイ a761-SWhC)
垢版 |
2019/02/18(月) 22:14:30.07ID:0exbN2G30
もしかしてandroid9でokhttp3を使うとクラッシュします?
play consoleで9だけclassnotfoundexceptionのクラッシュ報告が出てるけど原因が分からない。
androidstudioの9エミュではクラッシュしないので困ってます。
0317デフォルトの名無しさん (ワッチョイ c57c-6QNz)
垢版 |
2019/06/07(金) 23:56:20.42ID:Rrj1Onjo0
ちょっと教えてください
android開発始めて1か月ちょっとなので
質問自体が意味不明かもしれませんが

常駐部分がネットに定期的にアクセスして
ある条件に合致したらメインを起動(?)して
得られた情報を表示するって感じです

serviceを使うんだと思いますがタイプが2種類あるとか

ちなみにプログラミング言語はJavaじゃなくマイナーな言語で
表示部分やネットアクセス部分はもうできてます
(Windows版を修正してandroid対応させただけですが)

よろしくお願いします
0321317 (ワッチョイ c57c-6QNz)
垢版 |
2019/06/08(土) 10:21:30.62ID:1PAWXyZw0
質問が意味不明で申し訳ありませんでした

あれから検索して簡単なサンプルプログラムで
serviceを実装するところまではできました
serviceからメインの方へのデータの引き渡し方など
試行錯誤してみます
0323デフォルトの名無しさん (ワッチョイ cd5f-ONUK)
垢版 |
2019/08/06(火) 01:17:58.88ID:Juf3CxhN0
あなたのアプリを買い取りますというメール来たのだが詐欺でしょうか?
ちなみにろくにダウンロードされないクソアプリです
どう見ても買い取る価値のないアプリです
0328デフォルトの名無しさん (ワッチョイ 2120-gQHD)
垢版 |
2019/08/22(木) 09:50:35.27ID:rWrz3N4g0
9月1日までにターゲットユーザーの設定をしろってメール来てるけど、
これしないとどうなるんだろ?

小学校高学年ぐらいから使えるアプリなんで9才以上にしようとしたら
プライバシーポリシーの設定を求められたんで、まずこれを設定したが、
「アップデートを処理しています 」で一日経っても終わらない。

みんな駆け込みでやってて、Googleでの(審査?)処理がパンクしてるの
かねえ・・・
0333デフォルトの名無しさん (ワッチョイ 7f01-3l0g)
垢版 |
2019/09/17(火) 18:15:10.62ID:SZTaFwlP0
GLで動いてるソフトがヌルヌル動いて見えるなら良くなる
全部カクカクに見えるならそれが限界
0335デフォルトの名無しさん (ワッチョイ a244-ACnl)
垢版 |
2019/09/19(木) 13:46:18.07ID:p07itbgr0
AndroidStudio3.5にしたら特定の機種(qua tab 01)でインスト―ルができなくなりました

Installation did not succeed.
The application could not be installed.
Installation failed due to: 'device '293c69129f' not found'

デバッグを開始するとこんなメッセージがログに出て、デバッグが始まりません
調べたらInstall Flagsに-r -tというフラグを設定したり、APK from app bundle にするといいと書かれてましたが効果ありませんでした
どうすればいいでしょうか
0336デフォルトの名無しさん (アウアウウー Sa85-Jzey)
垢版 |
2019/09/19(木) 14:07:22.85ID:DGc9r007a
エミュ?実機かな?
私よりレベル高そうな書込みだから気が引けるけど
エミュのAPIをアップデートするときにウィルスソフトのチェックに引っ掛かったから、何をしたか忘れたけど有効にしたら上手くいった経験があります
でも不安定なんだよね
エミュで22が未だにおかしい
23は上手くいった
何が違うのか未だにわからずですがw
参考になれば
0337デフォルトの名無しさん (アウアウウー Sa85-Jzey)
垢版 |
2019/09/19(木) 14:24:07.43ID:DGc9r007a
エミュのAPIのアップデート?自分で書いててなんだかなw正しい表現ではないと自分で思う
過去にあまり開発経験がないから上手くいえないけど3.4から3.5にしたら何かあるごとにアップデートが裏で走ってて、たまにチェックに引っ掛かった
ネットつないでコンパイルすると何かダウンロードするのよ
エミュで実行しようとすると何かダウンロードするのよ
それを対処したら実行できた
未だにだめなのがAPI22のエミュ
何故なのかはわからないけど、経験のみの話ですすまん
0339デフォルトの名無しさん (ワッチョイ a244-ACnl)
垢版 |
2019/09/19(木) 15:29:00.58ID:p07itbgr0
>>336
実機です。
ウイルスソフトは例外に登録してるので大丈夫だと思います。

>>338
デバッグボタンを押すまではデバイスとしてAndroidStudioに認識されていますが、
デバッグボタンを押して実機にAPKをインストールする段になると内部的に認識されなくなるのか上記のごとくなります。
他の機種では正常にデバッグが開始されます。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況