一些问题记录

应用程序 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中,

通过@drawable/zhuyuanxuan即可

3) Content Provider 中用到的 URI 是什么,和 URL 有什么差异?

URI,是uniform resource identifier,统一资源标识符,用来唯一的标识一个资源。
而URL是uniform resource locator,统一资源定位器,

URI一般由三部分组成:

  1. 访问资源的命名机制。
  2. 存放资源的主机名。
  3. 资源自身的名称,由路径表示。

具体说到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 学习中的一些问题记录 主要是概念问题的更多相关文章

  1. #0 scrapy爬虫学习中遇到的坑记录

    python 基础学习中对于scrapy的使用遇到了一些问题. 首先进行的是对Amazon.cn的检索结果页进行爬取,很顺利,无碍. 下一个目标是对baidu的搜索结果进行爬取 1,反爬虫 1.1 我 ...

  2. android学习中遇到的错误

    1.运行项目的时候报错: [2013-12-16 17:59:22 - Dex Loader] Unable to execute dex: java.nio.BufferOverflowExcept ...

  3. Android学习中出现的问题

    •问题1:多行文字如何实现跑马灯效果? 博客链接:Androidd Studio 之多行文字跑马灯特效 解决状态:已解决 •问题2:cause: unable to find valid certif ...

  4. Android学习中R文件中途消失

    新建工程的时候R文件明明是在的,结果等我做着做着,R.java不见了????于是我就上网查了查,发现,诶,大家都说的几种常见情况都试过了,1.对工程clean一下,选project->clean ...

  5. Antd-react-mobile项目学习中遇到的问题记录(持续更新)

    1.Error:The "injectBabelPlugin" helper has been deprecated as of v2.0. You can use customi ...

  6. Android学习总结(一)——Activity的基本概念与Activity的生命周期

    一.Activity的基本概念 Activity是Android的四大组件之一,它是一种可以包含用户界面的组件,主要用于和用户进行交互,比如打电话,照相,发送邮件,或者显示一个地图!Activity用 ...

  7. 深度学习中目标检测Object Detection的基础概念及常用方法

    目录 关键术语 方法 two stage one stage 共同存在问题 多尺度 平移不变性 样本不均衡 各个步骤可能出现的问题 输入: 网络: 输出: 参考资料 What is detection ...

  8. 【转】Android学习基础自定义Checkbox组件

    原文网址:http://forum.maiziedu.com/thread-515-1-1.html heckbox组件是一种可同时选中多项的基础控件,即复选框,在android学习中,Checkbo ...

  9. 卷积在深度学习中的作用(转自http://timdettmers.com/2015/03/26/convolution-deep-learning/)

    卷积可能是现在深入学习中最重要的概念.卷积网络和卷积网络将深度学习推向了几乎所有机器学习任务的最前沿.但是,卷积如此强大呢?它是如何工作的?在这篇博客文章中,我将解释卷积并将其与其他概念联系起来,以帮 ...

随机推荐

  1. 五小步让VS Code支持AngularJS智能提示

    本文想通过配置VS Code来实现对AngularJS的智能提示.在一般的情况下对于在HTML页面是支持提示的.但是在js页面就不是很友好,它是记忆你之前的输入,要是之后有重复的输入,VS Code会 ...

  2. JAVA字符串格式化-String.format()的使用

    String类的format()方法用于创建格式化的字符串以及连接多个字符串对象.熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处.format()方法有两种重载形式. form ...

  3. 在 .NET 中远程请求 https 内容时,发生错误:根据验证过程,远程证书无效。

    当访问 https 内容的时候,有时候经常会看到证书错误(不在操作系统的证书信任链中?)的提示,在浏览器中我们可以忽略错误的证书,继续访问网页内容. 但是在 .NET 程序中,需要由代码来判断是否忽略 ...

  4. asp.net获取客户端浏览器及主机信息

    在线预览效果:http://tool.hovertree.com/info/client/ 其中aspx页面的控件代码: <asp:ListBox runat="server" ...

  5. 【Win10开发】自定义标题栏

    UWP 现在已经可以自定义标题栏了,毕竟看灰色时间长了也会厌烦,开发者们还是希望能够将自己的UI做的更加漂亮,更加与众不同.那么废话不多说,我们开始吧! 首先要了解ApplicationViewTit ...

  6. eclipse自动补全的设置(自动提示)

      如果你用过Visual Studio的自动补全功能后,再来用eclipse的自动补全功能,相信大家会有些许失望. 但是eclipse其实是非常强大的,eclipse的自动补全没有VS那么好是因为e ...

  7. 关于C#操作防火墙,阻止程序联网

    //开启服务.开启防火墙 public void OpenFileWall() { // 1. 判断当前系统为XP或Win7 RegistryKey rk = Registry.LocalMachin ...

  8. 【圣诞呈献】高性能 Socket 组件 HP-Socket v3.1.1 正式发布

    HP-Socket 是一套通用的高性能 Windows Socket 组件包,包含服务端组件(IOCP 模型)和客户端组件(Event Select 模型),广泛适用于 Windows 平台的 TCP ...

  9. C#浅析单例模式

    第一次写博客,写的不好休怪哈. 版本1:最简单的单例模式 方法一: public class MySingleton { private MySingleton() //构造函数,注意private ...

  10. input输入框限制仅能输入数字且规定数字长度(使用与输入手机号)

    现在越来越多的账户名使用手机号来登录,为了减少前后端的交互,需要用户在输入时就要进行格式的判断, 目前的常规办法是,在输入完成后进行判断. 下面的方法是在输入时就规定只能输入数字,其他格式的字符是无法 ...