
开发用笔记
无小旭
Android新手上路
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android 10.0及以上的Bitmap保存本地
项目一直用大佬的第三方PictureSelector控件,突然有个要求要生成图片保存本地,如何生成图片,网上有很多,但是发现一个本来很简单的保存图片到本地,折磨了一下午。。。直接上代码:public static void saveImageToGallery(Context context, Bitmap bmp) { // 首先保存图片 File appDir = new File(Environment.getExternalStorageDirectory原创 2022-04-01 18:49:37 · 2823 阅读 · 0 评论 -
Edittext限制小数后1位,输入“.”自动补充0
import android.text.SpannableStringBuilder;import android.text.Spanned;import android.text.method.DigitsKeyListener;import android.util.Log;/** * 金额输入过滤器,限制小数点后输入位数 * * 默认限制小数点1位 * 默认第一位输入小数点时,转换为0. * 如果起始位置为0,且第二位跟的不是".",则无法后续输入 */public class原创 2021-02-24 02:15:08 · 569 阅读 · 0 评论 -
RecyclerView只显示一行
目前遇到两种原因1.itemlayout里的高度设置为match_parent解决方法:将match_parent改为wrap_content2.ScrollView嵌套了recyclerView解决方法:在recyclerView外面套一个RelativeLayout,并且在recyclerView里添加属性:android:nestedScrollingEnabled="false"<RelativeLayout android:layout_width=原创 2021-02-05 13:07:51 · 910 阅读 · 0 评论 -
android app home键返回桌面再次打开会重新打开一个app
最近碰到个问题,app用home键退出之后,再次打开进入,会重新打开一个app,这个问题的解决方法网上有很多,说的最多次的就是在Activity或者BaseActivity的setContentView方法前写上: if (!isTaskRoot()) { final Intent intent = getIntent(); final String intentAction = intent.getAction();原创 2020-09-16 22:34:28 · 2112 阅读 · 0 评论 -
阿里云热修复Sophix接入
项目需要对接热修复,一开始打算弄微信的Thinker,但是不支持高版本的gradle,最新版的gradle也需要改成4.0.1才能使用,不敢轻易修改gradle版本,所以还是使用了Sophix。1.集成SDK:在builde.gradle里添加maven { url "http://maven.aliyun.com/nexus/content/repositories/releases" }如图然后添加依赖 // 阿里云热修复 implementation 'com原创 2020-07-30 19:44:38 · 839 阅读 · 4 评论 -
retrofit的简单使用(不依赖rxjava)
项目一直在用okgo,新项目打算使用retrofit,看了一下,自己记录一下基本使用。。。1.首先单例一个Retrofitpublic class RetrofitUtils{ public static Retrofit retrofit; public static final String END_POINT = "xxxxx"; public static Retrofit getRetrofit() { if (retrofit == nul原创 2020-05-29 17:24:52 · 361 阅读 · 0 评论 -
Android Studio 运行APP 提示卸载重新安装的错误
这两天在真机运行的时候,老是碰到这个问题,一开始没有在意,直到今天上午,他提示我要卸载之后再安装,结果我已经卸载了,但是它还是提示我要卸载。。。我就开始方了。。。网上找了半天,也没一个符合我的情况,后来我想。。。现在的情况是,它要我卸载,但是我已经卸载过了,没办法再卸载了,那么,我给它先装一个再让它卸载试试?于是我打包apk,传到手机,再安装,结果。。。提示我空间不足!我有点明白了,于是把...原创 2019-11-12 10:01:22 · 946 阅读 · 0 评论 -
利用popupwindow和scale动画实现弹出列表动画
popupwindow一样的使用方法,关键在于scale动画,记录下来方便以后使用先定义styles<style name="style_pop_animation"> <item name="android:windowEnterAnimation">@anim/anim_pop_in</item> <...原创 2018-06-12 14:45:27 · 1230 阅读 · 0 评论 -
如何让scrollview里的listview可滑动
试过很多方法,网上说的较多的是给listview设置监听事件,但是试过不知道为什么不行,重写ListView也失败过好几次,终于找到一个可以的办法:重写ListView/** * 固定在ScrollView里可滑动的ListView */public class ListViewForScrollView2 extends ListView{ int mLastMo...原创 2018-05-22 11:27:14 · 723 阅读 · 0 评论 -
使用tabhost,相邻的两个片段,点击其中一个,另一个再打开就显示空白
今天项目要求改布局,在首页的tabhost里,将两个fragment的布局变成一样的,只是内容不一样,改完了之后,就出现了BUG,点开一个片段之后,再点开另一个片段,该片段显示的是空白。后来花了不少时间去解决这个问题,在别人的提示下,终于发现问题。因为这两个片段里面还有viewpager,也就是整体的框架是,Activity里有一个ViewPager,ViewPager关联的Fragment里还有V原创 2018-01-09 17:40:53 · 274 阅读 · 0 评论 -
当FragmentTabHost切换Fragment时,重复调用Fragment的onCreatView方法的解决办法
当切换tabhost的时候,会重复调用当前fragment的onCreatView方法,这样在这个方法里的initUI和initData都会重新调用,在某些情况下(自己碰到的情况是在片段里加载MagicIndicator时,重新加载为空白),会出现问题,如何避免呢?解决方法:在onCreatView方法里进行判断“` private View rootView;// 缓存Fragmen view@原创 2017-12-18 16:08:02 · 882 阅读 · 0 评论 -
Android简易的自动更新(通知栏+系统下载),包含7.0系统解析安装包失败的处理
项目需要添加自动更新功能,因为是挪用加整理的,所以记笔记方面以后使用原创 2017-11-13 15:53:41 · 679 阅读 · 0 评论 -
EditText弹出输入框,换行变成搜索
在EditText布局中添加3个属性: android:imeOptions="actionSearch" android:inputType="text" android:singleLine="true"这样换行符号就变成了搜索两字,之后就需要添加点击事件即可editText.setOnEditorActionListener(new OnEditorActionListener()原创 2017-10-19 14:43:18 · 746 阅读 · 1 评论 -
关于友盟s=-11;s1=accs bindapp error!的解决处理
项目使用了友盟推送之后,在部分手机上出现accs bindapp error,错误码-11的问题,为什么会出现这个问题呢,网上查找了很久,友盟给出的解释是so文件不正确。具体链接:http://bbs.umeng.com/thread-23018-1-1.html在解压apk文件之后,在lib文件夹里打开各个文件夹,果然发现有的文件夹里没有友盟的so文件 问题的原因就是如此了。解决方法:在友盟原创 2017-09-23 11:31:11 · 7564 阅读 · 0 评论 -
Android使用Eclipse工具开发解决65535问题
*公司项目开发快一年,因为一开始用的是eclipse,所以一直没有改工具,后来想移到AndroidStudio的时候,项目已经很大了,移过去各种报错,也没时间去一一解决,所以就一直用ec来开发了。然后碰到了导入jar包过多的65535问题。这种问题的原因是因为Android自己的机制问题,具体的涉及到的问题我也不懂,但是知道了如何去解决就可以了。其实网上关于这个问题的解决方式很多,但是因为一些网站的原创 2017-09-05 15:21:46 · 530 阅读 · 0 评论 -
当一个界面有多个ViewPager的时候,如果出现某一个不显示的情况
这个问题第一次出现,完全没有头绪,后来看了别人的说明之后实验了一下,确实是这种问题。 转自:http://blog.csdn.net/hknock/article/details/50629754多个ViewPager引发的Fragment未初始化 本文主要介绍ViewPager FragmentPagerAdapter中Fragment缓存的规则。可能需要在一个Activity中显示多个Vie转载 2017-07-07 09:59:04 · 1134 阅读 · 0 评论 -
遍历JSONObject的key值
Iterator iterator = jsonObject.keys();ArrayList<String> keys = new ArrayList<String>();while (iterator.hasNext()){ String key = (String) iterator.next(); keys.add(key);}记录下,省...原创 2018-06-23 11:36:00 · 11759 阅读 · 0 评论 -
scrollview使用了include,子控件里的点击事件无效
这个问题很奇葩,我在scrollview里include了几个布局,其中有一个布局里的一个按钮需要写点击事件,但是写完之后,发现没有触发,后来试了好半天,发现了原因。这个是我其中的一个include布局:View activity_car_details_header1_layout = layoutInflater.inflate(R.layout.activity_car_deta...原创 2018-07-05 18:46:57 · 1856 阅读 · 0 评论 -
java.lang.RuntimeException: Unable to instantiate application问题的可能处理方法
网上搜索了好久,大部分都是说两种解决办法:1,关闭Instant Run;2,降低或者升级gradle版本。但是我已经关闭了InstantRun,然后并不认可第二种方法,虽然这样说,但是自己也不知道该怎么去解决,打包的时候出现的问题。。。。在我一边找解决方法的同时,一边不停的打包debug版,然后通过QQ发到手机上,突然当我clean project之后重新打包生成的apk安装之后能正常打开没...原创 2019-08-19 16:29:15 · 8645 阅读 · 1 评论 -
关于使用libraries,添加依赖的时候,使用的是latest.integration或+的情况
第一次写成latest.integration或+,运行之后,把依赖库的名字,在电脑里搜索一下implementation 'com.amap.api:location:latest.integration'搜索库名:com.amap.api:location这样搜索出来,最新项目使用的com.amap.api:location库版本为4-7-0,那么把build.gradle里的版本改...原创 2019-08-01 14:37:10 · 3527 阅读 · 0 评论 -
RecyclerView只显示第一行
RecyclerView只显示第一行,其他行的距离有了,但是一片空白,这种情况我碰到的都是因为item的最外面的布局高度写为“match_parent”的原因,特此记录一下错:<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/...原创 2019-05-27 19:32:10 · 764 阅读 · 0 评论 -
打开拥有scrollview的页面,布局自动滚动到中间或者底部
跳转到新页面,页面里包含srollview,scrollview里又含有listview或者recyclerview,这时候经常会进入页面就发现页面不是在最开始的地方解决方法:在scrollview的第一个子布局里添加android:focusable="true" android:focusableInTouchMode="true"例:<ScrollView ...原创 2019-05-27 17:03:01 · 1350 阅读 · 1 评论 -
java.lang.NoClassDefFoundError:failed resolution of :Lorg/apache/http/ProtocolVersion的解决办法
原因是Android P Developer Preview(9.0)的bug解决方法:在AndroidManifest.xml文件的application标签里面加入<uses-library android:name="org.apache.http.legacy" android:required="false" />即可...原创 2018-11-05 17:52:36 · 5519 阅读 · 0 评论 -
Android studio添加module之后,运行报错,提示说XXX类无法找到,而这个类是module里的依赖类
将module的gradle里的依赖implementation标签改成api即可因为implementation是对外隐藏的,所以你module里的依赖类无法在主项目中被引用,改成api即可。原创 2018-11-05 17:48:17 · 1570 阅读 · 0 评论 -
Android页面添加图片(拍照或相册选择)后,有卡顿或者直接闪退
一般是OOM问题,图片太大了,在setImage之前需要将图片进行压缩Options opts = new Options();opts.inJustDecodeBounds = true; //先设置为true,只读取图片,不加载到内存中BitmapFactory.decodeFile(path, opts); // 这样,options里就得到了原图片的宽高值int inSamp...原创 2018-09-03 16:14:02 · 1901 阅读 · 0 评论 -
Android使用Eclipse达成沉浸式
首先application中的 android:theme,要存有以下属性: <item name="android:windowActionBar">false</item> <item name="android:windowContentOverlay">@null</item> <i原创 2018-08-27 14:44:28 · 253 阅读 · 0 评论 -
使用DecimalFormat之后,如果小数点前面是0,则直接不显示的解决方法
api中文帮助文档关于”#”的翻译是错误的,原文为“zero shows as absent”译为“如果为0,则不显示”。代码示例:new java.text.DecimalFormat("#.###").format(3.0)new java.text.DecimalFormat("0.000").format(3.0)输出的结果为: 3 和3.000“#”可以理解为在...原创 2018-07-20 17:07:15 · 15414 阅读 · 1 评论 -
PullRefreshScrollView的上拉加载和下拉加载
Demo中的PullRefreshScrollView只有刷新这个方法,并没有细分上拉和下拉,自己找了半天,终于找到了解决方法:PullToRefreshScrollView mPullRefreshScrollView = (PullToRefreshScrollView) findViewById(R.id.pull_refresh_scrollview); mPullRefre原创 2017-06-21 15:08:36 · 403 阅读 · 0 评论 -
java.lang.SecurityException: Can't make field constructor accessible
自己碰到这种情况的原因是因为使用了Active Android,并且注解类通过Gson工具来解析,这样在6.0的环境下,就会报错。解决方法:`GsonBuilder builder = new GsonBuilder(); builder.excludeFieldsWithModifiers(Modifier.FINAL, Modifier.TRANSIENT, Modifier.STATIC);原创 2017-05-22 18:30:47 · 1757 阅读 · 1 评论 -
修改一段话里指定位置的字的颜色
这个是在项目中,选择地址功能上需要实现的,类似一般app,在选择地址的时候,会有一个默认地址选项,这时候通过判断,将默认地址4个字拼到地址里,为了突出效果,默认地址四个字需要变成其他颜色,这时候就需要修改指定位置字的颜色了。String string = tv_address.getText().toString();string = "[默认地址]" + string;SpannableStr原创 2017-04-26 20:31:04 · 596 阅读 · 0 评论 -
解决EditText与ScrollView滑动冲突问题
当ScrollView里有个EditText的时候,如果EditText的内容超出控件高度时,需要滑动来看之前的内容,但是这时候会有滑动冲突问题,怎么滑都是滑动外面的ScrollView,这时候需要重写OnTouchListener接口的onTouch方法:final EditText ed_applycourier_workexperience = (EditText) findViewById(原创 2017-01-03 18:07:40 · 499 阅读 · 0 评论 -
Android两次点击退出应用
Android两次点击退出应用在Activity中重写onKeyDown方法public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { if ((System.currentTimeMillis() - m原创 2016-09-23 11:27:21 · 237 阅读 · 0 评论 -
设置EditText自动失去焦点
在布局中放一个EditText,如果没做处理的话,一进入就自动获取焦点,并弹出输入框,这时,需要在该EditText所依赖布局上添加:android:focusable="true"android:focusableInTouchMode="true"有时候就算这么添加了,偶尔也会自动获取到焦点,为了保险起见,在该布局下面添加:<requestFocus />这样就可以了例: <LinearLay原创 2016-11-28 14:48:29 · 2183 阅读 · 1 评论 -
6.0权限申请问题——Fragment中
①.在Fragment中申请权限,不要使用ActivityCompat.requestPermissions,直接使用Fragment的requestPermissions方法,否则会回调到Activity的onRequestPermissionsResult方法②.如果在Fragment中嵌套Fragment,在子Fragment中使用requestPermissions方 法,onRequest原创 2016-11-14 15:29:44 · 607 阅读 · 1 评论 -
6.0权限申请问题——Activity中
1.首先API版本至少要232.然后在需要使用权限的地方进行权限申请:个人习惯在应用的mainActivity中将所有权限一起申请,如果允许,则继续,如果不允许,则finsh,那么应用退出。E.g: if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != Packag原创 2016-11-14 15:12:09 · 780 阅读 · 0 评论 -
如何让APP字体不受手机设置的字体大小影响
在Activity里重写getResources()方法:@Override public android.content.res.Resources getResources() { android.content.res.Resources res = super.getResources(); Configuration config=new C原创 2016-10-28 16:27:31 · 4733 阅读 · 0 评论 -
百度地图相关——结合下拉刷新功能重新定位
当下拉刷新之后,进行LocationService.start()操作,发现并不是每次都能触发百度提供的BDLocationListener接口,通过源码发现 只有当client不为空且没有被启动时,才会运行start方法解决方法:在获得定位地址之后,及时的调用LocationService.stop()方法,这样每次刷新都能重新定位。原创 2016-10-28 16:21:12 · 1301 阅读 · 0 评论 -
导入库之后冲突报错,移除库之后还有遗留问题
之前项目需要依赖一个库,导入该库之后发现报错,没有去解决,暂时先把这个库移除,发生了问题 上面的是同一个问题,就是v4包里的东西找不到了,可能其他问题也是如此,大同小异后来找了好久才找到问题,怕自己今后还会碰到这类问题,特此记一下原因是当时导入库的时候,V4包冲突,有重复的V4包,于是我删掉了一个,把项目一直依赖的V4包删掉了,后面添加进去的V4包缺少项目已依赖的文件检查方法: 在项原创 2016-10-26 14:33:44 · 436 阅读 · 0 评论 -
Fragment中嵌套Fragment跳转回来不显示的问题
项目有做一个tab滑动结构,整体的外部结构是一个tabhost,在其中一个fragment中有做一个pagerslidingtab结构,里面放入多个fragment,做完之后发现一个问题,当我通过外部的tabhost切换片段,再次回到有tab滑动结构的片段时, 内容无法显示出来。可能说的比较乱,图片示例: 第一次打开程序,进入有滑动结构的界面 切换到其他界面之后再回到这个界面之后显示的是空白原创 2016-11-05 09:23:55 · 1311 阅读 · 1 评论 -
关于Json解析的问题
Json解析的参数名,不能改变原创 2016-11-02 22:05:58 · 308 阅读 · 0 评论