android
胡育诚
这个作者很懒,什么都没留下…
展开
-
Bitmap和Drawable详解
1,Android读取不同位置(drawable,asset,SDCard)的图片资源(1)已将图片保存到drawable目录下,通过图片id获得Drawable或者Bitmap//通过图片id获得DrawableDrawable drawable=getResource().getDrawable(R.drawable.xxx);//通过图片id获得Bitmap原创 2016-05-03 22:46:05 · 2222 阅读 · 0 评论 -
View滑动体系
1 View基础(1)MotionEvent当用户触摸屏幕时,将创建一个MontionEvent对象。MotionEvent包含了关于发生触摸的位置和时间的信息,以及触摸事件的其他细节获取MontionEvent对象的方法有:1.重载Activity中的onTouchEvent(MotionEvent event)方法;2.View对象调用View.setOnT原创 2016-12-24 01:32:22 · 440 阅读 · 0 评论 -
View事件分发机制
1 常见滑动冲突举例2 View事件分发机制源码分析当一个点击操作发生时,事件最先传递给当前Activity,由Activity的dispatchTouchEvent来进行事件派发。(1)Activitypublic boolean dispatchTouchEvent(MotionEvent ev) { if (ev.getAction() == Moti原创 2016-12-25 11:00:28 · 382 阅读 · 0 评论 -
Android布局加载之setContentView源码分析
setContentView方法大家再熟悉不过了,但是能说说setContentView加载原理的并不多,现在我们就来了解下这个熟悉且神秘的朋友1 源码分析(1)ActivityActivity是在onCreate方法中使用setContentView方法来加载布局的,所以当然要进入Activitypublic void setContentView(int layoutRe原创 2016-12-26 20:08:07 · 348 阅读 · 0 评论 -
Android布局加载之LayoutInflater
和setContentView一样,LayoutInflater也算老朋友了,在分析setContentView中也多次看到了LayoutInflater。LayoutInflater主要是用来加载布局,将id资源转化为view对象,我们在Activity中加载布局用到的是setContentView(),其实setContentView内部也是使用LayoutInflater来加载布原创 2016-12-26 22:52:39 · 477 阅读 · 0 评论 -
Android之Fragment源码级彻底解析上
trasaction.replace对应上面的OP_REPLACE,具体操作就是操作先删除全部的 fragment,然后增加新的fragment,mManager.removeFragment和mManager.addFragment都是对mAdded集合进行增删操作,上面还可以看到transaction.add() transaction.remove() transaction.addToBackStack(null);之前在网上看多很多人各种分析,但是都是基于UI结果来分析操作方法的区别,总原创 2016-12-28 10:44:05 · 2904 阅读 · 2 评论 -
消息机制彻底解析
1 举例子public class UIActivity extends AppCompatActivity { private TextView tv; private Handler handler = new Handler(){ @Override public void handleMessage(Message msg) {原创 2017-04-05 10:55:42 · 674 阅读 · 0 评论 -
Activity保存和恢复View层次结构
Activity异常生命周期中会涉及到onSaveInstanceState() 和 onRestoreInstanceState()常见的异常情况有两种: 资源相关的系统配置发生改变 系统内存不足资源相关的系统配置发生改变有:屏幕横竖屏切换,改变系统语言等Activity异常情况下被杀死并重新创建的过程中就涉及到View的 保存和恢复,下面详细原创 2016-12-22 11:36:02 · 994 阅读 · 0 评论 -
Android广播机制
[转载](http://www.cnblogs.com/lwbqqyumidi/p/4168017.html)1.Android广播机制概述Android广播分为两个方面:广播发送者和广播接收者,通常情况下,BroadcastReceiver指的就是广播接收者(广播接收器)。广播作为Android组件间的通信方式,可以使用的场景如下:1.同一app内部的同一组件内的消息通信(单个或多个线程之间)转载 2017-04-06 11:50:09 · 293 阅读 · 0 评论 -
Android Studio常用快捷键
Ctrl+E:查看最近打开过的文件double Shift:全局查找,这个查看和Alt+H稍稍有些不同,这个是全局文件查找,到文件名称层面Ctrl+Alt+O 优化导入的类和包Ctrl+R 替换文本Alt+up在方法和内部类间跳转原创 2016-09-23 14:22:49 · 300 阅读 · 0 评论 -
Android线程IntentService源码分析
1 用法//创建自己的IntentService并复写onHandleIntent()方法public class CoreService extends IntentService { @Override protected void onHandleIntent(Intent intent) { //TODO:该方法在子线程的looper原创 2016-11-27 23:02:18 · 318 阅读 · 1 评论 -
Android线程HandlerThread源码分析
1 用法HandlerThread thread = new HandlerThread("MyHandlerThread");thread.start();mHandler = new Handler(thread.getLooper());mHandler.post(new Runnable(){...});2 源码分析public class Handle原创 2016-11-27 22:28:11 · 315 阅读 · 0 评论 -
Android线程AsyncTask源码分析
AsyncTask封装了线程池和handler,用法new DownLoadFilesTask().execute(params); /*** @param params The parameters of the task.*/ public final AsyncTask execute(Params... params) { return executeOnExe原创 2016-11-27 00:05:26 · 310 阅读 · 0 评论 -
Android系统构架概述
Android分为四个层,依次为应用程序层,应用程序框架层,系统运行库层,Linux核心层1,应用程序Android发布时会包含一些核心的应用程序,包括 联系人管理,浏览器,短信管理等2,应用程序框架应用程序框架层类库名称 功能原创 2016-05-19 21:02:40 · 600 阅读 · 0 评论 -
Android项目结构详解
1、HelloWorld项目的目录结构1.1、src文件夹1.2、gen文件夹1.3、Android 2.1文件夹1.4、assets 1.5、res文件夹1.6、AndroidManifest.xml1.7、default.properties1、HelloWorld项目的目录结构1.1、src文件夹该文件夹原创 2016-07-15 09:52:26 · 788 阅读 · 0 评论 -
Android.mk的用法
(1)Android.mk是什么?Android.mk是Android提供的一种makefile文件。Android.mk其实是把真正的Makefile包装起来,做成了一个对使用者来说很简单的东西。你可以在每一个Android.mk file中定义一个或多个模块。每个模块属下列类型之一: 1)APK程序,一般的Android程序,编译打包生成apk文件 2)JA原创 2016-08-16 22:21:05 · 2035 阅读 · 0 评论 -
Android平台安全SELinux篇
csdn博客源码原创 2016-11-01 13:43:20 · 2134 阅读 · 0 评论 -
Android平台安全概念篇
一、安全主要用于解决4类需求1.保密(Security/Confidentiality)信息不泄露给第三方2.鉴别/认证(Authentication)能够知道与你通信的对方是谁3.完整性(Integrity) 信息传输存储的过程中保存完整性(不被修改、不被破坏、不被插入、不延迟、不乱序、不丢失)4.不可否认性(non-repudiation) 轻松知道该消息是有那个用原创 2016-10-23 15:49:53 · 1667 阅读 · 2 评论 -
Eclipse 项目导入Android Studio的几种方式
1 以非gradle方式将 Eclipse 项目导入Android Studio如下图所示是一个典型的eclipse项目在android studio中打开open工程原创 2016-11-02 13:05:19 · 14999 阅读 · 3 评论 -
Android四大组件Activity启动源码分析
1 启动方法Intent intent=new Intent(MainActivity.this,SecondActivity.class);startActivity(intent);2 源码分析先来看看Activity在应用程序内部启动的时序图(1)Activity@Override public void startActivity(Intent原创 2016-11-29 18:37:16 · 438 阅读 · 0 评论 -
Android四大组件Service启动源码分析
1 用法启动状态Intent intent=new Intent(this,MyService.class);startService(intent);绑定状态Intent intent=new Intent(this,MyService.class);bindService(intent,mServiceConnection,BIND_AUTO_CRE原创 2016-11-30 12:02:01 · 376 阅读 · 0 评论 -
Android Developer导航
Gradle配置构建 Android Monitor原创 2017-05-11 16:50:49 · 468 阅读 · 0 评论