AsyncTask的基本构成

AsyncTask概述

为什么要异步任务

  1. Android中,只有主线程可以对UI进行操作,而其他线程是不可以直接操作UI的。这用做的好处是保证了UI的稳定性和准确性。避免了多线程同时对UI进行操作,而造成对UI的一个混乱。
  2. 安卓是个多线程的系统,我们不可能把所有的事情都放在主线程中。比如一些网络操作、读取文件等一些耗时的操作。如果把这些操作都放在了主线程中,就会造成阻塞,从用户的角度,就会感觉这个App很卡或者未响应。所以,应该把耗时的操作放在非主线程中。
    阅读全文 »

前言

对于像我这样的android初学者来说,LayoutInflater是个很模糊的概念,I can’t feel it!我只知道在自定义控件的时候构造函数中会用到LayoutInflater.from(mContext).inflater(layout_id, this);还有重写 适配器布局会用到LayoutInflater.from(getContext()).inflater(layout_id, null)

从字面的意思来看,Layout是布局的意思,Inflater是充气器的意思;连起来就是布局充气器,或者布局填充器,也有人说是布局加载器。

而我现在对于LayoutInflater的理解也仅仅是他可以将xml布局实例化为View对象。

阅读全文 »

ListView缓存机制

什么是数据适配器

适配器是AdapterView视图(如ListView - 列表视图控件、Gallery - 缩略图浏览器控件、GridView - 网格控件、Spinner - 下拉列表控件、AutoCompleteTextView - 自动提示文本框、ExpandableListView - 支持展开/收缩功能的列表控件等)与数据之间的桥梁,用来处理数据并将数据绑定到AdapterView上。

AdapterView对象有两个主要任务

  1. 在布局中显示数据
  2. 处理用户的选择

数据源的来源是各种各样的,而ListView所展示的格式是有一定要求的。数据适配器正是建立了数据源与ListView之间的适配关系,将数据源转换成ListView能够显示的数据格式,从而将数据的来源和数据的显示进行了解耦,降低了程序的耦合性,让程序更加容易拓展。
android提供多种适配器,开发时可以针对数据源的不同采用最方便的适配器,也可以自定义适配器完成复杂功能。

阅读全文 »

使用TextView实现文字滚动效果

两步:
一、控件属性添加

1
2
3
4
5
<包名.继承TextView的类名
android:singleLine="true"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"/>

二、新建一个类,继承TextView并重写isFocused方法,即修改为:返回true。

前言

找到一本不错的书——《第一行代码Android》,虽然是基于4.X版本的,但还有很多知识没有变,当然也还有一些东西变化了。所以决定用Android Studio1.4单刷第一行代码Android。

隐藏标题栏

在安卓4.x可以使用以下两种方法隐藏标题栏:
1、在代码中实现:
在此方法setContentView(R.layout.main)之前加入:
requestWindowFeature(Window.FEATURE_NO_TITLE);标题栏就没有了。

2、在AndroidManifest.xml中实现:
注册Activity时加上如下的一句配置就可以实现。

1
2
3
4
<activity  
android:name=".MainActivity"
android:theme="@android:style/Theme.NoTitleBar">

</activity>

但是从5.0起,这两个方法就不起作用了,出现空指针的错误。

阅读全文 »

前言

mars老师的视频只更新到第二季,从2015年开始就不再更新了。所以这部分笔记就只能记到第二季了。但是学习Android的步伐不会停下,后面可能会接着看mars重制版之前的视频或者看看慕课网、极客学院等关于安卓的知识。极客学院的那个讲安卓的老师讲的不好,说了半天不知道在说什么。看情况吧,之后还是会记笔记的,不过可能会和这部分内容衔接的不太好。

在这季中,mars老师将UI、网络、线程等知识串着讲,都只是谈谈初级知识。我觉得这样挺好,不至于学了一大块内容还做不出什么东西来,枯燥乏味之后就搁置的半途而废。

阅读全文 »

什么是插值

对于刚接触unity的同学来说,插值可能是比较难理解的概念之一。
插值:

在离散数据的基础上补插连续函数,使得这条连续曲线通过全部给定的离散数据点。插值是离散函数逼近的重要方法,利用它可通过函数在有限个点处的取值状况,估算出函数在其他点处的近似值。插值:用来填充图像变换时像素之间的空隙。

以上是百度百科里的解释,感觉太官方话了。下面结合unity中的Vector3.Lerp具体的谈谈什么是插值,插值是如何计算的。

阅读全文 »