android 学习中的一些问题记录 主要是概念问题
一些问题记录
应用程序 res 目录常见的目录有哪些,分别放置什么类型的资源?
animator/ 和anim/ 放的都是定义动画的XML文件,两个地方的动画类型不同。
color/ XML文件:定义了不同状态下的view item显示的不同的颜色
drawable/ 不同分辨率有不同的文件夹 如drawable-hdpi 放置图片资源,各个文件夹下放置适用于各种分辨率的图。
layout/ 用户界面布局文件
menu/ 定义菜单
raw/ 任意的文件,此处文件直接添加至程序,然后使用Resources.openRawResource()调用
values/ 定义一些值:
arrays.xml 定义数组
colors.xml 定义不同颜色
dimens.xml 定义尺寸值
strings.xml 定义字符串
styles.xml 定义样式
xml/ 别的.XML文件
2) 举例说明系统查找资源的过程
根据res里面的所有内容会自动生成一个R.java 文件,给所有资源编号了,根据R文件就可以找到资源
代码中:
比如需要找一个图片,使用R.drawable.zhuyuanxuan即得到其引用。
在xml中,
3) Content Provider 中用到的 URI 是什么,和 URL 有什么差异?
URI,是uniform resource identifier,统一资源标识符,用来唯一的标识一个资源。
而URL是uniform resource locator,统一资源定位器,
URI一般由三部分组成:
- 访问资源的命名机制。
- 存放资源的主机名。
- 资源自身的名称,由路径表示。
具体说到android中content provider的uri给其提供的数据建立了唯一的标识符。
比如 content://com.tplink.training.provider/staff
content:// 就是访问资源的命名机制 就是协议声明
com.tplink.training.provider 是authority 权限
/staff 是路径
这个就给staff这张表提供了唯一的标识符。
同时还可以使用相对uri,即相对地址标识资源。
相对的URI不是以scheme(后面跟着冒号)开始的URI。
比如说: articles/articles.html
总的来说:
在Java的URI中,一个URI实例可以代表绝对的,也可以是相对的,只要它符合URI的语法规则。而URL类则不仅符合语义,还包含了定位该资源的信息,因此它不能是相对的,schema必须被指定。
URL是一种具体的URI,即URL可以用来标识一个资源,而且还指明了如何locate这个资源。
所以URL是RUI命名机制的一个子集。
4) Manifest 文件的作用是什么?
声明该工程的Java包名,
声明应用程序的组件:activities, services, broadcast receivers, and content providers.声明了组件实现的类,以及组件的功能,比如发送intent等。这是最主要的功能。
同时决定了哪个进程来使用组件
声明该程序需要用到的权限
以及Android API的版本等等
进程,线程问题
1)阻塞UI线程的后果是什么?如何避免?
后果就是产生ANR:应用的界面卡住,无法响应用户的操作,无法刷新或绘制界面。另外还会影响到广播的处理。
避免的方式就是所有的耗时操作都要开线程,在子线程里面进行操作。
2) 如何安全的刷新 UI?常用的 API 包括哪些?
刷新UI的方法:
- 使用handler
在子线程中使用Handler的sendMessage()方法,在UI线程中用Handler的handleMessage判断接受到的信息,进行相应的操作。 - AsyncTask利用线程任务异步更新UI界面
这个和handler 的机制差不多 doInBackground里面的内容就是在子线程里面跑的。 - 利用Activity.runOnUiThread(Runnable)把更新ui的代码创建在Runnable中
- 还有其他:
View.post(Runnable)
View.postDelayed(Runnable, long
android 学习中的一些问题记录 主要是概念问题的更多相关文章
- #0 scrapy爬虫学习中遇到的坑记录
python 基础学习中对于scrapy的使用遇到了一些问题. 首先进行的是对Amazon.cn的检索结果页进行爬取,很顺利,无碍. 下一个目标是对baidu的搜索结果进行爬取 1,反爬虫 1.1 我 ...
- android学习中遇到的错误
1.运行项目的时候报错: [2013-12-16 17:59:22 - Dex Loader] Unable to execute dex: java.nio.BufferOverflowExcept ...
- Android学习中出现的问题
•问题1:多行文字如何实现跑马灯效果? 博客链接:Androidd Studio 之多行文字跑马灯特效 解决状态:已解决 •问题2:cause: unable to find valid certif ...
- Android学习中R文件中途消失
新建工程的时候R文件明明是在的,结果等我做着做着,R.java不见了????于是我就上网查了查,发现,诶,大家都说的几种常见情况都试过了,1.对工程clean一下,选project->clean ...
- Antd-react-mobile项目学习中遇到的问题记录(持续更新)
1.Error:The "injectBabelPlugin" helper has been deprecated as of v2.0. You can use customi ...
- Android学习总结(一)——Activity的基本概念与Activity的生命周期
一.Activity的基本概念 Activity是Android的四大组件之一,它是一种可以包含用户界面的组件,主要用于和用户进行交互,比如打电话,照相,发送邮件,或者显示一个地图!Activity用 ...
- 深度学习中目标检测Object Detection的基础概念及常用方法
目录 关键术语 方法 two stage one stage 共同存在问题 多尺度 平移不变性 样本不均衡 各个步骤可能出现的问题 输入: 网络: 输出: 参考资料 What is detection ...
- 【转】Android学习基础自定义Checkbox组件
原文网址:http://forum.maiziedu.com/thread-515-1-1.html heckbox组件是一种可同时选中多项的基础控件,即复选框,在android学习中,Checkbo ...
- 卷积在深度学习中的作用(转自http://timdettmers.com/2015/03/26/convolution-deep-learning/)
卷积可能是现在深入学习中最重要的概念.卷积网络和卷积网络将深度学习推向了几乎所有机器学习任务的最前沿.但是,卷积如此强大呢?它是如何工作的?在这篇博客文章中,我将解释卷积并将其与其他概念联系起来,以帮 ...
随机推荐
- 关于C#的继承结论
1.继承:继承是一个类可以使用另一个类的属性和方法(成员) 2.子类继承父类使用的符号为“ : ”(冒号) 3.子类可以继承父类私有成员,但不能访问(不能使用) 4.父类的构造,子类不能被继承 5. ...
- ASP.NET MVC 之自定义HtmlHelper
前言 HtmlHelper方法为我们提供很多html标签,只需在页面调用就行了,但是微软并没有把所有的html标签都对应有了扩展方法,需要我们重新自定义HtmlHelper,来满足我们需要. 方法 如 ...
- VS2012 C#使用/配置Log4Net
最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精 本节探讨如何在VS2012中使用Log4Net 1. ...
- webServices与Web服务
本篇的内容在MSND中标注已是一项旧技术,而取而代之的是WCF, 那么我也放弃吧!但是这个属于Web服务的范畴,而WCF本质上也是一个Web服务来的,所以对于基础的东西还是不变的.那么这次就着重看看这 ...
- jquery改变文本框颜色
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 从零开始学Python06作业源码(仅供参考)
Python Version 2.7x 一,bin目录:程序启动入口 SelectLesson_start.py #!usr/bin/env python # -*- coding:utf-8 -*- ...
- MVC数据传递
一.数据传递 1.ViewData[]: 用法:action中:ViewData["key"]="aaa";,V层接收ViewData["key&qu ...
- Entity Framework Code First 中使用 Fluent API 笔记。
在做MVC+EF CodeFirst 的Demo时,碰到的问题, 在组册用户时,要让用户输入确认密码,但是数据库中又不需要保存这个字段,解决方案很多了,这里我列出通过EF Code First的解决方 ...
- 序列化类型 System.Data.Entity.DynamicProxies 的对象时检测到循环引用
学习 EF Code First+MVC 时遇到了在请求JsonResult时出现 序列化类型 System.Data.Entity.DynamicProxies 的对象时检测到循环引用 的异常,原因 ...
- eclipse — Failed to load the JNI shared library”……\jvm.dll问题原因以及解决方案
首先上一张出现问题的图片: 出现这个问题一般是你的jdk和eclipse不是同一位的,比如你的jdk是32位的但是eclipse下载的是64位的就会导致这种问题. 解决方案:把两者都换为32或者64位 ...