Android读书笔记(一)
1.存储用户临时数据onSaveInstanceState()
当Activity由于内存不足而被回收时,临时数据丢失,为了避免这种情况要使用onSaveInstanceState()。
保存数据(用带一个参数的方法,此方法是AppCompatActivity的,个人认为兼容性比较好):
protected void onSaveInstanceState(Bundle outState) {super.onSaveInstanceState(outState);String save ="要保存的数据";outState.putString("data",save);}
恢复数据:
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main8);if(savedInstanceState != null){String data = savedInstanceState.getString("data");}}
2.技巧:知晓当前在哪一个活动
当接手一份不是自己写的代码时,此技巧的作用十分的突出。
创建一个Activity,重写onCreate()方法,让其它的Activity来继承此Activity。
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main8);Log.d("Activity", getClass().getSimpleName());}
3.技巧:随时随地退出程序
public class ActivityCollector {public static List<Activity> activities = new ArrayList<>();/*** 添加activity* @param activity*/public static void addActivity(Activity activity) {activities.add(activity);}/***删除activity*/public static void removeActivity(Activity activity) {activities.remove(activity);}/*** 删除list中所有的activity*/public static void finishAll() {for (Activity activity : activities) {if(!activity.isFinishing()){activity.finish();}}}
}
使用
public class MyActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_my);ActivityCollector.addActivity(this);}@Overrideprotected void onDestroy() {super.onDestroy();ActivityCollector.removeActivity(this);}
}
4.技巧:activity传值
当AActivity是你写的,而BActivity不是你写的。你需要从A向B传值,这时你不知道B需要什么值。为了解决这个问题,我们需要在B中创建一个静态的方法来接受需要的参数。
/*** @param context* @param name 模拟需要的参数* @param id 模拟需要的参数*/public static void actionStart(Context context, String name, int id) {Intent intent = new Intent(context,BActivity.class);intent.putExtra("name", name);intent.putExtra("id", id);context.startActivity(intent);}
在A中使用
but_jump.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {BActivity.actionStart(AActivity.this,"名字",1);}});
这样我们就能够很容易的知道B需要什么。
Android读书笔记(一)相关推荐
- 第一行代码 Android读书笔记(二)
第一行代码 Android读书笔记 第三章 软件也要拼脸蛋-UI开发的点点滴滴 常用控件的使用方法 详解4种基本布局 自定义控件 最常用和最难用的控件-ListView 更加强大的滚动控件-Recyc ...
- 大话企业级android读书笔记(一)
Android是一种以Linux为基础的开放源码操作系统,主要使用于便携设备.目前尚未有统一中文名称,中国大陆地区较多人使用安卓(非官方)或安致(官方).Android操作系统最初由Andy Rubi ...
- 我的Android读书笔记——(1)
今天来阅读<Android开发艺术探索> 1.Activity生命周期和启动模式 问题1.架设当前Activity为A,如果这是用户打开一个新的ActivityB哪儿B的onResume和 ...
- android+读书笔记
<android开发案例驱动教程> chat 2: 1. 按 Ctrl+F11 F12 可切换模拟器的横屏竖屏 chat 3: 1. 开发google map必须使用带有google ap ...
- Android读书笔记---View基础
View篇(一) 什么是View? View是Android中所有控件的基类,不管是简单的button和TextView就还是复杂的RelativeLayout和ListView,他们都有共同的基类V ...
- Android 读书笔记
<Android开发艺术探索> 一.Activity 的生命周期和启动模式 1. 当前 Activity 为 A,此时打开 Activity B:A.onPause() → B.onCre ...
- Android读书笔记(六) OkHttp(GET、POST)、解析XML(Pull、SAX)
1.OkHttp的使用 使用OkHttp需要添加库到app/build.gradle文件中,如下: dependencies {compile 'com.squareup.okhttp3:okht ...
- 《Android开发艺术探索》读书笔记 (3) 第3章 View的事件体系
本节和<Android群英传>中的第五章Scroll分析有关系,建议先阅读该章的总结 第3章 View的事件体系 3.1 View基本知识 (1)view的层次结构:ViewGroup也是 ...
- Android深度探索(卷1)HAL与驱动开发 第四章 源代码的下载和编译 读书笔记
Android深度探索(卷1)HAL与驱动开发 第四章 源代码的下载和编译 读书笔记 本章学习了使用git下载两套源代码并搭建两个开发环境.分别为Android源代码和Linux内核源代码.A ...
最新文章
- 最强 JDK15 安装与讲解,有点想升级,终于要废弃偏向锁了!
- 在docker的Linux容器搭建前端开发环境
- Hadoop教程(五):Flume、Sqoop、Pig、Hive、OOZIE
- 交换机开发(四)—— ARP 基础知识解析
- Java 面向对象:static的理解
- Juniper srx系列防火墙端口限速
- Android.InstallAntOnMacOSX
- 用户空间缺页异常pte_handle_fault()分析--(上)
- 计算机课程反馈报告怎么写,计算机概论a课程报告范文.doc
- 产品初探(一):面试经验记录
- 每周学一点Egret(17)default.thm.json 文件编译小坑
- 元宇宙大火的“天时、地利、人和”
- linux 加固检测脚本,Linux系统检测和防护脚本
- 个人微信淘客机器人api开发
- 如何解决Error while saving file: Unable to open database file问题
- Azure:陪伴你们,是我最长情的告白
- d3.js读书笔记-2
- 利用Ladon实现C2免杀所有杀软
- 图像色深与位深度的区别
- [matlab]AHP层次分析法
热门文章
- Cocos2d-x 2.0 百例精讲:如何让一个精灵跟随触点移动
- 字体图标 fa fa html5,前端引入icon的方法(iconfont,fontawesome)
- 色彩表示与编码之JPEG压缩编码
- 一篇文章带你搞透redis高性能IO模型
- 寻找全排列的下一个数
- 谷歌浏览器(Chrome)输入框总是有历史输入记录,解决办法
- 软件工程之功能性需求和非功能性需求
- c语言初步实验报告,c语言实验报告(大一c语言实验报告答案)
- 【PBL项目实战】户外智慧农场项目实战系列——1.阿里云物联网平台的开通与云端可视化应用的新建
- Vue3能用到生产环境了吗?