【android基础】
文章平均质量分 87
Eddie_
Nothing in the world is difficult for one who sets his mind to do it ! If you think you can,you can !
展开
-
Retrofit2.0+RxJava+MVP+Bmob的使用
本篇来总结一下学过的关于android方面的东西。梳理一下知识:1.Retrofit2.0 Retrofit 是一个Square开发的类型安全的REST安卓客户端请求库。这个库为网络认证、API请求以及用OkHttp发送网络请求提供了强大的框架 。2.RxJava/RxAndroid RxJava是一款响应式变成框架。RxAndroid在RxJava基础之上扩展了android线程调度。RxJ原创 2016-05-10 21:46:43 · 3859 阅读 · 3 评论 -
【Android Studio】代码混淆与多渠道打包
说到代码混淆,之前做的都是在Eclipse中,最近换用新的开发工具android studio了,刚刚初来乍到公司,幸好有同时勇哥的帮忙,才使得我多走很多弯路。特此感谢一下。废话少说,先上一段配置代码。因为android studio采用的构建工具是Gradle,大家想深入了解Gradle,请看这里写链接内容 这段代码位于build.gradle文件中, //混淆,新版本是ninifyEnabl原创 2015-07-11 21:59:19 · 1153 阅读 · 0 评论 -
【android基础开发】大神博客集结
本篇文章主要纪录我在学习过程中,发现的非常给力的CSDNBlog和个人Blog,这些Blog都有一个共同的特点,即内容详实,讲解透彻,也算是给后来的初学者指一条路吧!只要你下定决心跟随强者的脚步,成为人们眼中的大神,只不过是时间问题!CSDN鸿洋:http://blog.csdn.net/lmj623565791爱哥:http://blog.csdn.net/aigestudio原创 2015-04-30 09:43:08 · 961 阅读 · 0 评论 -
android控件属性
最近写了很多UI 所以接触了很多android控件属性 第一类:属性值为true或false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:layout_centerInparent 相对于父元素完全居中 android:layout_alignParent原创 2014-12-25 20:41:56 · 870 阅读 · 0 评论 -
android Application类
Application和Activity,Service一样是Android框架的一个系统组件,当Android程序启动时系统会创建一个Application对象,用来存储系统的一些信息。Android系统自动会为每个程序运行时创建一个Application类的对象且只创建一个,所以Application可以说是单例(singleton)模式的一个类。通常我们是不需要指定一个App原创 2014-08-01 16:32:45 · 788 阅读 · 0 评论 -
Android字符串处理类-TextUtils类
对于字符串处理Android为我们提供了一个简单实用的TextUtils类,如果处理比较简单的内容不用去思考正则表达式不妨试试这个在android.text.TextUtils的类,主要的功能如下: 是否为空字符 static boolean isEmpty(CharSequence str) 拆分字符串 public static String[] split (原创 2014-08-01 17:07:45 · 946 阅读 · 2 评论 -
Android获取屏幕分辨率及DisplayMetrics简介
Android 可设置为随着窗口大小调整缩放比例,但即便如此,手机程序设计人员还是必须知道手机屏幕的边界,以避免缩放造成的布局变形问题。手机的分辨率信息是手机的一项重要信息,很好的是,Android 已经提供DisplayMetircs 类可以很方便的获取分辨率。下面简要介绍 DisplayMetics 类:Andorid.util 包下的DisplayMetrics 类提供了一种转载 2014-08-01 17:02:20 · 994 阅读 · 0 评论 -
surfaceView全屏和退出全屏
今天在闲暇时把视频如何全屏播放和如何退出全屏播放的问题给解决了一下。原创 2014-04-14 12:30:17 · 10200 阅读 · 1 评论 -
surfaceView+mediaplayer+seekBar+自定义视频时间监控
这些天一直都在写一个视频播放器原创 2014-04-13 14:34:23 · 3072 阅读 · 0 评论 -
phoneGap平台的运用
PhoneGap是一能够让你用普通的web技术编写出能够轻松调用API接口和进入应用商店的HTML5应用开发平台。是唯一的一个支持7个平台的开源移动框架。它的优势是无以伦比的:开发成本低——据估算,至多Native App的五分之一!兼容性:完全做到了Written Once,Run Everywhere!标准化,PhoneGap采用W3C标准,Web App直接运行!用J原创 2014-04-21 13:11:02 · 1022 阅读 · 0 评论 -
Android中的长度单位详解(dp、sp、px、in、pt、mm)
Android中的长度单位详解(dp、sp、px、in、pt、mm) 看到有很多网友不太理解dp、sp和px的区别:现在这里介绍一下dp和sp。dp也就是dip。这个和sp基本类似。如果设置表示长度、高度等属性时可以使用dp 或sp。但如果设置字体,需要使用sp。dp是与密度无关,sp除了与密度无关外,还与scale无关。如果屏幕密度为160,这时dp和sp和px是一样的。1转载 2014-03-26 20:02:45 · 887 阅读 · 0 评论 -
SateliteMenu的使用
这个弹出菜单做的很炫,我第一眼看到还是很惊艳的,原创 2014-04-05 18:13:02 · 1596 阅读 · 0 评论 -
SlidingMenu的使用
最近两个礼拜一直都在写项目, 今天恰逢清明时节我的原创 2014-04-05 17:58:29 · 1116 阅读 · 0 评论 -
【Android Studio】代码混淆与多渠道打包(二)
上篇介绍了代码混淆,这篇回顾一下多渠道打包,首先我们要了解的是应用为什么需要签名? 开发Android的人这么多,完全有可能大家都把类名,包名起成了一个同样的名字,这时候如何区分?签名这时候就是起区分作用的。 由于开发商可能通过使用相同的Package Name来混淆替换已经安装的程序,签名可以保证相当名字,但是签名不同的包不被替换。 APK如果使用一个key签名,发布时另一个原创 2015-07-12 09:08:35 · 1235 阅读 · 0 评论 -
【Android Studio】android 自测工具monkey的使用
前几天看到勇哥在用monkey做项目的自动化测试,我觉得蛮有趣,所以我来搞一搞,当然首先我的一贯作风,先把monkey这个东西给掌握透。这样对于接下来做事是很有帮助的。不能一贯的照搬百度来的方法,然后成功了就不去了解其内涵,这不是我的风格,题外话。哈哈。 android测试的方法还是很多的,下面介绍几种 android测试框架、 CTS、 Monkey、 Monkeyrunner、 be原创 2015-07-12 09:26:58 · 4269 阅读 · 0 评论 -
【Android Studio】深入探究webView的缓存机制
最近一直都在搞webview,搞过Android的人可能会知道,webView本身自带了缓存机制,company的需求是不用webView 的缓存机制,写自己的缓存机制,哇哈哈,有挑战性咯。写这篇博客主要是记录一下我的学习过程。写的不好,勿喷。 首先我们要搞明白webView的缓存机制是什么? webView中有两种缓存: 一是网页数据缓存(即浏览网页中的资源),而是H5缓存(即appCach原创 2015-07-25 09:59:17 · 3173 阅读 · 1 评论 -
Android枚举类型(enum)替换方案
平常做开发的时候,使用枚举会非常方便,而且使得代码干净整洁。但不幸的是它会牺牲执行的速度和并大幅增加文件体积。 替换方案:public class DataLoadType { /** * 刷新成功 */ @DataLoadTypeChecker public static final int TYPE_REFRESH_SUCCESS = 1; /*原创 2016-04-09 14:33:57 · 2552 阅读 · 0 评论 -
Android实现图片高斯模糊
最近项目设计上需要用到稍微比较模糊的图片,因此我就去百度搜了一下,处理办法大概就是借助神器PS(花千骨看多了,呵呵)。但是在程序猿的眼里,代码可以实现一切。下面我就来实现一个Android高斯模糊。高斯模糊:高斯模糊(Gaussian Blur)是美国Adobe图像软件公司开发的一个图像处理软件:Adobe Photoshop(系列)中的一个滤镜,具体的位置在:滤镜—模糊——高斯模糊!高斯模糊的原理原创 2015-08-15 09:36:18 · 1999 阅读 · 0 评论 -
【Android Studio】欢乐快捷键大集结
Alt+回车 导入包,自动修正 Ctrl+N 查找类 Ctrl+Shift+N 查找文件 Ctrl+Alt+L 格式化代码 Ctrl+Alt+O 优化导入的类和包 Alt+Insert 生成代码(如get,set方法,构造函数等) Ctrl+E或者Alt+Shift+C 最近更改的代码 Ctrl+R 替换文本 Ctrl+F 查找文本 Ctrl+Shift+Space 自动补原创 2015-07-15 17:36:17 · 727 阅读 · 0 评论 -
【Android Studio】极光推送(JPush)的总结
最近在做极光推送(JPush),多多少少还是遇到一点问题,在这里特此总结一下。具体如何做,请到极光官网下载demo。先上张图 一般正常情况,我们会在服务器端推送消息给用户,而在客户端这边app启动,我们就初始化JPush,然后就会产生一个RegistrationID,服务器端根据这个ID来推送消息。而在客户端注册一个自定义的广播,这里可以接收到推送的消息。 1、添加附加字段 图上最下面有一原创 2015-07-15 09:36:33 · 2234 阅读 · 0 评论 -
【Android Studio】git的使用和总结
最近一直都在使用git来托管自己的代码,以前用的是svn,虽然也是比较强大,但是本人认为git还是比svn好用的,深得程序猿们的喜爱,所以我写这篇博客主要是为了记录一下自己学习使用git,如何从什么都不知道到懂一点,最后完全觉得这神秘的git其实也就那样,这种感觉很爽吧。很多时候大家对于新的东西都不太愿意去换,因为习惯了,正是因为这种习惯,容易导致我们的脚步裹足不前。 对于git,我先不讲那么多,原创 2015-07-25 15:59:32 · 2318 阅读 · 0 评论 -
android构建工具:Ant和Gradle
当前,JVM生态圈由三大构建工具所统治: Apache Ant带着Ivy Maven GradelAnt with Ivy Ant是第一个“现代”构建工具,在很多方面它有些像Make。2000年发布,在很短时间内成为Java项目上最流行的构建工具。它的学习曲线很缓,因此不需要什么特殊的准备就能上手。它基于过程式编程的idea。在最初的版本之后,逐渐具备了支持插件的功能。 主要的不足是用XM转载 2015-07-11 12:46:42 · 5322 阅读 · 0 评论 -
android(客户端)+Apache MINA(服务器端)通信的实现 智能家居动起来!
Apache Mina是一个能够帮助用户开发高性能和高伸缩性网络应用程序的框架。它通过Java nio技术基于TCP/IP和UDP/IP协议提供了抽象的、事件驱动的、异步的API。是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络应用程序提供了非常便利的框架。当前发行的 MINA 版本支持基于 Java NIO 技术的 TCP/UDP 应用程序开发、串口通讯程序(只在最新的预览版中提供),MINA 所支持的功能也在进一步的扩展中。目前正在使用 MINA 的软件包括有:Apache Dire原创 2015-06-10 09:11:53 · 1764 阅读 · 0 评论 -
Android的传感器—Sensor(一)
学习新的内容了,就是那个神奇的传感器,在手机游戏里面的重力感应,指南针的导航,这些都是传感器的使用。接下来我们来逐渐揭开它的神秘面纱。通过三步使用传感器1、写个截获传感器事件的类,这个类必须实现SensorEventListener接口2、获得传感器管理对象SensorManager对象3、注册指定的传感器类型下面看一个例子package mobile.android.se原创 2014-03-24 17:46:31 · 1253 阅读 · 0 评论 -
Android3D绘图之OpenGL ES(四)
下面我来绘制一个正在旋转的立方体,用到方法和技巧在前面的博客中都用过了,在这里不再赘述。直接看代码,给自己看一下,复习一遍。package mobile.android.rotate.cube;import java.nio.ByteBuffer;import java.nio.ByteOrder;import java.nio.FloatBuffer;import javax.m原创 2014-03-24 16:20:37 · 1130 阅读 · 0 评论 -
封装代码和UI利器—Fragment(二)
上期回顾了Fragment技术的来龙去脉,今天我主要是复习学习Fragment的生命周期,学习Fragment 的生命周期应该与Activity的生命周期同时复习,顺便做个比较。Activity的生命周期方法有7个,而Fragment的生命周期方法多达11个。上面我画了一张图,直角矩形代表的是Fragment的生命周期的过程,圆角矩形飙到的是Activity的生命周期。原创 2014-03-02 19:40:20 · 894 阅读 · 0 评论 -
封装UI和代码利器—Fragment(四)
这一节主要复习两个知识点 Fragment与Activity之间的交互 Fragment的回调机制 一、Fragment与Activity之间的交互Fragment与Activity之间可以通过Fragment.setArgument 方法向Fragment传递参数值,并且通过Fragment.getArgument 方法获取这些传递的参数值。传递的数据是Bu原创 2014-03-03 21:02:17 · 1234 阅读 · 0 评论 -
封装代码和UI利器—Fragment(五)
今天要解决的问题是Fragment状态持久化,所谓Fragment状态持久化就是当窗口发生配置变化时涉及到的状态保存的问题,今天的例子就是解决窗口横竖屏切换问题。窗口在横竖屏切换的过程中是先销毁后重建的。这里的状态就是Fragment类中的成员变量的值了。 我当时就纳闷了,既然销毁了,那怎么保存状态呢?后来我看了很多例子查阅很多资料得到了一些信息。一种就是Fragment的状态原创 2014-03-04 16:01:51 · 1377 阅读 · 0 评论 -
封装UI和代码利器—Fragment(六)
Fragment 与回退栈 (导航) 回退栈就不多说,看个例子就什么都明白了。package com.example.fragmentnovigation_01;import android.annotation.SuppressLint;import android.app.Activity;import android.app.FragmentManager;import原创 2014-03-04 19:43:25 · 1253 阅读 · 0 评论 -
Android的拖放技术
在android3.0以前的版本,拖放一个视图需要使用触摸事件,而且拖动到指定区域还需要判断坐标是否落到这一区域,比较麻烦。从Android3.0以后,android SDK开始支持视图的拖放操作。 建立拖动阴影,可以直接使用View.DragShadowBuilder类,也可以继承View.DragShadowBuilder类,实现自定义的拖动阴影类。package com.exa原创 2014-03-07 21:49:49 · 914 阅读 · 0 评论 -
数据存储(一)
android中提供了很多存储方法。下面来复习几种存储方法。一、读写键值对:SharedPreferences第一步:得到SharePreferences对象第二步:通过SharePreferences,edit()方法得到Editor对象第三步:保存键值对第四步:提交给出代码:package com.example.sharedpreferences_01;imp原创 2014-03-09 11:16:57 · 754 阅读 · 0 评论 -
数据存储(二)
JSON格式的数据通常用于网络传输,尤其是在移动设备上与服务器端进行数据交互。JSON与XML比较有明显的优势,XML格式的数据非常臃肿,传递少量的数据就要附带很多额外的格式数据,而JSON除了少量的符号外,全部都是真正的数据,JSON不仅用于网络传输,也经常用于本地存储。主窗口的代码:package com.example.jsonactivity_01;import jav原创 2014-03-09 11:24:33 · 708 阅读 · 0 评论 -
服务—Service(一)
Service 是android 四大组件之一。对于Service表面看起来比较陌生,但是在实际情况下还是很常见的,比如你在后台播放一首音乐,下载一份文件等等。在我们享受到温馨的操作手感,贴心的人性化可视界面界面,一直在后台默默无闻工作的Service算得上是无名英雄了。因此,作为程序员来讲,揭开Service的神秘面纱是非常有必要的,下面让我们跟随着敲打键盘的声音来看看如何创建一个服务,开始一个原创 2014-03-12 21:18:30 · 903 阅读 · 0 评论 -
广播接收器—Broadcast Receiver(二)
广播机制在这就不多说了,上一期该说的都说了,这一节主要给出一些例子,仅供参考。一、来去电拦截注册接收器原创 2014-03-12 19:17:51 · 878 阅读 · 0 评论 -
实现左右滑动—ViewPager
还记得在前几期我用模板生成了一个导航标签,那里面有个viewPager控件。今天我想来着重看一下这个android官方版实现的左右滑动效果—viewPager这是官方android API对viewPager的解释Layout manager that allows the user to flip left and right through pages of data. You原创 2014-03-12 19:47:46 · 1023 阅读 · 0 评论 -
广播接收器—Broadcast Receiver(一)
广播接收器是android SDK的四大组件之一。但我来理解,还是很容易就理解的,就像是现场搞个活动抽奖一样,既然是要抽奖,首先第一步就要给抽奖的人发放数字编号(相当于注册接收器),然后再把这些相同的编号放到一个纸箱子里面,在没有抽之前,谁也不到会抽到哪个号,接下来主持人会抽出第一个号码,第二个,第三个……下面的人一定得和主持人抽到的号码一样才能中奖,抽到一样的号码就是重点,对号入座啊,中奖之后就原创 2014-03-11 21:12:29 · 911 阅读 · 0 评论 -
内容提供者—Content Provider(二)
尽管androidSDK 提供很多的内置的ContentProvider,我们有时候也要为自己开发的程序写一个自定义的ContentProvider,让别的程序可以访问到程序的数据库。想想这一件比较奇特的事情啊,我都迫不及待的看看今天的代码了,我想先把步骤一步一步写清楚,因为这个过程还是有点复杂的。一、编写一个类继承ContentProvider二、实现ContentProvider类的所原创 2014-03-10 20:52:10 · 748 阅读 · 0 评论 -
封装代码和UI的利器—Fragment(一)
fragment 这个单词的意思是“碎片”的意思,Google推出的Fragment 这项技术取得名字还是很不错的。就像一块拼图(Activity)一样,上面的小块(Fragment)不仅可以在不同设备和屏幕之间共享UI和逻辑,众所周知,布局用来封装UI,类来封装代码。而Fragment 技术将这两者完美结合在一起,真的是美妙极了。之前android3.0之前是不支持平板电脑的,比如一个联系人原创 2014-03-02 15:49:10 · 1149 阅读 · 1 评论 -
数据存储(五)
将数据库与应用程序一起发布我们可以用数据库管理工具在pc上建立一个数据库文件,并手工通过程序向数据表中添加相应的记录,然后将该数据库文件放到res/raw目录中。发布后,数据库文件被打包在apk文件中,下面的例子就是来打开数据库文件。package mobile.android.apk.database;import java.io.FileOutputStream;import j原创 2014-03-09 14:54:29 · 670 阅读 · 0 评论 -
动作栏——ActionBar(一)
ActionBar与Fragment结合的效果是我一直很期待看到的效果。自从android 3.0 加入ActionBar以来,TabHost就过时了,因为ActionBar功能更加强大。我直接用Tabs模板创建了一个Android工程,不妨我把代码粘贴过来。生成的代码还是写的比较精彩的。个人认为ActionBar不是特别难。难的是如何把代码写的更精彩,这需要很多重构经验,表示一直在认真学原创 2014-03-06 20:14:57 · 1156 阅读 · 0 评论