一些问题记录

应用程序 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. label用js,jquery取值赋值,以及怎么在后台取值

    label标签在JS和Jquery中使用不能像其他标签一样用value获取它的值: 可以这样: JS: var label=document.getElementByIdx_x("id&qu ...

  2. MVC5+EF6+AutoMapper+Bootstrap打造在线博客(1.0)

    目的:MVC5+EF6开发一个高并发.分布式的在线博客,等开发完成以后再用.net core,mysql重新开发,部署到linux系统上,这一系列就算完结,经验不足,大家一起讨论进步,源代码下载QQ群 ...

  3. 疯狂Android讲义 - 学习笔记(八)

    第10章 Service与BroadcastReceiver 10.1 Service简介 Service组件也是可执行的程序,有自己的生命周期,创建.配置Service与创建.配置Activity的 ...

  4. 自己动手写ORM的感受

    之前看到奋斗前辈和时不我待前辈的自己动手写ORM系列博客,感觉讲解的通俗易懂,清晰透彻.作为一个菜鸟,闲来也想着自己写一个ORM,一来加深自己对 ORM的理解,以求对EF,NHibernate等ROM ...

  5. java多线程-读写锁

    Java5 在 java.util.concurrent 包中已经包含了读写锁.尽管如此,我们还是应该了解其实现背后的原理. 读/写锁的 Java 实现(Read / Write Lock Java ...

  6. Eclipse如何发布web项目

    目录结构: // contents structure [-] 需要的环境 下载和配置JDK 下载和配置Tomcat 下载Eclipse Eclipse 4.4.0 发布Web步骤 创建server ...

  7. 关于XAMPP默认端口80 和443被占用的问题

    关于安装xampp-win32-1.8.1-VC9-installer.zip后启动时候报端口80和443被占用的问题解决 xampp-win32-1.8.1-VC9-installer.zip下载地 ...

  8. AMD and CMD are dead之KMDjs集成Blob一键下载全部build包

    更新 不zuo,[A/C]MD就不会死,所以kmdjs赢来来其伟大的版本0.0.6,该版本主要的更新有: 移除去了kmdjs.get(..).then的支持,只支持kmdjs.get(-,functi ...

  9. jQuery静态方法parseJSON方法使用和源码分析

    该方法接受一个JSON字符串,返回解析后的对象. 传入一个畸形的JSON字符串会抛出一个异常.比如下面的都是畸形的JSON字符串: {test: 1} ( test 没有包围双引号) {'test': ...

  10. JavaScript基本语法(二)

    上篇博文写到JavaScript的数据类型.JavaScript包括了字符串(String).数字(Number).布尔(Boolean).数组(Array).对象(Object).空(Null).未 ...