1. 布局文件命名不能包含大写字母,特殊字符。MyImageView.xml错误。

2. simpleAdapter适配器参数的含义: 

3. gridview

gridview的三个重要的属性:

4.全局获取Context的技巧

Android开发中,很多地方都要用到Context上下文这个类对象,比如:弹出 Toast的时候需要、启动活动的时候需要、发送广播的时候需要、操作数据库的时候需要、使用通知的时候需要等。

如果是在Activity中,那么获取这个context对象很容易,因为Activity本身就继承Context,直接受用this就可以了。但是对于比较复杂的逻辑,这些代码没有放在Activity中,那么,获取Context就显得不是那么容易了。

这里告诉大家一个技巧:

Android 提供了一个 Application 类,每当应用程序启动的时候,系统就会自动将这个类进行初始化。 而我们可以定制一个自己的 Application 类, 以便于管理程序内一些全局的状态信息,比如说全局 Context。

1,新建一个类MyApplication继承Application.

package com.example.networktest;

public class MyApplication extends Application {

private static Context context;

@Override

public void onCreate() {

context = getApplicationContext();

}

public static Context getContext() {

return context;

}

}

2,在 AndroidManifest.xml 文件的<application>标签下进行指定就可以了,代码如下所示:

  1. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  2. package="com.example.networktest"
  3. android:versionCode="1"
  4. android:versionName="1.0" >
  5. ……
  6. <application
  7. android:name="com.example.networktest.MyApplication"
  8. …… >
  9. ……
  10. </application>
  11. </manifest>

注意:指定 MyApplication 的时候一定要加上完整的包名,不然系统将无法找到这个类。

这样我们就已经实现了一种全局获取 Context的机制,之后不管你想在项目的任何地方

使用 Context,只需要调用一下 MyApplication.getContext()就可以了。

5.Handler与Looper、Message的关系  android异步加载框架:handler+looper+message

总结:handler负责发送消息,looper负责接收handler发送的消息,并直接把消息回传给handler自己。

MessageQueue就是一个存储消息的容器。

6. 主线程和子线程之间的传递,需要用到handler中的setmessage

如果想在子线程中更新ui线程,可以使用handler.post(runnable);

activity类和非activity类如适配器BaseAdapter类,可以使用传递构造方法的方式传递activity.this;  如:

mImgAdapter = new ImageAdapter(this, mImgs,
mCurrentDir.getAbsolutePath());// 当前文件夹的绝对路径

public ImageAdapter(Context context, List<String> mDatas, String dirPath) {
this.mDirPath = dirPath;// 父路径
this.mImgPaths = mDatas;// 所有图片
mInflater = LayoutInflater.from(context);
this.context = context;
mSelectedImg.clear();
}

android需知小细节的更多相关文章

  1. Android开发学习——小细节注意

    Android中通过Intent调用其他应用的方法(转) Android中两种序列化方式的比较Serializable和Parcelable http://www.jcodecraeer.com/a/ ...

  2. css小细节罗列

    有空时候把一些常见可能不是每个人都知道的css小细节总结了下,共勉. 1.line-height 众多周知,line-height是行高的意思,我们时常会使用类似line-height:24px;这样 ...

  3. .NET框架- in ,out, ref , paras使用的代码总结 C#中in,out,ref的作用 C#需知--长度可变参数--Params C#中的 具名参数 和 可选参数 DEMO

    C#.net 提供的4个关键字,in,out,ref,paras开发中会经常用到,那么它们如何使用呢? 又有什么区别? 1 in in只用在委托和接口中: 例子: 1 2 3 4 5 6 7 8 9 ...

  4. SQL Server 隐式转换引发的躺枪死锁-程序员需知

    在SQL Server的应用开发过程(尤其是二次开发)中可能由于开发人员对表的结构不够了解,造成开发过程中使用了不合理的方式造成数据库引擎未按预定执行,以致影响业务.这是非常值得注意的.这次为大家介绍 ...

  5. Android 之窗口小部件详解(三)  部分转载

    原文地址:http://blog.csdn.net/iefreer/article/details/4626274. (一) 应用程序窗口小部件App Widgets 应用程序窗口小部件(Widget ...

  6. Android应用开发-小巫CSDN博客clientJsoup篇

    Android应用开发-小巫CSDN博客clientJsoup篇 距上一篇博客已经过去了两个星期,小巫也认为很抱歉,由于在忙着做另外一个项目,差点儿抽不出空来,这不小巫会把剩下的博文全部在国庆补上.本 ...

  7. Vue.js 和 MVVM 的小细节

    Vue.js 和 MVVM 的小细节 转载 作者:流云诸葛 链接:www.cnblogs.com/lyzg/p/6067766.html MVVM 是Model-View-ViewModel 的缩写, ...

  8. 关于 Unity 的一些小细节,不注意可能会被“坑”一些时间。

    关于 Unity 的一些小细节,不注意可能会被"坑"一些时间. 最近因为一些"小"问题,总是需要找很久的原因,总结一下 UnityEngine.Input 在使 ...

  9. 学习Java,容易被你忽略的小细节(2)

    昨天心情真的太糟糕了,写完<学习Java,值得注意你注意的问题(1)>之后,迎来些许的支持以后就是一片片的谴责.我的主页上涌现出许许多多Java方面的牛人,谴责我水平太低,写的问题太初级. ...

随机推荐

  1. js本地图片预览

    相信大家都遇到过上传图片之前预览,网上找了很多,但都不是所有浏览器都支持,不过后来找到一个,但自己没有完全实验. 代码如下: <script> //使用IE条件注释来判断是否IE6,通过判 ...

  2. sql语句 decimal(18,0)什么意思

    decimal(18,0)18是定点精度,0是小数位数.decimal(a,b)a指定指定小数点左边和右边可以存储的十进制数字的最大个数,最大精度38.b指定小数点右边可以存储的十进制数字的最大个数. ...

  3. jsp xml servlet

    什么都懂一点,什么都不精通!!

  4. PHP中的运算符---算术运算符、逻辑运算符、赋值运算符、比较运算符

    1.算术运算符 常见的算术运算符 运算类型 运算符 举例 结果 取反运算 - -$a 返回$a的负值 加法运算 + $a + $b 返回$a与$b的和 减法运算 - $a - $b 返回$a与$b的差 ...

  5. Objective-C数据类型之id,SEL,BOOL,nil,NULL和NSNull

     id id是指向Objective-C对象的指针,等价于C语言中的void*,可以映射任何对象指针指向他,或者映射它指向其他的对象.常见的id类型就是类的delegate属性. SEL SEL类型是 ...

  6. OpenGL投影矩阵

    概述 透视投影 正交投影 概述 计算机显示器是一个2D平面.OpenGL渲染的3D场景必须以2D图像方式投影到计算机屏幕上.GL_PROJECTION矩阵用于该投影变换.首先,它将所有定点数据从观察坐 ...

  7. 安装Linux 16.04 时,选择好分区后,进到选择地点的界面后,总是闪退,退到最原始的界面

    这两天装 Linux 系统,总是遇到一个很蛋疼的问题: 当你累死累活把分区什么的都设置好了之后,在输入了系统名字,开机密码那几项之后,再选择地点的时候(如:选择 "上海"),然后就 ...

  8. malloc分配的内存空间是连续的吗

    1.linux内核管理内存空间的分配,所有程序对内存空间的申请和其他操作,最终都会交给内核来管理. 2.linux实现的是“虚拟内存系统”,对用户而言,所有内存都是虚拟的,也就是说程序并不是直接运行在 ...

  9. TTS通过JavaScript调用

    <script type="text/ecmascript"> var VoiceObj = new ActiveXObject("Sapi.SpVoice& ...

  10. IE弹出窗口显示URL地址栏

    工具-->Internet 选项-->安全-->自定义级别-->允许网站打开没有地址栏或状态栏的窗口-->禁止