android
WuRuiF
一件简单的事情,重复的去做,反复的思考,不断的改进,会发生奇迹。
展开
-
IntentService与HandlerThread的工作原理(个人笔记)
IntentService与HandlerThreadIntentService为什么需要IntentServiceIntentService如何实现HandlerThread是什么?总结IntentServiceIntentService是Service的一个子类,为Android开发者提供了一个方便的在工作线程中执行的Service。为什么需要IntentService1.Servic...原创 2020-02-01 14:52:13 · 381 阅读 · 0 评论 -
Android复习-Acitivity的启动模式
所谓启动模式就是配置文件中的这个属性: <activity android:name=".Main3Activity" android:launchMode="standard"> launchMode属性用来标识Activity的启动模式,不行的话默认为standard。一共有四种:在介绍这四种模式之前首先的明确一个任务栈的概念,原创 2017-03-13 15:41:27 · 360 阅读 · 0 评论 -
Android复习-任务栈与Activity启动标记(使用标记启动Activity时的坑)
总结一下:这些标记单独使用,只有clearTop是起作用的,其余的不起作用。然后我就试了一下上面在service中组合使用的情况下,发现使用Service中的组合情况是有效果的,并且和Service中的效果是一样的。有人可能会说为什么在Service中就要使用组合呢,因为Service启动Activity必须得加上FLAG_ACTIVITY_NEW_TASK,所以实验的使用实验其他三种标志也必须与这个标记组合。所以,一般情况下不要依赖使用标记,这个产生的效果不是很好。请在配置文件中配置。原创 2017-03-13 17:35:51 · 916 阅读 · 0 评论 -
Android复习-事件分发机制(个人笔记)
一、Activity,Window,View我们在View里面接收到的MotionEvent是哪里来的?事件由系统先传递给Activity的dispatchTouchEvent方法,然后再通过window对象传递给decorView,decorView会最终传递给我们设置的布局里。如何向下传递?假设我们设置的顶级view是一个ViewGroup,那么事件会由Activity传递给D原创 2017-03-23 16:35:00 · 513 阅读 · 0 评论 -
Android复习-intent-filter匹配规则
隐式启动Activity,需要为这个Activity提供一组intent-filter进行匹配,这种隐式启动的方式往往用于启动别的App的一个Activity组件:为一个Activity指定一组intent-filter:原创 2017-03-14 10:51:22 · 450 阅读 · 0 评论 -
android java.lang.NoSuchFieldError: R$id.xxx
第一种情况 参考自http://www.shangxueba.com/jingyan/1856083.html 将引用的自定义控件的xml文件中的最外层布局上面添加xmlns:sat=“http://schemas.Android.com/apk/res/控件所在位置的包名”可是在运行时就会报java.l...转载 2018-10-09 10:36:19 · 611 阅读 · 0 评论 -
Android自定义图表库:前言
文章目录前言饼状图玫瑰图进度圆形图柱状图折线图前言网上的图表库说多也多 说少也少,但是我个人感觉很大的缺点就是,一个图表的文档太少,使用复杂,我个人的项目中一直使用的最古老的那个开源图表库AChartEngine,但是问题及其多,而且使用及其不方便,按照网上的资料设置相关的属性,却总是得到想要的效果,图表显示的时候,也会有各种重叠的现象,当时想换一个其他的图表库,比如MPAndroidChar...原创 2018-11-09 11:37:49 · 367 阅读 · 0 评论 -
Android Handler消息机制中的诸多疑问
前言网上总是有很多阐述Android消息机制的文章,基本上大同小异,都是讲Handle,Message,Looper,MessageQueue这四个类会如何协同工作的。但是动脑筋的童鞋们可能总是会有如下的一些疑问,我翻阅了数多微博,很多年了,也没有看到相关比较完整的解释,所以这些天自己深刻阅读了一下源码,并且为自己解答了心中一直存在的疑惑,记录在此,希望也能帮助有同样疑问的小伙伴。文章目录前言...原创 2018-11-07 17:34:33 · 404 阅读 · 1 评论 -
Android自定义图表库(一):圆形进度图
导航效果预览自定义View第一步:确认View的大小自定义View第二步:绘制内容总结效果预览自定义View第一步:确认View的大小无论是自定义一个View还是ViewGroup我们必须得先为其制定在不同MeasureSpecMode下的大小,我这里就不讲解什么绘制源码了什么的,我们就直接实战。我们在onMeasure中需要调用setMeasuredDimension(width,he...原创 2018-11-13 11:21:36 · 1728 阅读 · 3 评论 -
Android Studio编写Gradle插件时遇到的坑 Unable to load class 'XXX.XXX'
文章目录前言为什么会产生问题?如何解决前言很久以前使用写了一款Gradle插件为项目使用,但是使用Intellij idea写的,然后最近在复习写gradle插件,就在Android Studo里面写了,本人用的是2.2.3的Android Studio 一直没有换3.0,因为公司的电脑配置太辣鸡了,换了更不好用,太卡了。但是按照网上的教程,折腾了一天也不成功,一直报找不到插件的实现类,但是最...原创 2018-11-29 17:12:32 · 20494 阅读 · 6 评论 -
仿Keep自定义控件(个人记录)
文章目录效果第一种模式:CENTER_TO_RIGHT mode第二种模式:CENTER_TO_LEFT mode第三种模式:LEFT第四种模式:RIGHT代码片段联系方式 : 15910220851 邮箱:343191616@qq.com效果我为贵方实现了4种模式第一种模式:CENTER_TO_RIGHT mode第二种模式:CENTER_TO_LEFT mode第三种模式:LEF...原创 2018-12-18 14:58:51 · 7927 阅读 · 2 评论 -
Android复习-Acitivity的生命周期(二、异常情况下的各种回调)
首先来明确一下何为异常情况:Acitivty被异常杀死,例如Activity在后台时由于内存不足或一键清理引起的杀死,或者Acitivty的配置发生变化时,例如横屏转为竖屏。这些情况都会导致Activity执行“死亡”流程,并且再执行创建流程。进入一个Activity:A...onCreateA...onStartA...onResume然后进行横屏:03-13 11原创 2017-03-13 11:51:44 · 428 阅读 · 0 评论 -
Android复习-Acitivity的生命周期(一、正常情况下的各种回调)
Activity七大生命周期总结(源自Android艺术开发与探索):onCreate:表示Activity正在被创建,这个时候需要做一些初始化工作,例如加载布局资源,初始化数据。onStart :表示Activity正在被启动,即将被启动,这时的Activity已经可见了,但是在后台,无法与我们进行交互,并且对于我们而言,是不可见的。onResume: 表示Activity已经可见,原创 2017-03-13 10:53:35 · 718 阅读 · 0 评论 -
android简单实例---------android的内部存储使用
android的内部存储使用,所谓内部存储也就是往手机内存里面存储,这里要说重要一点,内部存储属于应用本身,若此应用被卸载,则通过内部存储,存储的数据都将消失。---------------------------------------------------------存储数据代码:OutputStream os = null; try { //打开内部存储(往手机内原创 2016-02-18 19:29:53 · 1335 阅读 · 1 评论 -
android简单实例---------SharedPreferences的简单使用与讲解
来看看SharedPreferences的简单使用,和综合运用-------------------------------------------------------------------------简单的使用SharedPreferences存储数据:代码://获取SharedPreferences实例(因为是接口,所以不能直接new,系统为我们提供了方法) //原创 2016-02-18 18:52:18 · 2450 阅读 · 0 评论 -
五种简单Dialog的使用,以及时间,日期Dialog中onDateSet,onTimeSet被执行两次的Bug
普通dialog ,ProgressDialog,DatePickerDialog,TimePickerDialog,自定义Dialog的例子。并且解决DatePickerDialog,TimePickerDialog中onDateSet,onTimeSet两个回调函数为什么会被执行两次的Bug。原创 2016-02-16 19:20:42 · 2130 阅读 · 0 评论 -
android小问题-------------android模拟器没有SD卡,SD卡状态为removed的解决方式
测试SD卡存储的时候,常常会遇到,用夜神模拟器等第三方模拟器不提供SD卡功能,包括都没有官方说的SD卡目录结构。用原生的模拟器有时候会没有SD卡(仅仅是会有这种情况,不是都没有),这个时候要么升级android模拟管理器,然后重新创建有SD卡功能的模拟器,要不就使用如下方式来添加SD卡:1、找到SDK安装目录下的tools文件夹,例如:D:\adt-bundle-windows-x86-201原创 2016-02-18 21:14:05 · 7921 阅读 · 1 评论 -
android小问题-------------SimpleCursorAdapter使用时的问题。 java.lang.IllegalArgumentException: column '_id' d
SimpleCursorAdapter使用时报错误:java.lang.IllegalArgumentException: column '_id'does not existSimpleCursorAdapter adapter.notifyDataSetChanged()更新视图不起作用。-------------------------------------------原创 2016-02-19 22:14:47 · 755 阅读 · 0 评论 -
android简单实例-----------------使用SQLiteOpenHelper以及SQLiteDatabase
SQLiteOpenHelper的使用,SQLiteDatabase的使用,操作Cursor对象简单讲解。getWritableDatabase()和getWritableDatabase()放发的讲解和区别。android数据库增删改查。好了,既然涉及到源码,我们在最后再来从源码角度来解析一下getReadableDatabase()放和getWritableDatabase()方法。可以看到这段代码的逻辑:如果当前版本号为0就执行onCreate()方法,如果当前版本号大于传进来的版本号(换句话说就是这原创 2016-02-20 17:54:10 · 6215 阅读 · 0 评论 -
android小问题--------------------SQLiteDatabase.insert(table, nullColumnHack, values)参数
SQLiteDatabase除了可以通过execSQL()直接执行SQL语句之外,还可以通过.insert(table, nullColumnHack, values)方法直接插入操作。第一个参数为表名,第三个参数为ContentValues实例,以键值对的形式将列和值Put进去然后放入第三个参数为就行了。那么第二个参数是什么意思,总有人搞不明白,第二个参数的字面意思其实就是:当第三个参数原创 2016-02-20 18:18:37 · 3209 阅读 · 0 评论 -
Android各种屏幕分辨率(VGA、HVGA、QVGA、WQVGA、WVGA、FWVGA) 详解
本文转载自------lucherr看资料的时候经常看到各种VGA,全都混了,无奈,找了些资料总结了下,分享给大家:这些术语都是指屏幕的分辨率。VGA:Video Graphics Array,即:显示绘图矩阵,相当于640×480 像素;HVGA:Half-size VGA,即:VGA的一半,分辨率为480×320,像三星盖世Ace S5830就是使用这分辨率;转载 2016-03-09 19:52:53 · 919 阅读 · 0 评论 -
android简单实例--------普通菜单optionMenu,上下文菜单ContextMenu,弹出式菜单的使用PopuMenu(一)
放一些android中三种菜单的使用,包括最常见的菜单栏,还有上下文菜单ContextMenu,以及弹出式菜单PopupMenu的简单应用与对应方法参数详解。-------------------------------------------------------第一种:普通菜单栏 :optionMenu先看效果图:核心代码: @Override public b原创 2016-02-25 16:19:46 · 1133 阅读 · 0 评论 -
Android复习-fragment声明周期与Activity生命周期(个人笔记)
Fragment生命周期(笔记):onAttach onCreateonCreateView:onViewCreatedonStartonReume:onPause:onStoponDestoryViewonDestoryonDetchfragment的生命周期与Activity绑定的,但是又不能统一而说,比如用fragmentManager原创 2017-03-20 11:13:52 · 1051 阅读 · 0 评论 -
android简单实例-----------5种Notification的简单使用
今天给大家放一些Notification的使用,先放5种简单的,分别是,普通notification,进度条notification,大视图通知(列表,通知),自定义notification,老规矩,先来图-----------------------------------------------------------------------------------普通通知:原创 2016-02-18 15:50:30 · 1231 阅读 · 0 评论