衷水木先生的博客

不知己所知,非真知也;知己所不知,进步之始也。

  • 博客(31)
  • 资源 (12)
  • 问答 (2)
  • 收藏
  • 关注

原创 深究Java foreach循环的实现原理和其中的坑

集合、数组的遍历是必不可少的开发工具,foreach又是那么甜,二者走到一起会发生什么呢?这篇文章带你一起尝一尝其中的酸甜苦辣!

2019-08-29 15:38:49 3813 2

原创 【一步一个脚印】Tomcat+MySQL为自己的APP打造服务器(4)完结篇

在这个系列的前几篇文章中,从最初简单的服务器环境搭建、MySQL数据库的安装、Servlet 的原理及使用、数据库的连接及CURD操作、Android和服务器GET/POST数据交互,到最后JSon格式报文的使用,我们已经将这个过程完整的走完一遍,但是其中用的代码都是片段式的,没有一个清晰的结构,甚至有些代码只是单纯地为了说明用法,还有一些朋友提出说代码中有一些自定义的方法没有说明,所以我们最后来一个总结篇,把之前的代码优化规整一下,顺便把之前的一些问题明确一下。 先从 Android 部分

2017-05-09 18:06:56 15046 58

原创 VMware虚拟机能ping通宿主机,但宿主机ping不通虚拟机

VMware 安装完虚拟机,检查网络联通性时候发现了比较奇怪的现象:宿主机、虚拟机都是可以访问外网的,虚拟机 ping 宿主机正常,但是宿主机 ping 不通虚拟机正常。

2022-06-09 22:47:51 1302 1

原创 【一步一个脚印】Tomcat+MySQL为自己的APP打造服务器(1)服务器环境搭建

做 Android 开发一年多了,虽然不敢说有多精通,但也相对熟悉。做久了就会发现 Android 在行外人眼中是多么高深(包括 IOS 也一样),但是我们自己知道其实 Android 和 Web 前端其实本质上是没有多大的区别,只不过一个是显示在浏览器中,一个是显示在手机上而已。慢慢地,你会发现移动端(Android、IOS、WinPhone、WebAPP)其实涉及到的业务逻辑是很少很少的——无关孰优孰劣,这是分工的不同,移动端毕竟硬件资源有限,适合于简单的计算和交互处理,业务逻辑什么的放在资源更富裕的服

2020-02-25 16:52:23 73480 27

原创 【相机】(2)——WebView中打开相机、文件选择器的问题和解决方法

上一篇[Intent调相机的2种方式以及那些你知道的和不知道的坑]中完成了对 Intent 调起系统相机、结果处理以及一些问题的应对。其实上篇文章还是因为今天的主题 **WebView中调用系统相机** 而起,因为涉及到调用相机本身的一些问题之前不是很明确,所以专门搞了一下,记录下来,所以如果调

2017-09-15 10:15:35 11229 5

原创 【相机】(1)——Intent调相机的2种方式以及那些你知道的和不知道的坑

要不要都行的开篇随着现代信息量的疯狂增长、信息的快速交流,单纯的文字信息已经难以满足日常、工作的沟通,一张图片往往能达到一图胜过千万言的效果,前段时间不是盛行“有图有真相的”说法;还有一些场景则需要通过上传照片来验证身份的合法性,比如手机银行要求上传身份证正反照,手持身份证照 ……废话多了点,总之,作为移动端开发者的你,肯定会遇到这样那样拍照上传的需求,接下来我们来试试 Intent 调用 Andr

2017-09-12 19:09:36 4069 2

原创 【一步一个脚印】Tomcat+MySQL为自己的APP打造服务器(3-3)Json数据交互

这篇文章实在是耽搁了太久了,唉,人生呐,怎一个懒字了得!都不好意思扯会儿淡了,进入正题吧。上篇我们将 Android 和 Servlet 进行 POST 方式进行数据交互搞通了,但是在例子中传输的数据是以最简单的 String 类型来举例的,下边我们就来用现在流行的 JSON 格式跑一个。Json,是个轻量级的数据交换格式,但具体有什么优劣、使用场景有哪些、或者和别的数据格式对比如何,这些不是我们本

2017-04-24 22:18:34 12981 18

原创 【一步一个脚印】Tomcat+MySQL为自己的APP打造服务器(3-2)Android 和 Service 的交互之POST方式

今天是圣诞节,虽说我本人对这个西方节日没什么感觉,但毕竟还是有很多小年轻人(自认为已然脱离年轻人的航道)挺在意这个节日的,在这里祝大家圣诞快乐吧(要是凑巧你也没什么感觉,那就预祝元旦快乐)!        闲话少叙,继续我们的正题。得益于上一篇文章【一步一个脚印】Tomcat+MySQL为自己的APP打造服务器(3-1)Android 和 Service 的交互之GET方式 所做的思路修改,我

2016-12-27 16:45:25 14313 12

原创 【一步一个脚印】Tomcat+MySQL为自己的APP打造服务器(3-1)Android 和 Service 的交互之GET方式

好久没更新了,罪过罪过。最对不起的人莫过于那些支持和等待在下拙文的诸位,在此道一声抱歉。管窥之见,侥幸博得各位认同,给了我莫大的鼓励。        话休絮烦,文接前章。        到【一步一个脚印】Tomcat+MySQL为自己的APP打造服务器(2-3)Servlet连接MySQL数据库为止,我们已经将服务端的部分走通了:通过 Servlet 连接 MySQL ,分析业务需求进行响

2016-12-20 20:36:57 33991 91

原创 【一步一个脚印】Tomcat+MySQL为自己的APP打造服务器(2-3)Servlet连接MySQL数据库

在【一步一个脚印】Tomcat+MySQL为自己的APP打造服务器(1)服务器环境搭建中我们搭建了完整的服务器开发环境,但是接下来的两篇介绍 Servlet 的并没有用到 MySQL数据库,因为仅有的验证登录业务也是模拟的,今天我们就来说说 Servlet 中使用 MySQL 的方法。

2016-07-31 01:44:15 31857 98

原创 【一步一个脚印】Tomcat+MySQL为自己的APP打造服务器(2-2)Servlet的使用

在上一篇【一步一个脚印】Tomcat+MySQL为自己的APP打造服务器(2-1)Servlet 的使用中我们只是简单的对 Servlet 的任务、在服务器中的地位有了一个大概的了解,完成了在一个全新的 WorkSpace 中创建第一 Dynamic Web Project ,并创建第一个 Servlet ,解决期间可能遇到的常见问题,还留了不少的内容重要内容没有完成,今天我们来继续完成这些:

2016-06-20 20:25:42 23573 23

原创 【一步一个脚印】Tomcat+MySQL为自己的APP打造服务器(2-1)Servlet的使用

服务器接收来自不同用户的不同的请求(当然是以该服务器作为请求目标的那些请求),分析不同的请求,控制模块将各自的请求分送至对应的 Servlet (如登陆请求,则将登陆数据送至LoginServlet),然后 Servlet 根据请求内容处理业务逻辑(如登陆请求则解析用户名密码,并和数据库中保存的用户名密码进行对比,得出是否是合法用户的结论),完成响应数据的封装返回给控制模块,控制模块再将该响应返回给对应的请求用户,这样即完成一次网络交互。

2016-05-31 11:52:00 37999 61

原创 SVN问题之——org.apache.subversion.javahl.ClientException: Attempted to lock an already-locked dir

今天在 Eclipse 中用 SVN 插件提交代码时遇到 org.apache.subversion.javahl.ClientException: Attempted to lock an already-locked dir 的问题,"SVN 客户端异常:试图锁定一个已经锁定的目录"。提交代码的时候,SVN 所做的工作中有一个操作步骤是"锁定",所以才会有"Attempted to lock "这一步,至于"an already-locked dir",我忽然想到,昨晚下班我尝试过一次提交代码,但是由于

2016-03-09 10:43:23 61030 28

原创 APP接入QQ登陆功能报错“该应用非官方正版应用,请到......100044”的几种错误

最近在学习APP接入“QQ登陆”功能时,一动手就遇到遇到“该应用非官方版本正版应用,请去应用宝下载正版后进行qq登录。(错误码100044)”的问题,如下图:                捣鼓来捣鼓去就是不知道哪里出的问题,腾讯开发平台的文档都翻了十几遍也没有相关的问题说明,还是网上有大神啊,陆陆续续找出来一些会导致此错误的情况进行记录,给遇到同样问题的你提供一条捷径。

2016-02-16 16:07:31 57322 7

原创 ListView点击Item展开隐藏项(单项展开、多项展开、复杂布局时的展开处理)

手机屏幕毕竟有限,当我们要显示较多数据时便不得不舍去一些次要信息,将主要信息优先显示,也使显示效果更加简洁美观。遇到类似的需求,我们使用最多的就是 ListView ,而如果每次点击一个 Item 都要跳转到下一页查看详情,查看另一个还要返回列表重新进入另一条详情,使得操作繁琐体验降低。此时可隐藏和展开 Item 的 ListView 便应运而生,这不是一个新的控件,只是我们灵活使用造出来的用法,下边我就来实现 ListView 点击 Item 展开隐藏项,包括列表单项展开、多项展开、复杂布局展开的实现,先

2016-02-01 14:19:52 17071 12

原创 Activity设置全屏显示的两种方式及系统自带theme属性解析

设置Activity隐藏标题栏、设置Activity全屏显示在我们开发中会经常用到,毕竟手机屏幕大小有限,有时候是为了显示更多的信息而舍弃一些不必要的界面开支,首当其冲的就是标题栏,接下来就是状态栏;有时候是为了界面的简洁和美观……不举例子了,相信你肯定遇到过这样的需求,直接入正题: 设置隐藏标题栏、全屏显示常用的有2种方法(和Android开发中大多数属性的设置方法一样)

2016-01-08 09:14:51 16565 2

原创 Android完美获取状态栏高度、标题栏高度、编辑区域高度的获取

简单说明一下(上图Activity采用默认Style,状态栏和标题栏都会显示):最大的草绿色区域是屏幕界面,红色次大区域我们称之为“应用界面区域”,最小紫色的区域我们称之为“View绘制区域”;屏幕顶端、应用界面区之外的那部分显示手机电池网络运营商信息的为“状态栏”,应用区域顶端、View绘制区外部显示Activity名称的部分我们称为“标题栏”。下边给出4中状态栏高度获取和2种标题栏获取高度的方法——

2016-01-07 17:52:15 96260 20

原创 Android 视图框架系列2/3——SurfaceView视图框架

SurfaceView 继承于 View ,所以同样拥有触屏监听、按钮监听等方法,但是请注意,SurfaceView 看名字就和 Surface 脱不了干系,Surface 是 Android 中一个很重要的类,有必要了解一下。每个 View 在和屏幕绑定时都会关联一个对应的 Surface,你可以把 Surface 理解成一块屏幕缓存。但从源码可以看出 SurfaceView 还有一个 Surface 类型的成员变量,所以 SurfaceView 就拥有了两个内存区。 这里就该说 SurfaceView

2016-01-06 11:51:10 2741 3

原创 Android 视图框架系列1/3——View视图框架

View 是 Android 开发中最基础也是最本质的视图基类,在开发中要想实现自定义的控件,大多都是直接继承自View,因为那些可以继承View的子类(甚至是子类的子类)的控件其实都是修修改改,只是接触到自定义控件的皮毛而已。具体还是看Android自定义控件开发系列(零)——基础原理篇吧,不必再重复了。 不管是游戏开发还是内容性 APP 开发,继承 View 主要还是重写 onDraw(Canvas canvas)、onTouchEvent(MotionEvent event)、onKe

2016-01-06 11:31:03 2030 2

原创 闲话Android游戏开篇

游戏,这个词专门查了一下词典,还真没有什么明确的定义。什么是游戏,可能没必要给它下个明确的定义,也没有实际的意义,只要有主体参与的以获取快感为目的的活动都可以称之为游戏。这里指出了游戏的两个要素:参与主体和获取快感的目的。请不要产生“你怎么在这瞎扯蛋,我又不是来学哲学的”的想法,我解释这个是有目的的——

2016-01-05 22:10:06 1289 1

原创 Android自定义控件开发系列(三)——仿支付宝六位支付密码输入页面

在移动互联领域,有那么几家龙头一直是我等学习和追求的目标,比如支付宝、微信、饿了么、酷狗音乐等等,大神举不胜举,他们设计的界面、交互方式已经培养了中国(有可能会是世界)民众的操作习惯:举个小例子,对话框“确定”按钮的左右位置就很有学问,如果大家都是左边取消右边确定,你的作品偏偏相反,就会导致用户在操作时候很不适应,甚至会习惯性点错,这一小小的问题将严重影响产品的体验,闲话少说,开始...

2015-11-25 22:17:04 19818 12

原创 Android开发中经常用到的工具

本文总结Android开发中经常会用到的各种工具,包括一些好的工具软件、资源类网站等。对于一些需要注册什么的,如果你嫌麻烦,我也提供了我的帐号密码给你用(反正就是下载一些东西,没啥风险吧,希望你好用,但是不要随意粘贴,谢了)。 全是本人亲身实践总结,绝无虚假编造之举,不定时更新,敬请期待。

2015-11-20 09:35:53 1562 2

转载 老程序员给初学者的一些建议和忠告

网上看到的一篇好文章,自己当年没有读到是损失,现在希望更多的师弟师妹因为这篇文章避免这个损失!请记住——我不会以码农自卑,但一定以常年码农为耻!

2015-11-15 00:33:15 9594 7

原创 用shape、selector自定义样式美化控件

有的人说“自定义控件”,不错,自定义控件能实现这样的效果,甚至更加美好,这个毋庸置疑!但是这里用自定义控件显然大材小用了——如果仅仅要求这些显示效果的话,根本用不到自定义控件这样的大工程——简简单单一个样式文件(shape或selector)就搞定了,下边我们来详细看看这两种文件

2015-10-27 14:08:19 1780

原创 Java/Android中的函数调用&回调函数&自定义回调函数

在Android的学习过程中经常会听到或者见到“回调”这个词,那么什么是回调呢?所谓的回调函数就是:在A类中定义了一个方法,这个方法中用到了一个接口和该接口中的抽象方法,但是抽象方法没有具体的实现,需要B类去实现,B类实现该方法后,它本身不会去调用该方法,而是传递给A类,供A类去调用,这种机制就称为回调。其实,回调函数就是在一个不确定实现的方法METHOD中用interface或者它的抽象方法留个口子,留给具体调用者(调用前边那个不确定的方法METHOD)在调用时提供具体实现来补上那个口子。从而达到更灵活地

2015-10-23 12:47:01 36942 33

原创 Android自定义控件开发系列(零)——基础原理篇

在后边的文章中发现在说Android自定义时,有时候要重复解释很多东西,所以想想返回来增加一篇“基础原理篇”,直接进入正题吧—— 首先的问题是:在Android项目开发中,什么时候需要自定义控件呢? 我们在日常开发中,可能会想到很好的项目方案(那么恭喜你,你很有产品经理的素养和潜质),或者是遇到很好的设计方案(也恭喜你,你遇到一个很有品味和审美的...

2015-10-14 20:14:06 3096 4

原创 Android自定义控件开发系列(二)——带清除按钮的圆角输入框

接着上一篇Android自定义开发系列(一)继续:        由于上一篇的例子做得比较粗糙,也是因为那个只是个简单的入门,只是演示了一下通过组合已有控件开发自定义控件的几个途径。那样的例子连自己都感觉不好意思啦,那么今天我来做一个稍微美观、实用、性能更好的自定义控件,也是大家在平时开发中使用广泛的控件——自定义一个带清除按钮的输入框,先看一下效果:

2015-10-14 16:10:14 3602 1

原创 Android自定义控件开发系列(一)——第一次动手做自定义控件

Android系统提供的控件多种多样,以至于很多初学者经常忘了还有这样那样的控件没用过甚至没听过。尽管如此,但是系统控件大多比较死板,而且不够美观,很多多样化的显示或是交互方式都没法完成。每每遇到这种情况,就需要我们来开发我们自己的控件了——所谓的“自定义控件”。接下来我们就一步一步扎扎实实的从头开始Android自定义控件的开发。

2015-10-10 15:11:34 6744 18

原创 Android之Activity之间的数据通信方式大全(二)

接着上篇Android之Activity之间的数据通信方式大全(一)继续(3)使用SharedPreference实现Activity之间的数据通信SharedPreference是Android中最简单的文件本地化存储方式,Android API也提供相当简单的方式来进行读写操作。

2015-09-30 11:08:34 3665

原创 Android之Activity之间的数据通信方式大全(一)

最近二期项目正在讨论需求,本人小小程序员只有搞搞维护的份。刚工作不久,技术经验不足,随时准备找份更好的工作,闲来无事,看看Android面试经典啥的,就看到有问Activity之间数据通信方式都有哪些(*只是Activity之间通信,不讨论Service、Broadcast),忽然想想自己也不是很确定了解的全不全。看了挺多文档,大多只涉及到其中几点,现在整理一下,共自己和大家参考,如有欠缺欢迎留言指

2015-09-29 23:20:09 11278

原创 Android Studio错误代码不提示问题解决

由于最近项目需求,我们项目组决定将之前的项目从Eclipse搬到Android Studio上来,毕竟google花大力气为亲儿子定制的IDE肯定比Eclipse走的更远!废话少说,在AS的使用时确实遇到不少问题,比如快捷键的设置、工程结构的变化、软件的使用习惯等等。 下面解决一个坑死人的“大坑”——之前熟悉过AS,今天打开AS升级了一下版本,打开以后新建工程……试着随意写几行代码练练手,

2015-09-24 11:11:02 35806 33

Tomcat+MySQL为自己的APP打造服务器(4)完结篇Demo

本代码是【一步一个脚印】Tomcat+MySQL为自己的APP打造服务器(4)完结篇的示例代码,Android+服务端交互代码

2017-05-09

json-lib包最新合集20170403整理

2017-4-3新整理的json格式需要的jar包集合,都是官网资源,保证安全,可用,内含使用说明

2017-04-20

Android仿支付宝支付密码自定义控件界面_修正显示

Android仿支付宝支付密码自定义控件界面,修改了一点显示的瑕疵

2016-10-18

iClap集成AndroidSDK

iClap是一款最新的致力于移动客户端开发过程中质量、缺陷管理、跟踪、沟通展示工具,“你的APP就是你的管理目标”。直接在客户端运行过程中就可以实时添加标注、语音备注、录屏......可以提高团队开发时200%的工作效率,也是远程协同开发的首选利器!

2016-03-15

ListView Item点击展开隐藏项

代码实现ListView的Item点击展开隐藏项的三个效果:(1)单条目展开(2)多条目展开(3)复杂布局的展开示例。 注:个人学习代码,发现使用。

2016-01-28

Android Studio使用说明

亲手码制28页AndroidStudio使用文档

2016-01-14

ASCII码、多进制转换工具

432KB小工具,一键获取字符、字符串的ASCII码,支持ASCII码表查询,支持2-8-10-16进制一键转换,支持文本大小写转换

2016-01-13

FastStone Capture8.3

FastStone Capture8.3方便快捷的截图工具、取色工具、图像调整工具、调色工具... ...小巧轻便,功能强大,学习工作必备利器。

2015-12-18

Android仿支付宝支付密码自定义控件界面

Android仿支付宝支付密码自定义控件界面

2015-11-26

自定义圆形控件

完善网上的一个圆形控件的代码,修改其中的bug,进行代码优化后的成果。

2015-10-21

Android自定义饼状图

本自定义饼状图是参考相关CSDN相关博客完成,并修改了其中的部分错误和添加了相关的父类方法重写,完成饼状图的位置、大小的自适应测量,你可以自己指定半径和大小,也可以指定为适应父控件或填充父控件,只要调用饼状图对象的.addType("标题",颜色,本扇形代表的数量)即可完成扇形的添加显示。

2015-10-21

MyEditText自定义带清除按钮的输入框

本资源是自定义带清除按钮的TextView,提供完善的属性设置,包括字长、清除按钮样式、字号、字颜色、hint、text属性设置,并都提供相应的代码设置方法,而且暴露出对应方法获取EditText拉进行更详细比如inputype的设置,大大简化了工程编码。 工程采用Android Studio编写。

2015-10-14

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

TA关注的人

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