![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
申兵兵
这个作者很懒,什么都没留下…
展开
-
Gson的使用
1、Gson是什么?原创 2014-11-07 10:38:12 · 1046 阅读 · 0 评论 -
Android API 19 及以上版本AlarmManager setRepeating 不准或只执行一次的解决方案
public static void setAlarmTime(Context context, long timeInMillis,String action, int time) { AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE); Intent intent = n原创 2015-12-30 11:57:08 · 21131 阅读 · 9 评论 -
为什么ListView的setSelection无效了?
原因一:界面初始化完成之后listview失去了焦点。原因二:因为listview的item高度不一致,或者添加了headerview,在setadapter之后调用setSelection无法准确定位。万能解决方法:final ListView listView = new ListView(getActivity());listView.post(new Runnable() {原创 2014-12-19 15:47:41 · 13907 阅读 · 9 评论 -
Android 在 LinearLayout 添加分割线 divider
如何在LinearLayout中添加分割线,就像下面这张图一样。推荐方法:LinearLayout有两个属性1、dividerandroid:divider = ""divider可以是图片文件,也可以是xml绘制的shape。使用shape的时候一定要添加<size> ,一定要添加color,即使是透明也要写上例如:<?xml version="1.0" encoding="utf-8"?>原创 2016-05-18 15:07:32 · 11168 阅读 · 0 评论 -
Android 在 LinearLayout 添加分割线 divider
如何在LinearLayout中添加分割线,就像下面这张图一样。 推荐方法:LinearLayout有两个属性1、android:divider="@drawable"drawable可以是图片文件,也可以是xml绘制的shape。使用shape的时候一定要添加 例如: 2、android:showDividers = "middle|en原创 2015-05-18 11:57:08 · 76062 阅读 · 9 评论 -
GreenDao 在 Android Studio 中的配置使用 之 更新数据库
前面介绍了GreenDao的搭建配置。 这篇介绍一下如何简单实用。更新数据库greendao默认的更新数据库方法是,删除原来的所有表,再创建所有表,这样做的好处是省时省力,坏处是神经病啊,我数据丢了啊!这是自动生成的DaoMaster代码片段,用来更新和创建数据库的:```public static class DevOpenHelper extends OpenHelper { pub原创 2016-04-23 11:34:27 · 2185 阅读 · 0 评论 -
GreenDao 在 Android Studio 中的配置使用
GreenDao的GitHub地址:https://github.com/greenrobot/greenDAO新建gradle空白项目,项目结构如下: 新建”lib-greendao-generator”module。此library主要是生成Dao、Bean文件,所以主项目不必引用。并且它是一个纯java module。新建Module 选择Java Library起个名字,然后finis原创 2016-04-22 18:17:22 · 3804 阅读 · 3 评论 -
使用RecyclerView + ViewPager 实现轮播广告的两个Bug
大家都知道,RecyclerView没有addHeaderView的方法,所以,要实现添加头部,就需要在RecyclerAdapter中进行。 将ViewPager作为RecyclerView的其中一项 过程中发现两个问题: 1.当ViewPager不可见时,会执行其onDetachedFromWindow方法,再次可见时会执行onAttachedToWindow方法。原创 2016-05-18 13:48:31 · 6257 阅读 · 16 评论 -
Android 项目模块化开发,提高开发效率。
随着需求的增加,代码量随之变得庞大、臃肿。于是产生了很多影响开发效率的问题。 例如: 1. 方法数超过65K。 2. 程序编译运行一次至少1-2分钟。 3. 代码变得难以管理,影响阅读及修改效率。 4. 代码之间紧密度高,不好拆分任务……为了解决上述种种问题,我设计了一个简单的模块化机制。先来看看我项目的大致结构吧。图中可以看到,项目里有很多自定义的代码库和第三方库(原创 2016-12-21 14:51:40 · 6555 阅读 · 4 评论 -
使用Gson反序列化时导致实体类的默认值失效了,坑点。
实例:实体类TestBeanclass TestBean implements Serializable{ String title; boolean isShow = true;}反序列化代码:new Gson().fromJson("{title:\"标题\"}", TestBean.class);预计得到的结果:TestBean.title 值等于 “标题”TestBean原创 2017-03-23 18:10:54 · 4329 阅读 · 6 评论 -
[React Native] Android 白屏优化
APP是原生嵌入一个React Native界面背景按官方实例集成了一个React Native界面,但每次打开都感觉等待时间有点长,会有白屏状态。这对于强迫症来说简直不能忍。于是决定优化。效果优化前的效果,白屏时间较长。优化后,白屏时间明显变短。原因 当Android要运行React Native时,需要先加载JSBundle,这块是比较耗时的。 之前的做法是在打开界面的时候才去加载,原创 2017-05-22 19:00:10 · 1667 阅读 · 3 评论 -
MultiDex 遇到的大坑
编译报错Conversion to Dalvik format failed:Unable to execute dex: method ID not in [0, 0xffff]: 65536没问题当你以为配置了以下代码之后android { defaultConfig { ... minSdkVersion 15 targetSdkV...原创 2018-03-05 17:06:07 · 1194 阅读 · 0 评论 -
Android 测试环境和生产环境动态切换实现思路
在开发项目的过程中,通常会遇到开发环境、测试环境、预发布环境、生产环境等多种环境互相切换的问题。客户端需要根据不同环境选择不同的域名调用接口,或者展示一些隐藏功能。如果每切换一种环境都需要重新打包,那就变得太蛋疼了。简单的说下思路,就是把需要更改的域名以文件形式存到SD卡里,通过修改/读取文件设置域名。解决方法分为以下几步:区分正式包、测试包:抽象来看,其实安装包只需要两种就行:正...原创 2018-07-02 19:58:11 · 3524 阅读 · 0 评论 -
Android 测试环境和生产环境动态切换实现思路
在开发项目的过程中,通常会遇到开发环境、测试环境、预发布环境、生产环境等多种环境互相切换的问题。客户端需要根据不同环境选择不同的域名调用接口,或者展示一些隐藏功能。如果每切换一种环境都需要重新打包,那就变得太蛋疼了。简单的说下思路,就是把需要更改的域名以文件形式存到SD卡里,通过修改/读取文件设置域名。解决方法分为以下几步:区分正式包、测试包:抽象来看,其实安装包只需要两种就行:正...原创 2018-07-02 19:58:11 · 2323 阅读 · 0 评论 -
Java 如果阻止二次继承
二次继承是我瞎编的一个词汇- -事情是这样的有三个类 父类:public abstract class Father{ public abstract void eat();}子类:public abstract class Son extends Father{ //这里加上final,那么他的子类就不能再继承此方法了 public final void eat(){原创 2016-05-11 14:56:39 · 715 阅读 · 0 评论 -
慎用shrinkResources
此属性配合minifyEnabled混淆使用 但是! 会莫名其妙将drawable-nodpi下的资源图片移除掉。 醉了醉了醉了醉了醉了原创 2015-10-29 16:29:16 · 8367 阅读 · 2 评论 -
Android(Java) 线程池ExecutorService 使用的注意事项
ExecutorService pool = Executors.newFixedThreadPool(2); //创建实现了Runnable接口对象,Thread对象当然也实现了Runnable接口 Thread t1 = new MyThread(); Thread t2 = new MyThread(); Thread t3 = new MyThread();原创 2014-11-20 16:58:32 · 1908 阅读 · 0 评论 -
Android如何让TextView子元素随着父元素的背景变化而改变字体颜色?
Android如何让TextView子元素随着父元素的背景变化而改变字体颜色?重点在于android:duplicateParentState="true"首先创建两个XML:父元素背景选择器 item_bg.xml 子元素颜色选择器 text_bg.xml 布局文件:原创 2014-12-19 17:40:36 · 5066 阅读 · 1 评论 -
如何取消魅族手机的下拉悬停?
ListView.setOverScrollMode(View.OVER_SCROLL_NEVER)一般只需要这样做就可以了,同样适用于其他带有滚动效果的控件,例如ScrollView,WebView等。魅族下拉悬停有个BUG:当ListView内容不满一屏,并且使用了addHeaderView方法,那么当手指滑动的时候,界面就会错位。及时适用上面方法,也无济于事。所以尽量避免以原创 2014-12-19 14:11:26 · 3391 阅读 · 1 评论 -
Android如何实现ListView的Item松开渐变效果?
Android如何实现ListView的Item松开渐变效果?<selector xmlns:android="http://schemas.android.com/apk/res/android" android:exitFadeDuration="500"> 重点在于android:exitFadeDuration="500原创 2014-12-19 18:10:21 · 1802 阅读 · 0 评论 -
Android加载布局文件的两种方式及区别。
第一种 LayoutInflater inflater = LayoutInflater.from(parent.getContext()); inflater.inflate(...);//有多种构造函数第二种 View inflate(Context context, int resource, ViewGroup root)原创 2014-12-22 11:32:23 · 10566 阅读 · 0 评论 -
如何去掉ListView设置Padding属性后出现的空白边距?
重点是给ListView添加:android:clipToPadding="false"同样适用于其他可以滚动的控件。未添加的效果:添加后的效果:原创 2014-12-24 16:28:23 · 3507 阅读 · 0 评论 -
ApkTool反编译《新浪微博》《万能钥匙》android a
1、需要的材料ApkTool.jarApkTool.bataapt.exe 签名工具万能钥匙apk安装包apktool下载地址:https://code.google.com/p/android-apktool/原创 2015-02-28 14:57:09 · 5461 阅读 · 1 评论 -
Fragment 嵌套 Fragment onActivityResult 无效的解决方法
如下布局 在Activity中添加 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { FragmentManager fm = getSupportFragmentManager(); int index = requestC原创 2015-09-24 11:13:29 · 1401 阅读 · 0 评论 -
ListView 嵌套 GridView 大法
起因项目需求要用表格形式实现布局 但是!!!需要下拉和上拉加载数据。 因为项目里只有github里的XListView改造的ListView,又因为本人太笨太懒,不想写上拉下来gridview。。废话不多说1、定义一个主视图 listview.xml<ListView xmlns:android="http://schemas.android.com/apk/res/android" a原创 2015-10-29 13:34:16 · 12594 阅读 · 2 评论 -
切换界面之后 SwipeRefreshLayout 动画效果暂停,以及不消失的解决方案
原因因为SwipeRefreshLayout使用了一般动画animation 当界面隐藏后,动画即停止。需要改为属性动画Animator修改后的SwipeRefreshLayout/* * Copyright (C) 2013 The Android Open Source Project * * Licensed under the Apache License, Version 2.0原创 2015-12-15 15:39:29 · 9113 阅读 · 13 评论 -
Android SDK Manager 无法更新下载怎么办?
卸载360,谢谢原创 2015-12-03 20:48:28 · 753 阅读 · 0 评论 -
Android Studio + NDK 之 Hello Word
新建工程,包名随意,本例为com.test在com.test下新建package com.test;/** * Created by Shen on 2015/9/23. */public class NDKUtil { public native String getHelloWord();}点击build生成class文件 使用cmd进入到app\build\interme原创 2015-09-23 17:08:24 · 1031 阅读 · 0 评论 -
Android 源码编译学习笔记(一)
Android源码编译之旅在此记录学习过程中接触到的资料、工具和经验。启蒙视频安卓巴士视频教程资料整理源码下载Git-daemon 安装教程Repo 使用介绍本章经验通过建立次级目录获取源码时,需要注意:需要安装 git-daemongit daemon --verbose --export-all --base-path=WORKING_DIR WORKING_DIR 中...原创 2018-12-05 15:41:59 · 311 阅读 · 1 评论