数据库介绍sqlite问:什么情况下使用数据库?答:有大量相似结构的数据需要存储的时候 数据库的创建定义一个类继承SqliteOpenHelpercontext:上下文name:数据库名字,如"test.db"factory:目的创建cursor对象,游标(默认为null)version:数据库版本,>=1super(context,name,null,version) 数据库的onCreate方法和onUpgrade方法 使用SQLite Expert Profession这个…
ContentProvider主要用于在不同的应用程序之间实现数据共享,它提供了一套完整的机制,允许一个程序访问另一个程序中的数据,同时还能保证被访问数据的安全性,目前内容提供其实android实现跨进程共享数据的标准方式. ContentProvider的用法一般有两种,一种是使用ContentResolver来读取和操作应用程序中ContentProvider共享的数据,另一种就是创建自己的ContentProvider子类给我们的程序提供外部访问的接口. 其中ContentProvider…
网页源码查看器 HttpURLConnection:用于发送和接受数据 ScrollView只能由一个孩子 消息机制的写法(***) anr Application not response 应用无响应, 主线程(UI线程) 如果在主线程中进行了耗时的操作(比如连接网络,拷贝很大的数据等),就会报anr异常 避免anr可以把耗时的操作放在子线程(自己创一个线程)中 在4.0之后谷歌强制要求连接网络不能在主线程进行访问 只有主线程才可以更新UI 消息机制 Handler原理 在主线程中定义一个Ha…
1.1G-4G的介绍 1G 大哥大 2G 小灵通 采用gsm标准(美国军方标准民用化) 发短信 3G 沃 72M/s 4G lte 100M/s 5G 华为 10G/s 小公司卖茶品大公司卖版权(标准) 2.Android操作系统的介绍 3.Android系统版本介绍 4.Android系统构成 [1]linux [2]函数库曾由c或c++编写 [3]Application framework应用的框架层 [4]最上层 应用层 5.jvm与dvm介绍 区别 [1]dvm吧所有的.class文件变…
简介 RecyclerView是我们开发过程中经常使用到的一个元素,原生的RecyclerView.Adapter基本上可以满足一般的需求,关于RecyclerView的基础介绍请移步: RecyclerView基础使用 关于多类型的Item,原生的Adapter可以通过getItemViewType返回对应的ViewHolder类型,然后在onCreateViewHolder传入的type参数,生成不同的ViewHolder,更要命的是数据绑定过程中onBindViewHolder只传入Vie…
测试的相关概念 好的软件不是开发出来的,是不断测试出回来的 根据是否知道源代码 黑盒测试 白盒测试 根据测试的粒度 方法测试 单元测试 集成测试 系统测试 根据测试的暴力程度 压力测试(谷歌工程师提供了一个monkey+COUNT指令可以进行压力测试) 冒烟测试 单元测试 定义一个类,继承AndroidTestCase类(可能有变化) 在清单文件里配置uses-library和instrumentation 日志猫的使用 调试使用 Login登录案例 用户名密码保存到内部存储器,记住后下次登陆显…
1. 简介 1.TabLayout给我们提供的是一排横向的标签页 2.#newTab()这个方法来创建新的标签页,然后用过#setText()和#setIcon方法分别修改标签页的文本和图标,创建完成之后,我们需要使用#addtab()方法把他加到TabLayout中显示出来 3.第二种添加标签的方式就是直接在TabLayout布局下添加#TabItem控件 4.对于TabLayout在标签之前的切换事件我们可以通过注册一个监听器来处理,#setOnTabSelectedListener(OnT…
简介 Container for a tabbed window view. This object holds two children: a set of tab labels that the user clicks to select a specific tab, and a FrameLayout object that displays the contents of that page. The individual elements are typically controll…
简介 View Flipper,是ViewAnimator的子类,而ViewAnimator又是继承自FrameLayout,而FrameLayout就是平时基本上只显示一个子视图的布局,由于FrameLayout下不好确定子视图的位置,所以很多情况下子视图之前存在相互遮挡,这样就造成了很多时候我们基本上只要求FrameLayout显示一个子视图,然后通过某些控制来实现切换.正好,ViewFlipper帮我们实现了这个工作,我们需要做的就是,选择恰当的时机调用其恰当的方法即可 类结构 方法 意义…
简介 ObjectAnimator,是ValueAnimator的子类,支持利用目标视图的属性来实现动画效果.构造ObjectAnimator的时候,将会提取对应的参数来定义动画对象和对象属性.合适的get/set方法是视图实现属性动画的内部机理,动画过程中,系统将通过get/set方法来实现效果,也就是根据一定的规律来为View设置属性. Animators可以用过资源文件或者是代码定义,当使用资源文件创建的时候,若使用PropertyValuesHolder和Keyframe可以创建出更加复…