Android
hpp_1225
淫慢则不能励精,险躁则不能冶性;年与时驰,意与日去,悲守穷庐,将复何及!
展开
-
安卓notification简单实用
private fun showNotification(context: Context, title: String, msg: String) { val time = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA).format(System.currentTimeMillis()) ...原创 2020-01-07 10:09:52 · 99 阅读 · 0 评论 -
Spinner的简单使用
记录一下Spinner控件的使用,和listview一样,它需要通过adapter来传递数据,指定item的viewprivate void initSpinner() { workTypeAdapter = new SpinnerAdapter(types); spWorktype.setAdapter(workTypeAdapter); ...原创 2019-03-26 17:19:09 · 194 阅读 · 0 评论 -
自定义的刮刮卡view,使用了画笔的PorterDuffXfermode属性
/** * 画笔paint的属性PorterDuffXfermode使用 * 这里自定义了一个刮刮卡效果的view * <p> * PorterDuffXfermode 是设置两个图层交集的地方的显示方式, * des是先画的图层,src是后画的图层。 */public class PaintXfermodeView extends android.support.v7...原创 2019-03-24 19:39:20 · 104 阅读 · 0 评论 -
一个加了线性变换渲染器shader的自定义TextView
/** * 一个加了线性变换渲染器shader的自定义TextView * mLinearGradient加了平移效果 */public class GreateTextView extends AppCompatTextView { private Paint mPaint1; private Paint mPaint2; private int mViewWi...原创 2019-03-24 19:37:48 · 137 阅读 · 0 评论 -
从一个应用的activity跳转到另一个应用的activity
只要包名设置对了,直接调用intent就可以跳转 要跳转的activity的exported属性设置为true //类名类名都要用完整路径,第一个参数是包名,第二个参数是类名Intent intent = new Intent(); ComponentName cn = new ComponentName("com.corp.timetest","com.c...原创 2019-01-22 17:27:03 · 1102 阅读 · 0 评论 -
android:exported属性的默认值
android:exported这个属性用于指示该服务是否能够被其他应用程序组件调用或跟它交互。如果设置为true,则能够被调用或交互,否则不能。设置为false时,只有同一个应用程序的组件或带有相同用户ID的应用程序才能启动或绑定该服务。它的默认值依赖与该服务所包含的过滤器。没有过滤器则意味着该服务只能通过指定明确的类名来调用,这样就是说该服务只能在应用程序的内部使用(因为其他外部使用者不...转载 2019-01-22 16:04:09 · 2954 阅读 · 0 评论 -
taskAffinity属性简介
注意点:1、必须和FLAG_ACTIVITY_NEW_TASK结合使用,否则不起作用2、属性值是一个字符串,只要满足包名的命名就可以,eg:“abcdfs.”, "dfsfe.fasdf.dfsf",但是直接用一个字符串不带“.”这个符号,则无法安装,会报错Installation failed with message INSTALL_FAILED_USER_RESTRICTE...原创 2019-01-22 15:17:00 · 855 阅读 · 0 评论 -
RecyclerView快速滑动到顶部
记录一下工具类参考:https://www.jianshu.com/p/9be8a3da5ced/** * 修改 SmoothScrollToPosition(int position) 按一定速度滚动到指定的位置 的滑动速度 * 如果要修改滑动速度,那么新建一个LayoutManager,然后重写SmoothScrollToPosition, * 然后新建一个Scroller,在...转载 2018-12-17 17:28:24 · 2802 阅读 · 1 评论 -
AS爆红程序可以运行解决
最近打开AS不知道为什么之前的项目引用都爆红,找不到引用,但是文件是存在的,也可以运行。找了这个方法,运行了可以解决:https://blog.csdn.net/yushuangping/article/details/73550612...转载 2018-12-17 17:02:53 · 633 阅读 · 0 评论 -
一个自定义倒计时button
这是一个倒计时功能的button。使用的时候,btn对象直接调用start,cancel方法就可以实现开始计时,取消计时public class CountdownButton extends android.support.v7.widget.AppCompatButton { private final int able = R.drawable.plat_conditio...原创 2018-12-12 17:22:23 · 363 阅读 · 0 评论 -
Could not find com.android.tools.build:aapt2:3.2.1-4818971.
升级gradle后,apt取消了,报错: Failed to capture snapshot of input files for task ':app:mergeDebugResources' property 'aapt2FromMaven' during up-to-date check Caused by: org.gradle.internal.resolve.Mod...原创 2018-12-05 10:08:52 · 1277 阅读 · 3 评论 -
安卓性能优化脑图整理
原创 2019-03-25 21:52:13 · 152 阅读 · 0 评论 -
ViewPager+Fragment预加载问题处理
ViewPager+Fragment结合使用的时候,当前显示的fragment的左右两边的fragment也会被创建,在viewPager里面有个方法setOffscreenPageLimit是设置预加载的fragment数目:/**Set the number of pages that should be retained to either side of the cur...原创 2019-03-26 12:40:35 · 319 阅读 · 0 评论 -
Android Development 官方文档 图片图像Drawable部分阅读记录
一、概览当需要在应用程序中显示静态图像时,可以使用drawable类及其子类来绘制形状和图像。drawable是可被绘制的内容的抽象。它的各种子类可用于特定的图像场景,您可以扩展它们来定义您自己的drawable实现你想要的功能。 构建drawable对象: 1.构造方法 Drawable drawable = new ShapeDrawable(); 2...原创 2019-03-26 16:15:57 · 93 阅读 · 0 评论 -
gradle sync failed:gradle:com.android.support.test.espresso:espresso-contrib:2.2@ar already disposed
解决下图sync错误:file->invalidate and restart把缓存情况,重启,即可原创 2019-09-24 13:49:52 · 839 阅读 · 0 评论 -
Waiting for Debugger
打开开发者选项,选择调试应用,这个功能,点击添加进来你要调试的应用就OK了原创 2019-07-26 16:19:28 · 168 阅读 · 0 评论 -
Android 跳转到应用市场,评价App
try { var uri = Uri.parse("market://details?id=$packageName") var intent = Intent(Intent.ACTION_VIEW, uri) ...原创 2019-05-06 11:10:28 · 1139 阅读 · 1 评论 -
RecyclerView的 overScrollMode,scrollbars属性含义
1.ListView/RecyclView 设置滑动到边缘时无效果模式android:overScrollMode="never"2.ListView/RecyclView 设置滑动到顶部或者底部的颜色或者背景android:overScrollFooter="@android:color/transparent"android:overScrollHeader="@andro...转载 2019-04-17 11:40:43 · 22723 阅读 · 1 评论 -
清空stringBuilder
转自:https://www.cnblogs.com/SpiderKevin/p/3891425.html字符串频繁拼接是使用stringbuilder.Append方法比使用string+=方法效率高很多,但有时需要清空stringbuilder时却不知道怎么清空,因为它没有clear或empty的方法。那用什么方法呢?在网上搜了一下大概一下三种方法。1、Remove例: ...转载 2019-04-02 14:52:59 · 392 阅读 · 0 评论 -
View测量值的获取时机
因为视图的测量过程和activity的生命周期不同步,所以无法在生命周期的方法中获取测量值。测量值只能在异步的测量过程完成后才能获取。有两种方法。一、在onResume()中调用view的post方法视图的测量是在消息队列中完成的,优先完成系统消息,系统消息执行完毕后才会执行用户消息。这样View调用post条件的消息会在视图测量完成后执行,就能获取测量的宽度和高度。int wi...原创 2019-03-28 17:16:03 · 166 阅读 · 0 评论 -
安卓面试题整理
知乎上一篇文章1)JAVA基础1.java基本数据类型有哪些,int, long占几个字节 四类八种基本数据类型:数值型 整型(byte-1,short-2,int-4,long-8) 浮点型(float-4, double-8) 字符型 char 布尔型 boolean 2.== 和 equals有什么区别 ==判断基本数据类型是判...转载 2019-03-28 15:11:17 · 169 阅读 · 0 评论 -
FragmentPagerAdapter&FragmentStatePageAdapter以及fragment重叠问题
https://blog.csdn.net/u013762572/article/details/54809188FragmentPagerAdapter在onDestroyView的时候,fragment对象没有被销毁,只有Fragment的视图被destroyView,对象仍然在内存中,再次获取实例变量时候,并没有重新new出来对象,而是直接使用存储起来的。缺点:有时候需要更新页面...转载 2019-04-01 10:36:11 · 832 阅读 · 0 评论 -
apk加固后需要重新签名
大写的囧,不知道apk加固后需要重新签名。记录一下,吃一堑长一智。重新签名用之前的keystore就行,直接用jarsigner命令行重新签名。jarsigner -digestalg SHA1 -sigalg MD5withRSA -tsa -verbose -keystore [你的keystore文件] -signedjar [签名后生成apk名字.apk] [要加固的apk文...原创 2018-11-28 09:40:09 · 4040 阅读 · 0 评论 -
apk 反编译重打包
apk反编译就是这么简单 (这个太老了)apk反编译重打包最新工具下载地址:apktool:https://ibotpeaches.github.io/Apktool/aapt.exe:位于Android/SDK/build_tools文件夹下dex2jar: https://sourceforge.net/projects/dex2jar/files/latest/down...原创 2018-11-27 12:23:16 · 367 阅读 · 0 评论 -
adb安装apk,报错 Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]
生成测试版的apk的时候,直接选择build--> build APK(s),但是生成的apk,用adb安装的时候,安装失败了,错误如下:Error:Execution failed for task ':app:transformClassesAndResourcesWithProguardForRelease'.> Job failed, see logs for de...原创 2018-04-18 09:49:03 · 2741 阅读 · 0 评论 -
Execution failed for task ':app:transformClassesWithInstantRunForDebug'.
修改gradle里面编译版本信息后,报了这个错,根据网上的方法,关闭了 studio的 instant run功能,就可以运行了。Execution failed for task ':app:transformClassesWithInstantRunForDebug'.> Unexpected inputs: ImmutableJarInput解决办法连接:https...原创 2018-04-24 16:39:57 · 4823 阅读 · 0 评论 -
adapter 里面 v.getTag()的时候为空
写这个功能的时候,adaper里面,获取勾选的item的时候,tag里面显示为空,但是debug看,settag的时候,是设置进去了的。最后发现,是因为我设置点击监听的不是外层的整个view,而是里面的CheckedTextViewview.findViewById(R.id.checktv_name).setOnClickListener(this);所以settag的时候...原创 2018-05-09 11:40:03 · 1748 阅读 · 0 评论 -
Error:Execution failed for task ':app:preDebugAndroidTestBuild'.
用AS新建项目的时候报这个错:> Conflict with dependency 'com.android.support:support-annotations' in project ':app'. Resolved versions for app (26.1.0) and test app (27.1.1) differ. See https://d.android.co...原创 2018-05-28 10:34:04 · 1139 阅读 · 0 评论 -
基类里面加toolBar后,子类的recyclerView/scrollView里面item的edittext 软键盘遮挡问题
最近遇到的一个问题,基类里面有toolbar,子类里面recyclerView/scrollView里面item的edittext 软键盘被遮挡;测试了,没有加toolbar的activity没有问题,不会遮挡;toolbar直接加在activity里面,没问题,不会遮挡;但是,toolbar放基类里面,就会出现问题。<?xml version="1.0" encoding...原创 2018-05-28 16:11:31 · 564 阅读 · 0 评论 -
CheckedTextView
最近用到了CheckedTextView,记录一下。<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" an...原创 2018-05-29 16:07:37 · 663 阅读 · 0 评论 -
MVP模式的理解和整理
之前一直对MVP模式理解的不清楚,今天整理一下,理清楚。mvp模式属于Android架构设计。一.MVP模式介绍M-Model-模型、V-View-视图、P-Presenter-表示器。a 、View: 视图层,对应xml文件与Activity/Fragment;(用户交互相关的操作接口定义)b 、Presenter: 逻辑控制层,同时持有View和Model对象;(相当于view...原创 2018-06-13 15:42:48 · 3733 阅读 · 0 评论 -
android.content.res.Resources$NotFoundException: String resource ID #0x
遇到这个错误:android.content.res.Resources$NotFoundException: String resource ID #0x查了一下,是因为,调用setText()方法时,传入的int值,会被当成resourceID来使用,改成 btn.setText(1+"")就可以了。把int强转成string就能当成内容显示啦...原创 2018-06-19 15:53:40 · 2317 阅读 · 0 评论 -
记录SimpleDraweeView拍照后 加载显示所拍图片,重复显示第一张照片的问题
问题描述: 先拍照,使用SimpleDraweeView显示照片的缩略图,但是遇到一个问题,就是重新拍照显示的时候,都只是显示拍的第一张照片的缩略图。试了修改了好多东西,最后发现 每次图片 的名字都不一样的话,才能显示不同的图。代码如下:一、xml:<com.facebook.drawee.view.SimpleDraweeView ...原创 2018-07-08 19:34:15 · 1560 阅读 · 0 评论 -
Invalid APK file:***.apk
安装apk的时候遇到这个问题原因是 我先adb shell,进入调试设备的shell界面,然后 adb install ***.apk这样当然不行了,,,现在是在设备里面,设备里面哪有这个apk啊,应该在PC环境里面,直接 adb install ***.apk...原创 2018-07-30 14:05:23 · 4394 阅读 · 0 评论 -
XRecycleView使用
项目需要下拉刷新和上拉加载数据的要求,找到了XRecycleView框架。记录一下用法。基本同普通recycleview用法一直,但是可以添加自定义的头部和上拉下拉动画。一 xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.andro...原创 2018-08-29 17:23:49 · 228 阅读 · 0 评论 -
Cannot set the value of read-only property 'outputFile' for ApkVariantOutputImpl_Decorated{apkData=M
gradle打包的时候,自定义apk名称的时候,遇到这个问题:Cannot set the value of read-only property 'outputFile' for ApkVariantOutputImpl_Decorated{apkData=Main{type=MAIN, fullName=debug, filters=[]}} of type com.android.bu...原创 2018-04-17 15:30:19 · 177 阅读 · 0 评论 -
Parcelable encountered IOException writing serializable object (name = com.landicorp.tmc.data.jsonbe
通过intent在activity之间传递自定义对象的时候,报了这个错,原因记录一下:传递的对象类实现了Serializable接口public class QueryResultResponse extends JsonResponse implements Serializable{}但是里面的内部类也要实现这个接口才可以 public static class ...原创 2018-04-17 15:24:28 · 683 阅读 · 0 评论 -
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.C
这个问题主要是因为我要在另外的一个类里面调用startActivity,刚开始不知道如何在非activity里面使用startActivity();于是把需要调用下面这个方法的类继承了activity;然后很傻()的new出来这个类的对象,activity的对象怎么能new呢然后就出现了标题的问题。。调试了好久。。在overflow上面找到类似的问题,才知道的,吃一堑长一智。...原创 2018-03-05 16:58:58 · 18693 阅读 · 0 评论 -
Error:Execution failed for task ':app:transformNativeLibsWithStripDebugSymbolForDebug'.
AS编译报报这个错误:Error:Execution failed for task ':app:transformNativeLibsWithStripDebugSymbolForDebug'.> A problem occurred starting process 'command 'C:\Users\hpp\AppData\Local\Android\Sdk\ndk-bun...原创 2018-11-21 13:49:46 · 174 阅读 · 0 评论 -
RecycleView实现长按多选全选删除功能
一、功能:recycleView横向列表,实现item添加,长按选择,全选,全不选的删除,滑动删除功能。用realm构建数据库存储列表数据。用FloatingActionButton 作为添加按钮。思路:activity页面最下面添加一个带有删除tab的view,当长按item的时候,view显示出来。adapter的itemview里面,带有一个checkbox,长按item...原创 2018-11-20 15:15:04 · 2570 阅读 · 1 评论