android
欢乐斗佛
这个作者很懒,什么都没留下…
展开
-
kotlin协程
协程是什么协程的概念其实很早之前就有了,并非Kotlin提出来的。百度一下发现有很多的所谓比较正式的定义,但是理解起来我骂娘。最多的是那协程与线程做比对的,得出的结论大多是协程和线程一样是用来实现异步任务的,异步也就是不阻塞当前的线程,可是线程都是顺序执行的,这就导致一个矛盾的问题出现,所以你查到的文章写得其实都不是真确的!其实协程最关键的知识就是调度器,调度器可以启动一个协程,调度器的原理知原创 2017-12-25 17:01:29 · 731 阅读 · 0 评论 -
Android发送通知
安卓使用通知和用户交互是一个非常不错的选择,也是我们项目中经常用到的一个功能,所以今天有必要对这块做一下归纳。安卓发送的通知效果就是在状态栏显示一个通知的小图标,当下拉通知栏的时候可以看到整个消息的内容,同时在接收到消息的时候可以带声音、提示灯闪烁、震动、进度条等等,单用户点击通知的内容时也可以使用Intent干任何你想做的事,比如打开一个app,打开指定的网页,拨打电话等等,通知的一般样式如下图原创 2015-11-17 13:08:36 · 80431 阅读 · 0 评论 -
Android二维码的使用
先来看下效果图:Android扫描和生成二维码可以使用Google开源项目:Zxing。其可以解析多种格式的1D/2D条形码。能够对QR编码、Data Matrix、UPC的1D条形码进行解码。 其提供了多种平台下的客户端包括:J2ME、J2SE和Android等。GitHub下载地址:https://github.com/zxing/zxing其下载到的是一个庞大原创 2015-11-16 09:39:51 · 81153 阅读 · 0 评论 -
Android自定义View之一
学会使用自定义View是非常有必要的,要想成为高手,这个是必须的。看完这篇文章你要到达这样的效果:能自己动手使用自定义属性画一个简单的View,如果看完后你能达到这个效果,那么我们的目标就达到了,如果还没有达到,请回到这里再看一遍。ok,要学会使用自定义View首先需要了解两个类:Canvas:相当于画画是使用的画布。Paint:相当于一只画笔。有了画布和画布就可以原创 2015-11-13 11:18:00 · 81377 阅读 · 0 评论 -
Android之handler介绍
handler字面意思是处理者,其实我们在学习编程的时候,很多单词从字面意思就可以猜出一二。那么这个处理者都处理些什么呢??有什么用呢?安卓开发中,一个对象处理完一些数据需要通知另一个对象继续处理后面逻辑的时候,就需要在两个对象之间通信,比如一个异步任务下载数据,下载完成的时候我们要告知UI线程更新view,这个时候我们可以使用接口回调,也可以发广播,这些都能做到(如果你告诉我用AsynTask,原创 2015-11-12 16:21:08 · 81457 阅读 · 0 评论 -
Android之WebView详解
Android提供WebView来加载网页数据,也可以加载本地的资源文件。使用WebView有两种方式,一种是直接在XML布局文件中定义WebView然后在Activity中使用findviewById()找到这个控件,还有一种方式是使用代码直接new一个View对象然后添加到ViewGroup中。与WebView相关的类有两个,一个是WebSettings,该类可以对WebView的一些属性进行原创 2015-11-12 14:11:06 · 82693 阅读 · 0 评论 -
Android四大组件之BroadCastReceiver
Android中广播接收者作为4大组件之一,使用是需要在manifest文件中注册。也可以在Activity中动态的注册,动态注册的话需要动态销毁,要不然会报异常。广播一般用来与广播接收者之间通信,并且可以携带数据,携带数据是通过intent来实现的,所以intent能携带的数据其都能携带,可以携带基本数据和实现了parcelable接口的对象。广播是全局的,也就是一个广播发送出去,整个手机里面的原创 2015-11-11 17:12:00 · 81635 阅读 · 0 评论 -
Android 之屏幕全屏、去掉标题栏
去掉标题栏的大致类别有2中,一种就是在代码中去掉,另一种是在XML文件中实现。一、去掉标题栏先来看下效果:用代码实现:requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.activity_main);顺序不能弄反哦。在XML文件中的话,可以在mani原创 2015-11-10 10:39:28 · 81739 阅读 · 0 评论 -
Android之WindowManager实现悬浮按钮
WindowManager主要用来管理窗口的一些状态、屏幕分辨率、属性、view增加、删除、更新、窗口顺序、消息收集和处理等。其继承于ViewManager,获取这个对象有两种方式:1、Activity.getWindowManager();2、(WindowManager)Context.getSystemService(Context.Window_SERVICE);其原创 2015-11-09 11:17:48 · 88747 阅读 · 0 评论 -
Android四大组件之Activity
Activity是安卓中使用最多的一个组件,其用来显示界面,负责与用户的交互。Activity运行与主线程中,不可以在其中直接操作比较耗时的操作,如果超过5秒就会出现ANR,如果直接操作网络就会报错。使用时需要在manifest文件中注册,其继承关系为:Activity-->ContextThemeWrapper--->ContextWrapper--->Context.生命周期:原创 2015-11-09 09:49:13 · 82726 阅读 · 0 评论 -
Android 四大组件之service
Service为安卓四大组件之一,学会使用service是作为一个优秀的程序员必备的技能。Service运行与主线程之中,可以在Activity界面销毁的时候依然在后台运行。Service有两种,一种是远程服务,一种是本地服务。远程服务指的是不同进程间通信的服务(一般情况下也可以理解为一个App就是一个进程),本地服务是在同一个进程间通信的服务。Service的启动方式有两种,一种是在Activi原创 2015-11-07 18:33:42 · 81997 阅读 · 0 评论 -
listview之一些常见问题的解决方法
android中Listview使我们经常使用的控件,一般常规的用法就是在布局文件中定义然后在Activity使用findViewById()找到,然后定义一个listview每一项的布局文件,在adapter中getView方法里Inflate该XML文件得到一个view返回,最后给listview设置该适配器。其中adapter有如下几种:1、ArrayAdapter,只能用来适配list原创 2015-11-18 10:51:51 · 77477 阅读 · 0 评论 -
RecyclerView使用介绍
RecyclerView是Google在5.0中发布的新控件,用来替代ListView,它的使用更加灵活,提供了更好的性能而且更容易使用。该控件是一个可以装载大量的视图集合,并且可以非常效率的进行回收和滚动。当你list中的元素经常动态改变时可以使用RecyclerView控件。它提供了如下两个功能:1、为每个条目位置提供了layout管理器(RecyclerView.setLayoutM原创 2015-11-18 11:39:38 · 76515 阅读 · 0 评论 -
Android之打造个性化的Toast
Toast在android中可谓是必备的交互形式,看厌倦了灰色的提示框和固定位置的显示,你有没有想过打造一个自己想要的显示效果呢?今天就来给大家介绍Toast自定义样式,自定义位置的使用,给我们的app添加一份专属的特效~~~~~~~~~~~先来看下效果:ok,先来看看传统的使用方式:Toast.makeText(context,text,time).sho原创 2015-11-20 17:08:01 · 76608 阅读 · 0 评论 -
Kotlin函数
函数是与我们打交道最多的,也是最复杂的一块,所以有必要单独的弄篇文章来详细的说明。比起Java中的函数,Kotlin的更为复杂,比如Kotlin还支持函数的扩展和单表达式函数,下面将详细的介绍。定义一个函数函数使用关键字fun来定义,格式如下: 【修饰符】fun 函数名字(参数):返回值{ 函数体},如 :open fun varaFun(vararg param:原创 2017-10-18 09:35:20 · 551 阅读 · 0 评论 -
ubutun16.04.1下开发android及使用技巧
之前发布了一篇介绍android源码的编译,里面提到了使用linux作为开发环境,可是很多一部分人是从window下面转过来的,对linux的使用不是很熟悉,导致碰到很多问题,这篇文章就教大家如何搭建linux下的开发环境,以及linux常用的命令和使用技巧,从零开始带大家走一遍linux下面的开发流程,使大家用最少的使用时间来着手开发,体验android在祖先内核下的非凡体验~原创 2017-02-21 17:52:41 · 1624 阅读 · 0 评论 -
AppWidget实现自定义view
一、鸡汤appwidget是android中小组件,我们经常说的widget其实是指的那些button、textview、imageview等这些小控件,而appwidget则是嵌入到别的app中的activity中显示的一种视图。通常我们的appwidget都是嵌入到luncher应用中的(我们经常说的桌面其实也是一款app也就是home luncher应用,手机里的应用会在其activit原创 2016-08-09 11:56:56 · 8233 阅读 · 7 评论 -
从setContentView谈谈android的布局层级
因为android各版本的布局层级会有所差异,所以先告诉大家我测试的环境背景,如有在别的系统版本下面测试的结果有所出入请在下面留言支出,方便更多的读者可以从中获益,谢谢大家!android studio:2.2.2java版本:1.8系统版本:ubuntu sdk版本:minSdkVersion 19, targetSdkVersion 25手机版本:乐视6.01前原创 2016-11-04 09:53:06 · 3710 阅读 · 1 评论 -
Android网络访问之http、https、 cookie的使用
最近公司做一个游戏SDK,只有我一个人做~~~~~~~~,以前也没做过这个,起初感觉无从下手,前前后后花了大概4周的时间,与第一家厂家对接完成的时候,总算松了口气。项目中的网络模块,从http开始调通,然后加上cookie,最后换成https,感觉显目的大半时间都花在这里,下面把这一块的知识总结一下,希望对正在看文章的你有一定的帮助~~Google对安卓网络访问这块有一个专门的原创 2015-11-03 11:59:51 · 84770 阅读 · 0 评论 -
Android数据存储总结 之二
连接上一篇:Android数据存储总结之一三、数据库保存Android使用的数据库为SQLite,此数据库的特点是小巧,没有系统进程,只需要几百K的内存就可以跑起来,ISO和Android都使用的这个。数据库存储的数据类型有:1、NULL,值是NULL2、INTEGER,值是有符号整形,根据值的大小以1,2,3,4,6或8字节存放3、REAL,值是浮点型原创 2015-11-02 11:45:51 · 82490 阅读 · 0 评论 -
Android数据存储总结 之一
今天和大家聊聊Android数据存储的那些事,顺便对这一块知识做一个总结归纳。学习Android开发,知识很多很杂,对于一个刚学习的人来说,学的即使再多但在实际的开发中却也不懂得怎么去用,碰到问题了也不知道选择哪种方式去解决,有时候碰到一个问题咋一看感觉很复杂,不知道如何去下手;有时候一个问题好像又有很多种解决办法,不知道选择哪一种比较好;学的知识综合运用到一个完整的项目中问题百出,各种卡住无法往原创 2015-10-28 16:28:23 · 82470 阅读 · 0 评论 -
Android汉字转拼音
有时候需要将汉字转换为对应的拼音,比如通讯录查找功能,就需要输入拼音的首字母查询出对应的联系人,本Demo功能为输入汉字,输出对应汉字的拼音,需要用的第三方jar包:pinyin4j.jar 首先介绍一下这个jar包的使用,一般使用到的就两个类,HanyuPinyinOutputFormat,PinYinHelper.第一个类主要用来对输出的拼音格式做一些原创 2015-10-19 12:52:12 · 81818 阅读 · 0 评论 -
Android创建和删除快捷图标
经常看到安装一个应用后会在桌面自动创建一个快捷方式,今天就来看看如何给自己的应用创建一个快捷方式和删除掉一个快捷方式,如何查询自己的应用是否已经创建了一个快捷方式,因为这块知识很简单,就直接贴代码了。一、创建快捷方式:shortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT")shortcut.pu原创 2015-09-06 13:13:53 · 82692 阅读 · 0 评论 -
Android之动画详解
是时候对安卓动画这块做一个详细的总结了,学会了动画就可以做一些很炫的效果出来,这样的应用很得用户的喜欢。安卓中的动画目前总共可以分为3类:补间动画、帧动画、属性动画。其中第三种是3.0后才出现的,与其他两种不同的是,这种动画改变的属性是View本身的属性。动画可以用代码来写,也可以用XML文件的形式来写,下面就按照3大类2中方式的形式分别做一个演示。提供一个获取原创 2015-11-04 17:40:11 · 82344 阅读 · 0 评论 -
SwipeRefreshLayout 实现下拉刷新
Google发布的V4包中有一个SwipeRefreshLayout控件,可以实现下拉刷新数据的效果。该类可以作为一个布局文件的根布局,作为一个容器类,至少需要一个子视图,结合ListView使用;使用这个类的时候我碰到如下的问题,和一些体会,希望对你有所帮助:1、单把SwipeRefreshLayout作为跟视图的时候,如果子视图为TextView就无法显示下拉效果。2、当子原创 2015-11-03 16:35:18 · 81904 阅读 · 0 评论 -
Android手势之GestureOverlayView
前一篇文章我们介绍了GestureDetector类,这个主要用来处理触摸点击、双击、滑动操作,对于一个具体的手势是无能为力的,今天我们介绍的这个类可以自定义一个手势用来代表一个具体的操作,比如我们画个对勾让当前页面跳到另一个页面,而画个圈关闭当前页面。GestureOverlayView作为一个Vie存在,自然是可以在布局文件中定义的,不过该类不是标准的控件类,所以需要全限定类名来引用,那么原创 2015-12-04 17:44:20 · 43120 阅读 · 0 评论 -
android 5.0新增的控件总结
5.0中新添加了很多控件,为了便于学习和总结这里我给大家归纳了一下:使用方式:builde.gride文件中添加下面的依赖,compile 'com.android.support:design:22.2.0' //可修改版本号为对应的buildToolsVersion版本然后就可以使用所有的控件了,如下:1、android.support.v7.widget.CardView原创 2016-05-23 17:35:21 · 8581 阅读 · 1 评论 -
Viewpager轮播添加动画
必须知识点ViewPager是Google自带的翻页控件,存放在V4兼容包中,继承于ViewGroup,官方推荐和Fragment一块使用。我们平时使用的地方主要有2个,一个是app第一次启动的引导页,第二个就是弄几张图片轮播的那种。在第二种使用方式的时候经常配合PagerTabStrip或者PagerTitleStrip来显示一个标签用来指引现在处于第几个页面。PagerTabStrip原创 2016-11-25 18:11:43 · 38743 阅读 · 0 评论 -
Fragment使用详解
fragment是Google在3.0版本中推出的新功能,现在已经加入到V4包中,如果要使用V4兼容包中的Fragment需要将Activity换成FragmentActivity,调用的getSupportFragmentManager获取FragmentManager而不是getFragmentManager。Fragment是Google大力推荐使用的一个功能,它和Activity功能其实差原创 2015-12-23 09:28:20 · 34339 阅读 · 2 评论 -
Service之IPC远程通信
一篇好的文章势必是可以用简短的文字就可以讲透一个知识点,所以我一般写文章都是把最本质的原理体现出来,如果你要阅读哪些详细的说明可以百度这个相关的技术点。跟着我的步骤操作我可以用最少的时间和精力让你用起这个技术点,看到效果,只有自己操作一遍之后看到效果了才可以学好一个技术点,我会把技术点的精华和本质给大家说明,同学们可以根据自己已有的知识去体会,融汇到以前学的知识中去,看看你现在学的知识点和以前的知原创 2015-12-09 16:58:59 · 36618 阅读 · 0 评论 -
Android 使用Messenger实现跨app通信
Android中使用跨进程通信有以下几种方式:文件、广播、aidl、messenger,今天要讲的是使用messenger来实现跨app通信也就是在两个不同的app中实现双向通信。其实Messenger底层也是使用aidl的方式来实现的,只不过其使用handler来处理消息,因为handler是线程安全的,所以Messenger也是线程安全的,自然Messenger只能处理单线程的问题,如果要使用原创 2016-09-18 13:05:04 · 6148 阅读 · 0 评论 -
android 购物车 listview嵌套问题
该购物车使用3个listview嵌套完成,具有3级分类:仓库、商铺、商家,效果图如下:代码直接贴出来:package com.globex.o2o.controllers.shoppingCart;import android.content.DialogInterface;import android.content.Intent;import android.grap原创 2016-05-25 13:16:20 · 2349 阅读 · 3 评论 -
接口回调本质就这么简单
一、为什么会有接口回调?什么是接口回调?二、使用实例三、总结原创 2016-05-31 16:10:26 · 13735 阅读 · 5 评论 -
LocalBroadcastManager发送本地广播
一、知识点准备LocalBroadcastManager类,该类用来注册和发送本地广播,所谓本地广播就是指在同一个process中运行的app,一般一个应用就是一个app,所以一般情况下你就认为其只是在同一个app中发送和接受的广播。要注意的是,广播接收着的onReceive是运行在主线程中的,所以不能在其中处理耗时的操作。本地广播只能通过动态的方式注册,如果使用静态注册是无法接收到广播的。L原创 2016-08-05 18:14:32 · 3535 阅读 · 0 评论 -
Android手势使用之 GestureDetector
Android中对触摸事件的处理使用的是onTouchEvent,如果你对这块只是还不是很熟练,请查看我的另一篇文章:android触摸事件处理逻辑如果要在处理监听里面自己去写手势处理不是不可以,只是非常的麻烦,你自己要判断各种坐标值,点击时间等等,好在Google给我们已经封装好了一个手势处理类:GestureDetector,使用这个类就可以非常方便的处理单击、双击等各种手势,与手原创 2015-12-03 16:24:22 · 49769 阅读 · 1 评论 -
android触摸事件处理逻辑
要想做一个用户体验好的app,弄清楚系统对触摸事件的处理逻辑是最基本的。一个完整的触摸事件由一个ActionDown、N个ActionMove和一个actionup组成,比如我们点击屏幕的时候,如果只是点击不滑动N的值就为1,如果滑动N的值就会不断的增加。要处理好触摸事件,只需要了解3个方法就可以了,分别是onTouchEvent()、onInterceptTouchEvent()、dispatc原创 2015-12-01 16:31:24 · 44176 阅读 · 0 评论 -
android使用theme和style
theme和style其实使用方式是一样的,不同的是定义他们的时候,里面的item内容是不一样的,theme的item一般都含有window之类的,而style一般都是View的外观设置,比如textcolor,layout_height之类的,theme用在Activity里面设置样式而style用在View上面设置view的外观。要使用他们,只需要在res/values目录下面新建一个styl原创 2015-11-30 17:01:29 · 58353 阅读 · 0 评论 -
Xutils3的使用
Xutils是前两年很火的一个三方库(githup地址),是一个工具类,分为4个模块:DbUtils、HttpUtils、ViewUtils、BitmapUtils,还有一个非常使用功能就是LogUtils,可以用来输出Log日志。这个第三方库已经很久没有更新了,对最新的6.0系统支持也不是很好,所以现在出了一个新的Xutils3(githup地址),今天就来看看新的Xutils3有什么改变。原创 2016-11-25 17:23:20 · 87006 阅读 · 11 评论 -
android之CardView的使用
Google在android5.0的时候发布了一个新的控件CardView(卡片布局),其继承与FrameLayout,可以作为一个ViewGroup来使用。其实现的卡片效果可以是圆角的也可以添加阴影,使用非常的简单,下面来简单的教大家使用。准备工作:1、更新到最新的SDK,在sdk/extras/android/support/v7/中找到CardView文件夹2、导入上一步找到的文原创 2015-11-27 16:33:32 · 87889 阅读 · 0 评论 -
Android之传感器使用总结
Android中使用传感器是非常简单的,首先获取到一个SensorManager对象,然后使用SensorManager对象获取到具体的传感器,给SensorManager注册一个监听事件并且在不需要的时候解注册就搞定了。下面来看具体的使用:获取SensorManager对象://得到sensorManager对象 sensorManager = (SensorManage原创 2015-11-26 09:24:33 · 67740 阅读 · 0 评论