android需知小细节

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();
}

时间: 2024-08-01 22:37:01

android需知小细节的相关文章

css小细节罗列

有空时候把一些常见可能不是每个人都知道的css小细节总结了下,共勉. 1.line-height 众多周知,line-height是行高的意思,我们时常会使用类似line-height:24px;这样的代码来设置绝对的行高.但是当我们的需求改变,字体大小变动的时候,可能我们还需要再次改动行高,那么现在我们可以使用直接设置数字来设置行高,当我们使用纯数字来设置行高的时候,它相对于的是字体大小的倍数,也就是说下面的h4其实设置的行高也是12*2px就是24px.这样设置的好处是当我们在改变字体大小的

Android应用开发-小巫CSDN博客客户端之集成友盟社会化分享组件

Android应用开发-小巫CSDN博客客户端之集成友盟社会化分享组件 上一篇博客给大家介绍了如何分析网页并且使用jsoup这个库对html代码进行解析,本篇博客继续给大家介绍如何集成友盟社会化组件,如何使用SDK提供的API轻松实现多平台的社会化分享,官网的文档和Demo看起来很头疼的有木有,小巫在集成这个社会化的组件也有点烦躁,所以也需要各位耐心看下面的博文把友盟社会化组件集成到你的应用中去.为什么要选择友盟呢,这里也是答应了小喵的,要帮忙集成他们的服务,所以也顺带帮他们写一篇这样的博文,千

Android应用开发-小巫CSDN博客客户端Jsoup篇

Android应用开发-小巫CSDN博客客户端Jsoup篇 距上一篇博客已经过去了两个星期,小巫也觉得非常抱歉,因为在忙着做另外一个项目,几乎抽不出空来,这不小巫会把剩下的博文全部在国庆补上.本篇博客将会给大家介绍如何使用Jsoup这个库来解析我们的网页,并且如何对我们想解析的网页进行分析. Jsoup这个库的下载地址:http://jsoup.org/download 笔者这里使用的jsoup-1.7.2 下载完之后复制到项目中的libs目录下即可: Jsoup的资料比较少,可供参考的可到其官

强壮你的C和C++代码30个小细节

1 初始化局部变量 使用未初始化的局部变量是引起程序崩溃的一个比较普遍的原因, 2 初始化WINAPI 结构体 许多Windows API都接受或则返回一些结构体参数,结构体如果没有正确的初始化,也很有可能引起程序崩溃.大部分Windows API结构体都必须有一个cbSIze参数,这个参数必须设置为这个结构体的大小. 注意:千万不要用ZeroMemory和memset去初始化那些包括结构体对象的结构体,这样很容易破坏其内部结构体,从而导致程序崩溃. 3 检测函数输入参数有效性 在函数设计的时候

注意编码工作中的小细节

人们常说"细节决定成败". 编码工作中,同样需要关注细节. 本文将给出3个小实例来说明编码中关注细节的重要性,同时给出作者对如何注意编码细节的一点见解(说的不对,请指正). 例1 这个问题如此地显而易见,竟然没有被发现. List<int> numList = new List<int>(); numList.Add(3); numList.Add(1); numList.Add(4); numList.Add(2); numList.Add(5); numLi

Android应用开发-小巫CSDN博客客户端开发开篇

Android应用开发-小巫CSDN博客客户端开发开篇 2014年9月8日 八月十五 祝各位中秋节快乐 小巫断断续续花了几个星期的时间开发了这么一款应用--小巫CSDN博客,属于私人定制的这样的一款应用,整个客户端的数据全部来自本人博客,是通过爬取本人博客地址html页面,然后解析html把数据提取出来,整个客户端的技术难点主要是如何对html界面进行分析和使用Jsoup对html代码进行解析.目前本人的这款应用已经开发出来了,近段时间会提交应用商店进行审核,不久大家就可以看到这么一款逼格满满的

Vue.js 和 MVVM 小细节

Vue.js 和 MVVM 小细节 MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自动传递给 View,即所谓的数据双向绑定. Vue.js 是一个提供了 MVVM 风格的双向数据绑定的 Javascript 库,专注于View 层.它的核心是 MVVM 中的 VM,也就是 ViewModel. ViewModel负责连接 View 和 Mode

android Splashy Flash小游戏

今年刚开始学习android,不过是做修改源码,自己在寝室捎带学习了下做APP,由于是刚开始学习,这个游戏只注重了游戏的实现,实现了大概功能后,也没有实现游戏的细节,像分数图片的显示等,也没有注意代码的结构,一个字就是乱!!留待有缘人完善修改吧--- 代码下载地址:download.csdn.net/detail/a624731186/7594383 如果完善了的话,有空的话我邮箱发一封,[email protected] 下面是官方的游戏效果: 下面是我的游戏效果:资源图片是在网上下载的,有点

避免野指针的方法及结构体小细节

避免野指针的方法 1 定义指针变量的时候,指针变量赋值成NULL 2 释放的时候,判断是不是NULL 3 释放完毕以后再赋值成NULL 结构体小细节 typedef struct _Teacher{ char name[64];//64 int age;//4 char tile[128];//128 char c;//1 }Teacher,*pTeacher; 以上定义了一个结构体变量,结构体变量所占字节数理论上应该是197(64+4+128+1) void main() { Teacher