Android
文章平均质量分 64
qq_2790289459
读万卷书行万里路
书读百遍其义自见
实践出真知
孰能生巧
好记性不如烂笔头
展开
-
sqlite——日期时间比较
sqlite数据库日期时间比较问题,使用date函数可以将字符串转换为Date数据,而字符串的格式需要是yyyy-MM-dd:Litepal中使用查询某段时间内的数据时LitePal.where( "date(djrq) between date(?) and date(?) and isPayGo=? and isPaying=? and isLogin=? ", startDate,endDate, "1", "1", "1").find(XXX.class);原创 2021-08-19 21:46:12 · 3311 阅读 · 0 评论 -
https证书认证
双向认证实现:https://blog.51cto.com/u_4925054/1949641单项认证实现:public class HttpsUtil { /** * 对所有站点的信任 * * @return SSLSocketFactory工厂对象 */ public static SSLSocketFactory initSSLSocketFactory(Context context) { //创建加密上下文转载 2021-08-09 17:35:05 · 496 阅读 · 0 评论 -
AlertDialog修改样式
1,定义style<style name="AlertDialog" parent="Theme.AppCompat.Light.Dialog.Alert"> <!--是否浮在窗口之上--> <!--<item name="android:windowIsFloating">true</item>--> <!--半透明--> <!--<item name="android:windowI原创 2021-03-11 18:23:15 · 519 阅读 · 0 评论 -
DownLoadManger 2
Android6.0引入的动态权限控制(Runtime Permissions),Android7.0又引入“私有目录被限制访问”,“StrictMode API 政策” 安卓 8.0 未知来源1.资源文件 添加xml 文件夹,添加filepaths 文件<?xml version="1.0" encoding="utf-8"?><resources> <paths> <external-path path="" name="do原创 2021-01-23 10:16:00 · 238 阅读 · 1 评论 -
Parcelable序列化处理
的带有集合带有bigdecimal的处理定义一个商品信息类,其中包含bigdecimal、string1.实现parcelable2.重写describeContents 和writeToParcel的方法describeContents 的方法默认处理即可为0,writeToParcel是序列化处理,将数据写入到Parcel对象中,通过Parcel 对象将所有属性进行处理,若是bigdecimal则将写入string字符串3.实例化静态内部对象CREATOR,其中createFro原创 2021-01-05 18:54:03 · 519 阅读 · 2 评论 -
Android studio 新建项目报AGPBI: {“kind“:“error“,“text“:“Attribute \“android:alpha\“ has already been defi
不是十分明白,但解决了替换build中引用的包implementation 'com.android.support.constraint:constraint-layout:1.1.3'降低了constraint-layout的版本原创 2020-09-03 09:10:34 · 1657 阅读 · 0 评论 -
安卓自定义application中定义全局变量 空指针异常
Application 是一个app运行中生命周期最长的,有时我们需要一些全局的变量使用,可以定义在自定义的application中,application为单例模式,使得全局都可以使用,但定义在application中同样可能出现异常:App切换到后台后,一段时间不操作,再切回来,很容易就发生崩溃(配置低的手机这种问题出现更频繁)。这就是因为把对象存储在Application里面,而App切换到后台后,进程很容易就被系统回收了,下次切换回来的时候App页面再重建,此时application中定义的变量转载 2020-06-03 10:58:53 · 633 阅读 · 0 评论 -
app界面劫持总结
界面劫持的出现操作1.注册一个receiver,响应android.intent.action.BOOT_COMPLETED,开机启动2.receiver中启动一个Service3.在这个service中启动一个计时器,不停枚举当前进程中是否有预设的进程启动,如果发现有预设进程,则使用FLAG_ACTIVITY_NEW_TASK启动自己的钓鱼界面,而正常应用的界面则隐藏在钓鱼界面的后面。解决办法这是系统漏洞,在应用程序中很难去防止这种界面支持。但应用程序自身可以增加一些防范实施。防范实施转载 2020-05-15 16:22:25 · 1017 阅读 · 0 评论 -
janus签名机制漏洞
https://www.jianshu.com/p/5e35902cddb2http://www.sohu.com/a/231875371_354899解决方法:https://mp.csdn.net/postedit/103975990转载 2020-01-14 17:10:28 · 852 阅读 · 0 评论 -
安卓apk签名
签名方式有v1和v2Android-APK签名工具-jarsigner和apksigner一.工具介绍jarsigner是JDK提供的针对jar包签名的通用工具,位于JDK/bin/jarsigner.exeapksigner是Google官方提供的针对Android apk签名及验证的专用工具,位于Android SDK/build-tools/SDK版本/apks...转载 2020-01-14 17:07:20 · 378 阅读 · 0 评论 -
Android Studio使用过程中Java类突然报红,但项目可运行解决方案
1.点击File->Invalidate Caches / Restart...2.重启Gradle,清除缓存3.Clean Project转载 2019-12-27 15:07:55 · 306 阅读 · 0 评论 -
安卓app点开后点击home键再打开app重启问题
正常情况下,点击 Home 键回到桌面,App 进程没有被杀掉,再次进入 APP 应该都是回到之前显示的页面。但是在某些不知名的情况下,也可能是某些手机会有这个问题。点击了 APP图标 是重新打开 APP当我们点击home界面的应用启动图标时,如果没有对应Task任务栈存在,则会创建一个新的任务栈,并且把应用启动的首页面作为根Activity放到任务栈中。如果存在对应的Task任务...转载 2019-12-11 16:23:46 · 959 阅读 · 0 评论 -
dom4j实现xml和map的转换
dom4j下载:https://dom4j.github.io/参考:https://blog.csdn.net/zengdengjun/article/details/77184195https://blog.csdn.net/weixin_41922349/article/details/86470997资源:https://pan.baidu.com/s/1xhIIWo...转载 2019-12-06 15:57:19 · 273 阅读 · 0 评论 -
apk 360加固保加固
http://jiagu.360.cn/qcms/help.html#!id=142原创 2019-10-14 17:17:03 · 247 阅读 · 0 评论 -
LayoutINflater的inflate()
LayoutInflater.inflater()的重载方法有四个1. public View inflate(intresource, ViewGroup root)2. public Viewinflate(int resource, ViewGroup root, boolean attachToRoot)3.public Viewinflate(XmlPullParser pa原创 2016-05-25 12:01:24 · 211 阅读 · 0 评论 -
短信发送实现
调用系统的发短信功能Uri smsToUri = Uri.parse("smsto:接收方号码 ");// Uri smsToUri =Uri.parse("smsto:"); 进入发送短信的界面没有发送给谁的号码Intent intent = new Intent(Intent.ACTION_SENDTO,smsToUri); intent.putExtra("sms_body",发原创 2016-05-17 10:38:59 · 534 阅读 · 0 评论 -
Fragment和Activity间的通讯的实现
1. fragment中获取它所在的Activity:getActivity();2. Activity获取某个Fragment对象可以通过FragmentManger类的findFragmentById(intid)(当是静态注册时有规定id)或findFragmentByTag(String tag)(当动态注册时添加和替换时有规定tag值)通过上面获取的对象可以拿原创 2016-05-26 11:51:06 · 261 阅读 · 0 评论 -
Service
Service是Android的四大组件之一,与Activity不同,Service不能与用户交互,是在后台执行的不能自己启动,服务主要用于在后台运行程序或加载数据Service的生命周期:生命周期的两种周期模式:第一种是调用startService时启动,通过onCreate(),onStartCommand(),当结束时调用stopService(),或stopSelf(),此原创 2016-05-29 12:25:20 · 254 阅读 · 0 评论 -
PendingIntent的flag
PendingIntent 有4个flag值flag值是获取PendingIntent对象时getActivity()、getBroadcast()、getSewrvice()时传入的参数,flag值的作用是管理一个PendingIntent,控制其是否有效,通常与requestCode结合使用,requestCode标记了一个PeningIntentFLAG_CANCEL_CURRENT原创 2016-05-17 10:48:00 · 3874 阅读 · 0 评论 -
Notification消息栏通知的实现
消息栏通知的实现:方法1:直接new Notification()NotificationManager manager=(NotificationManager)this.getSystemService(this.NOTIFICATION_SERVICE);Notification notification = newNotification(icon, tickerText, w原创 2016-05-17 14:31:45 · 559 阅读 · 0 评论 -
notifation消息栏通知遇到的问题——
问题1:setLatestEventInfo()方法不可用在api 11中该方法被弃用了 可以改用Notification.Builder builder1 = new Notification.Builder(MainActivity.this);builder1.setContentIntent(pendingIntent);Notification notific原创 2016-05-17 14:38:18 · 633 阅读 · 0 评论 -
imagerloader的使用
1.导入包2.定义optionDisplayImageOptions options = new DisplayImageOptions.Builder() .showImageOnLoading(R.drawable.ic_launcher) //设置图片在下载期间显示的图片 .showImageForEmptyUri(R.dra原创 2016-05-17 21:48:06 · 330 阅读 · 0 评论 -
Badgeview
BadgeView是继承自TextView的自定义 的控件,所以他还具有其父类的方法BadgeView badgeview=new BadgeView(this);//duiActivity界面添加小红点//就是在类中定义控件//badgeview.setBackgroundColor(Color.GRAY);//设置小红点显示的颜色//默认显示红色圆点,设置后则以该设置为标准翻译 2016-05-18 11:37:37 · 378 阅读 · 0 评论 -
广播的使用
广播接收器:广播接收器(BroadCastReceiver)是Android系统的四大组件之一,他可以用来监听系统发送的各种广播(例:监听电池电量),也可以用来监听我们自己发送的广播,他的生命周期是从调用广播接收器对象,到onreceive方法执行结束,10s内就完成了。广播接收器中的onreceive方法是在主线程中执行的,执行时间不能超过10s,否则会造成ANR。广播根据注册方式的不同分为原创 2016-05-18 14:35:56 · 407 阅读 · 0 评论 -
Volley简单总结
Volley框架的一点小总结:写这篇文章只是为了自己熟悉用法,内容多是学习别人的 Volley可是说是把AsyncHttpClient和Universal-Image-Loader的优点集于了一身,既可以像AsyncHttpClient一样非常简单地进行HTTP通信,也可以像Universal-Image-Loader一样轻松加载网络上的图片它的设计目标就是非常适合去进行数据量不大,但通信翻译 2016-05-19 11:58:19 · 248 阅读 · 0 评论 -
线程加载数据后的ui线程刷新实现
线程中数据加载完成后在主线程刷新:Handler在子线程中加载成功数据后,通过Handler发送消息,可以是空消息也可以是Messsage对象,message对象可以传递对象message.obj,handler还有方法post(Runable);其中runable中执行的run方法中的代码是在ui线程执行的,还有handler的方法postDelayed(runnable,long mi原创 2016-05-31 16:03:56 · 983 阅读 · 0 评论 -
Activity如何传递数据
Activity传递数据:Activity之间传递数据可以通过Intent进行传递数据Activity也可以传递数据到广播接收器和服务中,当启动广播时通过Intent传递数据原创 2016-05-20 16:48:39 · 347 阅读 · 0 评论 -
带返回值的界面跳转
带返回值的界面跳转:第一个Activity@Override protectedvoid onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.two_activity); Toast.原创 2016-05-20 23:18:35 · 1053 阅读 · 0 评论 -
Activity的启动模式
Android采用Task来管理多个Activity,当启动一个应用时,Android就会创建一个Task,然后启动应用的入口Activity,先启动的Activity放在栈底,后启动的放在栈底。Activity的加载模式就负责管理实例化、加载Activity的方式,并可以控制Activity与Task间的加载关系。我们可以通过Activity类的getTaskId()获取该Activity所在的原创 2016-05-20 21:27:09 · 235 阅读 · 0 评论 -
PendingIntent
PendingIntent 是未知意图代表的是不知何时触发的意图,即不会像Intent一样马上执行,像Notification只有当我们点击后才会执行PendingIntent获取对象的方式:参数意义:Context PendingIntent启动的activity,requestCode:标记这个PendingIntent,Intent:该PendingIntent跳转的Intent原创 2016-05-17 14:58:13 · 300 阅读 · 0 评论 -
高德地图的实现小结
1.注册高德账号2.拿到项目的shal1分为调试版()和发布版():通过window中的preference中的android 中的build3.在自己的高德账号中添加项目key4.在清单文件中添加 android:name="com.amap.api.v2.apikey" android:value="75e65da11ab8a6原创 2016-05-22 11:08:17 · 3102 阅读 · 1 评论 -
ContentProvider的使用
ContentProvider的使用ContentProvider是Android的四大组件之一,他可以把自己的数据暴漏出来,让其他应用可以对该数据进行增删改查,若应用程序通过内容提供者暴漏了自己的数据,则无论该应用程序是否启动了,其他应用程序都可通过该接口来操作数据。内容提供者操作的数据可以是数据库数据也可以是文件等他存储方式,如要操作xml文件中user节点下的name节点,通过Conte原创 2016-06-12 19:08:09 · 367 阅读 · 0 评论 -
获取系统的联系人
Andrid 系统本身提供了大量的ContentProvider,如联系人信息,系统的多媒体信息等系统内容提供者的使用1. 通过getContext()获取Context对象,通过Content对象getContentResolver获取ContentResolver对象2. 调用ContentResolver的insert(),updata(),delete(),query();原创 2016-06-12 23:25:45 · 250 阅读 · 0 评论 -
TextView控件
1.跑马灯效果 android:id="@+id/tv_pamadeng" android:layout_width="50dp" android:layout_height="20dp" android:text="跑马灯的效果实现" android:focusable="true"原创 2016-05-22 09:15:48 · 377 阅读 · 0 评论 -
高德地图的使用简单介绍
高德地图的使用1.下载相关的包,添加到lib中2.申请成为高德开发者,添加应用获取key3.将key添加到应用中"com.amap.api.v2.apikey" android:value="请输入您的用户Key">4.添加权限5.布局添加地图控件6.在Activity中拿到控件设置监听,进行调用地图的相关功能布局RelativeLayout xmlns:andro原创 2016-07-11 09:07:23 · 619 阅读 · 0 评论 -
Bitmap 和Drawable讲解
Android 应用中显示的图片不仅包括*.png、*.jpg、*.gif格式的位图,还包括使用xml资源文件定义的各种Drawable对象。对于Drawable对象只要我们添加了图片资源,Android SDK会自动为其在R清单文件中添加一个Id,用户可以通过该id拿到对应的Drawable对象。Drawable对象的形成还可以是我们自定义的xml文件(例如shape selector等原创 2016-06-29 15:51:13 · 419 阅读 · 0 评论 -
xml和json解析
Java 支持的xml的Dom解析 将整个xml读入内存,形成一个Document()对象(倒挂的树)即分支结构。对于大文档读入内存的话很占内存,不支持使用,而对于小文档,操作简单,还可以方便的对内存中的对文档增删改查节点方便使用。Java 支持的xml的SAX解析一边读xml文档,一边解析文档。不适合对文档的增删改查。 例子:Xml文件xmlver原创 2016-06-26 12:09:14 · 264 阅读 · 0 评论 -
URL的介绍使用和URLConnection的使用
URl访问网络资源与URLConnection网络请求提交URL简介URL就是一个网络资源定位器,通过URL我们可以找到具体的网络资源,URL分为3部分,分别是协议部分(http://)、域名部分(baidu,该部分通过DNS解析为具体的ip)、网站资源部分(具体的网站文件)URL类的方法String getFile();获取url对应的资源名String getHost();原创 2016-06-17 10:18:08 · 855 阅读 · 0 评论 -
Android系统的体系架构
Android的OS架构 第一层操作系统层即Linux内核层 Android 的核心系统服务依赖于 Linux 2.6 内核,如安全性,内存管理,进程管理, 网络协议栈和驱动模型。 Linux 内核也同时作为硬件和软件栈之间的抽象层第二层是应用程序框架,应用程序框架层是我们从事Android开发的基础,很多核心应用程序也是通过这一层来实现其核心功能的,该层简化了组件的重用,开发人员可以直接使原创 2016-07-17 14:01:27 · 558 阅读 · 0 评论 -
布局的简单介绍
线性布局(LinearLayout)分为水平和垂直两种方式排列,通过属性android:orientation="vertical"控制。 相对布局(RelativeLayout)相对布局RelativeLayout相对排列,子元素可以以父元素的相对位置排列,也可以以某个元素排列。帧布局(FrameLayout)FrameLayout是后面的子元素将覆盖在前面的子元素之上,原创 2016-07-20 22:08:16 · 233 阅读 · 0 评论