10 2017 档案

摘要:LinearGradient的用法 LinearGradient linearGradient; linearGradient = new LinearGradient(0, 0, 0, getHeight(), 0xff808080, 0x33808080,CLAMP); getPaint().s 阅读全文
posted @ 2017-10-31 23:38 dub 阅读(236) 评论(0) 推荐(0)
摘要:UDP• 将数据及源和目的封装成数据包中,不需要建立连接• 每个数据报的大小在限制在64k内• 因无连接,是不可靠协议• 不需要建立连接,速度快 DatagramSocket与DatagramPacket 建立发送端,接收端。 建立数据包。 调用Socket的发送接收方法。 关闭Socket。 发送 阅读全文
posted @ 2017-10-29 00:35 dub 阅读(155) 评论(0) 推荐(0)
摘要:Android储存一共5种方法 一: 手机内置,外部储存 1.获取本地存储 (Android的读写文件及权限设置) getFilesDir() data/data/包名/File getCacheDir(); data/data/包名/Cache 2.获取外部存储(APP的缓存文件放在哪里?) Ev 阅读全文
posted @ 2017-10-28 13:31 dub 阅读(245) 评论(0) 推荐(0)
摘要:环境 OSXAndroidStudio 1.0 多渠道打包方法 1.友盟 2.美团 3.360 关于(混淆) 多渠道设置 渠道号 以友盟SDK为例,打包多渠道:GooglePlay,小米,友盟,360,豌豆荚,应用宝。在AndroidManifest.xml中加入渠道区分标识 <meta-data 阅读全文
posted @ 2017-10-28 00:39 dub 阅读(539) 评论(0) 推荐(0)
摘要:转自:http://sun.sanniang.me/2014/04/26/the-relationship-vitamio-with-ffmepg-lgp-gpl Vitamio 使用了 FFmpeg 做为媒体解析器和最主要的解码器,同时开发了针对不同移动平台的硬解码方案,能够完美支持 H.264/ 阅读全文
posted @ 2017-10-27 21:40 dub 阅读(1245) 评论(0) 推荐(0)
摘要:getResources().getDrawable() 过时的解决方法 当你这个Drawable不受主题影响时 ResourcesCompat.getDrawable(getResources(), R.drawable.name, null); 当你这个Drawable受当前Activity主题 阅读全文
posted @ 2017-10-25 23:49 dub 阅读(693) 评论(0) 推荐(0)
摘要:在build.gradle里添加以下两句: 阅读全文
posted @ 2017-10-25 14:32 dub 阅读(373) 评论(0) 推荐(0)
摘要:EventBus 1.根据文章最前面所讲的EventBus使用步骤,首先我们需要定义一个消息事件类: public class MessageEvent { private String message; public MessageEvent(String message) { this.mess 阅读全文
posted @ 2017-10-25 13:08 dub 阅读(298) 评论(0) 推荐(0)
摘要:采用消息发布/订阅的一个很大的优点就是代码的简洁性,并且能够有效地降低消息发布者和订阅者之间的耦合度。举个例子,比如有两个界面,ActivityA和ActivityB,从ActivityA界面跳转到ActivityB界面后,ActivityB要给ActivityA发送一个消息,ActivityA收到 阅读全文
posted @ 2017-10-25 13:02 dub 阅读(267) 评论(0) 推荐(0)
摘要:通常我们是用findViewById()方法来取得我们要使用的View控件,不过除了这一种方法之处 ,我们还可以用View中的setTag(Onbect)给View添加一个格外的数据,再用getTag()获取到对应的View。setTag()和getTag()方法常用在处理多个相同的View时,比如 阅读全文
posted @ 2017-10-25 10:25 dub 阅读(943) 评论(0) 推荐(0)
摘要:这里给出一些主流的应用市场名单,有些可能已经不行了,自己找一找,很容易的: 应用市场图-1 应用市场图-1 阅读全文
posted @ 2017-10-25 09:27 dub 阅读(276) 评论(0) 推荐(0)
摘要:1.第一种 @Override public boolean onKeyUp(int keyCode, KeyEvent event) { //点击回退键 if(KeyEvent.KEYCODE_BACK==keyCode) { //显示一个警告框 new AlertDialog.Builder(M 阅读全文
posted @ 2017-10-24 23:36 dub 阅读(188) 评论(0) 推荐(0)
摘要:1,viewPagre的普通写法public ImagePagerAdapter(Context context, List<Photo> imgList) { this.mContext = context;}private void createImageViews() { for (int i 阅读全文
posted @ 2017-10-24 16:58 dub 阅读(225) 评论(0) 推荐(0)
摘要:为了节省资源,分批加载数据//适配器class TabLayoutViewPagerAdapter extends FragmentStatePagerAdapter { public TabLayoutViewPagerAdapter(FragmentManager fm) { super(fm) 阅读全文
posted @ 2017-10-24 16:56 dub 阅读(350) 评论(0) 推荐(0)
摘要:1.用bundle存Bundle bundle = new Bundle();bundle.putString("cid1", classList.get(i).getId());//横商品分类IDbundle.putParcelableArrayList("data", classList.get 阅读全文
posted @ 2017-10-24 16:53 dub 阅读(194) 评论(0) 推荐(0)
摘要:在一些项目中会分拆app 和 lib , 这时候引用support的时候,一旦更改版本会出现需要同步更改两个地方的问题.这种情况,可以通过配置gradle.properties实现替换. 在项目编译过程中,gradle.properties配置的值会被编译解析,其作为配置文件使用是很有必要的. 在项 阅读全文
posted @ 2017-10-24 16:00 dub 阅读(3592) 评论(0) 推荐(0)
摘要:极光推送对于移动开发的程序员都不陌生,用起来也挺方便的,今天在这里给大家介绍下最先版的极光推送的用法,超级简单。 1.在build.gradle里面添加两个方法并引用一个库文件 1.1在defaultConfig内部添加两个方法 ndk { abiFilters 'armeabi', 'armeab 阅读全文
posted @ 2017-10-24 15:47 dub 阅读(486) 评论(0) 推荐(0)
摘要:光照传感器 Android 中每个传感器的用法其实都比较类似,真的可以说是一通百通了。首先第一步要获取到 SensorManager 的实例 [html] view plain copy SensorManager senserManager = (SensorManager) getSystemS 阅读全文
posted @ 2017-10-22 18:47 dub 阅读(628) 评论(0) 推荐(0)
摘要:1.单位时间内完成界面大量多次更新 2.双缓冲机制 3.可以在子线程更新UI 4.用接口回调处理刚开始加载不成功 阅读全文
posted @ 2017-10-22 18:30 dub 阅读(132) 评论(0) 推荐(0)
摘要:-videoVIew 继承SurfaceView 使用android的VideoView来播放一个视频,步骤是: 1,在xml中创建一个videoView, 2,在java中导入,然后创建一个MediaController控制条来控制。 3,利用videoView的setVideoPath来把打开的 阅读全文
posted @ 2017-10-22 18:17 dub 阅读(350) 评论(0) 推荐(0)
摘要:使用MediaPlayer播放音频或者视频的最简单例子: JAVA代码部分: public class MediaPlayerStudy extends Activity { private Button bplay,bpause,bstop; private MediaPlayer mp = ne 阅读全文
posted @ 2017-10-22 18:15 dub 阅读(469) 评论(0) 推荐(0)
摘要:一般大家使用的是MediaPlayer来播放音频,它的创建和销毁都是非常消耗资源的,如果我们的需求是播放一些短促而且频繁播放的音频的话MediaPlayer就有些不合适了,我们来讲讲SoundPool来播放短促的音频: SoundPool结构如下 初始化SoundPool 初始化SoundPool 阅读全文
posted @ 2017-10-22 18:11 dub 阅读(1099) 评论(0) 推荐(0)
摘要:ContentProvider:为存储和获取数据提供统一的接口。可以在不同的应用程序之间共享数据。Android已经为常见的一些数据提供了默认的ContentProvider 主要是用url和Scheme 1、ContentProvider使用表的形式来组织数据 无论数据的来源是什么,Content 阅读全文
posted @ 2017-10-22 14:25 dub 阅读(162) 评论(0) 推荐(0)
摘要:Service中的IBinder 还记得我们在MyService中利用new IMyInterface.Stub()向上转型成了IBinder然后在onBind方法中返回的。那我们就看看IMyInterface.Stub吧: 可以看到,Stub是IMyInterface中的一个静态抽象类,继承了Bi 阅读全文
posted @ 2017-10-22 12:35 dub 阅读(1091) 评论(0) 推荐(0)
摘要:感谢 如果你还没有看过前面一篇文章,建议先去阅读一下 Android Service完全解析,关于服务你所需知道的一切(上) ,因为本篇文章中涉及到的代码是在上篇文章的基础上进行修改的。 在上篇文章中我们知道了,Service其实是运行在主线程里的,如果直接在Service中处理一些耗时的逻辑,就会 阅读全文
posted @ 2017-10-22 12:15 dub 阅读(237) 评论(0) 推荐(0)
摘要:1.什么是aidl:aidl是 Android Interface definition language的缩写,一看就明白,它是一种android内部进程通信接口的描述语言,通过它我们可以定义进程间的通信接口icp:interprocess communication :内部进程通信 2.既然ai 阅读全文
posted @ 2017-10-22 11:25 dub 阅读(281) 评论(0) 推荐(0)
摘要:Service和Activity通信 上面我们学习了Service的基本用法,启动Service之后,就可以在onCreate()或onStartCommand()方法里去执行一些具体的逻辑了。不过这样的话Service和Activity的关系并不大,只是Activity通知了Service一下:“ 阅读全文
posted @ 2017-10-22 10:45 dub 阅读(370) 评论(0) 推荐(0)
摘要:1.线程与进程的区别: 进程是指运行中的应用程序,每一个进程都有自己独立的内存空间。一个应用程序可以同时启动多个进程。例如对于IE浏览器程序,每打开一个IE浏览器窗口,就启动了一个新的进程。同样,每次执行JDK的java.exe程序,就启动了一个独立的Java虚拟机进程,该进程的任务是解析并执行Ja 阅读全文
posted @ 2017-10-21 23:59 dub 阅读(4644) 评论(0) 推荐(0)
摘要:在Android项目中经常有碰到这样的问题,在子线程中完成耗时操作之后要更新UI,下面就自己经历的一些项目总结一下更新的方法: 在看方法之前看一下Android中消息机制: 引用 Message:消息,其中包含了消息ID,消息处理对象以及处理的数据等,由MessageQueue统一列队,终由Hand 阅读全文
posted @ 2017-10-21 23:54 dub 阅读(563) 评论(0) 推荐(0)
摘要:第一:什么会引发ANR? 在Android里,应用程序的响应性是由Activity Manager和WindowManager系统服务监视的 。当它监测到以下情况中的一个时,Android就会针对特定的应用程序显示ANR: 1.在5秒内没有响应输入的事件(例如,按键按下,屏幕触摸) 2.Broadc 阅读全文
posted @ 2017-10-21 22:48 dub 阅读(608) 评论(0) 推荐(0)
摘要:①注册广播事件: 注册方式有两种, 一种是静态注册,就是在AndroidManifest.xml文件中定义,注册的广播接收器必须要继承BroadcastReceiver; 另一种是动态注册,是在程序中使用Context.registerReceiver注册,注册的广播接收器相当于一个匿名类。两种方式 阅读全文
posted @ 2017-10-21 22:42 dub 阅读(378) 评论(0) 推荐(0)
摘要:启动模式有四种,分别是:standard、singleTop、singleTask、singleInstance,可以在AndroidManifest.xml文件中通过给<Activity>标签指定android:launchMode属性来选择启动模式。 1. standard standard是活 阅读全文
posted @ 2017-10-21 22:21 dub 阅读(191) 评论(0) 推荐(0)
摘要:我们已经分析过Activity的启动流程,从中也分析了Activity的生命周期。而其中有一个生命周期方法:onSaveInstanceState方法,今天我们主要讲解一下onSaveInstanceState方法的执行时机。 可能部分同学对Activity的onSaveInstanceState方 阅读全文
posted @ 2017-10-21 22:00 dub 阅读(283) 评论(0) 推荐(0)
摘要:android中的组件Activity在manifest.xml文件中可以指定参数android:ConfigChanges,用于捕获手机状态的改变。 在Activity中添加了android:configChanges属性,在当所指定属性(Configuration Changes)发生改变时,通 阅读全文
posted @ 2017-10-21 21:58 dub 阅读(440) 评论(0) 推荐(0)
摘要:我们在使用电脑过程中一般会很少用到cmd命令,CMD命令窗口在一些特殊情况时我们会用到,如PING下看网络通不通。在CMD窗口里运行命令如磁盘格式转换,但是有些朋友遇到了这样的问题,在开始运行输入CMD回车后,CMD命令黑框框出来闪一下就消失不见了的问题,仔细看下下面关于cmd命令运行后迅速消失的解 阅读全文
posted @ 2017-10-21 14:36 dub 阅读(5026) 评论(0) 推荐(0)