- 博客(124)
- 资源 (10)
- 收藏
- 关注
原创 Android开发上滑悬停且头部可刷新
需求:上滑列表后推荐,小岛,专题置顶,可左右切换。因为头部有重要内容,所有头部出现且滑到顶之后,再下来可刷新头部内容效果图:实现思路:首先上滑悬停想到的是协调布局CoordinatorLayout,第二用刷新控件包裹着协调布局,我用的刷新控件是refreshlayout.RefreshLayout第三在代码中app_bar_layout.addOnOffsetChangedListener判断刷新布局什么时候可用,什么时候不可用下面是实现文档步骤一:布局<?xml versi
2020-06-27 14:03:18 1128
原创 Android仿美团选择城市
需求:需要有当前定位城市,热门城市,下面按照城市首拼音排序,滑动的过程中字母A,B,C…会置顶互相切换。右侧有快速切换字母城市的选择效果图:思路:因为上部分要划走,RecyclerView滑动过程中要A,B,C置顶,所以采用CoordinatorLayout。自定义RecItemHeadDecoration做A,B,C置顶。步骤一:布局<?xml version="1.0" encoding="utf-8"?><android.support.constraint.Const
2020-06-26 11:02:53 2186
原创 Android开发引导蒙版
需求:在界面上特定位置做出指引,一步步告诉用户是怎么操作效果图:实现思路:在界面出来之后,获取相应的坐标,然后传坐标到startActivity一个新的界面,该界面背景是带透明度的,界面上添加一个根据坐标点镂空的TipsView下面一步步实现步骤一:自定义镂空控件TipsView示例代码:public class TipsView extends FrameLayout {private final Context mContext;private int[] mCircleLocatio
2020-06-25 21:58:19 1041
原创 融云(三)-----自定义列表会话
需求:在消息列表显示其他内容入口,如心动列表,最近来访,小助 手等,点击跳到相应界面效果图:如效果图所示:小纸条,心动列表等都是自定义的会话。实现做法有两个:app服务器创对应的targetId发相应内容给客户端客户端本地自己创建会话我推荐用客户端本地自己创建,因为节省融云每天的发信息流量数,特别app用户多的,这成本就大了用户如果换手机...
2019-10-23 23:03:50 884
原创 融云IM(一)-----接入
前言1、融云IM应该说是目前最好自定义和易读取文档的即时通讯第三方SDK了,之前有用过阿里百川IM的,可惜阿里百川不再更新和维护了2、im千万别选QQ的,如果就普通聊天选择qq那没问题,如果业务需要自定义的果断放弃。融云IM一直在快速的更新和维护。选它就没错了步骤1:创建应用,导入SDK创建应用:记得开发环境和生产环境是分开的,开发环境可生成的IM账号是有限的,有时im登录不成功是因为...
2019-10-20 11:36:26 2349
原创 接入华为支付
接入华为支付1、华为支付相对微信支付又复杂点,同样包名,签名,appId都必须正确,不能修改2、配置内容也多点,不过基本按照文档说明认真配置也是没问题的3、华为支付是没demo源码参考,只有文档的示例代码,其他第三方一般都会有demo的官方开发文档https://developer.huawei.com/consumer/cn/service/hms/catalog/huaweiia...
2019-10-07 16:28:49 4392
原创 接入银联支付
官方文档实在没法看,我是根据视频demo接入的。接入的是手机控件支付,地址如下:https://open.unionpay.com/tjweb/acproduct/list?apiservId=450&tdsourcetag=s_pctim_aiomsg1、导入UPPayAssistEx.jar,UPPayPluginExPro.jar到libs中还有assets中添加data.b...
2019-10-07 14:02:03 1215
原创 接入微信支付
接入微信支付相对支付宝支付要麻烦些,它和包名,签名有关。更让人难以理解的是类名和类所在的包名都是规定好的,不能改的,一改你就调不起微信支付。包名和应用签名的获取包名:build.gradle文件中的applicationId而不是AndroidManifest.xml中的package。以后凡是说到包名都是applicationId。应用签名的获取:因为项目的app都是用360加固的,3...
2019-10-06 13:41:48 392 1
原创 接入支付宝支付SDK
接入支付宝支付SDK可以说支付宝支付接入是所有SDK最好接入的,没有之一。客户端不用签名,也不用管包名,也不用管签名文件,就接口返回订单,把订单交给支付宝SDK调用就行,成功或者失败都在当前界面返回给你。你再去通知接口。支付流程图[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F3cGWIWC-1570262873819)(https://i.imgur....
2019-10-05 16:10:36 6959
原创 unable to find valid certification path to requested target
unable to find valid certification path to requested target前两天Android studio突然抽风,在build显示时一直下载不了google上的依赖库,同事的没问题。。下面是具体错误log Caused by: org.gradle.api.resources.ResourceException: Unable to lo...
2019-09-08 14:22:01 1376
原创 toast第二次有时不显示
看是不是这样做的。这里牵扯到回收机制,toast有可能在你调的时候就回收了。private static Toast toast;if (toast == null) { toast = Toast.makeText(context, text, duration); } else { toast.setText(text); ...
2019-03-27 17:49:28 1551 3
原创 融云设置已读,未读消息标识
融云设置已读,未读消息标识需求:会话列表,以及会话界面发出去的消息前面加上已读,未读的标识官方给的解决方案1、您可以通过 rc_config.xml 里的开关,开启消息的阅读回执功能。默认 false 为关闭状态,设置成 true 为开启2、请在 init 之后调用下面方法来设置支持消息回执的会话类型。目前只支持 PRIVATE、GROUP 和 DISCUSSION 三种类型官方还有一个...
2019-02-20 19:59:45 4672 1
原创 RelativeLayout漏的知识点
RelativeLayout知识点 ignoreGravity:设置该属性的控件,将不受gravity影响 margin:可以设置负数 测试代码<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk...
2018-07-24 22:20:41 229
原创 LinearLayout分割线
原来LinearLayout还有设置分割线功能知识点android:divider设置作为分割线的图片 android:showDividers设置分割线的位置,none(无),beginning(开始),end(结束),middle(每两个组件间) dividerPadding设置分割线的Padding 应用场景一般设置界面,关于我们界面效果图关...
2018-07-21 18:44:09 530
原创 android开发通知栏权限是否开启
需要分系统版本来操作 4.4版本一下不处理,4.4到8.0,8.0以上@RequiresApi(api = Build.VERSION_CODES.KITKAT)public static boolean isNotificationEnabled(Context context) { if (Build.VERSION.SDK_INT >= Build.VERSION_C...
2018-07-18 19:53:18 13690
原创 融云通知栏push和onReceived重复解决方案
融云通知栏push和onReceived重复解决方案业务需求根据系统推送过来的信息内容跳到特定页面吐槽,吐槽,吐槽 1.通知栏的显示可以有两个通道内容来控制 2.点完push的信息,进应用后onReceived还会再收到一条同样的内容,如果这时要处理你自己的跳转,就坑了。就算不点进来,你直接点桌面的应用,也会同样的问题 3.onNotificationMes...
2018-07-17 21:31:01 2312
原创 请求异步问题(融云昵称错乱问题)
请求接口要注意异步同步问题(融云昵称错乱问题)应用场景: 一般发生在快速多次请求接口上,有可能接口还没返回,这时候你请求了下一次了,这样变量的值变了,但是前一个请求返回中有需要用到。这时就会出现错乱。 直接看代码public class UserInfoPresenter {private String to_account;public void getI...
2018-07-12 20:13:30 411
原创 Bundle与Intent传递参数区别
好处:现在有A,B,C三个活动,我要把值通过A经过B传给C 如果用Intent,会需要一个个取出来再塞回去 用Bundle可以整个传过去,还可以添加新的数据
2018-03-28 18:25:23 1165
原创 android开发本地广播
//本地广播,只能动态注册 mLocalBroadcastManager = LocalBroadcastManager.getInstance(this); IntentFilter intentFilter = new IntentFilter(); //发出的是com.hbkj.android.yjq.mymoney.MY_CA...
2018-03-15 19:11:00 245
原创 多线程
1、创建多线程:extends Threadimplements Runnable:Thread(Runnable target)2、常用方法:super(name)/setName(name):设置线程名称Thread.currentThread():返回当前正在执行的线程对象start():就绪状态,有执行的资格,没有执行权(只能调用一次)join():线程加入,等待该线程终止再运
2018-03-06 20:29:30 169
原创 ArrayList本身去重
for(int x = 0;x<array.size() - 1;x++){ for(int y = x+1;y<array.size();y++){ if(array.get(x).equals(array.get(y))){ array.remove(y); y--; //需要减1,位置已经向左移
2018-02-24 18:04:07 2155
原创 统计字符串中的数字,大写字符,小写字符个数
public class CharacterTest { public static void main(String[] args) { //首先定义一个字符串 String str = "Adu123Messi"; //然后让我们定义三个统计变量 int bigCount = 0;//大写字母 int smallCount = 0;//小写字母
2018-02-24 15:04:24 2192
原创 EditView不顶布局的设置
就一句代码:android:windowSoftInputMode="adjustResize|stateHidden"
2018-01-30 19:17:55 552
原创 获取Activity的最外层布局
需求:获取每个布局最外层布局,首先想到的是findViedId(),但是很大可能每个布局定义的id是不一样的 普及:每个Activity只有有布局就有DecorView,DecorView包括标题栏和内容栏,在高版本中DecorView还可以设置状态栏,比如设置状态栏透明 if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){
2018-01-19 15:33:02 3661 1
原创 版本更新
几乎每个应该都必备的功能 准备工作:请求版本更新获取能下载apk的链接, 比如:”http://yibanyue.oss-cn-hangzhou.xxx.com/apk/yiyue.apk” 流程:请求版本更新链接–>获取到链接,弹框询问是否更新–>在本地建apk文件夹–>更新用DownloadManager下载apk,路径放在前面建好的文件夹中–>BroadcastReceiver监听是否下
2018-01-18 15:45:38 295
原创 android开发toast弹框更短时间
代码:/** * 短时间(1s)显示toast提示框,此提示框会显示在Activity的中部 * 尽量少用 * * @param word Created by cong on 2017/11/24 19:14 */ public void toastShorter(final int word) { this.run
2018-01-16 18:24:51 873
原创 启动页停留时间
启动页停留时间现在绝大数应用都有启动页,多数形式是放一张图。 最好是网络请求过来的,下面只说本地默认图 关键是停留时间的控制 特别说明:几种时间控制有误差(系统时间的受内存的影响) 1、Timer 2、new Handler()new Handler().postDelayed(new Runnable() { @Override public void r
2018-01-16 17:09:48 1307
原创 Android高版本询问开启xx权限
Android高版本询问开启xx权限现在基于信息安全问题,特别是版本是23以上权限越严格。 特别是拍照,读,写权限 一般权限允许过,下次就不用询问了的,所以很多应用都喜欢在首页或者启动页直接询问,不允许的就用不了 1、下面给出封装好的类,至于什么时候调看项目需要 public class EasyPermissions {private static final String TAG =
2018-01-11 20:22:23 1579
原创 自定义渐变圆角控件
先看效果图: 分析这是线性渐变色,圆弧半径刚好是高度的一半,文字居中处理,大小,颜色可调 首先开始自定义控件的基本步骤 1、style自定义属性<!--自定义控件属性--><declare-styleable name="MyGradientRoundButton"> <attr name="colorStart" format="reference" /> <attr na
2018-01-05 14:14:40 275
原创 android开发textview超过多少字显示省略号
比如超过6个字显示...代码:android:singleLine="true" android:maxEms="6" android:ellipsize="end"这个代码可能对于自定义控件有问题。换个思路想想,超过6个字,用代码自行截取,最后在自行添加...
2018-01-04 19:55:26 12418
原创 android开发修改状态栏
修改状态栏背景色和图标颜色默认是黑底白字的,现在要改为白底黑字的 先看下效果图: 1、状态栏背景是白色: 在style中设置<item name="colorPrimaryDark">@color/white</item>2、写修改状态栏图标的颜色(暂时只知道黑色和白色) public class StatusBarUtil {/** * 修改状态栏为全透明 * @param a
2018-01-04 09:40:27 3046
原创 android开发问题自定义控件
一般形式是问题+单选/多选结构。先看下效果图:原理:单选用RadioGroup来动态添加RadioButton示例代码:public class MyQuestionView extends LinearLayout{ private Context context; private boolean isAddRG; private RadioGr
2017-12-29 17:06:43 303
原创 android开发adapter赋值问题
直接赋值会改变原来的的值,这样就生成了两个一样的值错误代码示例:public void onClick(View view) { FollowResult.ListBean listBean = new FollowResult.ListBean(); listBean = bean; listBean.setHold
2017-11-28 20:24:31 1401
原创 字符串比较
字符串比较kotlin中可以直接用==来比较字符串内容,不像java中是比较堆内存地址 示例代码:fun main(args: Array<String>) {var str = "张三"var str1 = "张三"println(str == str1) //直接比较内容println(str.equals(str1,true)) //true是忽略大小写}
2017-11-26 14:42:01 224
原创 kotlin的三目运算
kotlin的三目运算kotlin中不再有java中的三目运算格式,比如a>b?a:b 取而代之的是直接用if else模式格式:if(a>b) a else b
2017-11-25 23:03:55 34807 2
原创 android开发的CheckBox和RadioButton
1、改变选择框:以RadioButton为例<RadioButton xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/rb_question" android:layout_height="wrap_content" android:layout_width="wra
2017-11-21 20:38:12 431 1
原创 RadioButton修改前面的选项样式
<item android:state_checked="false" android:drawable="@mipmap/normal_sex"/> <item android:state_checked="true" android:drawable="@mipmap/selected_sex"/>andro
2017-11-16 19:43:43 1467
原创 Android开发自定义组合控件
public class MyRegItemView extends RelativeLayout{ private TextView leftTextView; private TextView rightTextView; private ImageView rightImageView; public MyRegItemView(Context conte
2017-11-14 20:14:09 177
android计算器源码
2014-09-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人