自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

mokeng的博客

Stay hungry,Stay foolish! 求知若饥,虚心若愚!

  • 博客(40)
  • 收藏
  • 关注

原创 Android 如何查看 SQLite 数据库

Android 如何快速查看本地数据库

2022-08-29 11:26:21 2099 1

原创 Android

思路解析1、画X轴2、画Y轴3、画虚线4、画折线和节点圆圈5、滑动手势先给不太熟悉自定义View的朋友打打气,以前我也以为这很难,但是一步步拆解开之后,真的不难。里面无非就是绘制基本的图形,画线,滑动手势监听,绘制图形的时候把位置确定后就行。1、画X轴X轴由2部分组成,有刻度的地方+延伸出的箭头。所以只需要确定折线图的坐标原点和x轴的终点即可。x轴上的刻度线和下方对应的文字也不难,只要确定x坐标的间隔和总数,循环的drawLine 、drawText即可。2、画Y轴和画X轴同

2022-04-19 16:06:38 602

原创 Error inflating class android.webkit.WebView

项目上线之后出现打开webview界面闪退的现象,通过测试发现只有一台手机出现了这样的情况 ,打开百度统计查看问题。“Error inflating class android.webkit.WebView”解决方案:implementation 'androidx.appcompat:appcompat:1.3.0-alpha02'implementation 'androidx.appcompat:appcompat-resources:1.3.0-alpha02'我现在只知道...

2021-05-25 11:08:41 375 3

原创 使用PickerView时dialog里面显示选择器的解放方法

在使用第三方框架PickerView的时候,在自己写的dialog里面显示PickerView选择器,出现选择器是在从dialog的底部弹出的,应该要从屏幕底部弹出解决方案:我的理解是类似帧布局一样.isDialog(true).build(); pvTime.show(); Dialog dialog = pvTime.getDialog(); FrameLayout.LayoutParams layoutParams = (FrameLayo.

2021-04-02 14:16:19 617

原创 Java手机号码正则表达式验证

项目用户注册界面突然提示用户的手机号码不符合规则,查看用户手机号号码才知道是191开头的手机号码。查阅了下资料,重新写下方法。最新的号段参考自 :https://m.jihaoba.com/tools/haoduan/目前的移动号段:139、138、137、136、135、134、147、150、151、152、157、158、159、172、178、182、183、184、187、188、198.联通号段:130、131、132、140、145、146、155、156、166、167、18.

2021-03-11 09:01:26 11248

原创 Java学习---面向对象

1.面向对象思想 1.1.面向对象的概述 Java语言是一种面向对象的程序设计语言,而面向对象思想是一种程序设计思想,我们在面向对象思想的指引下, 使用 Java语言去设计、开发计算机程序。 这里的对象泛指现实中一切事物,每种事物都具备自己的属性和行为。面 向对象思想就是在计算机程序设计过程中,参照现实中事物,将事物的属性特征、行为特征抽象出来,描述成计算 机事件的设计思想。 它区别于面向过程思想,强调的是通过调用对象的行为来实现功能,而不是自己一步一步的去 操作实现 ...

2021-03-05 09:40:58 375

原创 Java学习----数组

1.数组1.1.数组的概念1.2.数组的定义1.3.数组的访问2.数组原理内存图2.1.java虚拟机的内存划分2.2.数组在内存中的存储3.数组注意事项4.数组反转5.数组作为方法参数和返回值后记1.数组1.1.数组的概念 数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致1.2.数组的定义 方式一 格式: 数组存储的数据类型[ ] 数组名字 = new 数组存储的数据类型[长度];...

2021-03-02 16:17:07 202

原创 Java学习---控制流程与方法

目录1.判断语句1.1.if1.2.if..else1.3.if...else if...else2.选择语句2.1.switch3.循环语句3.1.for循环3.2.while循环3.3.do...while后记1.判断语句1.1.if格式:if(关系表达式){ 语句体; }代码如下:public static void main(String[] args){ System.out.println("开始"); i..

2021-03-01 14:41:10 387

原创 Android程序运行正常 生成APK之后运行异常

目录错误场景:分析原因:解决方案:错误场景: 项目程序运行正常,但是生成APK之后在App里面有嵌入H5页面,页面里面的点击事件不响应,也就是H5里面的JavaScript与本地Java代码交互的时候调用失败。分析原因: 导出apk和开发工具直接安装的时候,有区别的地方在于应用签名不同,还有导包的时候做了混淆。签名不会对JavaScript与Java代码调用有影响(注意签名对支付和分享等功能有影响),在这里出问题很可能是混淆造成的。代码混淆之后...

2021-01-11 08:33:00 593

原创 Android Studio登录github,显示错误信息invalid authentication data

今天在Android studio配置GitHub时使用自己的GitHub账号密码总是报"invalid authentication data",但是在输入账号登录的右上角可以选择用令牌登录(Use Token)获取use Token的步骤 首先点击Setting然后点击 Developer settings点击Personal access tokens 再点击 new token(由于我创建过啦一个名叫kingToken的令牌 显示的是Generate new t...

2021-01-06 14:46:30 2457

原创 No implementation found for int com.baidu.mapsdkplatform.comjni.tools.JNITools.initClass

打开项目突然报No implementation found for int com.baidu.mapsdkplatform.comjni.tools.JNITools.initClass解决问题:百度地图的so 文件丢失啦

2020-08-31 11:08:19 1574

原创 java学习---基础知识

最近项目完结,下一个版本的需求也出来,周期比较长,有较多的个人时间学习。打算把Java基础重新梳理一遍,主要是按照b站视频来学习的,笔记基础部分就很随意的记录,会针对自己的薄弱部分加以练习和学习关键字和保留字标识符:凡是可以直接起名字的地方都叫标识符·包名:多单词所有字母小写:xxxyyyzzz类名好,接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz 驼峰命名法变量名,方法名:多单词组成时,第一个单词字母小写,第二个单词开始每个单词首字母大写:...

2020-08-05 16:58:03 390

原创 RecyclerView如何消除最后一条分割线

直接上代码:/** * 消除最后一条分割线 * @author zengx */public class CustomDecoration extends RecyclerView.ItemDecoration { public static final int HORIZONTAL = LinearLayout.HORIZONTAL; public static final int VERTICAL = LinearLayout.VERTICAL; private

2020-08-05 08:36:56 2504

原创 Android 更新包与已安装应用的签名不一致

直接上图: 出现这个问题的时候我以为是我手机中还有这个安装包,但是我怎么查都没有查到,百度的时候有很多都是说签名的问题。还是没有解决这个问题,最后发现使用ADB命令安装查看和卸载APK,结果果然查到! 1.查看所有包名 adb shell pm list packages 2.卸载已安装的应用 adb uninstall + 需要卸载的包名 卸载成功后都会出现提示Success...

2020-08-01 10:53:19 8161

原创 Android Studio解决乱码的终极大招

首先直接上图吧!(所有的文件都是这样,重启那些没有用)解决方案:找到你的C盘里的Android Studio路径的缓存文件夹,把里面的全部删啦,再重新启动!导致的原因可能是AS的index索引出问题啦!希望对大家有帮助!...

2020-04-08 11:35:13 204

原创 Android面试的那些事儿

我们公司因为急需招Android工程师,然后我很幸运的和我的经理参与到整个面试的过程中。由于我还是一个小菜鸟,我发现在面试的过程中可以学习总结到一些事情.面试过程: 对象:一名工作六年的Android开发 ...

2020-03-11 17:05:32 109

原创 Android开发中一些常用方法(持续更新)

在项目中我们会经常需要一些工具类或者工具方法,把自己在学习或者工作会遇到的一些方法记录下来,方便自己去查找。输入框不可编辑:/** * 设置EditText是否可编辑 * @param editText EditText对象 * @param mode true:可编辑 false:不可编辑 */ private voi...

2019-11-04 09:25:06 235

原创 Android Studio 隐藏Logcat框后还原

一不小心把Logcat框隐藏了,自己弄了下好久都没有弄出来,在一篇博客上找到方法,记录下。解决方法:可以使用快捷键 Alt+6然后就调用出来logcat窗口啦还有就是取消Windowed Mode这个选项后,Logcat框就不会悬浮了!...

2019-10-14 14:21:32 717 1

原创 Java学习---反射

前言: 最近在复习Java基础,以前没有怎么注意到Java反射,复习Java反射的时候才发现反射这一块很重要,可能现在小弟内力还不够深厚,不足一下子全部掌握,反射概念有点抽象,我大概总结下自己所学的知识点吧。概述:反射是框架设计的灵魂反射就是把java类中的各种成分映射成一个个的Java对象反射:将类的各个组成部分封装为其他对象好处:可以在程序运行中,操...

2019-09-27 16:07:03 165

原创 Lambdda表达式的学习

前言: Lambda表达式是Java 8的新特性,其实出来很久啦!在Android的学习中也经常遇到,但是自己从来没有使用过,借此学习一波,省略一些程序上的复杂。使用: 我们经常写创建线程的时候是使用匿名内部类重写run方法,我们先看下这种使用方式://使用匿名内部类实现多线程 new Thread(new Runn...

2019-09-27 10:59:03 459

原创 Android 扫码枪出现的问题

在进行项目的过程中出现扫码枪会自动触发扫码枪自带的KeyEevent事件,从而导致进行一些莫名其妙的操作,比如会自动触发点击事件。为了防止扫码枪在自动触发KeyEevent事件,我看到有博客写防止扫码枪KeyEevent事件触动,但是我在项目中并没有去这么使用,而是通过对输入框进行处理从而 达到效果,只针对有edittext的界面,添加代码如下: et_auth_code.r...

2019-09-11 23:13:08 2817 3

原创 使用DialogFragment出现的问题

在项目开发中的过程中,我使用弹窗是使用了DialogFragment。使用的好处是因为它继承与 Fragment ,拥有 Fragment 所有的特性。DialogFragment 里面内嵌了一个 Dialog。但是在过程中出现了两个问题:1.点击空白处,自动退出,setCancelable 不起作用2.布局没有设置top,布局中出现了top值 解决方法:1.不使...

2019-07-30 10:24:17 344

原创 Base64解密封装

在项目中遇到base64解密的时候出现乱码的情况,发现base编码中出现“+”才出现乱码的情况。直接上代码吧!public class Base64Util { /** * 解密 * @param data * @return */ public static String decode(String data){ ...

2019-06-27 11:12:45 268

原创 Android优秀的github,博客链接收藏

1.Android面试:https://github.com/MindorksOpenSource/android-interview-questions2.Android最全面的面试题https://juejin.im/post/5c8211fee51d453a136e36b0#heading-383.GitHub 上优质项目整理https://juejin.im/post/...

2019-04-30 21:36:38 141

原创 Java学习——同步synchronized关键字

synchronized的作用:同一个时刻最多只有一个线程执行该代码,以达到保证并发安全的效果。synchronized的用法:对象锁(默认锁对象为this当前实例对象),同步代码块锁(自己指定锁对象) 类锁:synchronized修饰静态的方法以及指定锁为class对象1.同步代码块锁:package co...

2019-04-18 11:11:15 161

原创 Java基础——多线程

一.线程和进程的概念: 线程:线程与进程相似,但线程是一个比进程更小的执行单位。一个进程在其执行的过程中可以产生多个线程。与进程不同的是同类的多个线程共享同一块内存空间和一组系统资源,所以系统在产生一个线程,或是在各个线程之间作切换工作时,负担要比进程小得多,也正因为如此,线程也被称为轻量级进程。 进程:进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的...

2019-04-17 14:37:17 122

原创 配置okhttp遇到的问题

在配置的过程的时候,提示最小sdk版本应该小于等于26。我百度了很多都没有解决,最终找到一个解决办法。在build.gradle中添加 compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }...

2019-04-01 18:14:13 363

原创 SharedPreferences的封装

SharedPreferencesUtils:package com.example.zx.sharedpreferencestest;import android.content.Context;import android.content.SharedPreferences;import android.support.annotation.Nullable;/** ...

2019-03-23 12:32:45 209

原创 greenDAO学习之路——项目搭建和增删改查

greenDAO介绍: greenDAO是Android的对象/关系映射(ORM)工具。它为关系数据库SQLite提供了面向对象的接口。像greenDAO这样的ORM工具可以为您完成许多重复性任务,并为您的数据提供简单的界面。greenDAO框架的github地址:https://github.com/greenrobot/greenDAO ...

2019-03-20 21:08:34 178

原创 Android——Volley学习

刚刚接触框架不知何从下手,我结合郭霖大神的博客以及volley源码进行学习,终于掌握点基本。郭霖的博客地址:https://blog.csdn.net/guolin_blog/article/details/17482095volley源码:https://github.com/google/volley1.Volley简介volley的英文意思为‘群发’、‘迸发’。Volley是...

2019-03-15 15:23:37 98

转载 99%的人都理解错了HTTP中GET与POST的区别

GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候该用什么。当你在面试中被问到这个问题,你的内心充满了自信和喜悦。你轻轻松松的给出了一个...

2019-03-15 02:06:20 129

原创 Apache服务器的下载,安装,配置与卸载

由于学习XML和json需要搭建一个web服务器,于是网上查找了一些资料。自己配置的过程中可谓是一曲三折,按照别人的一步一步来还是出错,卸载又安装,安装又卸载,最终还是运行成功。1.下载 下载的Apache是个压缩包,需要通过命令行安装。官方下载地址:https://httpd.apache.org/2.配置打开文件httpd.conf,修改两处。第...

2019-03-14 02:17:43 356

原创 Android基础-----解析xml格式数据

网络传输数据时最常用的格式有XML和json。首先我们获取XML格式数据时,需要搭建一个服务器,服务器搭建详情请看https://mp.csdn.net/postedit/88534680xml有两种解析方式:Pull和SAXPull解析方式: private void sendRequestWithOkHttp(){ //开启线程发起网络请求 ...

2019-03-14 01:45:36 160

原创 小结(四)

今天的学习了常见的控件:TextView,Button,EditText,ImageView,ProgreeBar(进度条),AlertDialog五大布局:线性布局(LinearLayout)相对布局(RelativeLayout)表格布局(TableLayout)框架布局(FrameLayout)绝对布局(AbsouteLayout)约束布局(ConstraintLayout)layo...

2019-03-08 18:57:57 99

原创 小结(三)

今天学习了HttpURLConnection和ActionBar,Toolbar。 HttpURLConnection:1.获取HttpURLConnection的实例,new一个URL对象,并传入目标的网络地址,调用 ...

2019-03-07 22:54:15 134

原创 小结(二)

今天紧跟昨天的步伐,学习了SQLite. 创建数据库:1.创建类去继承SQLiteOpenHelper类 2.重写onCreate()和onUpgrade()方法 还学习了LitePal框架对数据库进行操作 晚上学习了多线程的创建线程的三种方法以及线程状态 总结:Java基础...

2019-03-06 23:58:12 128

原创 小结

这几天进度有点慢,可能是有点没有调整状态。今天学习了内容提供者,IO流,SharaedPreferences,SQLite基本使用。 内容提供者:不同应用程序之间实现数据共享的功能。 创建内容提供者的步骤:1.新建类继承ContentProvider创建之间的内容提供者(6个抽象方法) ...

2019-03-05 22:03:27 151 1

转载 服务生命周期

两种方式:startbind第一种启动方式:通过start方式开启服务.使用service的步骤:1,定义一个类继承service2,manifest.xml文件中配置service3,使用context的startService(Intent)方法启动service4,不在使用时,调用stopService(Intent)方法停止服务使用start方式启动的生...

2019-03-04 21:28:19 928

原创 Activity生命周期(二)

昨天是理清楚了生命周期的大概理论知识。本来是想上传代码的,结果模拟器出现问题,今天早上重新弄了一下,终于搞好啦。直接上代码,学习了郭霖大神的,一个普通活动(NormalActivity),一个对话式活动(DialogActivity)。public class MainActivity extends AppCompatActivity { private static ...

2019-03-03 12:24:11 214

原创 Activity生命周期

今天用了一天的时间学习了第一行代码里的Intent和Activity生命周期,其实好久之前就知道生命周期,但是却具体不知道是什么。首先我们先了解一下什么是Activity。活动的概念 Activity是与用户交互的接口,用户进行操作的界面。在开发中创建Activity后,通过调用setContentView(View)方法来给该Activity指定一个布局界面,而...

2019-03-02 22:40:55 271

空空如也

空空如也

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

TA关注的人

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