Android
文章平均质量分 67
一步一台阶
跬步行千里,滴水聚江海!
展开
-
Andriod 手机定位 解决location为null的问题
最近在搞Android的手机定位,结果location一直返回null,上网查了查很多人也遇到了这个问题,有的人直接写了一个循环,不断的获取location,这样显然是不太合理的,因为经过我的测试,获得一个location大概需要10-15s左右,循环相当于location为null时就重新通过LocationManager 获取location,根本等不了10s。所以后来研究到了用一个Locat原创 2015-07-15 22:01:43 · 4594 阅读 · 0 评论 -
Andriod 中dp dip px sp pt 的 区别
px:即像素,1px代表屏幕上一个物理的像素点;px单位不被建议使用,因为同样100px的图片,在不同手机上显示的实际大小可能不同。如下图所示(图片来自android developer guide,下同)。偶尔用到px的情况,是需要画1像素表格线或阴影线的时候,用其他单位如dp会显得模糊。dp:这个是最常用但也最难理解的原创 2016-07-13 14:20:57 · 513 阅读 · 0 评论 -
Android版本和API Level对应关系
从Android developer copy过来,留作笔记的,要不记不住。Platform VersionAPI LevelVERSION_CODENotesAndroid 4.419KITKATPlatform HighlightsAndroid 4.318JELLY_BEAN_原创 2016-07-13 14:30:56 · 479 阅读 · 0 评论 -
Android应用开发SharedPreferences存储数据的使用方法 以及与 getPreferences 、getDefaultSharedPreferences的区别
Android应用开发SharedPreferences存储数据的使用方法SharedPreferences是Android中最容易理解的数据存储技术,实际上SharedPreferences处理的就是一个key-value(键值对)SharedPreferences常用来存储一些轻量级的数据。1、使用SharedPreferences保存数据方法如下://实例化Sha原创 2016-07-13 15:18:20 · 3878 阅读 · 0 评论 -
Intent详解
Intent组件虽然不是四大组件,但却是连接四大组件的桥梁,学习好这个知识,也非常的重要。一、什么是Intent1、Intent的概念:Android中提供了Intent机制来协助应用间的交互与通讯,或者采用更准确的说法是,Intent不仅可用于应用程序之间,也可用于应用程序内部的activity, service和broadcast receiver之间的交互。Int原创 2016-07-14 13:52:31 · 577 阅读 · 0 评论 -
安卓中的动画分类概述
安卓中的动画主要分为三大类分别为Tween Animation、逐帧动画 Frame Animation(也称Drawable Animation )、Property Animation。可参见以下文档: Tween Animation可以对view实现一系列的转换,例如:移动、渐变、伸缩、旋转。帧动画是一系列的图片按顺序显示。可参见如下博客:http://w原创 2016-07-22 10:53:07 · 1387 阅读 · 0 评论 -
Android的5种数据存储方式概述
Android有5种数据存储方式,具体分类如下:1.应用内数据存储方式,程序外不可访问:SharedPreferences存储 应用场景:存储应用配置信息和常用信息。 获取SharedPreferences的两种方式:(1) 调用Context对象的getSharedPreferences()方法(2) 调用Activity对象的getPreferences()方法原创 2016-07-22 11:25:48 · 3156 阅读 · 0 评论 -
从极光推送的实现原理概括iOS和Andriod推送原理
推送是手机中非常常见的功能了。可是在实现上iOS和Andriod却有很大的差别。 因为iOS有强大的产品生态体系,APP从研发到审核上架,再到最后在手机端运行,都有严格的把关。所以推送功能在它这里实现起来比较简单。每个时候只要保持一个与APNs的常链接,服务器将要推送的消息发送给APNs,APNs再将消息转发到响应的手机APP,就能很好的实现推送功能。由于手机APP所有的推送功能有统原创 2016-07-24 20:55:26 · 31497 阅读 · 2 评论 -
手把手教你理解 Android SQLite数据库
我们都知道每个Andriod的应用程序都可以有自己的SQLite数据库,Andriod SDK当中也集成了SQLite开发所需要的包。开始学习的时候有些疑惑。SQLite是集成在Andriod系统当中,作为一种服务为每个应用提供存储功能呢?还是每个应用自己内部实现了一个SQLite数据呢?带着这个问题,我们先来看下Andriod架构图。 从架构图看,android分为四个层,从高层原创 2016-08-04 18:03:52 · 974 阅读 · 0 评论 -
Android中的 事件流----浅析安卓中的动与静(一) 用户事件流
任何程序都是静态代码,我们把这些静态代码打包好,然后放到运行环境当中,通过事件流的驱动使这些代码运行起来。Android的环境也不例外。静态的代码,在动态事件的驱动下,才会有效的运转起来。驱动Android程序运行起来的事件大致可以分为以下几种:用户事件:如点击屏幕,滑动等各种手势;系统事件:如屏幕方向的转变;线程通讯事件:线程之间互发消息,程序根据消息内容进行相应的响应;原创 2016-09-29 22:01:59 · 1024 阅读 · 0 评论 -
Android中的 事件流----浅析安卓中的动与静(二) 系统事件流
任何程序都是静态代码,我们把这些静态代码打包好,然后放到运行环境当中,通过事件流的驱动使这些代码运行起来。Android的环境也不例外。 静态的代码,在动态事件的驱动下,才会有效的运转起来。 驱动Android程序运行起来的事件大致可以分为以下几种: 用户事件:如点击屏幕,滑动等各种手势; 系统事件:如屏幕方向的转变; 线程通讯事件:线程之间互发消息,程序根原创 2016-10-01 10:00:46 · 634 阅读 · 0 评论 -
Android中的 事件流----浅析安卓中的动与静(三) 线程间通讯
任何程序都是静态代码,我们把这些静态代码打包好,然后放到运行环境当中,通过事件流的驱动使这些代码运行起来。Android的环境也不例外。静态的代码,在动态事件的驱动下,才会有效的运转起来。驱动Android程序运行起来的事件大致可以分为以下几种:用户事件:如点击屏幕,滑动等各种手势;系统事件:如屏幕方向的转变;线程通讯事件:线程之间互发消息,程序根据消息内容原创 2016-10-01 18:00:35 · 1029 阅读 · 0 评论 -
Android中的 事件流----浅析安卓中的动与静(四) 进程间通讯
进程间通讯也是使Android程序动态化的一个手段。具体的通讯方式分为以下几种:1.activity跨应用调用(统一应用中用singleInstance启动的activity实际上也是在另个进程中)2.service通过AIDL通讯3.通过广播通讯4.通过contentProvider,共享资源通讯。原创 2016-10-04 13:40:29 · 1081 阅读 · 0 评论 -
Activity的生命周期--通过状态来理解
网上有很多关于Activity的生命周期的博文,但是大都是站在生命周期调用方法的角度,并没有从Activity状态转换的角度去想这个问题。今天看到一篇文章站在Activity的四种状态的角度来阐述Activity的生命周期,感觉对Activity的理解更加深入了。所以写下留作笔记。Activity有四种状态:运行状态:Activity位于栈顶,正在与用户交互。暂停状态:只是暂时失去原创 2016-10-04 13:44:15 · 405 阅读 · 0 评论 -
Android 中 activity 窗口模式的实现
有一定Andriod编程基础的人都知道Andriod中activity之间的界面切换,第二个activity的界面会覆盖第一个。那么能否让第二个activity的界面以窗口的形式展示出来,而不完全覆盖上一个Acticity的展示呢?可以在AndroidManifest.xml中为你需要显示为窗口的activity中添加如果属性:android:theme为android:theme="@andro原创 2016-07-13 11:26:18 · 3284 阅读 · 0 评论 -
Please ensure that adb is correctly located at '<--此处显示adb.exe的全路径-->' and can be executed.
就这个问题,折腾了半天。什么环境变量啊,更新api,重启呀,clean项目呀,都试过了。最后发现了,是因为adb.exe的端口被别的程序占用了,只要找到占用adb.exe端口的进程,杀死即可。下边具体介绍下步骤:cmd打开命令窗口,查找占用5037端口(adb.exe的默认端口)的程序:输入 netstat -aon|findstr "5037" 发现PID=9348占用5原创 2016-07-23 21:05:29 · 492 阅读 · 0 评论 -
Android ListView表单实现多选删除,高度随表单项多少变化
今天自己完成了一个ListView表单,这个表单可以实现多选删除,视图对应的Acticity类private ListView an_passengerList;private LinearLayout an_passengerList_layout; an_passengerList_layout= (LinearLayout) findViewById(R.id.an_原创 2015-07-15 21:40:02 · 879 阅读 · 0 评论 -
简析Serializable 和 Parcelable 区别
Serializable 和 Parcelable 区别android 中自定义的对象序列化的问题有两个选择一个是Parcelable,另外一个是Serializable。 一 序列化原因:1.永久性保存对象,保存对象的字节序列到本地文件中;2.通过序列化对象在网络中传递对象;3.通过序列化在进程间传递对象。 二 至于选取哪种可参考下面的原则原创 2015-09-10 14:00:39 · 395 阅读 · 0 评论 -
iOS和Android的对比
因为本人iOS和Android都在搞,所以在这里写一些自己的心得,对比下iOS和Android,想到哪儿写到哪,以后想到别的还会接着写。 Android 如果发现你的一个类它没有引入的话会自动引入 iOS 只能在最上边自己写import Android 发布比较简单,直接找一个应用平台发布就行了,甚至可以直接挂在公司网站上原创 2015-07-12 11:45:48 · 649 阅读 · 0 评论 -
iPhone为什么不设置返回按钮
一直有一个疑问,iPhone为什么不设置返回按钮呢?查了好多资料都不得其解。后来想到了iOS的性能优化问题,似乎想到了一些原因,也仅仅只代表个人的观点。 我最初想到这个问题的时候,是在和一个同学一起开发手机项目的时候。我搞ios,他搞安卓,后来我发现,他的很多界面都没有设置返回键,却可以正常运行。我的就不行了,不在界面上添加返回按钮,根本没办法回退。这也许正是iOS性能优化之处。如原创 2015-09-10 14:46:49 · 766 阅读 · 0 评论 -
iOS和Andriod关于实现二级表单效果的总结
iOS和Android在二级表单的实现上边还是有一些不同的。最大的不同就是iOS二级表单是否需要弹出是靠代码控制的,而Android只需要把一级和二级的数据对应好,点击一级菜单弹出相应的二级菜单的效果是系统自动控制的。 虽然这里对二者的不同进行总结,但是个人建议还是使用第三方的表单,只需要自己定一个cell就万事大吉了。 先来说说iOS的实现: //返回一级菜单的行数原创 2015-10-20 10:59:33 · 748 阅读 · 0 评论 -
关于增强软件开发模块化和可扩展性的一些总结
通过自己这段时间的编码经验,觉得好多东西只要是在编码支出好好预防,后边就会省很多时间。现在把自己在编程过程中的经验总结如下。目的是主要是使程序更加模块化和利于扩展,便于以后的开发,节省时间。1.一个界面上的数据理论上可以由上一个页面传过来,也可以自己发请求获取。不过尽量后者,这样这个界面的控制类就容易移植到别的代码中。耦合度酒会减小。2.对于一些界面内容可能过长,可能超出屏幕长度的情况,最原创 2015-10-05 23:47:55 · 5585 阅读 · 0 评论 -
Map<String, String> 遍历的四种方法
Map map = new HashMap(); map.put("key1", "value1"); map.put("key2", "value2"); map.put("key3", "value3"); //第一种:普遍使用,二次取值 System.out.println("通过Map.keySet遍历key和value:"); f原创 2015-11-07 20:38:26 · 2267 阅读 · 0 评论 -
强大的安卓模拟器管理工具genymotion 如何安装 并和eclipse配套使用
先说说我为什么要寻找这样一套工具吧。我们都知道eclipse自带的安卓模拟器慢的实在是让人无法接受,而且很多类似于照相和GPS定位的功能都是无法使用的。而使用真机问题又百出。先不说有些低端的手机根本不支持debug模式,就是支持也要找到对应的手机驱动才能进行真机调试。对应的手机驱动甚是难找,虽然可以安装手机管家等巧妙的办法把驱动安装上,但是长期使用真机,也会对手机本身造成巨大的伤害,电池寿命会大大原创 2015-11-02 11:15:41 · 1290 阅读 · 2 评论 -
安卓ListView中嵌套ListView导致外层ListView的ItemOnclick方法无法响应的解决办法
今天遇到一个问题,我在一个ListView中嵌套了另一个ListView,内层ListView通过点击外层ListView中的一个Item中的按钮显示出来,可是显示出来之后,问题出现了。外层ListView的ItemOnclick方法不调用了。内层ListView隐藏的时候就可以调用。 后来查到,是因为内层ListView抢占了焦点,只要让外层ListView重新获取焦点即可原创 2015-12-02 10:24:54 · 1852 阅读 · 0 评论 -
android:background="@drawable/"图片拉伸问题
今天测试出一个bug,就是在大屏手机上使用我的APP背景图片无法覆盖成个屏幕,如下图:后来找到这这个界面对应的xml文件,对应背景图片的部分是这样写的android:background="@drawable/bg“bg是drawable文件夹下的一个图片,他只有那么大,跟不上屏幕的尺寸。后来在网上找了了解决办法,就是让android:background加原创 2016-02-22 17:30:54 · 10622 阅读 · 0 评论 -
Andriod 中两个Activity之间传值的几种思路
想必做过Andriod开发的人都遇到这样的问题,就是在两个activity直接传值。下面话不多说直接介绍思路。 思路一:;利用Bundle传值 基本过程就是把数据先放到Bundle里,然后再把Bundle放到Intent里,直接上代码 Intent loginIntent = new Intent(mContext, SearchCmxActivity.c原创 2016-05-04 11:34:25 · 1704 阅读 · 0 评论 -
Andriod 本地存储数据的几种方式
我这里所说的数据值得是两种,一种是基本的数据类型,一种是对象。 方法一:利用SharedPreferences 中的Editor进行commit,这种方式只是适用于基本数据类型 Editor可以存储的类型如下图: 方法二:利用ObjectOutputStream提交,这种方式可以存储两种数据。 具体的调原创 2016-05-04 14:39:00 · 691 阅读 · 0 评论 -
从安卓获取短信内容为例 浅谈安卓的广播的使用
安卓中的广播事件分为两种,一种是系统的广播;一种是自定义的广播。系统的广播:手机在收到短信,接到电话,系统都会向所有应用发送广播,如果程序中声明了获取短信等先关权限就能获取这些广播,从而获取自己想要的相关信息,如短信内容等。自定义的广播:可以在程序中发送广播,目前我了解的只能是本程序来接收这些广播。下面说下接收广播的方式。要想接收广播,需要先注册广播接收器,一种原创 2016-06-02 15:17:53 · 1241 阅读 · 0 评论 -
Android 为什么要设立有序广播 Ordered Broadcast
1、减少并发,减轻系统负担。2、便于对广播进行拦截和控制。3、利于广播接受者之间传递数据。原创 2016-10-04 13:47:27 · 496 阅读 · 0 评论