【Android开发基础】
文章平均质量分 58
再见孙悟空_
CSDN专家博主,阿里云技术社区专家博主,华为云享专家博主,51CTO博客专家博主。擅长领域:移动开发、煤矿行业信息化、建筑行业信息化。
展开
-
【Android从零单排系列十】《Android视图控件——RadioButton》
小伙伴们,在上文中我们介绍了Android视图控件ImageView控件,本文我们继续盘点,介绍一下视图控件的第五个控件——RadioButton。在 Android 应用开发中,RadioButton是单选按钮,允许用户在一个组中选择一个选项。同一组中的单选按钮有互斥效果。(1)button属性:主要用于图标大小要求不高,间隔要求也不高的场合。(2)background属性:主要用于能够以较大空间显示图标的场合。(3)drawableLeft属性:主要用于对图标与文字之间的间隔有要求的场合。原创 2024-04-16 22:48:36 · 1106 阅读 · 0 评论 -
android sqlite 判断表和表中字段是否存在方法
/** *检查某表是否存在 * @param tableName 表名 * @return true:存在 false:不存在 */public boolean tabIsExist(String tabName){ boolean result = false; if(tabName == null){原创 2017-05-26 11:27:18 · 1786 阅读 · 0 评论 -
Activity四种启动模式
Activity启动方式有四种,分别是:standardsingleTopsingleTasksingleInstance可以根据实际的需求为Activity设置对应的启动模式,从而可以避免创建大量重复的Activity等问题。设置Activity的启动模式,只需要在AndroidManifest.xml里对应的标签设置Android:launchMode属性,转载 2017-04-25 16:56:37 · 475 阅读 · 0 评论 -
android library 使用switch 问题
当我们在Android依赖库中使用switch-case语句访问资源ID时会报错,报的错误是case分支后面跟的参数必须是常数,换句话说出现这个问题的原因是Android library中生成的R.java中的资源ID不是常数. 当我们把一个android的项目配置为library时,我们就不能在 这个项目中使用switch case,原因就是 library库中的生成的R.java中原创 2017-04-24 09:29:21 · 1241 阅读 · 0 评论 -
java float乘法不正确的解决办法
我不知道大家开发中有没有试验过 定义一个float变量然后 做乘法,举个列子float count = 6;String num = (count*0.7)+"";System.out.println(num);这个打印出来的结果是4.199999999999999 而不是4.2《Effective Java》中已经讲出了这种问题,float/doubl原创 2017-08-14 13:55:19 · 7186 阅读 · 0 评论 -
GridView基于pulltorefresh实现下拉刷新 上拉加载更多功能
原理和listview一样 ,都是重写android原生控件原创 2016-11-15 10:38:35 · 1759 阅读 · 0 评论 -
android 校验用户名密码手机邮箱身份证邮编等
package com.farmlink.most.util;import java.text.SimpleDateFormat;import java.util.Date;import java.util.regex.Matcher;import java.util.regex.Pattern;import android.net.ParseException;import原创 2017-08-22 15:38:19 · 1520 阅读 · 0 评论 -
android 跳转第三方地图(百度,高德,谷歌)
现在我们在做app的时候除了功能性以外,还会考虑开发时间和开发成本 ,所以很多功能我们可以技巧性的避开自己开发,直接跳转到三方软件。比如 地图的导航功能,我们完全可以不必集成三方的sdk,这样做的好处有几点1.减少自身开发成本 2.减少项目及app大小3.功能性自己做不如三方app的全面但是同时也有弊端就是一些客户倘若没有安装任何一款三方的地图软件 这样的话可原创 2017-09-13 17:38:58 · 11017 阅读 · 0 评论 -
Android 中的长度单位详解
一、介绍一下 dp 和 sp。dp 也就是 dip。这个和 sp 基本类似。如果设置表示长度、高度等属性时可以使用 dp 或 sp。但如果设置字体,需要使用 sp。dp 是与密度无关,sp除了与密度无关外,还与 scale 无关。如果屏幕密度为160,这时 dp 和 sp 和 px 是一样的。1dp=1sp=1px二、介绍一下px但如果使用 px 作单位,如果屏幕大小不变(假设原创 2016-04-06 12:32:59 · 2291 阅读 · 3 评论 -
android 国际区号注册手机号编码 以及常用城市列表
附上 国际区号编码:我是定义到arrays.xml里面了 中国大陆+86 香港+852 澳门+853 台湾+886 阿联酋+971 阿根廷+54 奥地利+43 澳大利亚+61 爱沙尼亚+372原创 2015-10-20 19:31:26 · 10218 阅读 · 5 评论 -
RadioGroup中RadioButton默认选中问题
当一个RadioGroup(其实只要在同一个父布局)中有若干个RadioButton时,RadioButton之间存在着互斥关系,也就是说只能选中一个RadioButton。但是如果我们需要默认选中某个RadioButton该如何处理呢?很简单,我们一般情况下会觉得很简单,假如我们需要设置第一个位置的radiobutton默认选中,直接会写到 for (int i =原创 2017-06-29 16:58:41 · 13347 阅读 · 0 评论 -
android EditText,textview显示 特殊字符及自定义字体
EditText显示 特殊字符原创 2017-07-05 13:33:43 · 4386 阅读 · 0 评论 -
RadioGroup 自动换行且保留点击事件
相信用过RadioGroup的同学都踩过很多坑,其中之一就是这个控件设计的不是很合理,不能设置里面的radiobutton的 排列方式(几行几列),导致我们开发的时候要调整里面的布局很是麻烦。另外一个坑是 动态new 的时候选默认值的问题,这个在之前的一篇文章RadioGroup中RadioButton默认选中问题 这个里面已经提到过了,就不再细说了。今天主要说说这个radiogrou原创 2017-07-24 15:36:36 · 9173 阅读 · 0 评论 -
android两级分类列表且子列表item不同布局实现
想必大家开发过程中一定碰到过这样的界面上面这个图, 看到后分析一下, 最上面是一个滚动轮播图, 肯定滑动的时候是要跟着可以滑动的,这个应该就是一个headview下面这部分 ,要求是这样的 最新视频分类 下面的视频 是可以显示多个的 也就是一个listview效果 其它分类下面的 item 是 类似gridview效果看到这个效果 应该想到的是recy原创 2016-11-15 10:57:29 · 6919 阅读 · 1 评论 -
GridView 设置选中状态
GridView设置选中状态设置原理 是将bean中的数据加入一个字段isSelect 默认填充数据的时候 ,默认选中的第一个值 设置为true,其余的都设置为false.然后 点击单个item的时候 ,循环list 将选中的position 的item设置为true,其余的都设置为false ,然后adapter notify.activitypackage原创 2016-11-15 16:29:08 · 8139 阅读 · 3 评论 -
android 搜索自动匹配关键字并且标红
/** * 多关键字查询表红,避免后面的关键字成为特殊的HTML语言代码 * @param str 检索结果 * @param inputs 关键字集合 * @param resStr 表红后的结果 */ public static StringBuffer addChild(String str,List inputs,StringBuffer resStr){ i原创 2016-07-29 11:53:43 · 8638 阅读 · 4 评论 -
android ANR产生原因和解决办法
ANR (Application Not Responding) ANR定义:在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(ANR:Application Not Responding)对话框。用户可以选择“等待”而让程序继续运行,也可以选择“强制关闭”。所以一个流畅的合理的应用程序中不能出现anr,而让用户原创 2015-06-25 14:09:17 · 1742 阅读 · 1 评论 -
Android中notifyDataSetInvalidated()和notifyDataSetChanged()有什么区别
看下源码中对于这两个方法 public void notifyDataSetChanged () 该方法内部实现了在每个观察者上面调用onChanged事件。每当发现数据集有改变的情况,或者读取到数据的新状态时,就会调用此方法。 public void notifyDataSet转载 2015-06-25 10:40:11 · 965 阅读 · 0 评论 -
android用视频当做背景
我们经常下载app玩的伙伴们,肯定见过有的app的背景图 是一个动画,或者说看着就是视频。 那么这种功能怎么实现的呢 ,代码我也不一点一点粘贴了 直接给各位同学上链接。 鉴于很多同学 用eclipse开发 很多同学用android studio开发 所以小生特意准备了两个版本 供大家参考。 肯定 可以用本人试过了。别忘了好评啊.elipse版本android studi原创 2016-05-30 16:11:07 · 5200 阅读 · 5 评论 -
android消息通知更新(小红点,数字提醒)之badgeview
上面这种数字提醒想必大家都接触过,那么怎么实现这个效果呢,刚开始的时候想的是自己写一个自定义的控件linearlayout,里面放两个imageview。我刚接触android开发的时候这么做过,后来才知道有badgeview这个东西,用起来很方便。代码实现也很简单textView = (TextView) findViewById(R.id.tv);BadgeView badgeVie原创 2017-02-06 16:38:01 · 10188 阅读 · 0 评论 -
android 程序员跳槽需要注意哪些?
我是一个工作3年多的android开发,由于公司和个人发展原因,打算跳槽!这次跳槽又给我好好的上了一课!所以我自己反思总结了一下,然后整理出一下几点 程序员打算跳槽的时候需要注意的几点!一 先想好自己要去一家什么样的公司,对自己有一个清晰的规划目标。因为这时候你已经有一定的选择权了,不是刚毕业出来找工作那会就希望很快上班了。所以你要想好想去一家什么样的公司,一是对 投简历的时候你会原创 2015-07-27 13:56:32 · 3767 阅读 · 0 评论 -
net.sf.json.JSONObject 和org.json.JSONObject 的差别
net.sf.json.JSONObject 和org.json.JSONObject 的差别。一、创建json对象String str = "{\"code\":\"0000\", \"msg\":{\"availableBalance\":31503079.02}}org.json.JSONObject:JSONObject json = new JSONObject(s转载 2017-07-10 09:34:56 · 1042 阅读 · 0 评论 -
android intent打开各种格式文档方法
我们开发的时候经常碰到打开各种文档,目前的应用处理方式 基本都是依赖于三方软件打开 ,而不是在应用内打开,因为文件格式有很多,倘若都在应用内打开的话,肯定要增加很大的开发时间和开发成本,而且实现效果没有一些三方的app实现的效果好。话不多说,给大原创 2017-10-18 15:46:53 · 4035 阅读 · 0 评论 -
Android Canvas 方法总结
在自定义 View的时候,我们经常需要绘制一些自己想要的效果。这里就需要使用Canvas对象。下面将Canvas对象常用方法做个笔记,方便记忆。对Canvas进行操作对Canvas的一系列操作,是指对Canvas进行旋转、平移、缩放等操作。这些操作可以让Canvas对象使用起来更加便捷。Canvas平移/** * 画布向(100,50)方向平移 * * 参数1: 向X轴方向移动100...转载 2018-03-05 17:16:30 · 891 阅读 · 0 评论 -
Android-移动支付 支付宝 微信 银联
前言这里开篇讲解一系列的Android相关的移动支付。移动支付也称为手机支付,用户使用移动的设备,完成对所购买商品或者服务的支付功能。包括远程支付(网上支付、短信支付),近场支付(刷卡、滴卡、pos机)。国内的移动支付方式:支付宝,微信,银联,百度钱包,QQ钱包,财付通,京东支付易宝支付,快钱支付,还有一些第三方的支付什么连连支付之类的境外的移动支付方式(这里直说一个) :pa...转载 2018-12-03 12:03:40 · 748 阅读 · 0 评论 -
android移动支付——支付宝支付
前言这里开篇讲解一系列的android相关的移动支付。移动支付也称为手机支付,用户使用移动的设备,完成对所购买商品或者服务的支付功能。包括远程支付(网上支付、短信支付),近场支付(刷卡、滴卡、pos机)。国内的移动支付方式:支付宝,微信,银联,百度钱包,QQ钱包,财付通,京东支付易宝支付,快钱支付,还有一些第三方的支付什么连连支付之类的境外的移动支付方式(这里直说一个) :pa...转载 2018-12-03 15:24:19 · 821 阅读 · 0 评论 -
android移动支付——微信支付
前言这里开篇讲解一系列的Android相关的移动支付。移动支付也称为手机支付,用户使用移动的设备,完成对所购买商品或者服务的支付功能。包括远程支付(网上支付、短信支付),近场支付(刷卡、滴卡、pos机)。国内的移动支付方式:支付宝,微信,银联,百度钱包,QQ钱包,财付通,京东支付易宝支付,快钱支付,还有一些第三方的支付什么连连支付之类的境外的移动支付方式(这里直说一个) :pa...转载 2018-12-03 15:25:48 · 625 阅读 · 0 评论 -
android移动支付——银联支付
前言这里开篇讲解一系列的Android相关的移动支付。移动支付也称为手机支付,用户使用移动的设备,完成对所购买商品或者服务的支付功能。包括远程支付(网上支付、短信支付),近场支付(刷卡、滴卡、pos机)。国内的移动支付方式:支付宝,微信,银联,百度钱包,QQ钱包,财付通,京东支付易宝支付,快钱支付,还有一些第三方的支付什么连连支付之类的境外的移动支付方式(这里直说一个) :pa...转载 2018-12-03 15:29:56 · 737 阅读 · 0 评论 -
android移动支付——PayPal支付
前言这里开篇讲解一系列的Android相关的移动支付。移动支付也称为手机支付,用户使用移动的设备,完成对所购买商品或者服务的支付功能。包括远程支付(网上支付、短信支付),近场支付(刷卡、滴卡、pos机)。国内的移动支付方式:支付宝,微信,银联,百度钱包,QQ钱包,财付通,京东支付易宝支付,快钱支付,还有一些第三方的支付什么连连支付之类的境外的移动支付方式(这里直说一个) :pa...转载 2018-12-03 15:35:16 · 1354 阅读 · 0 评论 -
android 防止多次点击
大家在开发过程中写控件点击事件是经常有的事,有时候用户操作过快会导致点击多次,影响体验,我们该如何避免这种情况呢,很简单加个方法判断下就好了 ,主要是利用了时间差的原理。方法如下: private static long lastClickTime; public static final int INTEGER_800 = 800; /** * 防止多次点击...原创 2019-04-19 14:52:40 · 495 阅读 · 0 评论 -
android开发错误详情汇总及解决方法(持续更新)
1.Java.lang.UnsatisfiedLinkError: No implementation found for int[]出现这样的错误信息 ,大部分都是引用第三方sdk时出现的错误。解决办法就是 将 第三方这个so库文件夹全部引入进来。问题应该就不会出现了。2. xxx.xxx.xx Activity cannot be cast toAndroid.app.a...原创 2019-05-29 14:26:00 · 444 阅读 · 0 评论 -
Android跳转到应用商店的APP详情页面,以及 Google GMS 各个apk的包
需求:从App内部点击按钮或链接,跳转到应用商店的某个APP的详情页面。让用户 下载 或 评论。实现:/** * 启动到应用商店app详情界面 * * @param appPkg 目标App的包名 * @param marketPkg 应用商店包名 ,如果为""则由系统弹出应用商店列表供用户选择,否则调转到目标市场的应用详情界面,某些应用商店可能会失败 */pub...原创 2019-05-29 14:44:51 · 12646 阅读 · 1 评论 -
android 读取本地数据库db文件(Android sqlite)
我们知道Android中有四种数据存储方式:SharedPreference存储 content provider SQLite数据库存储 文件存储今天我们主要说 本地数据库sqlite这种方式,实现读取一个本地数据库db文件的功能。为了方便说明,我举个例子来讲:我们创建一个本地数据库,里面包含两张表 一个用户表user 一个性别表 gender要求:1.将用户表中用户查...原创 2019-09-11 10:07:06 · 11304 阅读 · 9 评论 -
Android 图片获取显示照片拍摄时间
类似图上的右下角日期,就是我们用程序动态画上去的,这个时间显示什么时间当然要根据我们自己的业务需求来定。以我们的举列,我们的客户要求这个时间显示的是照片拍摄的日期。这个分为两种情况1.添加照片时候 用相机拍摄的图片,这个当然直接取当时的时间就可以了,具体代码如下: //拍照 private void fromCarema(OnFilishedList...原创 2018-08-13 11:09:25 · 6638 阅读 · 0 评论 -
android 底部标签栏CommonTabLayout搭建项目底部菜单(带消息提醒)
大家在开发项目的时候,如果新开发一个app,采用这种标签栏模式的产品,需要搭建底部菜单。实现起来很简单,而且可以有消息提醒功能。话不多说,直接上代码:核心的CommonTabLayout 自定义的FrameLayoutpackage com.example.commontablayoutdemo;import android.animation.TypeEvaluator;import a...原创 2018-04-25 16:21:22 · 4419 阅读 · 0 评论 -
仿IOS弹出框及提示框(含Demo)
做项目经常需要用到各种各样的提示框,今天先把通用的提示框和仿IOS的弹出框写到demo里面后面会持续更新其他的。1.提示框效果2.仿IOS弹出框效果Activity代码package com.example.iosdialog;import com.example.iosdialog.IosDialog.MyPopClickListener;import原创 2017-12-25 17:21:05 · 3928 阅读 · 0 评论 -
关于build.gradle四个版本号的含义
在一个Android studio的项目中,每一个module的build.gradle文件里面都标明了四个版本号,他们分别是compileSdkVersion,buildToolsVersion,minSdkVersion,targetSdkVersion很多人都不是很能弄清楚这四个版本的区别。在这里我仅发表个人理解,如果有错,希望指正compileSdkVersioncompileSdkVer...转载 2018-02-23 11:51:02 · 1262 阅读 · 0 评论 -
Android 标签栏pagerslidingtabstrip用法实例(含Demo)
(效果图来源于自己写的demo,双击可放大)大家肯定对这种可滑动的导航标题并不陌生,项目中经常需要用到这种滑动切换的效果,我觉得PagerSlidingTabStrip搭配viewPager的组合最好用了。PagerSlidingTabStrip是一个开源框架,和github上面的其他开源框架使用方法一样开源框架地址:https://github.com/astuetz/PagerSlidingT...原创 2018-02-24 11:57:20 · 697 阅读 · 0 评论 -
Android 横向ListView实现
上面历史环境一栏这个是实现后的效果图,可以横向滑动的listView核心代码类HorizontalListView:package com.example.horizontallistviewdemo;import android.content.Context;import android.database.DataSetObserver;import android.graphics....原创 2018-03-07 10:02:46 · 18616 阅读 · 5 评论 -
android 横向滑动分类效果实现
大家看上面的分类栏,我们这个分类数目不固定,要求可以一个一个横向滑动。不是viewPager分页 一屏幕放4个,一滑动一下子显示下一页的4个。当然这种效果一般都是用viewPager实现。实现方法我晚点会写一篇文章链接到这里。这个横向的列表之前的博客已经写过了用的HorizontalListView,所以这个横向滑动列表的实现 我就不再写一次了 ,感兴趣的可以直接看这篇文章Android 横向Li...原创 2018-03-31 18:06:25 · 3702 阅读 · 0 评论