Android
文章平均质量分 79
hornsey2012
这个作者很懒,什么都没留下…
展开
-
Android权限检查
private void checkPermissionType(){ if (Build.VERSION.SDK_INT >= 23) { int result = ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA); ...原创 2016-04-01 13:15:27 · 366 阅读 · 0 评论 -
Android横竖屏切换Activity生命周期变化
横竖屏切换Activity生命周期变化,网上资料各式各样,特意写个小实验,结果如下:切换横屏和切换竖屏生命周期一样,都会调用onPause,onStop,onDestroy,onCreate,onStart,onResume给Activity配置android:configChanges="orientation"后横竖屏切换时会先调用onConfigurationCh原创 2016-02-29 12:57:00 · 544 阅读 · 0 评论 -
Android开发中如何保存用户名密码在本地
Android开发中用户登录后用户名密码需要保存到本地,方便下次免登陆打开APP。但密码肯定不能直接明文保存,所以需要简单加密,下面分享几个函数,方便给密码加解密,可随意设置加密使用的key,操作简单。代码分享如下: import java.security.Key;import javax.crypto.Cipher;import javax.crypto.spec.S...原创 2016-02-19 14:38:05 · 7399 阅读 · 0 评论 -
Android命名规范
大驼峰命名(UpperCamelCase):每个单词的第一个字母都大写。小驼峰命名(lowerCamelCase):除第一个单词以外,每一个单词的第一个字母大写。命名的基本原则:尽可能地使用统一的命名规范;不使用汉语拼音;除了常见的英文缩写,尽量少地使用缩写;包命名小写字母,参见上文包管理;连续的单词直接连接起来,不使用下划线;原创 2016-03-29 18:28:47 · 399 阅读 · 0 评论 -
Android在Fragment中使用Tab
Tab使用非常常见,实现方式也很多,这里分享一种使用ViewPagerIndicator快速实现tab的方法,并且可以根据需要实现不同的效果,包括文字title、文字title+图标、小点指示灯,并可以实现滑动自动切换标签效果。来张效果截图:添加tab步骤如下:1、添加使用ViewPagerIndicator库(AS中直接导入library)2、Fragment布局原创 2016-03-05 09:38:38 · 2313 阅读 · 2 评论 -
Apktool反编译错误问题解决方法
在使用Apktool反编译时出现如下问题:I: Baksmaling...I: Loading resource table...Exception in thread "main" brut.androlib.AndrolibException: Could not decode arsc file at brut.androlib.res.decoder.AR原创 2016-01-27 13:13:25 · 3176 阅读 · 0 评论 -
Android Proguard 详解
简介Java代码是非常容易反编译的。为了很好的保护Java源代码,我们往往会对编译好的class文件进行混淆处理。ProGuard是一个混淆代码的开源项目。它的主要作用就是混淆,当然它还能对字节码进行缩减体积、优化等,但那些对于我们来说都算是次要的功能。官网网址是:http://proguard.sourceforge.net/。详解1、原理Java转载 2016-01-27 10:08:13 · 299 阅读 · 0 评论 -
Android点9图的使用与制作工具推荐
本文主要是围绕以下两个话题:1.点九图的特点;2.点九图的制作。一,点九图文件的特点点九图又称九图,是一种png格式的图片,其后缀为.9.png ,其与传统png图片不同的地方是,点九图的四周边缘各有1个像素宽高的区域,而且只能填两种颜色,透明(#00000000)和黑色(#FF000000),其目的是用于对该图片的扩展区域和内容显示区域进行定义。如上图原创 2016-01-26 18:24:42 · 6331 阅读 · 0 评论 -
Android自定义底部显示对话框
1、定义stylename="myDialog" parent="android:style/Theme.Dialog"> name="android:windowFrame">@null 边框 --> name="android:windowIsFloating">true 是否浮现在activity之上 --> name="android:win原创 2016-01-26 14:15:20 · 1656 阅读 · 0 评论 -
Android Dependency Injection Libraries
本文总结并对比了三种Android依赖注入库:Butter Knife、RoboGuice、Android Annotations的使用最近在研究一个开源项目Coding-Android Client,即Coding的安卓客户端,目前只看了小部分,但是感觉写得还是很赞的,学习到了很多的知识。因为这个项目是使用了Android Annotations的,看的时候虽然大致能明白各个注解是什么意思,转载 2015-12-08 09:18:40 · 532 阅读 · 0 评论 -
Android Ui之Recycle View学习
RecycleView与ListView和GridView类似,我觉得像两者的统一,使用方式大体类似,不过RecycleView 将Adapter 中的ViewHolder进行了规范化,同时还可以对列表数据进行布局设置。我参考做了一个demo,效果如下:1、添加库 'com.android.support:recyclerview-v7:23.0.0'2、xml原创 2015-12-22 10:33:47 · 1572 阅读 · 0 评论 -
IntentService介绍及使用
IntentService是一个通过Context.startService(Intent)启动可以处理异步请求的Service,使用时你只需要继承IntentService和重写其中的onHandleIntent(Intent)方法接收一个Intent对象,在适当的时候会停止自己(一般在工作完成的时候). 所有的请求的处理都在一个工作线程中完成,它们会交替执行(但不会阻塞主线程的执行),一次原创 2016-02-25 18:19:10 · 4956 阅读 · 0 评论 -
Android 编码规范
1. 前言这份文档参考了 Google Java 编程风格规范和 Google 官方 Android 编码风格规范。该文档仅供参考,只要形成一个统一的风格,见量知其意就可。1.1 术语说明在本文档中,除非另有说明: 术语 class 可表示一个普通类,枚举类,接口或是annotation类型(@interface)术语 comment 只用来指代实现的注释(impl转载 2016-04-06 16:15:18 · 567 阅读 · 0 评论 -
Android竖虚线绘制
在Android UI制作中,经常会需要一些线条作为分隔线,一般做个width或height为1dp的view就可以解决了,如果需要虚线,则需要在drawable目录自定义xml进行绘制了,一般xml如下:<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="line">原创 2016-03-25 13:08:45 · 16604 阅读 · 8 评论 -
按字母排列的中国城市名称大全
/** * Created by hornsey on 2015/11/20. */public class Cities { public static final String[] mCitiesStrings = { "A","阿坝","阿拉善","阿里","安康","安庆","鞍山","安顺","安阳","澳门","B","北京","白银",原创 2015-11-20 15:05:39 · 18047 阅读 · 0 评论 -
使用pinyin4j完成中文拼音转换
pinyin4j是一个支持将简体和繁体中文转换到成拼音的Java开源类库,作者是Li Min (xmlerlimin@gmail.com)。以下是一些具体的介绍和使用方式。 1. pinyin4j的官方下载地址http://sourceforge.net/projects/pinyin4j/files/,目前最新的版本是2.5.0 2.转载 2015-11-23 14:56:22 · 1404 阅读 · 0 评论 -
Android textAppearance的属性设置及TextView属性详解
textAppearance的属性设置android:textAppearance="?android:attr/textAppearanceSmall" android:textAppearance="?android:attr/textAppearanceMedium"android:textAppearance="?android:attr/textAppearanceLarge转载 2016-08-16 19:28:00 · 647 阅读 · 0 评论 -
Android图片资源处理
Android用到的图片资源一般指三种:png/jpg等位图文体,.9文件,selector xml文件,在之前的开发中,都放在drawable目录下,但使用最新的Android Studio时,我们会发现所有的登录icon被默认放在了mipmap目录下,并且在不同子目录下放着不同尺寸的图片。是不是在新版本中,所有的位图资源都移到mipmap目录下了呢,我们去官方开发指南中可以看到,drawabl原创 2016-05-09 00:21:00 · 2967 阅读 · 0 评论 -
一些快速提高Android开发的脚本与技巧(终端篇)
正所谓“工欲善其事必先利其器”,一个好的工具或者技巧能让提升工作效率,起到事半功倍的效果。在这里斗胆列出一些窃以为一些可能快速提高Android日常开发的脚本,希望可以为大家提供一些好的工具,有帮助的思路。打印Debug日志信息该脚本打印了包含崩溃,异常,dalvikvm信息,严格模式和网页CONSOLE等信息。123456789转载 2016-05-03 15:01:28 · 2740 阅读 · 1 评论 -
Android使用ORMLite操作数据库(一)
Android App在持久保存数据时,会使用的数据库,一般用到默认的SQlite,但是在保存操作数据时并不是很方便,所以使用ORMLite操作数据库,不失为一种很好的选择。ORM即Object Relative Mapping,可以直接将对象保存到数据库中,非常方便。下面分享下自己学习的经验所得。本demo做了一个简单的会话页面,将每次的会话内容保存到数据库,再次打开该会话页面时,默认加载之前的原创 2016-05-12 13:16:26 · 1473 阅读 · 0 评论 -
Android keyboard菜单实现
先上个效果图:步骤大体如下:1、定义xml,就是一个gridview2、自定义菜单view,继承自dialog3、实现数据适配器4、调用菜单注:为了视觉效果,最好讲菜单内容填充完整,比如gridview有6行,菜单内容最好是6的倍数原创 2016-04-28 09:02:15 · 905 阅读 · 0 评论 -
Android应用程序跳转到系统的各个设置页面
在android SDK文档中有这样一个类,android.provider.Settings类提供android系统各个页面的跳转常量:使用实例例:startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS)),即可跳到android手机网络设置页面。 如果要launch Mobile Netw转载 2016-03-28 11:56:58 · 686 阅读 · 0 评论 -
Android 性能典范
Android 性能典范:拯救计划前言今天逛稀土时偶然看到hanks分享的一篇英文文章,粗略浏览便已觉得不错,因此翻译成中文,与君分享。原文地址:Android Performance Patterns: Rescue tips正文现在的app到处都充斥着华丽的动画、复杂的转化还有自定义View,然而用户体验必须尽可能直观且类似。以下这些范例将会帮助你做转载 2016-04-12 15:03:09 · 493 阅读 · 0 评论 -
Android 自定义RatingBar
RatingBar属性参数rating 评分numStars 总星数,默认为5stepSize 步长,一般设为0.5或1.0isIndicator 是否可以设置,默认为false,可以设置定义xmlxml version="1.0" encoding="utf-8"?>xmlns:android="http://schemas.android.com/apk/原创 2016-03-25 13:10:08 · 464 阅读 · 0 评论 -
ButterKnife参考
1、添加库compile 'com.jakewharton:butterknife:7.0.1'2、在Activity中使用setContentView函数后面添加ButterKnife.bind(this);View Bind @Bind(R.id.title) TextView title; @Bind(R.id.subtitle) TextView原创 2016-01-19 11:28:16 · 359 阅读 · 0 评论 -
android权限全记录
常用权限:读写存储卡装载和卸载文件系统android.permission.WRITE_EXTERNAL_STORAGEandroid.permission.READ_EXTERNAL_STORAGEandroid.permission.MOUNT_UNMOUNT_FILESYSTEMS网络连接android.perm转载 2015-12-17 16:56:10 · 2952 阅读 · 0 评论 -
Android Studio常用插件
不得不承认,Android Studio越用越爽。其代码提示和搜索功能相当强大,非常智能。颜色、图片在布局和代码中可以实时预览。 开发的过程中使用一些插件可以事半功倍,下面介绍一些博主开发过程中常用到的一些as插件供大家参考。Android Studio常用插件ButterKnifecodotaGenymotion安装HAXMpostfixGosnF转载 2016-01-19 10:34:18 · 375 阅读 · 0 评论 -
Android实现字母索引查找地名、联系人(一)
在我们的智能手机使用中,经常会见到如联系人列表,需要寻找时,常见有两种方式:1、搜索,2、字母索引。今天我就分享下自己学习使用字母检索导航功能。Demo效果如下:字母索引大体上实现原理为:1)创建一个ListView(或者扩展ListV),展示联系人或城市、省份名;2)在屏幕右边实现一个ListView,显示用作索引的字母;3)当用户按下索引字母时,查找联系人或城市原创 2015-11-23 15:55:34 · 2239 阅读 · 0 评论 -
Android实现字母索引查找地名、联系人(二)
在前一篇博客里分享了通过字母索引查找地名或联系人,接下来再分享下通过搜索查找地名或联系人。使用搜索查找地名,实际上就是对ListView中的数据进行过滤,将符合条件的数据项重新保存起来进行显示。Demo效果如下:关键代码包括:1)检查输入文本框内容变动,调用适配器进行过滤 public void afterTextChanged(Edita原创 2015-11-24 16:18:14 · 1476 阅读 · 0 评论 -
关于EditText的一点深入的了解
最近在开发android下的记事本程序时,频繁的使用EditText控件,折腾来折腾去,算是对其的了解更深入了一些。特将这些收获记录如下:一、几个属性的介绍android:gravity="top" 这个属性为top可以将光标置于左上角(当EditText设为全屏时)android:background="@null" 这个属性为null可以将转载 2015-12-07 11:20:33 · 915 阅读 · 0 评论 -
Gradle 用法总结
用过android studio的对gradle应该都不陌生了,gradle文件的基本配置大同小异,略做了解使用应该是没什么问题了。但是深入细致的了解一下对于理解项目还是很有帮助的,尤其是遇到一些配置复杂的github项目,不了解gradle可能会遇到跑不起来又束手无策的情形。下面对gradle相关知识、用法做一下总结。DSL (domain specific language)即转载 2015-11-14 13:10:28 · 3461 阅读 · 0 评论 -
Android开发中定位解析(GPS定位、网络定位、位置地址解析)
在Android开发中地图和定位是很多软件不可或缺的内容,这些特色功能也给人们带来了很多方便。定位一般分为三种发方案:即GPS定位、网络定位以及基站定位。 最简单的手机定位方式当然是通过GPS模块,GPS方式准确度是最高的,但是它的缺点也非常明显:1,比较耗电;2,绝大部分用户默认不开启GPS模块;3,从GPS模块启动到获取第一次定位数据,可能需要比较长的时间;4,室内几乎原创 2015-11-10 16:35:46 · 10897 阅读 · 3 评论 -
Android M 新的运行时权限开发者需要知道的一切
android M 的名字官方刚发布不久,最终正式版即将来临!android在不断发展,最近的更新 M 非常不同,一些主要的变化例如运行时权限将有颠覆性影响。惊讶的是android社区鲜有谈论这事儿,尽管这事很重要或许在不远的将来会引发很严重的问题。这是今天我写这篇博客的原因。这里有一切关于android运行时权限你需要知道的,包括如何在代码中实现。现在亡羊补牢还不晚。新运行时权限转载 2015-11-11 12:54:31 · 485 阅读 · 0 评论 -
Android shape使用详解
shape用于设定形状,可以在selector,layout等里面使用,有6个子标签。转载 2015-10-11 22:41:12 · 371 阅读 · 0 评论 -
Android使用页面布局操作SQLite数据库
数据库是应用程序经常用到的工具,某些手机app,使用中也会涉及到数据的存储展示操作,今天学习研究了下,使用文本编辑框可以输入信息,使用列表展示数据,在页面长按数据可以删除数据,具体效果如下图所示。二、实现过程1、创建一个扩展自SQLiteOpenHelper的类用于存放数据import android.content.Con原创 2015-06-17 21:18:18 · 908 阅读 · 0 评论 -
Android设备Home、Menu和Back返回键的监听
在APP的操作中,有时需要监听系统按键,今天我就分享下自己的学习所得。Menu键和Back键通过KeyDown事件就可以监听到,但Home键触发是系统事件,不能通过KeyDown简单的监控,但可以通过监听广播事件来处理。按下Home键后,Activity也会调用onUserLeaveHint 和 onSaveInstanceState 等函数,也可以在里面添加想要的处理程序。代码很原创 2015-11-06 14:28:35 · 6614 阅读 · 1 评论 -
Android EventBus学习
最新看到有提到EventBus,听说使用该方法,好处多多,jar包很小,就试着学习。在文章中介绍到,发送的事件不同,需要设置参数类型不同的接收函数,我回到源码看了下,发现源码的事件发送函数为:public void post(原创 2015-10-20 17:55:39 · 381 阅读 · 0 评论 -
android studio 使用gradle 导出jar包,并打包assets目录
最近项目在做一个sdk,供别的开发者使用,所以要求导出jar包。与eclipse不同,android studio 1.0 没提供导出jar包的图形界面。需要结合gradle来生成jar包。首先 需要设置module应用的gradle插件为 library 代码长这样:apply plugin: 'com.android.library'这样,build的时候,andr转载 2015-11-16 14:57:58 · 674 阅读 · 0 评论 -
Android Menu:使用Popup Menu
Popup Menu和Context menu有些类似,都是指定某个view弹出菜单,但Context Menu需要长按,用户体验较差。Popup Menu使用自定义方式启动,比如单击启动,用户体验会更换。实现原理很简单,在某个view上添加单击监听事件,触发显示Popup Menu菜单,然后监听菜单的点击事件,做出处理。public class PopupMenuActivity原创 2015-11-18 16:51:04 · 1457 阅读 · 0 评论 -
Git使用教程
一:Git是什么? Git是目前世界上最先进的分布式版本控制系统。二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够转载 2015-11-25 14:15:46 · 428 阅读 · 0 评论