activity

Unable to instantiate activity ComponentInfo

廉价感情. 提交于 2021-02-12 04:24:04
排查步骤: 1、检查manifest中是否已注册该activity,发现manifest中已注册,且注册正确; 2、猜测是否是因为使用到的android-support-v4.jar包为打包进去引起的,因为我不是将包放到libs目录下,而是直接在Build Path中添加该包的; 3、Eclipse中右键项目,打开Properties,点击左侧栏中的Java Build Path,点击Order and Export标签栏,钩上android-support-v4.jar包; 4、重新编译,通过。 来源: oschina 链接: https://my.oschina.net/u/236836/blog/158650

安卓开发---activity

时光怂恿深爱的人放手 提交于 2020-12-19 01:58:47
安卓开发中的activity是所有app的主体,一个app就是多个不同作用的activity之间的相互交互。其实activity的意思以及使用非常好理解。activity就是一个活动,你想做一件事,就让它去完成对应的任务,它的事做完了就可以让它退休也就是销毁了。因为安卓系统自身做了绝大部分的事情,实际上真正对于我们开发人员来说,需要重写的方法只有onCreate(),onStart()以及onSavedInstance()这几种方法。但是了解一个activity的生命周期以及一些方法还是很有必要的,如下来源于安卓开发官网的一张图,是一个activity的完整生命周期: 如图所示,当系统launch一个app时,它会首先调用该app的main activity,然后依次调用对应的方法,直至进入resumed状态,在此用户执行绝大部分主要操作。 onCreate()方法:相当于activity的入口,当一个新activity被实例化后首先进入该方法,在此初始化一些自定义的变量,设置所需要的布局,以及进行其他的一些操作,在这里也可以启动另一个activity onStart()方法:该方法紧随onCreate()调用,启动activity,同时使得activity可见 onResume()方法:该方法后使得activity可以接受用户操作 onPause()方法

GitHub标星4.6K+!手写一款基于MVVM模式开发框架,完美实现事件与数据源绑定!

删除回忆录丶 提交于 2020-04-08 14:03:26
前言 目前,Android流行的MVC、MVP模式的开发框架很多,然而一款基于MVVM模式开发框架却很少。MVVMHabit是以谷歌DataBinding+LiveData+ViewModel框架为基础,整合Okhttp+RxJava+Retrofit+Glide等流行模块,加上各种原生控件自定义的BindingAdapter,让事件与数据源完美绑定的一款容易上瘾的实用性MVVM快速开发框架。从此告别findViewById(),告别setText(),告别setOnClickListener()... 框架流程 框架特点 快速开发 只需要写项目的业务逻辑,不用再去关心网络请求、权限申请、View的生命周期等问题,撸起袖子就是干。 维护方便 MVVM开发模式,低耦合,逻辑分明。Model层负责将请求的数据交给ViewModel;ViewModel层负责将请求到的数据做业务逻辑处理,最后交给View层去展示,与View一一对应;View层只负责界面绘制刷新,不处理业务逻辑,非常适合分配独立模块开发。 流行框架 retrofit + okhttp + rxJava 负责网络请求; gson 负责解析json数据; glide 负责加载图片; rxlifecycle 负责管理view的生命周期;与网络请求共存亡; rxbinding 结合databinding扩展UI事件;

有时候横竖屏切换的时候有没自动加载layout布局文件知道为什么吗?

烂漫一生 提交于 2020-04-07 12:29:47
我大概知道原因,但还是不知道确切原因。在我的Mainfester.xml中的有些activity是android:configChanges="keyboardHidden|orientation"有些是android:configChanges="keyboardHidden|orientation|screenSize",后者会出现切换屏幕不会重新加载对于的资源文件。说明没有重新启动activity,(据说从Android 3.2 ( API level 13)开始,"screen size"也随着设备的横竖屏切换而改变。因此,如果你在 API level 13或更高(minSdkVersion和targetSdkVersion属性声明)进行开发时,要防止因方向改变而重新启动,你必须为" orientation "添加"screen size"值。),如果这样的话,那是不是我的每个activity中都要对我的onConfigurationChanged进行处理以保证屏幕加载正确和数据的完整?这样感觉好麻烦,每个都要加正确的做法是不是这样???? 来源: https://www.cnblogs.com/NuoChong/p/12652543.html

一行Java代码实现RecyclerView的Adapter?一行都不需要!

随声附和 提交于 2020-04-07 04:56:19
单类型列表的实现 先看下MainActivity的java代码 public class MainActivity extends AppCompatActivity { //要展示的数据源 public final ObservableArrayList<Student> showDatas = new ObservableArrayList<>(); { //初始化数据源 for (int i = 0; i < 20; i++) { students.add(new Student("学生:" + i)); } showDatas.addAll(students); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //完成数据和布局的绑定 ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main); binding.setActivity(this); } public void onBindItem(ViewDataBinding binding, Object data, int position) {

android 头像选择以及裁剪

纵饮孤独 提交于 2020-04-06 06:08:41
一、布局申明 <ImageView android:id="@+id/head_image" android:layout_width="80dp" android:layout_height="80dp" android:layout_centerHorizontal="true" android:background="@drawable/default_avatar" /> 二、Activity中代码 private ImageView headImageView; private BitmapUtil bitmapUtil = new BitmapUtil(this);private File headFile; headImageView = (ImageView) findViewById(R.id.head_image); headImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { new android.app.AlertDialog.Builder(RegisterActivity.this) .setTitle("头像选择") .setNegativeButton("相册选取", new DialogInterface

从0系统学Android-2.4隐式Intent

巧了我就是萌 提交于 2020-04-06 04:10:16
本系列文章,参考《第一行代码》,作为个人笔记 更多内容: 更多精品文章分类 使用隐式 Intent 相对于显示 Intent ,隐式 Intent 比较含蓄。这种方式不明确指出我们想要启动哪一个 Activity。而是定义了一系列更为抽象的 action 和 category 等信息。然后交给系统去分析这个 Intent ,并帮我们找出这个合适Activity。 合适的 Activity 就是指的可以响应这个隐式 Intent 的 Activity。 通过在 <activity> 标签下配置 <intent-filter> 的内容,可以指定当前 Activity 能够响应的 action 和 category。在 AndroidManifest.xml 中添加: bt.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View view){ Toast.makeText(MainActivity.this,"显示内容",Toast.LENGTH_SHORT).show(); Intent intent = new Intent("com.syd.start"); startActivity(intent); } }); 每个 Intent 中只能指定一个 action

a various of context

拟墨画扇 提交于 2020-04-03 08:41:08
ContextWrapper.getApplicationContext():Return the context of the single, global Application object of the current process 生命周期是整个应用,应用摧毁它才摧毁 View.getContext():Returns the context the view is running in this(activity or service):返回当前activity or service的上下文,属于activity or service,activity or service 摧毁他就摧毁 ContextWrapper.getBaseContext():Return the base context as set by the constructor or setBaseContext 返回由构造函数指定或setBaseContext()设置的上下文 Activity.getParent():Return the parent activity if this view is an embedded child. Activity.getApplication():Return the application that owns this activity 来源:

AndroidManifest.xml文件的理解

元气小坏坏 提交于 2020-04-02 09:28:23
一,重要性 AndroidManifest.xml是Android应用程序中最重要的文件之一。它是Android程序的全局配置文件,是每个 android程序中必须的文件。它位于我们开发的应用程序的根目录下,描述了package中的全局数据,包括package中暴露的组件 (activities, services, 等等),以及他们各自的实现类,各种能被处理的数据和启动位置等重要信息。 因此,该文件提供了Android系统所需要的关于该应用程序的必要信息,即在该应用程序的任何代码运行之前系统所必须拥有的信息。一个典型的Android应用程序的结构如下图所示: 二,主要功能 它指定了该应用程序的Java包:该包名作为应用程序的一个独特标识。 它描述了应用程序组件:该应用程序由哪些activity,service,broadcast receiver和content provider组成。它指定了实现每个组件的类以及公开发布它们的能力(例如,它们能持有哪个Intent信息)。这些声明使Android系统知道这 儿有什么组件以及在什么条件下它们可以被载入。 它决定那些进程将容纳应用程序组件。 它声明了本应用程序必须拥有哪些许可,以便访问API的被保护部分,以及与其他应用程序交互。 它也声明了其他应用程序在和该应用程序交互时需要持有的许可。 它列出了Instrumentation类

android基础—Fragment学习笔记

一曲冷凌霜 提交于 2020-04-01 18:08:39
随着移动设备的飞速发展,平板电脑也变得越来越普及。平板电脑和手机最大的区别就在于屏幕的大小,一般手机屏幕的大小会在 3 英寸到 5 英寸之间,而一般平板电脑屏幕的大小会在 7 英寸到 10 英寸之间。屏幕大小差距过大有可能会让同样的界面在视觉效果上有较大的差异,比如一些界面在手机上看起来非常美观,但在平板电脑上看起来就可能会有控件被过分拉长、元素之间空隙过大等情况。 作为一名专业的 Android 开发人员,能够同时兼顾到手机和平板的开发是我们必须要做到的事情,所以android3.0引入了Flagment的概念,它可以让界面在平板上更好的展示。 参考: 1. 第一行代码160页 2. http://blog.csdn.net/lmj623565791/article/details/37970961 1. Flagment的概念 Flagment也被称为碎片,是一种可以嵌入在Activity中的 UI 片段,它能让程序更加合理和充分地利用大屏幕的空间。 在很多情况下,都是先针对手机开发一套App,然后拷贝一份,修改布局以适应平板神马超级大屏的。难道无法做到一个App可以同时适应手机和平板么,当然了,必须有啊。Fragment的出现就是为了解决这样的问题。 你可以把Fragment当成Activity的一个界面的一个组成部分