Articles of android activity

Android应用程序组件销毁和娱乐的细节

有人能把我推向一些具体的,值得信赖的(最好是简洁的)关于以下方面的信息: (Fragment,Activity,Activity的线程/ AsyncTasks / Timers,静态数据(什么时候是类被卸载?),其他类中的线程/ AsyncTasks / Timers,主机TabActivity, ActivityGroup,绑定的本地服务,应用程序,进程),当应用程序在后台,并在前台。 在哪些点销毁可以停止(返回到应用程序可以遇到什么状态 – 像“包括应用程序对象被销毁,进程活着”的一切? 是否有可能(无需修改Android)以编程方式导致同一种types的破坏,从而与系统执行操作时难以区分,还是当我们自己select释放内存(由onLowMemory触发)时需要单独的机制? 所有场景的可靠的再现步骤从1)(junit.framework会吗?我没有调查过)? “ 如果用户长时间离开任务,系统将清除除根活动以外的所有活动的任务,当用户再次返回到任务时,只有根活动恢复 ”:除了进程/组件生命周期/销毁,还是束缚它? 我已经阅读了各种消息来源给出的信息,往往不完整和误导,有时不正确。 我承认,我已经浏览了文档的某些部分,所以我可能错过了或误解了一些东西。 [编辑]为了避免误解:我问的是Android销毁组件来释放内存, 绕过 Activity.onDestroy。 当我将应用程序放在后台并稍后返回时,将出现以下这些序列之一: onPause,onStop,onRestart,onStart,onResume onPause,onStop,Application.onCreate,onCreate(notNull),onStart,onResume [EDIT2]赏金开始了。 需要以下方面的可靠信息:活动,碎片,应用程序,绑定(可能是远程的)服务,进程。 部分/全面销毁情况。 见第一点。

Android活动命名

我遇到了Android活动和其他类之间越来越多的命名冲突。 我想知道如果你能告诉我你是如何避免这些。 可悲的是,我在SO的相关问题中没有涉及到我的特定命名问题。 第一个例子 我有一个显示游戏级别的活动。 但是,该级别所需的数据(背景图片,实体等)则存储在一个单独的类中。 当然,我会打电话给后一类的Level 。 不过,我也会调用活动Level ,因为它会显示级别。 第二个例子 我有一个回放剪辑场景的活动。 它基本上连续显示几个图像。 显示图像显示多长时间的信息存储在单独的类中。 和前面的例子一样,我自然会调用两个类CutScene 。 你将如何解决这些命名问题? 将活动命名为LevelActivity和CutSceneActivity ? 将表示类LevelModel和CutSceneModel ? 别的东西?

Android:将parameter passing给Activity中的Service

我通过这种方式绑定到服务: 活动课: ListenLocationService mService; @Override public void onCreate(Bundle savedInstanceState) { … Intent intent = new Intent(this, ListenLocationService.class); intent.putExtra("From", "Main"); bindService(intent, mConnection, Context.BIND_AUTO_CREATE); … } private ServiceConnection mConnection = new ServiceConnection() { public void onServiceConnected(ComponentName className, IBinder service) { LocalBinder binder = (LocalBinder) service; mService = binder.getService(); } public void onServiceDisconnected(ComponentName arg0) { } }; 这是我的服务的 […]

将(打开/closures)button添加到(打开/closures)导航抽屉的活动

我目前正在学习从android网站导航抽屉,我使用他们的示例http://developer.android.com/training/implementing-navigation/nav-drawer.html 我想要的是在MainActivity添加一个可以打开NavigationDrawer的button。 我需要以编程方式执行,而不是使用XML。 我怎样才能做到这一点?

IllegalArgumentException:添加窗口后无法更改窗口types

我已经在这里尝试了build议, 这里的build议, 这里的build议,我已经在我的基本活动中注释了onAttachedToWindow()。 我有两个活动inheritance自这个类,BaseActivity。 一个运行,一个不运行。 有什么区别? 我的目标SDK是19; 将其更改为12没有区别。 这里是我的BaseActivity的onCreate: @Override protected void onCreate(Bundle savedInstanceState) { getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD); requestWindowFeature(Window.FEATURE_NO_TITLE); super.onAttachedToWindow(); super.onCreate(savedInstanceState); …. } 当导航到第二个活动时,逐步执行代码,它通过onCreate(),onResume(),然后崩溃。 可能是什么问题呢? 堆栈跟踪: 06-26 13:41:57.963 28667-28667/com.assistek.ediary E/AndroidRuntime﹕ FATAL EXCEPTION: main Process: com.assistek.ediary, PID: 28667 java.lang.IllegalArgumentException: Window type can not be changed after the window is added. at android.os.Parcel.readException(Parcel.java:1550) at android.os.Parcel.readException(Parcel.java:1499) at android.view.IWindowSession$Stub$Proxy.relayout(IWindowSession.java:903) […]

savedInstanceState包何时实际使用?

有没有人知道一个详尽的清单,将在一个活动中使用savedInstanceState包? 我知道它在设备方向改变时使用。 但是,当用户强制从Android设置closures应用程序时,它似乎并没有被使用,但这可能是由于我的代码中的东西。 还有什么其他的情况? 要明确,通过“使用”我的意思是当onCreate()被调用时,savedInstanceState包不是空的,并包含我最后一次调用onSaveInstanceState()时传递给它的数据。

卡活动之间翻转animation

如何做活动之间的卡片翻转animation http://developer.android.com/training/animation/cardflip.html 上述链接切换静态布局..我想做一个CardFlip之间的2个活动有一个dynamic的布局..感谢在… .. 🙂 我有两个活动 包含产品细节的Main_Activity (说Galaxy S3) 查询用户search请求的Search_Activity Main_Activity有一个searchbutton。 当您点击button时, Main_Activity视图必须卡片翻转至Search_Activity 。 同样,一旦用户select一个产品,它应该Card-Flip副词。 我试图按照上面提到的URL来实现。但是它只是在使用XML定义的两个静态布局之间翻转。 我在ActionBar实现search

Android如何修复相机的方向

注意摄像头的视图(不是被捕获的图像)被翻转到左边(上面的图像), Activity的方向是正确的,但是摄像机视图被搞乱了,请帮助我们:)谢谢。 这里是xml文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center|top" android:orientation="vertical" > <SurfaceView android:id="@+id/camerapreview" android:layout_margin="10dp" android:layout_width="300dp" android:layout_height="300dp" /> </LinearLayout> </LinearLayout> </LinearLayout> 这里是java代码: public class CustomCameraActivity extends Activity implements SurfaceHolder.Callback { Camera camera; SurfaceView surfaceView; SurfaceHolder surfaceHolder; boolean previewing = false; @Override public void onCreate(Bundle […]

如何使用界面来进行两个活动之间的沟通

我试图让两个活动Act1 and Act2之间的监听器接口。 Act1将启动Act2 。 如果在Act2发生了一些事件,它会通知Act1 。 问题是我正在使用Intent开始新的活动,那么Act1如何将自己指定为Act2界面的侦听器呢? Act1.java public class Act1 extends ActionBarActivity implements ActionBar.OnNavigationListener { ActionBar actionbar; Intent pizzaIntent; boolean visibleFirstTime = true; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.menutab); //set actionbar here } @Override public boolean onNavigationItemSelected(int arg0, long arg1)// item pos, // itemid { switch (arg0) { case 0: if(this.visibleFirstTime == […]

Android应用程序上的DeadObjectException

有时我开始我的应用程序的Activity ,或切换在该特定Activity中的ViewPager Fragment之间快速,我得到这样的DeadObjectException : W/ActivityManager( 669): android.os.DeadObjectException W/ActivityManager( 669): at android.os.BinderProxy.transact(Native Method) W/ActivityManager( 669): at android.app.ApplicationThreadProxy.schedulePauseActivity(ApplicationThreadNative.java:660) W/ActivityManager( 669): at com.android.server.am.ActivityStack.startPausingLocked(ActivityStack.java:776) W/ActivityManager( 669): at com.android.server.am.ActivityStack.finishActivityLocked(ActivityStack.java:2501) W/ActivityManager( 669): at com.android.server.am.ActivityStack.finishTopRunningActivityLocked(ActivityStack.java:2375) W/ActivityManager( 669): at com.android.server.am.ActivityStackSupervisor.finishTopRunningActivityLocked(ActivityStackSupervisor.java:2040) W/ActivityManager( 669): at com.android.server.am.ActivityManagerService.handleAppCrashLocked(ActivityManagerService.java:9667) W/ActivityManager( 669): at com.android.server.am.ActivityManagerService.makeAppCrashingLocked(ActivityManagerService.java:9560) W/ActivityManager( 669): at com.android.server.am.ActivityManagerService.crashApplication(ActivityManagerService.java:10205) W/ActivityManager( 669): at com.android.server.am.ActivityManagerService.handleApplicationCrashInner(ActivityManagerService.java:9756) W/ActivityManager( 669): at com.android.server.am.NativeCrashListener$NativeCrashReporter.run(NativeCrashListener.java:86 和应用程序崩溃。 我也得到了这样一些不寻常的日志: F/libc […]