Articles of android activity

Android上的最佳实践是什么,以便在整个应用程序会话中保持活动deathes / restarts之间的数据?

我们正在设计一个Android应用程序,其中包含几个以向导方式工作的活动 – 用户应该从活动#1转到活动#5以进入最终活动(#6)。 由于我们知道操作系统可以在低内存中突然终止活动,因此我们使用Application类作为静态存储来保存用户输入的数据“向导”活动以及我们的应用程序在整个会话中需要的其他数据。 不幸的是我们发现这种方法失败了 – 看起来像Application类实例也可以被OS杀死(这是在Android 1.6和1.5上专门发现的)。 我们对这种方法的期望是否错误(我们认为Application类实例总是适用于整个应用程序会话)? 所以问题是 – 在整个应用程序会话的活动deathes / restarts之间保持数据的Android最佳实践是什么?

Android – 从Flavor中删除活动

如何从app风格中删除活动? 这是一个简化的例子,我有一个应用程序,它有以下两种口味(付费和免费)。 该应用程序很小,只有3个活动(MainActivity,ActivityOne和ActivityTwo)。 付费应用程序不需要任何限制,因为它将使用完整的代码库。 然而,免费应用程序要求它可以让用户访问MainActivity和ActivityTwo,而不是ActivityOne。 如何在编译代码时执行“Manifest Merge”,以便免费版本中不存在ActivityOne? 换句话说,应该如何创建src / free / AndroidManifest.xml以使免费应用程序没有ActivityOne? 下面是app的build.gradle文件: apply plugin: ‘com.android.application’ android { compileSdkVersion 21 buildToolsVersion “21.1.2” defaultConfig { applicationId “com.example.calculator” minSdkVersion 21 targetSdkVersion 21 versionCode 1 versionName “1.0” } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } } productFlavors { paid { applicationId “com.example.paid” resValue “string”, “app_name”, […]

Android – 如何创建活动的多个实例?

我想知道是否可以在Android中创建单个Activity的多个实例? 我目前通过使用以下代码启动我自己的inCall屏幕进行Voip测试: public void initInCallScreen(String pName, String phoneNumber, int contactID, boolean callDirection, int lineID){ //starts in callScreen dialog final Intent myIntent = new Intent(context, CallDialogActivity.class); myIntent.putExtra(“NAME”, pName); myIntent.putExtra(“NUMBER”, phoneNumber); myIntent.putExtra(“ID”, contactID); myIntent.putExtra(“CALLTYPE”, callDirection); //True = Incoming, False = Outgoing myIntent.putExtra(“LINEID”, lineID); myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(myIntent); 这允许我启动活动正常。 但是,当我调用它一秒钟时,它只返回已创建的Activity,而不是创建一个新的Activity并将其放在堆栈上。 我希望能够多次创建活动,以便我在堆栈上有两个或三个活动,用户可以在它们之间切换,使用Home,Back按钮等… 这是可能的,如果是的话,我做错了什么?

在Android 4.2上运行时屏幕闪烁。 (活动连续重启)

一些用户报告说,在Android 4.2上运行时我的应用程序屏幕有时会闪烁(仅限!) 我尝试使用我的设备,在放入日志后,活动重新启动并重新启动,每秒约3次。 所以我所做的是在连续重启时跟踪方法调用,结果如下: 似乎问题在于ViewGroup.resetRtlProperties(),因为这是Android 4.2(17)中的新function。 我无法确认这是否是一个错误,但有没有其他人遇到这个或有任何解决方法?

OnPause后触发OnClickListener?

我正在使用的项目使用视图展示器抽象。 这是所有主要类的简化版本。 抽象活动(Wire Presenter实例,带View) public abstract class MvpActivity extends ActionBarActivity { protected Presenter mPresenter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mPresenter = getPresenterInstance(); } @Override protected void onResume() { super.onResume(); mPresenter.onResume(this); } @Override protected void onPause() { mPresenter.onPause(); super.onPause(); } } 视图界面 public interface MyView { void redirect(); } 视图实现 public class MyActivity extends […]

主要活动名称必须是.MainActivity吗?

我的应用程序有这个主要活动: <activity android:name=".main.MainActivity" … 它从家庭发射器发射没有任何问题。 但是,当我尝试从Google的手势搜索启动它时,我收到一条手势错误消息,指出该应用没有.MainActivity 。 https://play.google.com/store/apps/details?id=com.google.android.apps.gesturesearch Android应用程序是否需要具有名为.MainActivity的主要活动? 如果不是,它是一个软推荐或约定,还是对手势的错误假设?

ReactNative – 如何从版本0.29开始获取活动实例

我正在编写自己的ViewManager,它需要获取活动实例。 在版本0.29之前它是直接的,但在RN@0.29 突破变化后我找不到办法。 谢谢。

如何在更改活动时更改默认animation?

您好我有一个应用程序,我可以触摸滚动浏览几个屏幕,如Android Homescreen应用程序。 我现在设法在每个页面上添加一个按钮,从此更改为新活动,但滚动从左到右,我希望它在单击按钮时向下滚动,但我无法弄清楚如何做到这一点。 (这可能是一个非常棒的问题 – 抱歉。) 这是我的main.java文件 public class main extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button onebutton = (Button)findViewById(R.id.soundsone); onebutton.setOnClickListener(new OnClickListener() { public void onClick(View v) { Intent i = new Intent(main.this, series1button.class); startActivity(i); } }); Button twobutton = (Button)findViewById(R.id.soundstwo); […]

如何开始活动在Android上管理帐户/同步设置?

什么意图开始显示管理帐户/同步设置活动? 查找此类系统活动的意图的最简单方法是什么? 解决方案 :感谢来自@ cant0na的提示,启动管理帐户活动: new Intent(“android.settings.SYNC_SETTINGS”) 如何查找意图请参阅@ cant0na的答案。

无法启动活动资源$ NotFoundException

我已经在Google Play上发布并运行了几个月的应用程序。 今天我收到来自资源未findexception的用户的错误。 我以为我可能已经忘记了一些可绘制的东西。 从错误中我得到了对象ID(我从错误中获取了ID 0x7f030003 )并在R.java中查找它以确定缺少哪个对象。 令我惊讶的是,我从主要活动中find了IDI,所以我确定我没有忘记这一点! 我的应用程序从main开始,所有其他活动/片段都从它调用。 回去的时候,我刚刚完成了开放的活动,然后回到Main。 所以我的代码没有显式调用Main,所以我迷失了导致这种情况的原因。 我无法重现它,只有用户的报告。 我是否在寻找资源时遇到了一些错误? 可能会发生什么? inheritance人是我通过控制台收到的错误 java.lang.RuntimeException: Unable to start activity > ComponentInfo{com.myapp/com.myapp.MainActivity}: > android.content.res.Resources$NotFoundException: Resource ID > #0x7f030003 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663) > at > android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) > at android.app.ActivityThread.access$2300(ActivityThread.java:125) at > android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) > at android.os.Handler.dispatchMessage(Handler.java:99) at > android.os.Looper.loop(Looper.java:123) at > android.app.ActivityThread.main(ActivityThread.java:4627) at > java.lang.reflect.Method.invokeNative(Native Method) at > […]