問題タブ [subactivity]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2652 参照

android - サブアクティビティでのみMonkeyを使用する(Androidデバッグ)

アプリケーションの一部をストレステストするために、Monkey debugginツール(adbから)を使用しようとしています。Monkeyは完​​全にランダムな方法で動作するため、探しているエラーが含まれている可能性のあるコードの部分に集中してください(非常にまれなバグであり、複製方法がわかりません)。

したがって、メインアクティビティには6つのボタンがあり、それぞれが新しいアクティビティを起動します。サルは、それらのアクティビティの1つだけを見て、そこからアクセスできるすべてのアクティビティを見るように設定したいと思います。私はそれを行うための合理的な方法を見つけることができません。

私はマニフェストファイルでいくつかのアクティビティを試しましたが、
adb shell monkey -p my.package.name -c android.intent.category.MONKEY 1000
興味があります。

しかし、それはうまくいきませんでした。モンキーは、このタグで分類されていないアクティビティを引き続き起動します。モンキーが選択したサブアクティビティで作業することは非常に重要です。これは、実際にテストしたいサブアクティビティ以外で、アプリ内をローミングする時間が約95%を浪費するためです。

また、目的のサブアクティビティを起動するためにいくつかの簡単なスクリプトを試しましたが、成功しませんでした。

助けを求めて、
乾杯、
kajman

0 投票する
1 に答える
443 参照

android - 低メモリを引き起こす複数のサブアクティビティ

私のアプリでは、ユーザーが複数ページの入力(サインアッププロセス)を実行する必要があります。ユーザーがサインアップに深く入り込むにつれて、ユーザーが「終了」をクリックするまでデータをそのまま保持する必要があります。このプロセスには、サブアクティビティを呼び出すアクティビティと、別のサブアクティビティを呼び出すサブアクティビティが含まれます。

フローは次のようになります:メイン->サブアクティビティ(サインアップのパート1)->サブアクティビティ(パート2)->サブアクティビティ(パート3)。

ここでの問題は、logcatからメモリ不足の警告が表示され、ユーザーがアプリの奥深くに入るとさまざまなプロセスが強制終了されることです。カスタムオブジェクトをアクティビティ間で渡すのではなく、mysqlliteに保存し、必要に応じて取得することで、手持ちのメモリを節約しようとしました。追加するもう1つのポイントは、私は画像を扱っておらず、使用されるコントロールはテキストビュー、エディットビュー、スピナーだけです。

私の質問は、複数のサブアクティビティが連鎖している場合、メモリ不足の問題が発生するのは一般的ですか?メモリを解放するにはどうすればよいですか?カスタムコントロールは、プリセットコントロールよりも大幅に多くのメモリを使用しますか?(私の予感の1つ)

*編集*メモリ不足の問題の理由を見つけました。サブアクティビティとは何の関係もありません。原因は、私が使用しているカスタムコントロールです。代わりにプリセットコントロールを使用してテストを行ったところ、アプリの全体的なパフォーマンスが大幅に向上しました。メモリ不足の警告がなくなり、すべてがスムーズに機能するようになりました。

0 投票する
2 に答える
440 参照

android - Android のビュー内でアクティビティを開く

私は最近、Android アプリの開発を開始しました。モデルは見れば見るほど理解できますが、何かを行うことはできません (参考資料も見つかりません)。

下部に 5 つのボタンがあり、残りの画面を占める空白のビューがあるアクティビティがあります。これらのボタンをクリックすると、アクティビティがこのビューで開かれる (そして制限される) ようになります。問題なく新しいアクティビティを実行できますが、これは新しい画面で開きます。

親アクティビティのレイアウトxmlファイルで定義されているビュー内で(サブ/子?)アクティビティを起動する簡単な方法を誰かが教えてくれれば、親アクティビティで作成することもできます-あなたは本当に私をやっているでしょう好意!

0 投票する
2 に答える
2095 参照

android - アクティビティとサブアクティビティ

私のアプリケーションには 5 つの異なるアクティビティ (名前は A、B、C、D、E ) があり、A、B...E を切り替えるためのメニュー (画面下部のボタンで作成) があります。

私がAを表示しているとき、ユーザーがAの上にある別のアクティビティA1に移動し、そこからA12に移動するためのボタンがあるため、私のアクティビティスタックはA> A1> A12のようなものになり、ユーザーはクリックしますB のメニュー ボタンをクリックすると、そこから B1 に移動します。(スタックは A>A1>A12>B>B1 のようになります) ユーザーがボタンを押して A に戻ると、A の上にある A12 が表示されるはずです。

このスカナリオを管理するにはどうすればよいですか? まったくヒントがない

0 投票する
0 に答える
920 参照

android - サブアクティビティで意図を開始するサルが ANR を引き起こす

設定を表示するための 2 番目の PreferenceActivity を作成するメイン アクティビティのボタンを備えた Android アプリがあります。

マニフェストは次のようになります

Monkey を使用してテストしたときに問題が発生しました。アプリが起動し、ボタンを押して PreferenceActivity を作成します。PreferenceActivity が作成されると、monkey は別のパッケージを開始するインテントを送信します。PreferenceActivity が一時停止し、他のパッケージが実行されます。次に、monkey が別のインテントを送信して、元のアプリを起動します。私の PreferenceActivity が onResume() に入ると、フリーズして ANR が発生します。

私のlogcatに表示されます:

PreferencesActivity のすべてを削除したので、残っているのは

PreferenceActivity を再開すると、まだ ANR が発生します。しかし、PreferenceActivity の代わりに Activity を拡張するように変更し、onCreate() の設定を削除すると、ANR が得られなくなります。また、「adb shell am」を使用してインテントを手動で開始しようとしても ANR が得られないため、Monkey を実行したときにのみ問題が発生します。

どんな助けでも大歓迎です。ありがとうございました。

0 投票する
2 に答える
355 参照

android - 親クラスでのサブアクティビティ onClick 発火

ActivityGroup のサブ アクティビティの onClick ハンドラに問題があります。

以下を使用して StoreActivity を起動しています。

StoreActivity レイアウトには、onClick メソッドを定義するボタンがあります。ただし、何らかの理由で、StoreActivity を起動した親クラスでこれを呼び出そうとしています。アクティビティを起動するときに何か間違ったことをしていますか? 上記の Log.e の出力は、StoreActivity が現在のアクティビティであることを示しているため、なぜこれが起こっているのか少しわかりません。StoreActivity のコードでボタンの onClickListener を定義することでこれを回避できますが、可能であれば避けたいと思います。

0 投票する
3 に答える
5844 参照

android - サブアクティビティを起動する Android Home アクティビティ

私はAndroidプログラミングに比較的慣れていません。仕事で、カスタム ホーム アクティビティ ランチャーを作成する必要があるタスクを与えられました。少し調べてみたところ、Android 開発者の Web サイト ( home sample ) で例を見つけました。これが私のプロトタイプの始まりでした。

カスタム ホーム アクティビティでは、ユーザーに認証を要求する必要があります (いくつかの簡単な資格情報を入力します)。私が考えたのは、ホーム アクティビティからサブ アクティビティを起動し、インテントの結果をホーム アクティビティに戻すことでした。これらの資格情報に関する情報をキャプチャできるようにする必要があり、その情報は Home アクティビティに戻される予定でした。ただし、これを試すと問題が発生します。LogCat に、「アクティビティが新しいタスクとして起動されているため、アクティビティ結果をキャンセルしています」というログが表示されます。

startActivityForResult メソッドについては認識していますが、うまく機能していないようです。ここで、ホーム アクティビティからアクティビティを起動します。

そのコードが実行されると、ActivityManager タグから上記のログを取得します。

My Login アクティビティには、ユーザーが資格情報を入力した後に押すボタンがあります。資格情報に問題がなければ、次のことを試みます (何が起こっているのかを把握できるように、いくつかのログを記録します)。

これらのアクティビティをマニフェスト ファイルで次のように定義しました。

Login アクティビティのインテント フィルターをいじっていました。私はもともとそれを何も設定していませんでした。また、launchMode を空白にしました (これはデフォルトで標準になっていると思います)。私はこれらのオプションのほとんどをいじってみましたが、ActivityManager が新しいタスクとしてアクティビティを起動しようとしているようで、返されたインテント (私が必要とする) を無視したいという事実を変えるものは何もないようです。

0 投票する
1 に答える
3404 参照

android - Android:onActivityResultでNULLインテントオブジェクトを返すサブアクティビティ

これを理解することはできません。調査を行い、ここで検索し、オンラインで検索しました。Java/ Androidの新しいプログラマーですが、私はこれを正しく行っているようです。

私の主な活動は、タッチされたメニューエントリに基づいていくつかのサブ活動を開始します。これらのそれぞれについて、いくつかの「余分な」文字列データを含むバンドルをサブアクティビティに渡します。各サブアクティビティはデータを取得し、何らかの処理を行ってから、新しい/変更されたデータを.putExtra()でバンドルに戻し、finish()でサブアクティビティを終了します。

これは、1つのサブアクティビティを除くすべてで正常に機能しています。この1つのサブアクティビティでは、onActivityResultに戻ると、インテントオブジェクトは「hasextras」ではなくNULLになります。いろいろ試してみましたが、うまくいきません。これがポイントを証明するのに役立つことを願っているいくつかのスケルトンコードです:

onOptionItemsSelectedの一部である親アクティビティでは、サブアクティビティが開始されます。

サブアクティビティGetWriteFileName:

サブアクティビティGetReadFileName:

そして最後に、onActivityResultで:

あなたは、私は、閉じている中括弧などの省略を許してくれることを願っています。

問題は、GetWriteFileNameが親に戻ると、インテントデータがデバッガーに「余分なものがある」と表示され、文字列を取得できることです。

GetReadFileNameが親に戻るとき、インテントデータはNULLであり、それが問題です。なぜNULLなのですか?私の観点からは、両方のアクティビティで同じことを行って、親に物を返しています。私のAndroidマニフェストファイルには、私が思うべきものが含まれています。キーフィールドは正しいようです。私はここで立ち往生しています。アイデア?

マニフェストファイルのセクション:

このすべてを読んでくれてありがとう。

0 投票する
2 に答える
657 参照

java - アクティビティの上に「ウィンドウ/サブアクティビティ/ダイアログ」を表示するが、アクティビティにフォーカスを維持する方法

私のアクティビティ A はゲームで、いくつかのバックグラウンド操作を行います。コンテキスト メニューのボタンを押すと、「小さなウィンドウ/ダイアログ/サブアクティビティ」(B と呼びましょう) がアクティビティ A の上に表示され、それらのバックグラウンド操作に関するデータが表示されます。しかし、アクティビティ A とのやり取り (ゲームのプレイ) を続けるためには、アクティビティ A に集中し続ける必要があります。

要はゲーム中にBのデータ表示を見れるようにしたい。

これを実装する方法がよくわかりません。ドキュメントを読んだ後、次の結論があります。

  • フォーカスがあるため、ダイアログを使用できないことはわかっています。これを回避することは可能ですか?
  • ダイアログテーマでサブアクティビティを使用することは、魅力的に見える別のオプションです...しかし、サブアクティビティに焦点があると思います。同上。
  • 私の最後のオプションは、私のデータを含む LinearLayout をメインのレイアウトに追加して、画面を「共有/分割」することです。きれいではありませんが、少なくともこれが可能であることはわかっています。このアプローチで気に入らないのは、画面の幅と高さを使用することです。

助言がありますか?ソリューション?

PS:私の質問に非常に関連するこのスレッドをいくつか見つけました:

0 投票する
1 に答える
155 参照

android - How should I use the Back Stack to allow usage of the back button?

So, I have this app with 4 different activities:

  • A is the main activity with three buttons to launch B, C and D (I think people use to refer to these as sub activities).
  • Each activity has its own layout, but I believe that this is not relevant here.

What I want to do is the standard behaviour for most apps. That is:

  1. I start by launching the app and seeing activity A.
  2. Then I press a button, C, for instance, and activity C is shown.
  3. Then I press the back button and activity A is shown again.

My app does points 1 and 2 correctly, but on 3 the app disappears.

The onClick method of the buttons has something like this:

None of the activities overrides the onBackPressed method.

Here is (part of) my manifest file:

I know from debug work I've done, that A.onDestroy() is called after the onClick method of a button is called. Based on this info, I think that, and of course I might be wrong, activity A is removed from history stack by the OS for some reason.

Now I know that this kind of issue has already been addressed here on stackoverflow, but I've tried all the suggestions I could find and none worked. I wanted to explain my own case.