Androidc学习笔记一之Activity活动

android关键点,android四大组件理解


Bundle类型的数据与Map类型的数据相似,都是以key-value的形式存储数据的。

Intent 是指在两个 Activity之间提供活动时绑定功能的对象。Intent 用于启动另一个 Activity。
putextra的key/value的键(整个活动汇总始终保持唯一),下一个 Activity 将使用该设置的“键”来检索文本值。
调用 getIntent() 采集启动 Activity 的 intent


问题?比如四大组件如何使用、如何创建Service、如何进行布局、简单的自定义View、动画等常见技术


Intent寻找目标组件的两种方式:

显式Intent:通过指定Intent组件名称来实现的,它一般用在知道目标组件名称的前提下,一般是在相同的应用程序内部实现的。
隐式Intent:通过Intent Filter来实现的,它一般用在没有明确指出目标组件名称的前提下,一般是用于在不同应用程序之间。


Android Studio中有三种依赖方式:本地依赖、库依赖、远程依赖。

Androi中日志工具Log:v(意义最小的信息)、d(debug)、i(重要的data)、w(Warning)、e(错误信息)各级别。



Toast是android中很好的提醒方式(在底层弹出一个灰色的提示):

Toast.makeText(DisplayMessageActivity.this,message,Toast.LENGTH_SHORT).show();


销毁活动有两种方式:直接按Back键就可以返回,另外一种是Activity提供了一个finish()方法来销毁活动。
任何一个活动activity都需要在AndroidManifest.xml中注册


调用内置浏览器:



                Intent intent3 = new Intent(Intent.ACTION_VIEW);
                intent3.setData(Uri.parse("http://www.baidu.com"));   "tel:1086"  "geo:"
                startActivity(intent3);

StartActivityForResult()是用于活动销毁了可以将数据返回给上一个活动:
   首先活动销毁后如何在上一个活动中反映获得的值共三个步骤:
   1:在上一个活动中启动活动不能用startActivity()。要用能得到返回值的启动活动StartActivityForResult(intent,1)
   2:在销毁的此活动中,设置要返回的值(在意图intent中,方法setResult(RESULT_OK,intent)最后finish)
   3:在上一活动中重写onActivityResult(三个参数:1请求码,RESULT_OK返回码,返回意图intent)方法用于得到返回回来的值
   
   
 
 活动的生命周期:android中的活动都是以任务的状态出现的,而这些任务都是放在栈(先进后出)中的,所以当我们点击一个活动时。
 前一个活动还在存活,并没被销毁,当返回或者销毁当前活动的时候,就会返回之前的活动(因为是存活着的)。
 这个时候就相当一把活动销毁了,上一个活动顶到了栈顶,可以这样理解,所以我还是认为学号数据结构是有多么的重要。
 完整生存期:onCreate()初始化、onDestory()销毁
 可见生存期:onStart()、onStop()
 前台生存期:onResume()、onPause()
 生命周期图:


                                              
 
 onSaveInstanceState()方法用来活动在回首之前调用,解决数据得不到保存的问题、
 @Override
    public void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        String temp1 = "asasasas";
        outState.putString("data_key",temp1);
    }
然后在onCreate方法中通过Bundle取出数据即可:
/*将存入在中的数据取出来*/
        if(savedInstanceState!= null){
            String saveData = savedInstanceState.getString("data_key");
        }
 
 

活动的启动模式有哪些:

设置:AndroidMainfest.xml中<activity 属性android:launchMode="模式"
standard:每次出现活动都会重新创建一次(默认模式)
singleTop:若发现栈顶的活动就是该活动就直接使用该活动,如果在其他活动前之后则会重新创建一次
singleTask:直接在过程中可以就使用这一个活动
singleTaskInstance:让活动达到共享的状态
 
 
android.os.Process.killProcess(android.os.Process.myPid())  表示杀死当前app的进程(在退出程序的时候用得多)


传递活动的一个技巧;

在下一个SecondActivity活动中写:
public static void actionstart(Context context,String data1,String data2){
Intent intent = new Intent(context,SecondActivity.class);
intent.putExtra("param1",data1);
intent.putExtra("param1",data2);
context.startActivity(intent);
}
在此FirstActivity活动中写:
SecondActivity.actionstart(FirstActivity.this,"data1","data2");
不要写:Intent intent =new Intent(FirstActivity.this,SecondActivity.this);startActivity(intent);












评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值