Activity ,Service,Content Provider,BroadcastReceiver, Intent

SQLite,Http,Fragement,Handle

1,Activity:

onCreate ——> onStart——> onResume——> onPause()——> onStop——> onDestroy

2,Service:

1) onCreate——> onStart(Intent intent,int startId)——> onDestroy

startService(serviceIntent) /stopService(serviceIntent)

2)如果希望启动服务的Activity关闭后Service自动关闭,就需要讲Activity与Service绑定。

public boolean bindService(Intent service,ServiceConnection conn ,int flags)  //flags一般为Context.BIND_AUTO_CREATE

2)Handler

在主线程当中是不允许通过子线程去更新主UI的 ,因为这会导致主UI卡死。也就是说,Android主线程是线程不安全的,更新UI只能在主线程中更新。

解决方法:Handler——>主要接受子线程发送的数据, 并用此数据配合主线程更新UI.

由于Handler运行在主线程中(UI线程中),  它与子线程可以通过Message对象来传递数据。这个时候,Handler就承担着接受子线程传过来的(子线程用sendMessage()方法传递),Message对象(里面包含数据)  , 把这些消息放入主线程队列中,配合主线程进行更新UI。

handler可以分发Message对象和Runnable对象到主线程中, 每个Handler实例,都会绑定到创建他的线程中(一般是位于主线程)。

它有两个作用: (1):  安排消息或Runnable 在某个主线程中某个地方执行, (2)安排一个动作在不同的线程中执行。
        Handler中分发消息的一些方法
        post(Runnable)
        postAtTime(Runnable,long)
        postDelayed(Runnable long)
        sendEmptyMessage(int)
        sendMessage(Message)
        sendMessageAtTime(Message,long)
        sendMessageDelayed(Message,long)

以上post类方法允许你排列一个Runnable对象到主线程队列中,
        sendMessage类方法, 允许你安排一个带数据的Message对象到队列中,等待更新.

3,Content  Provider

使用ContentProvider,应用程序可以实现数据共享

1)ContentProvider简介
       当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据。虽然使用其他方法也可以对外共享数据,但数据访问方式会因数据存储的方式而不同,如:采用文件方式对外共享数据,需要进行文件操作读写数据;采用sharedpreferences共享数据,需要使用sharedpreferences API读写数据。而使用ContentProvider共享数据的好处是统一了数据访问方式。

getContentResolver.query(ContactsContract.Contacts.CONTENT_URI,projection,selection,null,null)

四个参数分别为:

columns,  // 要返回的数据字段
  null, // WHERE子句
  null, // WHERE 子句的参数
   null // Order-by子句
);

4,先 Layout  :onInterceptTouchEvent  false

view: onTouchEvent  true

http://blog.csdn.net/android_tutor/article/details/7193090

http://blog.csdn.net/lvxiangan/article/details/9309927

5,今天遇到一个问题,困扰好久(20150105)

scrollview嵌套listview 只显示一个item的问题。

解决方法:

http://www.apkbus.com/android-11540-1.html

如果listview的点击事件失效的话,注意看是否是listview item的clickable=“true” 需要拿掉

******************************************************

补充:

1,Android配置:

1) java -version

2)jdk1.6下载地址:

http://support.apple.com/kb/DL1572?viewlocale=zh_CN&locale=zh_CN

3) 安装eclipse  svn插件 :

team ——>更新,提交等

2,xml 属性

android:fitsSystemWindows="true"设置布局调整时是否考虑系统窗口(如状态栏)

android:layout_marginLeft指该控件距离边父控件的边距,

android:paddingLeft指该控件内部内容,如文本距离该控件的边距。

android:ems = "10" 设置TextView或者Edittext的宽度为10个字符的宽度。当设置该属性后,控件显示的长度就为10个字符的长度,超出的部分将不显示。

<requestfocus />用于指定屏幕内的焦点View

3,快捷键

alt +/ 提示信息

ctrl + o 函数层次

选中某个词组,ctrl +k  向下查找,ctrl +shift+ K向上查找

ctrl + T 层次

ctrl +shift + F 格式化

ctrl +1 快捷修复 F2+ enter 选择快捷修复的第一个

不允许switch嵌套

//Android

高手速成android开源项目【View篇】

http://www.xuebuyuan.com/2192689.html

回归Android之Android基础和小常识的更多相关文章

  1. [Android 泥水匠] Android基础 之一:浅谈Android架构到HelloWorld案例的剖析

    作者:泥沙砖瓦浆木匠网站:http://blog.csdn.net/jeffli1993个人签名:打算起手不凡写出鸿篇巨作的人,往往坚持不了完成第一章节. 交流QQ群:[编程之美 365234583] ...

  2. Android逆向-Android基础逆向(5)

    本文作者:i春秋作家——HAI_ 0×00 前言 不知所以然,请看 Android逆向-Android基础逆向(1)Android逆向-Android基础逆向(2)Android逆向-Android基 ...

  3. Android 触摸手势基础 官方文档概览

    Android 触摸手势基础 官方文档概览 触摸手势检测基础 手势检测一般包含两个阶段: 1.获取touch事件数据 2.解析这些数据,看它们是否满足你的应用所支持的某种手势. 相关API: Moti ...

  4. Android Content Provider基础

    Android Content Provider基础 Content Providers Content providers管理对一个结构化的数据集合的访问.它们封装了数据,并且提供了保护数据安全性的 ...

  5. Android 触摸手势基础 官方文档概览2

    Android 触摸手势基础 官方文档概览 触摸手势检测基础 手势检测一般包含两个阶段: 1.获取touch事件数据 2.解析这些数据,看它们是否满足你的应用所支持的某种手势. 相关API: Moti ...

  6. Android应用开发基础篇(1)-----Button

    Android应用开发基础篇(1)-----Button   一.概述        Button,顾名思义就是按钮的意思,它主要的功能是响应用户按下按钮时的动作. 二.应用      新建一个工程, ...

  7. Android应用开发基础篇(3)-----ListView

    一.概述 ListView是一个列表显示控件,它的应用非常广泛,在很多应用程序中都可以看到它的身影,比如来电通,网易新闻等等,特别是QQ.因此非常有必要熟练掌握它. 二.要求 能够利用ListView ...

  8. Android应用开发基础篇(4)-----TabHost(选项卡)

    一.概述 TabHost是一种用来显示标签的组件,不清楚?看一下来电通这个应用就知道了.这个组件用起来与其他组件不太一样,它需要继承TabActivity这个类,还有它的布局文件与我们平时用的也有些不 ...

  9. Android应用开发基础篇(12)-----Socket通信

    链接地址:http://www.cnblogs.com/lknlfy/archive/2012/03/03/2378669.html 一.概述 网络通信无论在手机还是其他设备上都应用得非常广泛,因此掌 ...

随机推荐

  1. UVAL 4728 Squares(旋转卡壳)

    Squares [题目链接]Squares [题目类型]旋转卡壳 &题解: 听着算法名字,感觉挺难,仔细一看之后,发现其实很简单,就是依靠所构成三角行面积来快速的找对踵点,就可以省去很多的复杂 ...

  2. HttpServletRequest常用方法

    1.获取客户机信息 getRequestURL:该方法返回客户端发出请求时的完整URL getRequestURI:该方法返回请求行中的资源名部分 getQueryString:该方法返回请求中的参数 ...

  3. 十二 总结JS原型

    基本概念: 对象:属性和方法的集合(变量和函数的封装). 构造器函数:用于创建对象的函数,通过new关键字生成对象.函数名一般首字母大写的. 原型对象:每个函数都有一个prototype属性,它是一个 ...

  4. SQLGetConnectAttr

    SQLGetConnectAttr 函数定义: SQLRETURN SQLGetConnectAttr( SQLHDBC     ConnectionHandle, SQLINTEGER     At ...

  5. Yii2 Restful api分页

  6. IIS8无法通过IP访问解决办法

    今天配置在Windows server 2012 R2 上配置IIS8时,出现局域网内无法使用IP访问站点的问题,查找资料依然无法解决.最后发现IIS8配置好主机名后无法使用主机IP访问站点,只能使用 ...

  7. C# 自定义用户控件

    上篇:控件制作 本例是制作一个简单的自定义控件,然后用一个简单的测试程序,对于初学者来说,本例子比较简单,只能起到抛石引玉的效果.我也是在学习当中,今后会将自己所学的逐步写出来和大家交流共享. 第一步 ...

  8. linux下php中文UTF-8转换Unicode方法和注意事项

    先说下遇到问题:1.php没有内置unicode_ecode函数可以直接使用 2.网上很多资料都是用$str = iconv($encoding, 'UCS-2', $str); window下转换出 ...

  9. 设置PyCharm创建文件时自动添加头文件

    找到该路径并添加以下信息 File->settings->Editor->File and Code Templates->Python Script  #!/usr/bin/ ...

  10. flask框架----flask中的wtforms使用

    一.简单介绍flask中的wtforms WTForms是一个支持多个web框架的form组件,主要用于对用户请求数据进行验证. 安装: pip3 install wtforms 二.简单使用wtfo ...