如何创建一个新的Activity&清单文件小细节:
四大组件都需要在清单文件中配置.
清单文件中的application:代表当前应用程序;
application中的icon代表应用程序图标.
但是当你的Activity中如果设置了icon属性,那么就会使用
Activity中的属性.
label:代表标签,如果再试application中 那么就是在手机中
(应用是一个软件)应用下 显示的名字。
如果在Activity中的label就是代表在 手机应用程序上显示的名字。
注意 在category 中如果设置是Launcher 那么就会有两个启动图标。
如果不想要两个图标 ,只是用来做跳转 那么就设置为 默认 DEFAULET
————————————————————
隐式意图:
通过指定一组动作或者数据,开启activity
注意里面的 setAction,setcategory,setData 和setType 就是在清单文件中的 Activity中,意图过滤器中,
设置的属性。如下:
第一张图中的 intent.setData(uri.parse("这里就是scheme中的内容"+xxxxx));
当然我们也可以在一个Activity中创建 多个 意图过滤器。
你在设置的时候使用的是哪一个,就调用哪一个的。
————————————
显示意图:
显示意图比较安全。
_______
使用这个方法可以获得 单选按钮组 里面的 你选中的单选按钮的ID。
记住一点:
在textview.settext();这个方法里面只能是字符串类型的;
_______
这个方法的作用就是接收这个 activity开启的 activity 返回的数据;
下面这个方法就是可以去获取开启的页面的数据
这个方法就就在开启的页面关闭的时候,把数据返回开调用者
(开启这个页面的activity)
前面的10为:resultCode
使用这个方法 调用者的inActivityResult()方法就会执行,并获取数据
______________
前面设置的 :
* requestCode 开启activity时设置的请求吗
* resultCode 在目标activity中设置的结果码
这些码的作用就是在 onActivityRsult()方法中 ,当你有多个 返回数据 的时候,
可以根据你的请求码 或者 结果码 来判断是哪一个 activity返回的数据。
根据不同的码 在为不同的 控件 设置属性.
_____
SmsManager:
这个API 是用来发送短信的。
我们通过一个静态方法可以拿到这个类的实例;
SmsManager.getDefalut();
注意发送短信是需要 获取系统权限的 SEND_SMS;
destinationAddress: 收件人地址
scAddress: 短信中心号码,null为默认中心号码
sentIntent: 当消息发出时,成功或者失败的信息报告通过PendingIntent来广播。如果该参数为空,则发信程序会被所有位置程序检查一遍,这样会导致发送时间延长。
deliveryIntent: 当消息发送到收件人时,该PendingIntent会被广播。pdu数据在状态报告的extended data ("pdu")中。
____________
还有一个 OnRestrat()方法 当 Activity又变可见的时候调用。
但是我们发现每一次 调用 Onrestrat()方法的时候,都会同时调用一个
OnStrat()方法,所以我们在开发中一般不去修改OnReStrat()这个方法
而是直接使用OnStart()方法
_____________
当activity 横竖屏切换的时候,activity相当于关闭了,重新打开。
——————————————————————————
——————————————
Activity的四种启动模式:
在清单文件里面可以配置 启动模式:
launchMode:就是用来设置启动模式的.
如果没有配置这个属性,那就是默认的
默认的为standard:
默认的模式就是你跳转一个activity就进栈一个,就算是跳转到当前的
activity也会进栈。
这个启动模式 是针对Activity来说的.
记住这些启动模式 都是针对一个activity 如果你只对一个 设置了模式,那么对其他的
activity 没有影响.
singletop:单一顶部,意思就是顶部的activity不会重复进栈。只会有一个activity,不会有多个一样的activity进栈。
singletask:单一任务,意思就是栈里面的activity不会重复,会实现复用。只会有一个activity,不只是顶部,是整个栈中只能出现一个一样的activity,当你 使用其他没有
设置 模式的 activity 的时候 不会有影响,但是当你在点击 设置过 单一任务模式的
activity的时候他会清除 上面所有的 直接变成你以前第一次调用的位置。
singleInstance:单一实例,意思就是每一个activity 会创建 自己单独的栈 用来存放,自己相同的activity.当你显示的界面是哪个activity 就调用那个栈.
_________
注意一个问题,
就是当你 使用setResult(10, intent); 如果你直接按返回键 没有去点击条目
那么intent会返回一个空对象,
如果你使用 这个对象的.equals(null);会报错,空指针异常,
因为空对象没有这个方法。。
所以只能使用 intent==null;来判断
____________________
一个晚上都错在了 ArrayAdapter<T>上面 ,注意他这个里面的传的的参数有三个
new ArrayAdapter<T>(context, resource, objects)
第一个上下文对象,
最重要的是第二个 是一个layout 这个layout只能是textView布局的。不能有LinearLayout 或者其他的布局 不然报错.
透明应用:
android:theme="@android:style/Theme.Translucent.NoTitleBar" >