Android 开发个人的一些积累(二)

上一篇:Android 开发个人的一些积累(一)


11. intent-filter 中的 action 、 category 和 data 的作用

1、Action:该activity可以执行的动作(任意一条匹配即可);
2、Category:指定当前动作(Action)被执行的环境(必须全部正确匹配);

3. data(很少使用) :指定传过来的 URI 的一部分或者全部(必须全部正确匹配),data属性包括 scheme(计划)、host (主机名)、port(端口名)、mimeType(数据类型);


12. URI 、URL 和 URN 的作用和区别

Android 开发个人的一些积累(二)_第1张图片

答: URI 全称是 uniform resource identifier,统一资源标识符,用来唯一的标识一个资源;

 URL 全称是 uniform resource locator,统一资源定位器,它是一种具体的 URI,即 URL 可以用来标识一个资源,而且还指明了如何 locate 这个资源,它是 URI 的子集;

 URN 全称是 uniform resource name,统一资源命名,是通过名字来标识资源,它是 URI 的子集,与 URL 有交集;

笼统地说,每个 URL 和 URN 都是 URI,但不一定每个 URI 都是 URL 和 URN ,URL 和 URN 彼此之间存在交集 。


13. String 、StringBuilder 和 StringBuffer 的区别

答:首先说运行速度,或者说是执行速度,在这方面运行速度快慢为:StringBuilder > StringBuffer > String,String:适用于少量的字符串操作的情况,StringBuilder:适用于单线程下在字符缓冲区进行大量操作的情况,StringBuffer:适用多线程下在字符缓冲区进行大量操作的情况;

参考博客:String、StringBuilder 和 StringBuffer 的区别


14.HashSet、HashMap、ArrayList、LinkedList、Vector区别

java类/项 HashMap HashSet ArrayList Vector LinkedList
是否允许重复 不允许有重复的键 不允许有重复的值 允许 允许 允许
是否有序 无序 无序 有序 有序 有序
保存方式 保存键值对 保存对象 数组存储 数组存储 双向链表存储
存取速度 比较快,因为是使用唯一的键来获取对象 速度基本一致,HashSet把HashMap进行了封装 访问数据时效率较高,在插入和删除数据时效率较低 访问数据时效率较高,在插入和删除数据时效率较低 访问数据时效率较低,在插入和删除数据时效率较高
是否线程安全 否(但是java提供了Collections工具类,能够将ArrayList转换成线程安全的类)


15.TypedArray 用处、用法

定义:TypedArray 是存储资源数组的容器

用处:自定义 View 中通过 TypedArray 获取自定义项的值的资源数组,再通过数组获取对应的具体数据;

用法如下:

//获取 TypedArray 对象
        TypedArray typedArray= mContext.getTheme().obtainStyledAttributes(attrs,  R.styleable.MyFirstCustomerView, 0, 0);
        try {
            mText = typedArray.getString(R.styleable.MyFirstCustomerView_text);
            mTextColor = typedArray.getColor(R.styleable.MyFirstCustomerView_textColor, Color.BLACK); 
            mTextSize = typedArray.getDimensionPixelSize(R.styleable.MyFirstCustomerView_textSize, 
                    (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, 16, getResources().getDisplayMetrics())); 
        } finally {
            typedArray.recycle();
        }

16.枚举类

定义:一个有限个数的数据集

优点:代码清晰易懂,且相对于 Int 静态常量来说,枚举最大的优点就在于它提供了类型安全;

缺点:消耗内存且降低 app 性能;


17.四大组件是什么(这是最基础的知识,千万不能忘)

答:分别是 Activity、BroadCastReceiver、ContentProvider 和 Service;


18.四大组件的生命周期和简单用法

答:Activity 生命周期:onCreate --> onStart --> onRestart --> onResume --> onPause --> onStop --> onDestory

Service 生命周期:

start 方式启动:onCreate()-->onStart()-->onDestory()

bind 方式启动:onCreate()-->onBind()-->onUnbind()-->onDestory()

BroadCastReceiver 生命周期:

静态注册:开机-->关机

动态注册:应用启动-->应用关闭

ContentProvider 生命周期:


19.HTTPS和HTTP的区别是什么

HTTPS和HTTP的区别主要如下:

1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。

2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。

3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。


20.



你可能感兴趣的:(个人积累)