activity

java.lang.RuntimeException: Unable to instantiate activity ComponentInfo异常解决

守給你的承諾、 提交于 2020-02-08 02:21:53
不能实例化activity有如下三种情况: 1.没有在Manifest.xml 清单中注册该activity,或者在创建完activity后,修改了包名或者activity的类名,而配置清单中没有修改,造成不能实例化。 2.自己新建了一个包,而注册时候依然用的默认包,例如,默认包是com.ghg.Dao包,你新建了一个com.ghg.DaoImpl包,并在此包中写了个FirstActivity,在manifest.xml中注 册时你写的是<activity android:name=".FirstActivity"/>,此时相当于你在的类注册到了默认包中,系统在默认包中是找不到的,因为你的FirstActivity在com.ghg.DaoImpl包 下,所以你注册时应写成包名加类名,如:<activity android:name="com.ghg.DaoImpl.FirstActivity";这样系统才能在指定的包中找到对应的类。 3.还用一种就是你的FirstActivity定义成了抽象类,这种情况好像一般人不会犯。 如果上述三种情况都考虑到了,还会抛出此异常,那么就查看一下activity类里是否同时存在这个类的构造函数和oncreate(),如果是,那么删除构造函数试试,并把初始化放到 oncreate()中试试。 来源: https://www.cnblogs.com

Android开发中java.lang.RuntimeException: Unable to start activity ComponentInfo{xxx}

那年仲夏 提交于 2020-02-08 02:03:40
Android开发中java.lang.RuntimeException: Unable to start activity ComponentInfo{xxx}: java.lang.NullPoi 错误信息字符串:java.lang.RuntimeException: Unable to start activity ComponentInfo{com.first/com.first.Game}: java.lang.NullPointerException 一般都会在Activity onCreate()方法里的setContentView(XXX)发生此错误,网上查阅了很多原因,大概有四种重要可能的原因: 原因一:xxx的错误,若为R.layout.main 那么应该是main.xml文件中的标签 使用错误,最常见的而且编译器不会提示的错误就是 android:name 和 android:id两者混淆,仔细检查main.xml的标签是否全部正确 原因二:在setContentView(view)方法之后使用了requestWindowFeature()方法,并且在此错误下面会提示requestFeature必须在setContentView之前使用,只需要把requestWindowFeature()方法放在setContentView(view)方法之前就可以解决

Xamarin Android Activity全屏

我是研究僧i 提交于 2020-02-07 10:28:20
以MainActivity 为例,其他Activity是一样的 在 MainActivity 中设置Theme为 @android:style/Theme.NoTitleBar.Fullscreen [Activity(Label = "@string/app_name", Theme = "@android:style/Theme.NoTitleBar.Fullscreen", MainLauncher = true)] 并且将 MainActivity 的父类从 AppCompatActivity 改为 Activity public class MainActivity : Activity { } 需要注意的是,在修改Theme后,一部分样式将失效(因为不再是原有Theme了) 参考资料 Xamarin Android Activity全屏的两种方式 来源: https://www.cnblogs.com/Lulus/p/12271898.html

android之Activity的创建与关闭

Deadly 提交于 2020-02-06 23:46:59
Activity的启动和关闭 1.启动activity activity的启动分为两种,一种为入口activity,另一种为其他activity 在AndroidManifests进行配置,入口activity的启动只要在要启动的activity里加入intent,例如下面代码将MainActivity作为入口Activity <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> 那其他activity如何启动呢? 答案是:startActivity来进行启动,通过intent对象获得要启动的activity,再进行启动。 psw.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent=new Intent(MainActivity.this,ForgetpswActivity.class);

Android官方文档翻译 十八 4.2Pausing and Resuming an Activity

生来就可爱ヽ(ⅴ<●) 提交于 2020-02-06 18:20:32
Pausing and Resuming an Activity 暂停和恢复一个activity This lesson teaches you to 这节课教给你 Pause Your Activity 暂停你的Activity Resume Your Activity 恢复你的Activity You should also read 你还应该阅读 Activities During normal app use, the foreground activity is sometimes obstructed by other visual components that cause the activity to pause. For example, when a semi-transparent activity opens (such as one in the style of a dialog), the previous activity pauses. As long as the activity is still partially visible but currently not the activity in focus, it remains paused. 在正常的应用程序使用中,前台activity有时可能会被其它的可视组件造成阻塞

Android onCreate 详解

倖福魔咒の 提交于 2020-02-06 05:21:21
在AndroidManifest.xml文件中的元素中有这么两句: 当写好的应用发布到手机上之后,当双击”抽屉“里该应用的图标时,系统会将这个点击时间包装成一个Intent,该Intent包含两个参数,如上所述的两个参数 被传递给应用之后,在应用的功能清单文件中寻找与该意图匹配的意图过滤器,如果匹配成功,找到相匹配的意图过滤器所在的Activity元素,再根据 元素的”name“属性来寻找其对应的Activity类。接着Android操作系统创建该Activity类的实例对象,对象创建完成之后,会执行到该类的onCreate方法, 此onCreate方法是重写父类Activity的onCreate方法而实现的。onCreate方法用来初始化Activity实例对象。如下是helloWorld.java类中的onCreate方法的代码: public void onCreate ( Bundle savedInstanceState ) { super . onCreate ( savedInstanceState ) ; setContentView ( R . layout . main ) ; } 其中super.onCreate(savedInstanceState)的作用是调用其父类Activity的onCreate方法来实现对界面的图画绘制工作。

Activity的生命周期

前提是你 提交于 2020-02-06 04:29:41
七个方法 1. onCreate() 它会在Activity 第一次被创建的时候调用。在这个方法中完成Activity的初始化操作,比如说加载布 局、绑定事件等。 2. onStart() 这个方法在Activity由不可见变为可见的时候调用。 3. onResume() 这个方法在Activity准备好和用户进行交互的时候调用。此时的Activity一定位于返回栈的 栈顶,并且处于运行状态。 4. onPause() 这个方法在系统准备去启动或者恢复另一个Activity的时候调用。我们通常会在这个方法中将一些消耗 CPU 的资源释放掉,以及保存一些关键数据,但这个方法的执行速度 一定要快,不然会影响到新的栈顶Activity的使用。 5. onStop() 这个方法在Activity完全不可见的时候调用。它和 onPause()方法的主要区别在于,如果启动的新Activity是一个对话框式的Activity,那么 onPause()方法会得到执行,而 onStop() 方法并不会执行。 6. onDestroy() 这个方法在Activity被销毁之前调用,之后Activity的状态将变为销毁状态。 7. onRestart() 这个方法在Activity由停止状态变为运行状态之前调用,也就是Activity被重新启动了。 三种生存期 1.完整生存期 Activity在

Android四大组件的工作过程

半城伤御伤魂 提交于 2020-02-04 14:20:53
Android四大组件的工作过程 概述 Activity的启动过程 Service Service的启动过程 Service绑定过程 ContentProvider ContentProvider的启动过程 ContentProvider的query过程 BroadcastReceiver 广播注册过程 广播接收/发送过程 概述 这里只分析一般过程,不涉及具体的源码分析。 Activity的启动过程 很明显,Activity的启动过程涉及到了IPC,其实四大组件的启动过程都和IPC有关。 ActivityManagerService、ApplicationThread都是Binder,ApplicationTread完成了大量的Activity和Service的启动/停止相关的功能。 Handler H对消息的处理会调用 handleLaunchActivity() -> performLaunchActivity() 得以最终完成Activity的创建和启动。 Service Service的启动过程 Service绑定过程 ContextImpl是Context的具体实现,通过Activity.attach()和Activity建立关联,是典型的桥接模式。 ServiceRecord贯穿整个Service的启动过程。 与Activity的启动过程类似,与AMS发生了IPC

Intent 跳转

南楼画角 提交于 2020-02-04 11:14:38
android 中的隐式跳转和显示跳转 1.显式跳转:按钮点击事件----public void onClick(View v) { Intent intent = new Intent(MainActivity.this,Main2Activity.class); //第一个参数是包名,第二个是你要打开的另外一个活动名 startActivity(intent); //startActivity()方法时专门用于启动活动的。 } 如果要回到上一个页面,很简单按一下back,即可返回上一个活动页面。 2.隐式跳转:* 一个Activity假设须要隐式跳转,那么在清单文件里必须加入下面子节点 <action android:name="com.itheima.sa"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> action节点的name是自定义的,定义好之后。这个name的值就会成为这个activity动作,在隐式启动Activity时,意图中设置的action必须跟"com.itheima.sa"是全然匹配的 ###应用场景 显示意图:启动同一个应用中的Activity 隐式意图:启动不同应用中的Activity 再启动效率上,隐式远远低于显式

论一个APP从启动到主页面显示经历的过程?

谁说胖子不能爱 提交于 2020-02-04 10:37:14
前言 (个人观点.不喜勿喷) 本部分内容是关于Android进阶的一些知识总结,涉及到的知识点比较杂,不过都 是面试中几乎常问的知识点,也是加分的点。 关于这部分内容,可能需要有一些具体的项目实践。在面试的过程中,结合具体自 身实践经历,才能更加深入透彻的描绘出来。 ( 顺手留下GitHub链接,需要获取相关面试等内容的可以自己去找 ) https://github.com/xiangjiana/Android-MS 一、流程概述 启动流程: ① 点击桌面App图标,Launcher进程采用Binder IPC向system_server进程发起 startActivity 请求; ② system_server进程接收到请求后,向zygote进程发送创建进程的请求; ③ Zygote进程fork出新的子进程,即App进程; ④ App进程,通过Binder IPC向sytem_server进程发起 attachApplication 请求; ⑤ system_server进程在收到请求后,进行一系列准备工作后,再通过binder IPC向 App进程发送 scheduleLaunchActivity 请求; ⑥ App进程的binder线程( ApplicationThread )在收到请求后,通过handler向主线 程发送LAUNCH_ACTIVITY消息; ⑦