自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一起摆摊啊

等我有钱了就转行

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

原创 Android应用与硬件建立连接

Android应用与硬件建立连接前言有幸参与了国家某知名汽车研发企业的合作项目于,我作为一个不入眼的非全日制专科生,真的是受宠若惊,毕竟之前从来没参加过什么实际项目开发,而这次的项目是Java web + Android + 硬件的开发,我主要负责的就是硬件与App之间的连接和数据交互,很大一部分都是在学校没有接触过的技术点,都是从0开始。1、建立连接的原理在实现软件与硬件交互的时候,首先需要了解该硬件的构造,运行流程等相关操作,熟读相关的文档,知道硬件开发商那边给出了哪些接口,分别对应我们项目中的

2020-12-04 11:27:55 5207 8

原创 Java上传apk文件时获取到App的版本号

Java上传apk文件获取版本号记录一个小优化。之前做的apk版本更新,是在网页后台中上传apk文件,然后手动输入apk版本号以及更新内容。虽然在填写版本号时做了验证,只能输入数字和小数点,并且第一位不能为小数点等等限制,同时还有一个判断,查询数据库中是否有相同版本的apk。虽然看起来差不多,该限制的都限制的,该判断的也判断了,但是总觉得好像不太妥。如果我上传的apk版本是1.5,而我在上传手动输入版本号时记错了,写了个1.6。那么用户更新的是名为1.6版本的apk,安装时却发现应用版本是1.5的。

2020-06-19 10:32:18 2280 1

原创 SQL Server 未找到或无法访问服务器

SQL Server 未找到或无法访问服务器最近遇到一个特别坑爹的问题,前段时间因为重装了系统,所以SQL Server 2014也需要重装,重装过后发现不能正常登录,提示我无法连接到数据库然后我就想到可能是SQL服务未开启,找到SQL 配置管理器果然,SQL实例服务已停止,那么只需要简单的右键 ——>启动服务就没问题了但我还是想的太天真了既然服务没问题了,那么就有可能是端口的问题,看看SQL的默认端口有没有开启同意还是在SQL配置管理器中,左侧导航选择SQL Server 网络配置

2020-06-08 17:58:03 2022 2

原创 Android返回上层刷新页面

Android返回上层刷新页面在Android开发中,同学们肯定有这种需求:在当前activity中修改并提交了数据之后,需要返回到上一个activity,但是我们会发现刚才修改的数据没有发生变化,需要手动去刷新当前页面才会重新加载数据,这是个很不好的用户体验。这个时候肯定有同学说了,那我们返回上一个页面的时候不使用finish()销毁当前页面,而是直接使用startActivity()跳转...

2020-04-30 10:55:35 3325

原创 OkHttp Post请求乱码

OkHttp Post请求乱码做Android开发中,向后台提交数据时,okhttp是一个常用的组件,但是在前段时间的使用中,我发现使用okhttp进行post提交中文参数时出现了乱码这是在前台提交时断点,显示所有参数都是中文,还未出现乱码,之后也成功提交到了后台而在后台接收的时候,中文参数全部乱码这是怎么回事呢?首先我去看了服务端接收时的编码声明,确实是utf-8那可能是客户端的...

2020-04-26 14:25:52 2997

原创 Android报错CLEARTEXT communication to xx not permitted by network security policy

Android报错CLEARTEXT communication to xx not permitted by network security policy做Android开发的同学们在请求后台数据的时候,肯定会遇到这种问题:前台提示请求超时,后台也没有接收到前台发送过去的请求,这是怎么回事?首先我们要检查一下Android配置中有没有申请网络请求权限,打开AndroidManifest.x...

2020-04-26 10:33:11 785

原创 SSM框架+MySQL使用伪列

SSM框架+MySQL使用伪列在查询数据库的时候,我们有时候需要对查询出来的数据加上序列,1,2,3,……n,oracle数据库有专门的rownum来解决伪序列问题,但是mysql却到目前为止还没有内置的函数等来解决此问题那么我们使用MySQL的时候,如何为数据添加伪列呢?首先我们可以设置一个变量 @rownumSET @rownum:=0;接下来就可以在查询方法中让变量自增1SEL...

2020-04-26 09:48:50 195

原创 朋友圈发表动态

在之前我写的一篇有关于评论与回复的博客中,有很多同学都看不懂功能是如何实现的,所以我打算再写一篇有关动态发布的文章,希望大家能够理解。微信朋友圈相信大家都有用过,可以编写文字以及图片发布在一个公共区域中,其他好友可以对其进行点赞和评论。发布动态时涉及到的字段有三个:发布人(ID)、文字内容、图片内容后台接收到前台传递过来的三个参数UserID是必需的,但是文本内容和图片不是必需发布的动...

2019-11-27 19:00:43 243 1

原创 xml文件中sql的注意事项

我们在使用了mybatis框架后,向数据库发送SQL语句就需要编写在dao接口同名的xml文件中。在其中我们会使用到<select>,<insert>,<update>等标签来装载SQL语句,例如查询语句如下:<!-- 查询用户by ID --> <select id="findUserById" parameterType="Intege...

2019-08-17 20:04:00 5025 4

原创 TCP协议概述

TCP(Transmission Control Protocol)协议,也就是传输控制协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP在建立发送方与接收方之间的连接时,会使用三次握手协议。当主动方发出SYN连接请求后,等待对方回答TCP的三次握手SYN+ACK,并最终对对方的 SYN 执行 ACK 确认。这种建立连接的方法可以防止产生错误的连接。当应用层向TCP层发送用于...

2019-08-14 15:33:26 168

原创 SSM处理数据的空格

这种情况只会出现在String类型的数据中,我是最近偶然才发现这个问题的,由于数据库的数据我是从别处粘贴过来直接放到数据库的,比如【密码】这个字段,它的值是经过MD5加密得到的字符串,我在复制的时候不小心带了一个空格。这个微小的瑕疵仍是没被我发现,于是在我登录的时候,输入正确的账号密码却出现了提示密码错误。于是我把数据库查询到的密码和页面输入的进行加密的密码都输出这不完全一样吗!真的...

2019-08-07 15:49:21 249

原创 Mapper接口开发

在MyBatis+Spring 的项目中,虽然使用传统的DAO开发方式可以实现所需功能,但是采用这种方式在实现类中会出现大量的重复代码,在方法中也需要指定映射文件中执行语句的id,并且不能保证编写时id 的正确性。为此,我们可以使用MyBatis提供的另外一种编程方式,即使用Mapper接口编程。我们写一个实例来描述Mapper接口编程,首先编写一个接口Daoimport com.mobil...

2019-08-07 08:39:34 403

原创 SSM传参时报错400

现在刚开始接触SSM框架,连从jsp页面提交参数到controller都各种报错。首先我们分析一下,浏览器报400的错误,主要有两种形式:1、bad request意思是“错误的请求";2、invalid hostname意思是"不存在的域名”。于是我在浏览器中的Network找到的我提交的请求,路径没问题,参数也有,直接访问请求路径,代码执行到编译器断点,可是提交请求断点却没有执行。那么...

2019-07-31 15:41:03 1191

原创 SpringMVC拦截器

Spring MVC中的拦截器(Interceptor )类似于Servlet 中的过滤器(Filter) ,它主要用于拦截用户请求并做相应的处理。 例如通过拦截器可以进行权限验证、记录请求信息的日志、判断用户是否登录等。要使用SpringMVC中的拦截器,就需要对拦截器类进行定义和配置。 通常拦截器类可以通过两种方式来定义。 一种是通过实现Handlerlnterceptor接口,或继承Han...

2019-07-27 08:46:35 188

原创 MyBatis配置新增返回主键

首先我们需要将spring和MyBatis依赖的jar包放入项目的lib目录下在src目录下创建一个mybatis-config.xml文件,配置连接数据库<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" ...

2019-07-24 09:03:21 2060

原创 冒泡排序

冒泡排序的基本思想是:每次比较两个相邻的元素,如果他们的顺序错误就把他们交换过来。举个简单的例子,现在有一个数组【45,26,59,28,84,79】,我们需要将它变成从大到小排序。那么跟着冒泡排序的思想,首先将第一个位置上值与第二个位置的值进行比较,小的在前面大的在后面,45比26大,所以交换位置。接着将第二个位置的4值与第三个位置的值进行比较,45比59要小,就不需要交换位置。以此类推,我们...

2019-07-23 10:07:00 120

原创 快速排序法

快速排序法,一听名字就觉得这个排序方法效率很高。那么究竟什么是快速排序法呢?举个例子,现在有一个未排序的数组【5,12,3,1,7,8,4】,我们从中选择一个基准数,也可以理解为用来参照的数。在这里我们可以将 i 和 j 想象为两个哨兵,确定了 i 和 j 的位置之后,首先哨兵j往左边搜索,当它找到小于基准数的时候就停下来,正好 j 所在的位置的数就比基准数 5 要小,...

2019-07-22 15:07:51 153

原创 编译apk报错:Unsupported major.minor version 52.0

这个问题也困扰了我好几节课,百度到的解释为:【当前apk在更高级的jdk环境中运行过,无法使用比其版本更低的jdk环境进行编译】然后我检查了一下电脑的Java环境,发现是1.7的之后打开AndroidStudio,选择【File】-->【Other Settings】-->【Default Settings】如图,将项目默认的jdk版本改为1.7,保存,重新打包apk,发现...

2019-07-16 09:39:46 555

原创 第一次尝试使用AndroidKiller反编译apk

我用Android Studio做了一个简单的Demo,就是单独的一个登陆界面,设置了固定的账号密码,如果输入的账号密码如设置的值一致就进行页面跳转。接下来将它打包apk拉进Android Killer(简称AK)中去这段代码我们也不难理解,一开始声明的两个参数“name”和“pass”应该就是账号和密码的输入框,分别用p1和p2表示。If-eqz是smali的语法,判断前后两个操作数...

2019-07-15 21:14:27 3842

原创 保存富文本编辑器内容

在这里我使用的是layUI的layedit模块,layUI中的富文本编辑器模块。第一步我们先将页面搭建好,引入layui.layedit模块和layui.form模块。form模块可用于表单的数据验证和提交在form表单中建一个textarea<textarea class="layui-textarea" id="example" name="example"></te...

2019-07-11 20:57:09 5118

原创 layui表格工具条

layUI中的工具条相当于表格的自定义事件。在使用layUI插件的表格时,我们对表格数据信息操作,往往需要获取到当前行数据。它可以通过插件中的【工具条】来实现。通常我们需要在表格的每一行加上查看、编辑、删除这样类似的操作按钮,那么就要用到工具条了。首先创建toolbar对应的模板,它可以存放在任意位置 //<!----------------------- 工具条 ----------...

2019-07-06 08:39:15 3236

原创 C#+MUI框架实现首字母索引列表

这种通过首字母索引搭建的列表相信大家应该见过很多了,比如微信好友列表,手机通讯录等等,今天就来说一下如何实现这种功能。在这里我使用了MUI框架,在MUI的API中也有官方的例子,我们可以先看一下这种索引列表的实现过程。首先需要准备一个搜索栏和右侧索引导航栏:<div id='list' class="mui-indexed-list"> <!-- 搜索栏 -->...

2019-06-29 09:45:57 888

原创 C# 汉字转拼音首字母大写

我们在手机上经常都能看到通过拼音缩写来搜索好友信息,那么它是如何将一段汉字转换为首字母缩写呢首先我们来了解一下中文在计算机中的结构。计算机识别的是字节,字节(Byte)是计算机信息技术用于计量存储容量和传输容量的一种计量单位,1个字节等于8位二进制。在ASCII码中,一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。而汉字在编码中都有自己专属的位置,比如说“A”开头的汉字...

2019-06-28 10:42:47 3049 2

原创 评论+回复的设计思路和实现

不知道大家有没有遇到类似于微博这种需要实现评论和回复的项目,如图:那么在面对这种需求的时候,先想想数据库该如何设计。针对这个模块,涉及到的对象有:用户、动态、评论和回复,由于用户表只需要在这里绑定一个主键ID作为外键,就暂时先不考虑用户表的设计。接下来就对动态、评论和回复来分别设计数据表动态表:动态ID、用户ID、动态内容、动态图片、发布时间评论表:评论ID、用户ID、动态ID、评论内容、...

2019-06-21 10:27:51 16986 63

原创 图片上传前预览

之前为了实现这个图片预览的功能,我在选择图片之后就将其添加到项目中,再查询出来(捂脸),后来发现有更简单方便的方法:使用FileReader接口FileReader 对象允许Web应用程序异步读取存储在用户计算机上的文件(或原始数据缓冲区)的内容,使用 File 或 Blob 对 象指定要读取的文件或数据。我们先建好HTML页面<input type="file" name="ad...

2019-06-20 20:13:26 194

原创 C# MVC项目发布到服务器

如果知道同学们知道如何将MVC项目发布到本地IIS上的话,那么对于如何发布到服务器中是很好理解的。首先将MVC项目打包好后面的选项默认就可以了,直接发布。找到刚才发布的文件路径,将里面的东西都拷贝到服务器上。接下来就可以将它配置到服务器的IIS上了,操作过程与在本地配置是一样的。我们可以直接将默认的网站目录换成项目目录或者创建一个新的网站,通过其他端口号访问到浏览器测试一下,通...

2019-06-20 10:22:32 5168

原创 Java从数据库读取图片

之前讲了如何将图片上传到数据库,我们是通过将图片转换为二进制数组再保存进数据库的,数据库字段使用的是LONGBLOB类型。那么今天来说一下怎么将保存进去的图片读取到页面上。由于其他数据与图片返回的类型不同,所以图片信息是不与其他文字信息一起返回给页面的。先在Dao中写查询方法 public Trends findTrendsById(int trendsid) { Trends tren...

2019-06-20 10:05:27 10280 2

原创 Java的图片上传

向数据库保存图片时,我们通常都是将图片转换为字节流插入到表格对应的列中。保存图片的列的类型与使用的数据库有关,在这里我是用的是MySQL数据库,列类型使用的是LONGBLOB类型,LONGBLOB是一个二进制大对象,可以容纳可变数量的数据。在jsp页面使用<input type=’file’/>标签来选择上传的图片,可以通过设置accept属性来自定义上传文件的类型。<inp...

2019-06-18 09:04:00 1155 4

原创 WPF仿TIM登录界面

WPF基于irectX 9/10技术,带来了前所未有的3D界面,而且其图形向量渲染引擎也大大改进了传统的2D界面,今天我就仿TIM,做一个登录界面。首先我们来分析一下TIM登录界面的结构既然我们把它分成了三行三列,那么我们就可以用Grid元素来布局。Grid顾名思义就是“网格”,它的子控件被放在一个一个实现定义好的小格子里面,整齐配列。新建一个WPF项目,准备好项目需要用到的图片素材,设置...

2019-06-14 20:58:42 1544 2

原创 MyBatis的forech元素

<foreach> 元素是MyBatis 提供的一种用于数组和集合循环遍历的方式,我们可以用它来对批量查询进行简化。例如当我们需要查询数据库中id在10到20之间的数据,我们可以将查询语句放入for循环中,循环id,再根据id进行查询。但是这种方式需要不断的查询数据库,现在只是10条数据,如果是100条1000条,甚至是10000条,这种查询方式的效率是非常低的。通过 <for...

2019-06-11 16:12:28 2444

原创 AndroidKiller连接手机模拟器

AndroidKiller作为apk反编译神器,在开发中用途广泛。但是在使用其连接手机模拟器的时候往往会出现很多问题。下面我将使用AndroidKiller连接夜神模拟器进行演示。首先启动夜神模拟器,打开手机的开发者模式,打开USB调试。接下来启动AndroidKiller,在“已找到设备”中没有发现模拟器先别急,找不到设备是因为夜神模拟器adb驱动的端口与AndroidKiller a...

2019-06-11 11:35:40 7006 3

原创 Spring框架的依赖注入

在Java中,当某个对象(调用者)需要调用另一个对象(被调用者)时,调用者通常会采用“new 被调用者”来创建对象,如:InputStream in = new FileInputStream(file);但是这种方式不利于项目后期维护。下图是我理解的传统方法调用对象:使用Spring框架后,对象的实例不再由调用者来创建,而是由 Spring 容器来创建。 Spring 容器会负责控制...

2019-06-04 20:01:56 3027 2

原创 localStorage本地缓存

很多购物网站,或者APP都有展示搜索记录的功能,比如淘宝、京东等等。不知道大家有没有发现,你在自己手机上搜索的商品留下的历史记录,在别人手机上登录你的淘宝账号时发现搜索记录都没了,这是为什么?或者你还可以去试一下,在不清楚软件缓存的情况下将淘宝APP卸载,再安装,你会发现搜索的历史记录竟然还在。这就可以说明,这种搜索历史记录的数据是存储在本地的,所以在其他手机上就没有这台手机的记录了。这种在本机...

2019-06-02 19:13:18 3044

原创 Ajax实现自动保存草稿

大家在百度贴吧发帖子的时候应该看到了,当我们帖子写了一半,但是没有发表的时候,右下角出现了一个“* 内容已保存,最近保存时间:2019-06-01 16:46:43”。有时候我们不小心刷新了页面,本以为好不容易写的帖子都没了的时候,却发现它还在文本域里。这里就用到了ajax技术,在页面不刷新的前提下将请求提交并接收返回值。我模仿贴吧做了一个页面,大致就是这个样子那么实现这个功能,我们还需要...

2019-06-02 19:06:59 751

原创 MyEclipse无驱动连接SQL Server

今天讲一下MyEclipse怎么连接SQL Server,像连接MySql一样,需要先引入JDBC.SqlServer的java包。但是在没有SqlServer的jdbc驱动的时候,我们也是可以连接到SQL Server的,因为在Java EE中自带一个sun.jdbc.odbc.JdbcOdbcDriver的驱动,只要我们在自己电脑上将SQL Server发布到本机的ODBC驱动源上就可以了。...

2019-05-27 13:36:20 785

原创 INSERT返回主键ID

同学们在对数据进行新增操作时,通常我们是执行如下代码:public int Insert(UserPo t) {// TODO Auto-generated method stub int count=0; try { con = DbUtil.getConnection(); ps=con.prepareStatement(Insert); ps.setString(1, ...

2019-05-27 13:31:39 7487

原创 通过反射简化request

大家在表单提交数据实现新增的时候,可以通过设置input的name属性,然后再servlet使用request.getParameter(“name”)来接收参数,但是在参数比较多的时候就会变得很繁琐,还可能不断的写重复的代码。public void Insert(HttpServletRequest request, HttpServletResponse response) throw...

2019-05-15 12:28:43 336 1

原创 JSP标准标签库

JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能。JSTL支持通用的、结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签。 除了这些,它还提供了一个框架来使用集成JSTL的自定义标签。根据JSTL标签所提供的功能,可以将其分为5个类别。核心标签: 最常用的JSTL标签。格式化标签: 用来格式化并输出文本、日期、时间、数字。SQL标...

2019-05-15 12:20:30 92

原创 EL表达式

在jsp中,经常要使用到jsp表达式<%=变量或者表达式%>来输出声明的变量已经页面传递的参数,可是当变量很多时,大量书写这样的表达式就会显得很累赘。而EL表达式就很好的解决了这个问题,它可以将表达式简化。EL表达式的语法:${参数名或表达式}例如,我们需要获取Servlet返回过来的session的值,EL表达式的写法:<p> EL表达式获取到的name的值为:${...

2019-05-15 12:02:00 267

原创 是try还是throws

Java的异常处理机制可以让程序具有极好的容错性,让程序更加健壮。当程序运行出现意外情形时,系统会自动生成一个 Exception对象来通知程序,从而实现将“业务功能实现代码”和“错误处理代码”分离,提供更好的可读性。Java异常处理机制为:抛出或者捕捉异常,然后处理异常。大家都知道,可以使用try…catch来捕捉异常,使用throws抛出异常。那么问题来了,什么时候该捕获异常?什么时候...

2019-05-06 16:45:39 165

空空如也

空空如也

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

TA关注的人

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