
android技术开发
文章平均质量分 75
River丶
这个作者很懒,什么都没留下…
展开
-
Android开发之SurfaceView详解
SurfaceView介绍通常情况程序的View和用户响应都是在同一个线程中处理的,这也是为什么处理长时间事件(例如访问网络)需要放到另外的线程中去(防止阻塞当前UI线程的操作和绘制)。但是在其他线程中却不能修改UI元素,例如用后台线程更新自定义View(调用View的在自定义View中的onDraw函数)是不允许的。如果需要在另外的线程绘制界面、需要迅速的更新界面或则渲染UI界面转载 2015-11-09 15:38:12 · 760 阅读 · 0 评论 -
build模式小例子
简单介绍一下build模式直接上代码。简单易懂。也方便自己以后复习。public class Person { private final int age; private final int safeID; private final String name; private final String address; public int getA原创 2016-03-16 18:49:07 · 591 阅读 · 0 评论 -
android的四种设计模式
前言: Android开发的设计模式,基本设计思想源于java的设计模式,java的设计模式有N多种,据不完全统计,迄今为止,网络出现最频繁的大概有23种。Java只是一门开发语言,学会并掌握这门语言进行代码编写,这是每个程序员必修的课程,但如何写出高质量、易维护和复用性强的代码,那就体现出程序员的层次和水平了。设计模式的出现就是为了解决这些问题。 开始转载 2015-11-16 15:02:25 · 4682 阅读 · 11 评论 -
Bitmap.createBitmap函数有6个重载方法
public static Bitmap createBitmap(Bitmap src)从原位图src复制出一个新的位图,和原始位图相同public static Bitmap createBitmap(int[] colors, int width, int height, Bitmap.Config config) 这个函数根据颜色数组来创建位图,注意:颜色数组的长度原创 2016-02-23 20:58:32 · 550 阅读 · 0 评论 -
Android中自定义样式与View的构造函数中四个参数的意义
看到大神的一篇奇文,解决了我多年的困扰。原博地址:http://www.cnblogs.com/angeldevil/p/3479431.html零、序一、自定义Style二、在XML中为属性声明属性值 1. 在layout中定义属性 2. 设置Style 3. 通过Theme指定三、在运行时获取属性值 1. View的第三个构造函数的第三个转载 2016-03-08 22:59:48 · 3267 阅读 · 0 评论 -
极光推送的使用步骤
关于极光推送的使用步骤自己使用过程中的配置步骤1.去极光官网注册一个账号,并且新建一个项目网上一大堆不详细介绍了。注意包名。然后下载android的例子工程2.自己在本地创建一个和刚才一样包名的工程。3.copy相应的代码和资料。包括 manifest.xml的一些权限。剔除一些自己不需要的然后复制进来即可。<uses-sdk android:minSdkV原创 2016-02-25 17:01:26 · 11857 阅读 · 0 评论 -
Android 中View类DrawingCache的使用
View组件显示的内容可以通过cache机制保存为bitmap,主要有以下方法:void setDrawingCacheEnabled(booleanflag), Bitmap getDrawingCache(booleanautoScale), void buildDrawingCache(booleanautoScale), void destr原创 2016-04-13 13:06:57 · 838 阅读 · 0 评论 -
Activity的四种启动模式的自己理解
Activity的四种启动模式1. 标准模式A启动B,B为标准模式,不论B是否需求开启新的任务栈,都在A的任务栈中新建B,如若B再启动A,A为标准模式,则不论A是否需求开启新的任务栈,都在B的任务栈中以标准模式新建A。(A,B同一个栈)2. 栈顶复用A启动B,B为栈顶复用,不论B是否需求开启新的任务栈,都在A的任务栈中使用栈顶复用创建B. 如若B再启动A,A为标原创 2015-11-13 18:04:22 · 500 阅读 · 0 评论 -
java的左移和右移的区别常见的hascode和equals写法
java的左移和右移的区别常见的hascode和equals写法“>> 右移,高位补符号位” 这里右移一位表示除2“>>> 无符号右移,高位补0”; 与>>类似“<< 左移” 左移一位表示乘2,二位就表示4,就是2的n次方@Overridepublic boolean equals(Object o) { if (this == o) return true; if原创 2016-04-11 21:52:14 · 803 阅读 · 0 评论 -
Android Studio 告诉你名字,自己修改快捷键
本文出自 “阿敏其人” 简书博客,转载或引用请注明出处。情况是这样子的,公司用win7,私人用mac,私用时间少,经常在as的快捷之间小小凌乱。很多搜快捷键都是去网上搜索一下as下某某快捷键是什么,然后一尝试,有的生效,有的不生效,可能as给改了keymap风格,可能被别人自定义,可能可能,很多可能。不管多少种可能,我们还是知道 快捷键 在as里面对应的名字比较靠谱,是吧,然后可以不管转载 2016-04-15 15:06:47 · 1555 阅读 · 0 评论 -
TextView使用SpannableString设置复合文本
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layou原创 2016-04-15 16:56:58 · 319 阅读 · 0 评论 -
[Android] ImageView.ScaleType设置图解
ImageView的Scaletype决定了图片在View上显示时的样子,如进行何种比例的缩放,及显示图片的整体还是部分,等等。设置的方式包括:1. 在layout xml中定义android:scaleType="CENTER"2. 或在代码中调用imageView.setScaleType(ImageView.ScaleType.CENTER);接下来,将对Scal转载 2016-04-24 22:29:15 · 344 阅读 · 0 评论 -
android:descendantFocusability用法简析
android:descendantFocusability用法简析 开发中很常见的一个问题,项目中的listview不仅仅是简单的文字,常常需要自己定义listview,自己的Adapter去继承BaseAdapter,在adapter中按照需求进行编写,问题就出现了,可能会发生点击每一个item的时候没有反应,无法获取的焦点。原因多半是由于在你自己定义的Item中存在诸如Imag转载 2016-05-22 18:44:07 · 318 阅读 · 0 评论 -
接收广播BroadcastReceiver
接收广播BroadcastReceiver Broadcast Receiver用于接收并处理广播通知(broadcast announcements)。多数的广播是系统发起的,如地域变换、电量不足、来电来信等。程序也可以播放一个广播。程序可以有任意数量的 broadcast receivers来响应它觉得重要的通知。broadcast receiver可以通过多种方式通知用户转载 2016-07-24 17:27:01 · 587 阅读 · 0 评论 -
Android 中的 Service 全面总结
Android 中的 Service 全面总结原文链接:http://www.cnblogs.com/newcj/archive/2011/05/30/2061370.html1、Service的种类 按运行地点分类:类别区别 优点缺点 应用本地服务(Local)该服务依附在主进程上, 服务依附在主进程上而不是转载 2016-07-24 17:29:53 · 330 阅读 · 0 评论 -
Makefile 中:= ?= += =的区别
在Makefile中我们经常看到 = := ?= +=这几个赋值运算符,那么他们有什么区别呢?我们来做个简单的实验新建一个Makefile,内容为:ifdef DEFINE_VRE VRE = “Hello World!”elseendififeq ($(OPT),define) VRE ?= “Hello World! First!”endifif转载 2016-10-05 20:11:08 · 323 阅读 · 0 评论 -
Android入门之文件系统操作(二)文件操作相关指令
(一)获取总根[java] view plain copyFile[] fileList=File.listRoots(); //返回fileList.length为1 //fileList.getAbsolutePath()为"/" //这就是系统的总根 (二)打开总根目录[java] view转载 2016-02-02 18:56:54 · 355 阅读 · 0 评论 -
px 与 dp, sp换算公式?
随笔- 442 文章- 3 评论- 98 px 与 dp, sp换算公式?PPI = Pixels per inch,每英寸上的像素数,即 "像素密度"xhdpi: 2.0hdpi: 1.5mdpi: 1.0 (baseline)ldpi: 0.75drawable-ldpi、drawable-mdpi、drawable-hdpi 精度分别为低、中(android默认)、高转载 2016-03-02 15:30:29 · 2868 阅读 · 0 评论 -
Http 与 Socket 区别
HTTP:超文本传输协议,首先它是一个协议,并且是基于TCP/IP协议基础之上的应用层协议。TCP/IP协议是传输层协议,主要解决数据如何在网络中传输,HTTP是应用层协议,主要解决如何包装数据。HTTP协议详细规定了浏览器与服务器之间相互通信的规则,是万维网交换信息的基础。HTTP是基于请求-响应形式并且是短连接,并且是无状态的协议。针对其无状态特性,在实际应用中又需要有状态的形式,因此一般会通转载 2016-01-08 14:45:42 · 500 阅读 · 0 评论 -
Android开源项目分包方式学习
总感觉Android中关于分包的文章很少,或者几乎可以说没有。但是合理地分包,又可以使整个项目模块化,减少包与包之间的依赖,让整个项目的框架更加清晰,更利于后续功能的拓展。因为没有相关的文章,所以这里晒出三款开源项目的分包方式,供大家学习转载 2015-11-09 14:15:58 · 331 阅读 · 0 评论 -
Android之如何使用javascript调用android代码
使用javascript调用android代码1.使用webview对象的addJavascriptInterface方法2.addJavascriptInterface方法有两个参数,第一个参数就是我们一般会实现一个自己的类,类里面提供我们要提供给javascript访问的方法;第二个参数是访问我们在obj中声明的方法时候所用到的js对象,调用模式为window.interfac转载 2015-11-12 14:40:11 · 435 阅读 · 0 评论 -
Android中Bitmap和Drawable
一、相关概念1、Drawable就是一个可画的对象,其可能是一张位图(BitmapDrawable),也可能是一个图形(ShapeDrawable),还有可能是一个图层(LayerDrawable),我们根据画图的需求,创建相应的可画对象2、Canvas画布,绘图的目的区域,用于绘图3、Bitmap位图,用于图的处理4、Matrix矩阵二、Bitmap1、从资源中获转载 2015-11-13 12:44:36 · 328 阅读 · 0 评论 -
匿名内部类易错点
匿名内部类适合创建那种只需要一次使用的类,例如命令模式时所需要的Command对象。匿名内部类的语法有点奇怪,创建匿名内部类时会立即创建一个该类的实例,这个类定义立即消失,匿名内部类不能重复使用。 定义匿名内部类的格式如下:[java] view plaincopynew 父类构造器(参数列表)|实现接口() { //转载 2015-11-13 13:45:37 · 427 阅读 · 0 评论 -
Android中 Bitmap和Drawable相互转换的方法
1.Drawable—>BitmapResources res=getResources();Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.sample_0);Resources res=getResources();private byte[] Bitmap2Bytes(Bitmap bm){2转载 2015-11-13 12:38:40 · 350 阅读 · 0 评论 -
Android Animations动画使用详解
一、动画类型Android的animation由四种类型组成:alpha、scale、translate、rotateXML配置文件中alpha渐变透明度动画效果scale渐变尺寸伸缩动画效果translate画面转换位置移动动画效果rotate画面转转载 2015-11-14 14:35:08 · 349 阅读 · 0 评论 -
四种线程池
介绍new Thread的弊端及Java四种线程池的使用,对Android同样适用。本文是基础篇,后面会分享下线程池一些高级功能。1、new Thread的弊端执行一个异步任务你还只是如下new Thread吗?new Thread(new Runnable() { @Override public void run() { // TODO转载 2015-11-14 11:08:21 · 411 阅读 · 0 评论 -
线程和线程池的相关问题记录
卖票举例 thread的使用举例// MyThreadmt1 = new MyThread();// MyThreadmt2 = new MyThread();// MyThreadmt3 = new MyThread();// mt1.start();//每个线程都各卖了10张,共卖了30张票// mt2.start();//原创 2015-11-14 13:48:12 · 403 阅读 · 2 评论 -
使用AIDL实现进程间的通信
在Android中,如果我们需要在不同进程间实现通信,就需要用到AIDL技术去完成。AIDL(Android Interface Definition Language)是一种接口定义语言,编译器通过*.aidl文件的描述信息生成符合通信协议的Java代码,我们无需自己去写这段繁杂的代码,只需要在需要的时候调用即可,通过这种方式我们就可以完成进程间的通信工作。关于AIDL的编写规则我在这里转载 2015-11-14 17:52:21 · 2472 阅读 · 0 评论 -
HttpURLConnection与HttpClient区别及联系
HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。在 JDK 的 java.net 包中已经提供了访问 HTTP 协议的基本功能:HttpURLConnection。 HttpURLConnection是java的标准类,HttpURLConnection继承自URLConnection,可转载 2015-11-16 14:32:41 · 343 阅读 · 0 评论 -
View的touch事件分发。
Touch事件分发中只有两个主角:ViewGroup和View。Activity的Touch事件事实上是调用它内部的ViewGroup的Touch事件,可以直接当成ViewGroup处理。View在ViewGroup内,ViewGroup也可以在其他ViewGroup内,这时候把内部的ViewGroup当成View来分析。转载 2015-10-30 17:02:52 · 329 阅读 · 0 评论 -
Http协议三次握手过程
Http协议三次握手过程 2013-05-23 17:00:28| 分类: http头 TCP(Transmission Control Protocol) 传输控制协议TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:位码即tcp标志位,有6种标示:SYN(synchronous建立联转载 2015-11-23 09:58:57 · 608 阅读 · 0 评论 -
Android AsyncTask两种线程池分析和总结
Android AsyncTask两种线程池分析和总结原博客地址:http://bbs.51cto.com/thread-1114378-1-1.html###zoom(一) 前言在android AsyncTask里面有两种线程池供我们调用1. THREAD_POOL_EXECUTOR, 异步线程池2. SERIAL_EXECUTOR,同步线程池转载 2015-11-17 14:55:37 · 1124 阅读 · 0 评论 -
Android的内存机制
Android的内存机制原博客地址:http://www.cnblogs.com/xiaoran1129/archive/2012/11/29/2794860.html Android的程序由Java语言编写,所以Android的内存管理与Java的内存管理相似。程序员通过new为对象分配内存,所有对象在java堆内分配空间;然而对象的释放是由垃圾回收器来完成的。转载 2015-11-18 11:41:20 · 311 阅读 · 0 评论 -
Android高效加载大图、多图解决方案_LruCache,有效避免程序OOM
本篇文章主要内容来自于Android Doc,我翻译之后又做了些加工,英文好的朋友也可以直接去读原文。http://developer.android.com/training/displaying-bitmaps/index.html高效加载大图片我们在编写Android程序的时候经常要用到许多图片,不同图片总是会有不同的形状、不同的大小,但在大多数情况下,这些图转载 2015-11-23 15:36:00 · 363 阅读 · 0 评论 -
android之interpolator的用法详解
android:interpolator原博地址:http://blog.csdn.net/jason0539 Interpolator 被用来修饰动画效果,定义动画的变化率,可以使存在的动画效果accelerated(加速),decelerated(减速),repeated(重复),bounced(弹跳)等。 android中的文档内容如下转载 2015-11-25 18:50:14 · 250 阅读 · 0 评论 -
Android 6.0 动态权限申请
在Android6.0中,引入了动态申请权限机制。 以前我们在申请权限的时候,都是写在了Manifest.xml里面。 安装的时候会有一堆提示申请权限的界面, Google 可能想到用户可能并不注意这些权限。 so~ 就迎来了 动态权限机制。请注意,如果你使用了API 23以上, 然而并没有用代码处理权限问题。 那么你的程序将会 CRASH !!!下面我们来看看到底哪些权限是需要动转载 2016-10-19 18:23:46 · 543 阅读 · 0 评论