黑马程序员技术交流社区
标题: 泄密:黑马Android内部压轴技术面连载现世(二) [打印本页]
作者: Android_Robot 时间: 2016-6-13 17:27
标题: 泄密:黑马Android内部压轴技术面连载现世(二)
泄密:黑马Android内部压轴技术面连载现世(二)
涨薪机密——新潮流新技术、新框架,
资源以后不定期更新,
5. 如何将一个Activity设置成窗口的样式。 可以自定义一个activity的样式
android:theme="@android:style/Theme.Dialog"
6. 你后台的Activity被系统回收怎么办? 如果后台的Activity由于某原因被系统回收了,如何在被系统回收之前保存当前状态?
除了在栈顶的activity,其他的activity都有可能在内存不足的时候被系统回收,一个activity越处于栈底,被回收的可能性越大.
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putLong("id",1234567890);
}
public void onCreate(Bundle savedInstanceState) {
//判断savedInstanceState是不是空.
//如果不为空就取出来
super.onCreate(savedInstanceState);
}
备用方案:切换到后台的时候就先把数据保存,在切换到前台的时候重新获取数据恢复界面
7. 如何退出Activity?如何安全退出已调用多个Activity的Application?
退出activity 直接调用 finish () 方法 . //用户点击back键 就是退出一个activity
退出activity 会执行 onDestroy()方法 .
1、递归退出
在打开新的Activity时使用startActivityForResult,然后自己加标志,在onActivityResult中处理,递归关闭。
2、记录打开的Activity:
每打开一个Activity,就记录下来。在需要退出时,关闭每一个Activity即可。
List<Activity>lists ; 在application 全集的环境里面
lists =new ArrayList<Activity>();
lists.add(activity);
for(Activity activity: lists){
activity.finish();
}
3、发送特定广播:
在需要结束应用时,发送一个特定的广播,每个Activity收到广播后,关闭即可。
//给某个activity 注册接受接受广播的意图
registerReceiver(receiver,filter)
//如果过接受到的是 关闭activity的广播 就调用finish()方法把当前的activity finish()掉
上面是网上的一些做法.
其实 可以通过 intent的flag 来实现.. intent.setFlag(FLAG_ACTIVITY_CLEAR_TOP)激活一个新的activity,然后在新的activity的oncreate方法里面 finish掉.
8. service是否在main thread中执行,service里面是否能执行耗时的操作?
默认情况,如果没有显示的指定service所运行的进程, Service和activity是运行在当前app所在进程的main thread(UI主线程)里面
service里面不能执行耗时的操作(网络请求,拷贝数据库,大文件 )
在子线程中执行 new Thread(){}.start();
Thread.currentThread().getName();
特殊情况 ,可以在清单文件配置 service 执行所在的进程 ,让service在另外的进程中执行.
9. 两个Activity之间怎么传递数据?
基本数据类型可以通过 Intent 传递数据
extras.putDouble(key, value)
intent.putExtra(name,value)
// 通过intentputExtra 方法 基本数据类型 都传递
intent.getStringExtra("key","value");
intent.getBooleanExtra("key","value")
Bundlebundle = new Bundle();
bumdle.putShort(key,value);
intent.putExtras(bumdle);
intent.putExtras(bundle)
Application 全局里面存放 对象 ,自己去实现自己的application的这个类,基础系统的application , 每个activity都可以取到。
让对象实现 implements Serializable 接口把对象存放到文件上.
让类实现Serializable 接口,然后可以通过 ObjectOutputStream //对象输出流
Filefile = new File("c:\1.obj");
FileOutputStreamfos = new FileOutputStream(file);
ObjectOutputStreamoos = new ObjectOutputStream(fos);
Studentstu = new Student();
oos.writeObject(stu);
//从文件中把对象读出来
ObjectInputStreamois = new ObjectInputStream(arg0);
Student stu1 = (Student) ois.readObject();
文件/网络
intent.setData(Uri)
Uri.fromFile(); //大图片的传递
10. 怎么在启动一个Activity时就启动一个service?
在activity的onCreate()方法里面startService();
其他精华资源推荐:
【强荐!】2016年最新Android学习路线图——按此路线图学习月薪过万{ 火速收入}
Android是选择自学还是选择培训?
作者: 皮卡丘2016 时间: 2016-6-14 22:41
收藏了,马上学到了
作者: SQQ 时间: 2016-6-15 16:41


作者: chengxiankun 时间: 2016-6-15 22:06
有木有关于javaEE的学习路线,或者技术分享
作者: YC1992 时间: 2016-6-15 22:17
楼主分享的很给力
作者: sjw12025 时间: 2016-6-15 22:41
不错不错,对我来说很好
作者: 守徒徒 时间: 2016-6-16 08:26
收藏了!!
作者: 淹忆 时间: 2016-6-16 10:32
赞.................
作者: shengdong521 时间: 2016-6-16 16:21
加油 ,一定要过去
作者: lsp0523 时间: 2016-6-19 00:15
内部资料啊,抓紧收藏
作者: James_01 时间: 2016-6-21 07:44
做行业精英,冲刺Android领域高级工程师,这一直都是黑马程序员对学员的培养目标。
作者: 115241473 时间: 2016-6-21 22:08
额,看不懂了。
作者: 戎马生涯 时间: 2016-6-22 08:36
赞~~~顶贴~
作者: 流离岁月 时间: 2016-6-22 10:57
分享的不错
作者: TommingYu 时间: 2016-6-22 23:53
先收藏了 指不定就用着了呢
作者: S.. 时间: 2016-6-23 08:46
讲解的很详细
作者: jiazhuoxiao 时间: 2016-6-23 20:03
继续收藏 谢谢楼主分享
作者: 偶尔等了 时间: 2016-6-23 22:57
学姿势回帖是一种美德
作者: odada 时间: 2016-6-24 21:45
我得努力学习 java了...
作者: 要是真的怎么办 时间: 2016-6-24 23:29
收藏了收藏了
作者: 小教授 时间: 2016-6-25 20:42
正在学习java中
作者: m18581215520 时间: 2016-6-25 20:54
大神,学习了
作者: kksoje 时间: 2016-6-25 22:25
不是很懂啊,技术
作者: guyue 时间: 2016-6-26 11:43
大神带我飞
作者: fanhongwei1105 时间: 2016-6-26 19:38
有木有关于javaEE的学习路线,或者技术分享
作者: 失控的柠檬 时间: 2016-6-26 21:35
赞一个。。。
作者: 王二小敲代码 时间: 2016-6-28 00:08
每日一签,,,
作者: 墨尔 时间: 2016-6-28 21:08
收藏了收藏了
作者: wzg682735 时间: 2016-6-29 06:54
顶一下,不错哟
作者: 15242694137 时间: 2016-7-3 06:59
有用 学习中
作者: lichmeng 时间: 2016-7-3 10:33
强势顶贴.顺便占位
作者: 15242694137 时间: 2016-7-4 11:30
感觉很666
作者: 胡哓甫 时间: 2016-7-4 21:24
很不错,对我很有用的
作者: cb747706401 时间: 2016-7-5 23:12
赞````````````
作者: Jason王 时间: 2016-7-6 12:10
厉害,顶起来
作者: qq1114211383 时间: 2016-7-6 12:14
收藏了,慢慢看。。。
作者: nihao_javaee 时间: 2016-7-6 12:42
收藏了,看看
作者: 你的昵称 时间: 2016-7-6 13:07
哈哈哈!早知道了!
作者: 胡哓甫 时间: 2016-7-6 19:23
我得努力学习 java了.
作者: caiweitao 时间: 2016-7-6 23:18
楼主分享的很给力
作者: 山水云梦 时间: 2016-7-6 23:58
收藏了 谢谢分享{:2_38:}{:2_38:}{:2_38:}{:2_38:}{:2_38:}
作者: 裤头多佛祖 时间: 2016-7-7 00:06
不错不错
作者: 墨尔 时间: 2016-7-7 21:53
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
作者: 笑个五毛买糖吃 时间: 2016-7-8 16:24
不明嚼栗......
作者: sanmaovszhe 时间: 2016-7-8 23:07
努力奋斗的一天又开始了!
作者: keting555 时间: 2016-7-9 00:34
说的非常好~~~~~~~~~~~~~~~~
作者: 张作辉 时间: 2016-7-9 23:28
很好很爱好
作者: 往死里敲代码 时间: 2016-7-9 23:30
内部资料啊,抓紧收藏
作者: 13182002757 时间: 2016-7-11 20:23
谢谢楼主分享
作者: 一叶知秋来 时间: 2016-7-12 19:47
专为顶贴来!!!!顶贴!!
作者: object_dk 时间: 2016-7-12 22:36
收藏留待后用~~~感谢楼主
作者: 富林 时间: 2016-7-13 12:22
可以~~!!!
作者: wj3725 时间: 2016-7-13 23:46
楼主好人 谢谢分享
作者: cliffawesome 时间: 2016-7-14 00:08
简直好得不能再好
作者: ylca 时间: 2016-7-14 19:05
66666666666
作者: wz529377283 时间: 2016-7-14 21:54
好东西大家收藏,不然就找不到了
作者: 一个很瘦的胖子 时间: 2016-7-15 00:19
内部资料啊,抓紧收藏
作者: zhangjiesss 时间: 2016-7-16 23:30
谢谢楼主,嘻嘻,还是有点看不懂,加油
作者: 富林 时间: 2016-7-16 23:49
66666666666
作者: 勿忘`初心 时间: 2016-7-17 12:21


作者: 富林 时间: 2016-7-18 21:19
6666666666666666
作者: 樱释空 时间: 2016-7-25 22:26
楼主 6666
作者: Frank_Ms1ZR 时间: 2016-7-25 22:30
不错不错,收藏了
作者: 18072727834 时间: 2016-7-25 23:05
非常棒 果断收藏
作者: miqideliwu 时间: 2016-7-27 00:12
感谢分享
作者: houzhiming 时间: 2016-7-28 18:04
顶一个,帅哦
作者: Kingdragon 时间: 2016-7-28 23:35
精华 Q@! 收藏
作者: 487941230 时间: 2016-7-31 22:20
666666666666666666666666
作者: 修身丶丶丶 时间: 2016-8-1 12:09
每天保持好心情
作者: Solarln 时间: 2016-8-2 21:29
真是相当给力啊
作者: fzc123 时间: 2016-8-3 00:09
赞赞赞赞赞赞赞赞赞赞赞赞赞
作者: 877758007@qq.co 时间: 2016-8-3 07:38
果断收藏
顶顶顶顶
作者: xpf0121 时间: 2016-8-3 22:08
谢谢分享{:3_53:}
作者: ustcerlzy 时间: 2016-8-4 09:13
Android里不同activity之间通过Intent传递数据 感觉可以类比到Javaweb中不同的servlet之间通过session共享数据。
作者: dongfangletu 时间: 2016-8-29 21:31
楼主分享的很给力
作者: 695212308 时间: 2016-8-29 22:07


作者: hxs 时间: 2016-11-15 22:24
不错不错
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |