自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 收藏
  • 关注

原创 SpringBoot入门(2)

1. IDE选择1.1 IDE开发工具介绍介绍1、Eclipse EE [Eclipse下载链接](https://www.eclipse.org) 选择Eclipse IDE for Enterprise Java Developers.2、IntelliJ IDEA [IntelliJ IDEA下载链接](https://www.jetbrains.com/idea/)...

2019-07-16 18:14:17 219

原创 SpringBoot入门(1)

###SpringBoot简介

2019-07-16 17:54:25 206

原创 android 7.0版本之后出现FileUriExposedExeception解决办法

问题出现情况下载Apk文件到新建的目录下面是,使用PackageUtils.installApp()方法崩溃,紧接着在文件夹中找到该APK文件,点击却提示"the file format is not supported"。当然,使用App生成其他文件如txt文件也提示无法打开。What?尝试将文件剪切移动或者复制移动后无论放在哪个文件夹中都可以安装。那这是为什么呢?问题查找...

2019-02-28 11:11:39 292

转载 路径查找

最短路径公交和地铁是最普遍的交通工具了,但是通常情况下去往某处有多种出行方案,有的少换乘,有的时间短,有的步行少,等等。这就涉及到如何寻找一条最合适的路径的问题,比如从下图的v0处出发,怎样才能最快到达v8处?最短路径寻找最短路径,通常也有两种经典算法,接下来我们一一介绍。迪杰斯特拉(Dijkstra)算法迪杰斯特拉算法的思路是从起点开始,寻找它到每个中间点的最短距离,一步步向终点逼近。...

2019-01-19 10:47:21 1028

原创 Flutter的基本使用

本文只是针对在Android Studio中的使用1. 在Android studio中下载插件Flutter2.配置Flutter以及Android SDK环境变量, 第一步设置android SDK的路径,并且新建变量值,变量名,变量名为ANDROID_HOME,变量值为SDK的目录所在位置。 第二步设置使用android studio下载的Flutter SDK路径,点击path,...

2018-12-25 17:00:02 1276 1

原创 android项目混淆

Android混淆为什么混淆?因为使用Java语言开发的App很容易被逆向破解,目前市面上已有的Java程序反编译工具有很多中,这些工具可以将代码逆向破解。混淆的作用1、它是一种保存App的技术,可用于App不被破解和逆向分析。2、使用混淆的可将绝大部分的Apk编译之后减少部分体积如一个简单的构建项目,build apk(debug版本)时的体积为1624k,而未使用混淆的relea...

2018-07-12 15:15:53 449

原创 GreenDao的使用

项目引入1.在 项目的根build.gradle中引入: repositories { mavenCentral()}dependencies { classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2'}2.在项目的build.gradle引入//引入插件名apply plugin: 'org.greenr...

2018-07-03 14:37:09 270

原创 Android Studio怎么构建配置文件(config.gradle)

1、新建config.gradle在android studio的根项目中新建config.gradle文件(和settings.gradble同目录)开始写想要的信息ext { android = [ compileSdkVersion : 26, buildToolsVersion : '26.0.2', ...

2018-03-20 18:11:19 7236

原创 android怎么创建在线的依赖库

1.新建Android Studio项目并上传至仓库中1.1 在当前空项目中新建android library moudle1、File–>New Moudle 2、新建moudle3、添加项目中的路径依赖4、在library中添加插件引用 apply plugin: ‘com.github.dcendents.android-maven’ ...

2018-03-12 16:17:06 660

原创 android Gradle的配置使用

android项目的编译过程1、将xml文件编译成二进制文件,如果项目中有aidl文件,则将其编译成java文件,一些编译时的JAVA代码被生成R文件。2、java代码为编译成.class文件,最后编译成.dex文件。3、代码文件和资源文件放到一起被打包。4、使用密钥进行安装包的签名,然后进行字节对其的优化。其中每个过程还可以配置详细的参数(比如资源编译处理时的进程数、class编译到dex

2017-12-06 14:48:15 452

原创 JVM内存模型

物理缓存篇虽然基于高速缓存的存储交互很好的解决了处理器和内存之间的矛盾,也引入了新的问题:缓存一致性问题,在多核处理器系统中,每个处理器有自己的高度缓存,却共用一个内存的情况下,则很有可能出现缓存不一致的现象,为了解决这个问题,处理器的运行需要遵循一些协议,在运行时需要将这些协议保证数据的一致性。协议包括了MSI/MESI/MOSI/SYNAPSE/FIRELY/DRAGON PROTOCOL等。

2017-10-26 15:16:14 261

原创 Android实现滑动布局使TitleBar文本渐变色

原理想要实现渐变的效果,就需要知道ViewTreeObserver:它是一个注册监听视图树的观察者(observer),在视图树种全局事件改变时得到通知。这个全局事件不仅还包括整个树的布局,从绘画过程开始,触摸模式的改变等。ViewTreeObserver不能够被应用程序实例化,因为它是由视图提供。它的实现接口有以下几个:1、当在一个视图树中的焦点状态发生改变时,所要调用的回调函数的接口类。in

2017-10-18 15:05:20 794

原创 Java题目详解

1、求打印结果int num = 0;for(int i=0;i<100;i++){ num=num++;}System.out.print(num);这一题考虑的是num++,num++ => num=num+1;其是它是一个有返回值的表达式,返回值为num自加前的值,java对其自加处理的流程为把num的值(非引用)拷贝到一个临时变量区,对num变量加1,接着返回临时变量区的值。

2017-10-16 10:15:12 518

原创 android性能优化

背景:android程序无法向pc拥有超大的内存和高性能的CPU,故,当app过多的使用内存和CPU资源时,将会出现内存溢出,也就是所谓的oom,如果进行大量的耗时任务,将会使手机变得卡顿甚至程序无法响应,也及时ANR 性能优化: 布局优化,绘制优化,内存泄漏优化,响应速度优化,ListView优化,Bitmap优化,线程优化等性能优化的重要问题就是内存泄漏,它不会导致功能异常,但是它却会到时a

2017-10-11 14:36:59 237

原创 EditText的聚焦和监听

如果没有刻意设置EditText的各种属性,进入登录界面一般这样显示而想要的效果却是用户点击EditText才会聚焦,并且点击后才会出现删除按钮,也就是用户首次进入登录界面的时候如果已经保存过登录的信息是,不使用自动登录功能时,显示的样式为下图所示:**当用户点击才会出现下图所示的效果**实现这种效果需要:1、在EditText的上一级父类加上这两个属性 android:focusa

2017-09-28 10:19:51 788

原创 android实现可以滑动的平滑曲线图

直接上代码,里面有详细注解package com.laisontech.commonuilibrary.customviews;import android.animation.Animator;import android.animation.ValueAnimator;import android.content.Context;import android.content.res.Typ

2017-09-14 10:21:45 3464 1

原创 NFC基本使用

NFC使用介绍

2017-07-07 16:36:29 334

原创 RF射频卡的介绍与与手机NFC的通信

1、简单介绍射频卡的8K位EEPROM分为16个扇区,每扇区由四块组成,每块由16个字节。每个扇区的四块中的块三(第四块)包含了该扇区的KEYA(6字节)、存取控制(4字节)和KEYB(6字节),其余的三块位数据块。在0块至63块中,0块为固化块,其中有厂家代码等特殊内容。它广泛应用在身份鉴别、信用鉴别、自动化控制、安全防范等领域,其安全性、保密性,实用性是目前各种通用防范电路无法比拟的。射频卡是一

2017-06-06 16:59:50 9568

原创 Java 基础再回顾

进制转换在之前的工作中很好考虑到进制问题,但是换了新的工作基于蓝牙、nfc比较多,所以又用到了进制的问题,比如说通信之间的数值传递,文件传递获取的加密等1.JAVA中其他位运算符:~ 按位非(NOT)(一元运算) & 按位与(AND) | 按位或(OR) ^ 按位异或(XOR) >> 右移 >>> 右移,左边空出的位以0填充 << 左移 &= 按位与赋值 |= 按位或赋值 ^=

2017-06-06 10:46:12 528

原创 对保存数据进行月份分组显示

1.模拟数据public class Bean { private String date; private double money; public String getDate() { return date; } public void setDate(String date) { this.date = date;

2017-05-14 20:15:43 1338

原创 GoogleMap的基本使用

1.配置 1、google map和国内的高德、百度地图不同,由于国内的大环境因素,基本厂商将谷歌服务或者GMS CORE框架阉割掉了,不过搜索教程,也可以将缺少的apk打包安装完毕,在找一个免费的vpn,这样就可以使用google地图了。 2、google地图没有过多的添加libs和so文件的过程,这点可能是android就是google的嘛,所以添加过程也减少了不少步骤。 在 android

2017-04-27 11:32:19 5771

原创 蓝牙4.0BLE的使用与封装

简单介绍 蓝牙发展至今经历了各个版本的更新。1.1、1.2、2.0、2.1、3.0、4.0、4.1、4.2。4.x开始的蓝牙我们称之为低功耗蓝牙也就是蓝牙ble,当然4.x版本的蓝牙也是向下兼容的。低功耗蓝牙较传统蓝牙,传输速度更快,覆盖范围更广,安全性更高,延迟更短,耗电极低等等优点。传统蓝牙与低功耗蓝牙通信方式也有所不同:传统的一般通过socket方式,而低功耗蓝牙是通过Gatt协议来实

2017-04-07 14:09:11 1577 1

原创 Android之Notification的使用与简单介绍

简单的介绍Notification 是app提醒用户发生某件事件的一种方式。它可以:1、显示状态栏图标2、震动3、灯光LED闪烁4、发出声音提醒5、显示额外的信息6、使用交互操作来广播IntentNotification的使用类介绍1、通过getSystemService(Context.NOTIFICATION_SERVICE);获取到NotificationManager;2

2017-03-04 22:27:24 433

原创 安卓--网络/GPS/WIFI/3G是否打开的简单封装

package com.sdp.panda.weatherquery.utils;import android.app.LoaderManager;import android.content.Context;import android.location.LocationManager;import android.net.ConnectivityManager;import androi

2016-12-07 20:50:44 344

原创 Volley简单的使用

返回json数据类型POST/GETpackage com.sdp.panda.volleytestapp;import android.content.Context;import com.android.volley.Request;import com.android.volley.Response;import com.android.volley.VolleyError;/** *

2016-12-07 03:03:37 550

原创 <Android>集成图灵机器人的小demo

需要自己先注册账号注册机机器人,并且得到自己的apiKey接下来就可以使用了,上代码package com.sdp.panda.panpanapp.utils;import com.google.gson.Gson;import com.sdp.panda.panpanapp.bean.ChatMessage;import com.sdp.panda.panpanapp.bean.ResultB

2016-12-01 17:08:12 1995

原创 <Android>打造自己的可双击放大、多指缩放、放大等功能的ImageView

不多说上代码package com.sdp.panda.myviewapp.view;import android.content.Context;import android.graphics.Matrix;import android.graphics.RectF;import android.graphics.drawable.Drawable;import android.util.

2016-11-30 22:19:13 1580

原创 <Android> 打造自己的进度条

横向的进度条package com.sdp.panda.myviewapp.view;import android.content.Context;import android.content.res.TypedArray;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.

2016-11-30 22:06:41 378

原创 Handler的介绍及简单使用

Handler的介绍及简单介绍1、什么是handler? 是android给开发者用来更新UI一套机制,是一套处理消息的机制。2、为什么使用handler? android设计的时候,就封装了一套消息创建、传递、处理的机制,如若不遵循这样的机制就没有办法更新UI,就会抛出异常。 解决多线程并发问题,属于加锁机制。如果没有加锁机制,就会出现更新界面错乱的 所以andr

2016-11-30 22:03:36 489

原创 <JAVA>入栈与出栈

栈的特点1、使用后立即释放2、栈的入出栈为:先进后出代码解释public class StackTest{public static void print(int[] array){ for(int i = 0 ; i < array.length;i++){ System.out.print(array[i]+" "); } }public

2016-11-05 16:18:27 1960

原创 <android>之Design包下的CoordinatorLayout

安卓design包下的不同的控件可以实现更多功能CoordinatorLayout的使用核心就是Behavior,Behavior就是行为的意思理解这个需要理解Child和Dependency,Child是子View,也就是CoordinatorLayout的子View,而Dependecy是子view所依赖的view。

2016-11-05 16:08:50 442

原创 <Android>--6.0版本获取运行时的权限方法

介绍在6.0版本中,安卓让获取敏感权限的方法,不单单在manifest中添加权限那么简单了需要在自己的代码中添加一些权限才行,就拿sdCard来举例方法1.判断时候有要用的权限 public boolean hasPermission(String... permissions){ for (String permission:permissions){

2016-10-27 18:56:18 1151

原创 <Android>Xutils的本地数据库的使用---登录注册等

这个数据库的基本使用上篇中已经讲过了,今天就是怎么实现简单的本地注册登录等功能不啰嗦,直接上代码:1、bean类package com.sdp.panda.pictrueapp.bean;/** * Created by 80926 on 2016/10/20. */public class UserBean { private String name; private St

2016-10-20 21:34:57 1221 2

原创 <Android>之三级缓存(及封装方法)

为什么使用三级缓存?在当今4G网路的时代中,浏览网页的越来越快,随之而来的就是流量不够用,那么各种app都在往省流量的方向上走着,如果你的app没有缓存,那么用户往回浏览信息又会再刷新一次数据,这样就背道而驰了。所以有了三级缓存的机制了。安卓有一个解决的方法,就是使用LRUCache。什么是LRUCache?意思为最近最少使用算法的缓存三级缓存帮助类及其详解1、首先得理解什么是三级缓存?我们

2016-10-20 21:04:56 1432 1

原创 <Android>本地数据库之--Xutils的使用

导入架包或者在build.gradle中添加compile 'com.jiechic.library:xUtils:2.6.14'想要全局都使用的话,就需要在Application中添加代码public class MyApp extends Application{ private static final String DB_NAME="xutilsDB.db"; publi

2016-10-20 20:34:57 1296

原创 <Java>随意输入字符串,如果含有"$"将该字符及之前一个字符的去掉

题意:在控制台任意输入字符串,如果含有"$"将该字符及它前一个字符去掉,如含有"%",将该字符及前面所有字符串去掉,获得新的字符串打印出来。例如:输入:abcd$$ef;输出:abef 输入:abc%def$$g,输出:dg根据题意可以知道最简单的办法就是使用递归及其一些判断即可public class StringTest { public static void main(Str

2016-10-19 01:08:05 1735

原创 JAVA中如何使用boolean的Demo

先上代码,下面详细讲解:public class TestBoolean { public static void main(String[] args) { boolean isB = true; boolean isA = false; for(int i = 0 ; i < 10 ;i++){ if(!isB&&isA){

2016-10-06 00:38:58 8313

原创 android的button点击变换颜色的方法

点击换背景在drawable中写两个shape的xml1、btn_press_shape.xml这<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"> <corners android:radius="5dp"/> <soli

2016-09-30 18:50:36 1801

原创 Java的小知识(正则,Math.round())

正则的核心标记(字符) x 表示指定一位字符 \\ 表示一位字符"\" \n 表示匹配换行(字符的范围) [abc] 表示a,b,c其中的任意一个 [^abc] 表示不是a,b,c中的任意一个 [a-zA-Z]表示所有字母的中任意一个 [0-9]任意一个数字(简单的表达式,表示一位) \d 表示一位数字 "[0-9]" \D

2016-09-30 02:24:19 451

原创 使用OrmLite数据库实现本地的账号登录,注册功能

OrmLite是基于SQLite的封装的。实现方法是通过对java bean类进行注解的方式,操作简单许多。 首先想在as中使用这个OrmLite类,需要下载两个jar包,至于jar包的用途,可以看看官方文档,这里我将jar包粘上去了,需要使用的可以进行下载。 ormlite架包,点击下载操作步骤1、将两个架包拷贝到libs包中,最简单的引用进as中就是点击: 即可。

2016-09-27 14:23:38 863 1

空空如也

空空如也

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

TA关注的人

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