android
文章平均质量分 66
actor1999
爱我你就抱抱我
展开
-
Android 实现Dialog横向铺满屏,有效果图。
效果如图,如果是你想要的就可以继续看下去啦。 首先是这个dialo的布局文件。<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/dialog_layout" android:l原创 2015-04-19 10:42:20 · 4765 阅读 · 0 评论 -
HandlerThread
我们在一个线程中使用Handler的步骤Looper.prepare()创建与当前线程绑定的LooperHandler handler = new Handler(Looper.myLooper())Looper.loop()开启循环访问消息队列对于Handler机制的原理,可以参考http://blog.csdn.net/actor1999/article/details/70210901原创 2017-04-17 16:42:39 · 512 阅读 · 0 评论 -
Handler机制
Android应用在启动的时候会开启一条主线程,也叫UI线程,在UI线程里面不能执行一些耗时操作,不然的话会使UI失去响应,会出现ANR。所以我们执行一些耗时操作(比如下载)的话需要另开子线程来执行,执行完成后可能需要更新UI(比如将下载下来的信息显示出来),但是Android只允许在主线程里面更新UI,因为UI线程是线程不安全的,这应该就是Handler机制产生的原因。 Looper、Handl原创 2017-04-17 16:02:35 · 280 阅读 · 0 评论 -
android中的线程池
Android中的线程池分类:FixedThreadPool、CachedThreadPool、ScheduledThreadPool、SingleThreadExecutor。 FixedThreadPool:是一种线程数量固定的线程池,并且当线程处于空闲状态的情况下,它们也不会被回收,FixedThreadPool只有核心线程,并且不会被关闭,所以可以较快响应外界的请求。 CachedThr原创 2017-04-27 17:56:52 · 273 阅读 · 0 评论 -
Android Binder个人理解
Binder的定义:Binder可以说是Android中的一个类,从IPC角度,Binder可以是跨进程调用的一种方式,Binder也可以理解成一种虚拟的物理设备,他的设备驱动是dev/binder .Binder在AIDL中的应用:首先创建一个AIDL文件,编写相应接口。这时候Android Studio会为我们生成一个该AIDL对应的Java的一个接口。 ①首先该接口继承android.os.原创 2017-12-21 22:16:58 · 205 阅读 · 0 评论 -
Android Watchdog
1、Watchdog,是什么?从代码上看,Watchdog,是一个线程,因为他是继承Thread类。 从功能上看,Watchdog就像它的名字一样,看门狗,功能是检测一些重要的系统服务(service)和线程(Thread)是否正常工作。2、 Watchdog是如何工作的?想要了解Watchdog是如何工作的,先要了解它的内部类HandlerChecker和一些重要的方法。HandlerCheck原创 2018-01-23 22:03:24 · 301 阅读 · 0 评论 -
Android Init进程解析init.rc
主要是通过该函数实现解析:在init.c中init_parse_config_file("/init.rc");int init_parse_config_file(const char *fn){ char *data; //读取文件的内容 data = read_file(fn, 0); if (!data) return -1; //真正解析的函数...原创 2018-06-23 16:44:47 · 342 阅读 · 0 评论 -
SeekBarVolumizer.java
从类的名字上看,这个类应该是一个音量的SeekBar。1、对于SeekBar,需要着重关注的就是其三个回调函数。public void onProgressChanged(SeekBar seekBar, int progress, boolean fromTouch) { if (fromTouch) { postSetVolume(progress);...原创 2018-05-22 11:13:14 · 1795 阅读 · 0 评论 -
Notification和Ring分离——AudioService中的改动
在Android中,Stream的类型有以下11种: public static final int STREAM_VOICE_CALL = 0; public static final int STREAM_SYSTEM = 1; public static final int STREAM_RING = 2; public static final int STREAM_MUSIC = ...原创 2018-05-27 16:06:38 · 827 阅读 · 0 评论 -
AsyncTask的使用&&理解
AsyncTask定义:他是一个轻量级的异步任务类,可以在线程池中执行后台任务,并且将任务的执行进度和结果传递给主线程,并在主线程中更新UI,由此可见,AsyncTask中封装了Handler和Thread,对与Handler的消息传递机制可以参考http://blog.csdn.net/actor1999/article/details/70210901AsyncTask使用: AsyncTas原创 2017-04-26 18:44:02 · 320 阅读 · 0 评论 -
Android动态加载ListView的实现以及注意事项
做安卓开发的都知道,Android中的ListView的使用率是非常高的。像我经常要用到ListView,并且经常会遇到要动态加载Item的需求,比如说,我的情况是这样的,我现在要从后台拉出用户的列表来显示,然后需要显示的数据有1000条,那我不可能一下子就把1000条数据拉下来都显示吧,首先是这样子耗流量,其次是没必要,有时候用户只看前几条就不看了,重要的是,你一下子显示1000条数据可能会导致原创 2015-04-12 11:19:01 · 778 阅读 · 0 评论 -
ant编译Android项目的过程
1.用aapt工具打包资源文件,生成R.java2.处理AIDL文件,生成对应的.java文件,没有AIDL文件此步骤跳过3.编译.java文件生成.class文件4.将.class文件转换成.dex文件5.将1-4步骤的产物及lib库打包生成未签名的apk6.给未签名的apk签名7.将步骤6中的产物进行优化和对齐。对于用ant工具编译android APP:主要在项目的build.xlm进行各项配原创 2017-03-08 13:44:49 · 322 阅读 · 0 评论 -
android适配需要知道的一些概念
px:像素,屏幕上的点,最小的独立显示单位。 屏幕尺寸:屏幕对角线的长度,单位英寸。 屏幕分辨率:屏幕长、宽上的px数目比如1920 * 1080。 屏幕像素密度(dots per inch):一英寸的屏幕的像素点数目。 dp(dip):设备无关像素,在160dpi屏幕上,1dp = 1px。 知道dp的由来,px 与 dp的单位换算就很简单了, dx = density * dp;dp原创 2017-03-08 14:14:13 · 242 阅读 · 0 评论 -
RecyclerView
RecyclerView:可以实现类似ListView,GridView的功能, 从名字上看,他是一个回收的View,他里面有两个缓存,一个Scrap,另一个Recycle,Scrap缓存中存放的是这样的View,这些View是接下来要用的,并且里面的数据无需更改;而Recycle缓存里面存放的View为里面的数据需要重新绑定的。 当我们去获取一个新View的时候,RecyclerView会先去S原创 2017-04-01 17:35:31 · 354 阅读 · 0 评论 -
CursorLoader
LoaderManager,LoaderManager.LoaderCallbacks,CursorLoader学习LoaderManager:一个与Activity和fragment关联的抽象类,用来管理Loader(比如CursorLoader)实例的,每个Activity或fragment只能有一个LoaderManager. 启动Loader:getLoaderManger.initLo原创 2017-04-14 14:41:37 · 344 阅读 · 0 评论 -
URI&&Service
URIUri:scheme + authority + path组成 Android规定secheme为:content:// authority:标识provider,系统通过authority来找到对应的Provider 我们开发Provider有两个步骤继承ContentProvider,重写相应方法在AndroidManifest.xml中配置Privider组件<provide原创 2017-04-14 17:03:04 · 411 阅读 · 0 评论 -
Intent基础知识
**intent:** 用来包装android应用的启动意图,我们启动一个组件(比如一个Acitivity)不是直接指向这个组件(Activity)而是用Intent来包装信息,然后根据Intent来启动。 因为我们要启动的组件不止一种,可能是Activity,Service…所以用Intent来统一封装。 Intent有7个需要了解的属性:Component、Action、Category、原创 2017-04-01 14:20:03 · 381 阅读 · 0 评论 -
Activity生命周期
先直观地看一下Activity的生命周期的流程图,然后我们一个一个来说明每个方法在什么情况下被回调。onCreate():在Activity被创建的时候回调,这是生命周期的第一个方法,我们可以在这个方法里面加载界面布局资源,初始化Activity需要的数据。onRestart():在Activity从不可见变为可见时被调用。onStart():在Activity正在被启动的时候调用(这个原创 2017-04-24 10:41:42 · 300 阅读 · 0 评论