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. UGUI之Slider使用,制作血条

    用Slider来控制Cube旋转 Slider是滑动条.

  2. unity3d对象池的使用

    说对象池之前首先来看看单例类和单例脚本的区别.这里有介绍 http://blog.csdn.net/lzhq1982/article/details/12649281 使用对象池的好处是不用每次都创建 ...

  3. json_encode转义中文问题

    默认情况下php的 json_decode 方法会把特殊字符进行转义,还会把中文转为Unicode编码形式. 这使得数据库查看文本变得很麻烦.所以我们需要限制对于中文的转义. 对于PHP5.4+版本, ...

  4. 强力上攻后,在缓解期结束时,MACD将死叉,的后续情形

    强力上攻后,在缓解期结束时,MACD将死叉,的后续情形

  5. 201803020001-多重MACD图.png

  6. MYSQLi数据访问批量删除

    <link href="../bootstrap.min.css" rel="stylesheet" type="text/css" ...

  7. 事件响应模型(游戏引擎、JAVA中等应用)

    事件,我们在生活中时时在产生事件并且做出响应,如早晨出门时,看见外面下雨了,这时候我们需要带把伞等情况! 在现实生活之中事件分为人为事件和自然事件,那么在计算机操作系统中也不例外,存在两种事件 1.人 ...

  8. Marlin 溫度感應器 數值轉換對應表

    Marlin 溫度感應器 數值轉換對應表   (2014/03/27)Update: 自己實測了這個自動產生的對應表,結果測得的溫度與實際值仍有相當大的誤差.看來還是要回頭用測量的方式來校正溫度... ...

  9. 【转】HTTP429

    转载:http://codewa.com/question/45600.html Q:How to avoid HTTP error 429 (Too Many Requests) python Q: ...

  10. laravel中使用的PDF扩展包——laravel-dompdf和laravel-snappy

    这两天项目中需要将HTML页面转换为PDF文件方便打印,我在网上搜了很多资料.先后尝试了laravel-dompdf和laravel-snappy两种扩展包,个人感觉laravel-snappy比较好 ...