自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 问答 (1)
  • 收藏
  • 关注

原创 Android集成华为推送实践

        最近在开发新项目,因为是内部人员使用的App,而且暂时统一使用华为手机做为终端设备。所以,推送自然而然就使用了华为推送。在集成华为推送之前,也去网上看了好多,大都说华为的文档什么的很坑,不好搞。抱着不好搞的念头开始了我的集成之路,中间的挫折就不提了,反正最终我是测试通过了,而且手动把进程清理之后依然可以收到推送,瞬间感觉很好!        接下来就开始我们的集成之路,也希望各位...

2018-05-26 18:10:05 3362 1

原创 Android 5.0、6.0 使用layout_weight上下平分失效

      最近在项目中遇到一个蛋疼的问题,也可以说是Android不同版本的适配问题,因为这个问题在Android8.0上是没问题的,但在5.0、6.0是不行的,故此也要想办法解决。具体问题是这样的:       项目中做一个水平上下交错时间轴使用ListView实现,交错显示两种不同布局,在写listitem的时候使用了layout_weight这个属性来使布局上下对称,此时为了给it...

2018-09-12 10:32:11 455

原创 Android自定义RadioButton 第一次点击选中,再次点击取消状态,可与RadioGroup一起用

前言:最近在做的项目中有一个筛选弹框,产品的意思是要做成CheckBox那种可以取消的,那为什么不直接用CheckBox呢?因为她有组合,一个组合里只能选中一个。为了懒,不想用几个CheckBox来判断选中状态,就在网上找了找看有没有现成的东西,但感觉都不满意,取消是可以做到,但没有提及在RadioGroup里只有一个可选中。后来,我就去看了下RadioGroup的源码,看到了下面的一个一段:上图...

2018-05-30 15:03:44 7754 1

原创 Android 中文乱码问题

前言:昨天, 新开的项目中很不幸出现乱码,不是IDE内乱码,而是在Java类里使用中文,在真机上显示乱码。我也知道在Android Studio中设置File Encoding 格式都设置成UTF-8,但还是不行。。后来又重新弄了一项目,诶,可以了。但是!!我把我的gradle文件复制过来之后就又不行了。。经过一番周折,我擦,是jack 的bug。。。原因就是用了JDK 1.8 所以这个乱码是由于...

2018-05-08 10:18:22 327

原创 Android 四大组件之Activity

Activity作为Android四大组件之一,是应用中最常用的组件。熟悉Activity的生命周期以及启动模式,对于我们平常的Coding来说是必须的。一、Activity的生命周期从Activity创建到销毁:onCreate() , onStart() , onResume() , onPause() , onStop() , onDestroy() , 当然还有一个onRestart()在...

2018-03-14 15:34:27 182

原创 面试常客,单例模式实现解析

在java代码中单例模式是很常用的一种设计模式,其实现形势也是多样的,但你真的了解什么是单例吗?这个问题也经常在面试中出现,那么让我们一起来学习一下吧!首先,为什么要用单例? 你可能会说:只创建一次对象;emmmm…. 然后就不知道了。。 OK, 在我没有查资料之前我好像知道就比这个多一点,需要线程安全。 那么补充:(借鉴他人)延迟加载线程安全没有性能问题防止序列化产生新对象防止反射攻

2017-10-24 13:38:39 217

原创 android studio 从idea无gradle结构变成gradle编译环境,到multidex分包引流总结

最近,公司的项目jar包太多,马上就要出现65536错误,这个错误我就不不多说,主要就是方法数过多,因为我们难免会以来第三方包,这就导致项目越来越大,总有一天会超出这个限制。        我们公司的项目是比较老的项目了,最早的项目结构是用idea创建编译的,虽然我们也是用AS写,但确实是没有gradle的,这点大家不用怀疑。我在网上也找了很久,想在不动项目结构的基础上做到分包,但能力有限,也

2017-05-24 15:41:00 1136

原创 动画效果改变view的高度

private void startPropertyAnim() { ViewGroup.LayoutParams layoutParams = ll_big.getLayoutParams(); ValueAnimator anim = ValueAnimator.ofInt(layoutParams.height, 100); ll_big.se

2017-03-08 11:44:56 1611

原创 正则表达式判断金额 0/0.0/0.00 不是金额

import android.app.Activity;import android.os.Bundle;import android.text.InputType;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.Toas

2017-01-13 15:03:35 10686 3

原创 startActivityForResult相关

startActivityForResult(intent, 100);开启一个Activity,被开启的Activity可以返回数据,只要在被打开的页面处Intent intent = new Intent();intent.putExtra("msgId", id);setResult(0, intent);intent 就是携带的数据然后:data 就是i

2017-01-10 16:59:19 201

原创 两个集合有共同元素,其中一个集合删除两个集合共同的元素

/** * 删除消息 */private void deleteData() { for (int i = 0; i mMsgList.size(); i++) { removeIdList(mMsgList); } mAdapter.notifyDataSetChanged(); this.keyList.clear(); rela

2017-01-04 18:46:26 1050

转载 Android 自定义控件写法详解

转载自: http://blog.163.com/ppy2790@126/blog/static/103242241201382210910473/开发自定义控件的步骤:1、了解View的工作原理 2、 编写继承自View的子类3、 为自定义View类增加属性 4、 绘制控件 5、 响应用户消息 6 、自定义回调函数  一、View结构原理Android系统

2017-01-03 18:03:30 298

原创 用ZXING生成二维码的工具类(可以去掉白边,添加logo)

===========================用ZXING生成二维码的工具类(可以去掉白边,添加logo)==========================/** * @auther gjc * @since 2016/12/27. */public class CreateCodeUtil {    public static Bitmap crea

2017-01-03 17:58:35 5420 1

转载 Fragment的生命周期

主要看两张图,和跑代码一,Fragment的生命周           二,与Activity生命周期的对比     场景演示 : 切换到该Fragment11-29 14:26:35.095: D/AppListFragment(7649): onAttach11-29 14:26:35.095: D/AppListFragment(7649): onCreate

2016-12-14 12:39:06 240

原创 GestureDetector 手势识别器

手势识别器GestureDetector的实际使用:    1.自定义一个类,继承Activity,重写onCreate方法;    2.在onCreate方法中,直接 new 一个GeatureDetector,使用两个参数的那个 ,参1:上下文;参2:监听者    3.在onCreate方法中重写onTouchEvent方法,因为手势识别器识别的手势要在onTouchEvent方法

2016-10-07 00:34:32 267

原创 android入门之Button四种点击事件及四大布局Layout

#在android入门基础中,Button按钮点击事件是比较常用且入门的知识点。1.匿名内部类//Button对象bt调用点击监听,里面接收一个对象,所以new onClickListenerbt.setonClickListener(new onClickListener(){           public void onClick(View  v){    

2016-08-26 22:16:53 864

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除