- 博客(91)
- 资源 (16)
- 收藏
- 关注
原创 Java递归求解数组里“数组合”
题目要求如下:给定一个字符串数组,数组中的元素各不相同,把一个数组里的“数组合”全部列出,比如1和2列出来为1,2,12,21.一共有4个“数组合”输入描述:第一行输入数为数组元素个数,第二行输入数组元素输出描述:给定的数组有多少个“数组合”输入例子:31 2 3输出例子:15解题思路,本题可以考虑使用循环递归的算法:以下代码仅供参考i
2016-10-08 00:17:45
1675
原创 Android 7.0新特性概览
自从google在今年3月份出了Android 7.0(Nougat 牛扎糖)预览版后,8月就出了正式版,到现在过去快2个月了,一直都没有机会了解新特性,今天百度了一把,算是有一点了解了,下面是我自己整理的一些特性。Google表示,Android N重点在三个方面做了改进,分别是性能、安全、生产力。1.Unicode 9支持和全新的emoji表情符号在I/O 2016开发
2016-09-22 18:54:48
1775
原创 Java在线笔试编程(4)----计算质数
题目来自于2017年搜狗公司在线笔试。题目如下:定义两个大于2的偶数之间的距离,为这两个数之间质数的个数。从小到大输入n个大于2的偶数,输出所有数两两之间距离的总和(应该有n*(n-1)/2个距离,输出总和就好)。输入描述:第一行是输入偶数的个数,最小为2,最大可能到几万,之后每行为一个偶数,最小为4,最大可能为到几百万,不重复的升序排列。输出描述:输入数据两两距离的总和,这应
2016-09-13 22:28:08
2252
原创 Java在线笔试编程(3)---计算回文序列
这篇文章和上篇一样,都是关于统计回文的,本篇有2个题目,第1个是搜狗的,第2个是网易的。搜狗题目如下:输入描述一个文本文件,至少包含一个字节,每个字节都是一个字符。最大长度可能有几十万字节。输出:最大回文前缀的长度样例输入:sogou样例输出:1 参考代码如下:import java.util.Scanner;public class Main{
2016-09-13 14:26:17
1698
原创 笔试实践2---2017年网易在线笔试之编程题
选取是3个题目中的第3题,题目是这样的:如果一个数字序列逆置之后跟原序列是一样的就称这样的数字序列为回文序列。例如: {1, 2, 1}, {15, 78, 78, 15} , {112} 是回文序列, {1, 2, 2}, {15, 78, 87, 51} ,{112, 2, 11} 不是回文序列。 现在给出一个数字序列,允许使用一种转换操作: 选择任意两个相邻的数,然后从序
2016-09-13 10:28:31
2147
原创 Java在线笔试编程(2)---模拟内存操作
生命不息,学习不止。题目来自某公司在线笔试编程题。题目描述如下:物联网技术的蓬勃发展,各种传感器纷纷出现,小B所在的项目组正在开发一个物联网项目,她们在研究设计一种新的传感器,这种传感器有自己的基本处理单元,有一定的自主性,能够进行简单的数据收集、处理、存储、和传输。为降低系统功耗,保证系统可靠性和可控性,她们要对内存进行基本的管理。研究小组计划开发1个实验性内存管理器,实现对内存的分配、释放
2016-09-11 15:13:41
1348
原创 java List多字段排序
今天遇到的一个问题List集合的多字段排序问题。对于一个对象,它有多个属性值,可能会根据不同的属性值对集合有个排序。对集合的排序,主要是用到的是Collections.sort(List, Comparator)方法,或者是List.sort(Comparator c)两个方法,里面实现了compare()方法。int compare(T o1, T o2) 比较用来
2016-09-04 15:14:08
4699
2
原创 Android图解浅析事件拦截机制
当Android系统捕获到用户的各种输入事件后,如何准确的传递给真正的需要这个事件的控件?Android提供了一整套完善的事件传递、处理机制,来帮助开发者完成准确的事件分配与处理,这里我就不分析源码了,简单点,图形化分发过程,便于理解,待到后期分析dispatchTouchEvent源码时,回想这个图解,会方便理解很多。当我们点击一个按钮时,通常会产生两个或者三个事件---按下、滑动(可能无)
2016-09-01 22:26:59
2078
原创 Android自定义ViewGroup实战-----流式布局
本文是参考了鸿神之后的文章之后做的一些修改与总结,添加了一些自己的笔记,增加对自定义ViewGroup的理解。文章后面会给出原文地址。首先,什么是流式布局(FlowLayout),我个人的理解就是各个宽高不完全相同的view控件之间按照一定的规律放置,当一行或者一列中放满了控件,再放置下一个控件时,由于空间宽度或者高度不够,会自动放置到下一行或者下一列。比较常见的应用是一些热门标签,精彩评论等
2016-08-30 16:32:17
1583
原创 Java在线笔试编程题(1)---list去除重复元素、幸运袋剪枝法、模拟洗牌
选自各公司在线笔试题,部分题目摘自牛客网题目1.有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空
2016-08-24 22:08:35
1858
原创 Android扫描wifi二维码自动连接wifi
现在二维码的用处越来越多,微信扫二维码加好友,商场扫二维码关注公众号、得优惠券,就连一些小餐馆吃个饭,扫码自动跳转到线上(饿了么,百度外卖)的店铺.....而这些地方因为人多,担心用户等待时间过长就会走掉,怎么办?得有空调、wifi、西瓜,这样才能留住一部分客人,而wifi密码一般是直接问店里服务员获取,但是时间一长,人一多,店里老板和员工也烦了,干脆直接把wifi密码贴出来。但是这些都不够,我认
2016-08-15 21:37:57
38430
16
原创 Android二维码识别与生成
最近几年二维码是越来越火了,特别是随着移动端的便利性,走到哪里都是扫一扫。二维码支付、二维码扫描登录、二维码扫描关注加好友.....越来越多的应用也都加上了二维码扫描的功能,作为移动开发者,对这些新奇的东西当然要尝试一下了。在查阅了一下网上的资料后,自己算是对二维码的扫描和生生成有了个初步的了解,写个笔记,以后想集成进项目时,也会方便很多。 首先,什么是二维码?
2016-08-12 15:46:27
6680
3
原创 笔试实践1---2017年网易在线笔试之编程题
8.2是其公司的在线笔试题,自己也是第二次参加了,重在参与吧。也暴露出自己算法方面和思维方面的短板吧,准备不足,没做过这方面的锻炼。生命不息,学习不止,编程不止,任重而道远。废话不多说,其第1题比较简单。题目大意是这样的:学习了字符串后,小明非常高兴。他在纸上写了一个字符串,然后随意删除字符。这个时候呢,出问题了。假如给定任意一个字符串,从中删掉恰好两个
2016-08-03 13:10:12
1676
转载 Android中onSaveInstanceState和onRestoreInstanceState详解
关于这两个方法,一些朋友可能在Android开发过程中很少用到,但在有时候掌握其用法会帮我们起到比较好的效果。尤其是在应用程序在不知道的情况下退出后,如何实现其数据保存的功能。先来让我们看下这两个方法的有什么样的作用。1. 基本作用: Activity的 onSaveInstanceState() 和 onRestoreInstanceState()并不是生命周期方
2016-07-31 20:20:04
1006
原创 Android自定义View实战---圆盘温度计
了解了基本的自定义view基础后,现在我们就来实践下自定义view,也是看到我华为手机上自带的天气预报软件后,想着模仿做一个,于是,我自己尝试了下,虽然不算太像,但是还算能看,期待后期的改进。通过本文你可以用到以下技术:1)view的测量2)canvas绘图技巧3)接口回调4)触摸事件的处理最终效果如下所示可以通过输入框自己设定最低、最高温度和当前温度(这是为我天气
2016-07-30 20:09:56
5179
原创 Android开发实用代码片段(二)
1.获取控件的宽高 网上的方法呢,有3种,如下:import android.app.Activity;import android.os.Bundle;import android.util.DisplayMetrics;import android.util.Log;import android.view.View;import android.view.ViewTre
2016-07-08 12:22:11
653
原创 Android自定义View(三)
本文讲的是自定义View的第二种方式-----创建复合控件 创建复合(组合)可以很好的创建出具有重用功能的控件集合。这种方式通常需要继承一个ViewGroup,再给它添加指定功能的控件,从而组合成新的复合控件。通过这种方式创建的控件,我们一般会给它指定一些可配置的属性,让它具有更强的扩展性。本文参考《Android群英传》中的例子,算是笔记吧。通过这个例子,熟悉了自定义属性的配置以
2016-06-29 23:15:28
5645
1
原创 Android自定义View(二)
前面说到了自定义View一般有3种方式来实现,现在这里先说第一种实现方式,也是经常用到的--------对现有控件进行扩展。 在系统原生控件的基础上进行扩展,实现增加功能、修改UI等。一般来说,我们在onDraw()方法中对原生控件行为进行扩展。下面实现更改TextView的背景为例,为其多绘制几层背景。 原生的TextView使用onDraw()方法绘制显示的文字,当继承了
2016-06-28 22:58:40
707
原创 Android 自定义View(一)
Android系统给我们提供了丰富的组件库来创建丰富的UI效果,同时也提供了非常方便的扩展方法。但是在实际开发中,有时为了项目的需求,不得不自己去“绘制”一个View,这个时候通常已经不能用系统自带的控件来设计了,这个时候就要自己定义“View”了,来满足项目的需求。通常有3种方法来自定义的控件1,对现有控件进行扩展2,通过组合来实现新的控件3,重写View来实现全新的控件
2016-06-15 23:04:24
850
原创 Android中ListView响应Item内部点击事件
ListView(GridView)是我们在实际开发中经常用到的,一般的Item也会随着需求,增加很多功能,比如单个item的点击事件,比如我们购物时,单个物品的点击+和-,表示选择数量,即响应item的内部点击事件,同时又不能和整体item的点击事件冲突。当然我们可以直接在adpter的getView中直接做内部按钮的点击处理,但是这样写的化,按钮一多的话,就显得整体代码比较拥挤,而且把Acti
2016-06-14 22:26:23
37136
1
原创 Android 开发中的微技巧和小知识
平时的Android 开发有很多我们需要注意的细节和技巧,通过这些细节,我们可以进一步完善我们的项目,或者提升我们的开发经验,而这些微技巧和小知识都是些有多年开发经验的总结,在此就感谢他们的无私的分享精神,前人栽树后人乘凉。此文的标题“微技巧”3个字,也是致敬郭大神,所以本文的内容皆收集于网络,能注明出处的,我会尽量注意的。文章内容会不断更新.....1.App为什么不建议使用jpg图片?
2016-05-20 22:31:15
753
原创 Android 截屏技术
虽然Android系统提供了以组合键的方式来截图,但是有时我们并不需要这么麻烦,而是想尽可能的简单的实现。基于这样的需求,前些天在开发应用时,碰到了屏幕截屏技术,没接触前以为很难,需要写各种代码,各种逻辑,接触后,发现实现关键代码就几行。但是并不满足于现状的我,很快就发现它并不能截取其他应用的界面,于是查了很多资料,还是很失望的,对手机的要求很高,要root,这大概就是市面上很多的截图应用为什么都
2016-05-19 23:07:03
1114
转载 Android开发60条技术经验总结
1. 全部 Activity 可继承自 BaseActivity,便于统一风格与处理公共事件,构建对话框统一构建器的建立,万一需要整体变动,一处修改到处有效。2. 数据库表段字段常量和 SQL 逻辑分离,更清晰,建议使用 Lite 系列框架 LiteOrm 库,超级清晰且重心可以放在业务上不用关心数据库细节。3. 全局变量放全局类中,模块私有放自己的管理类中,让常量清晰且集中.
2016-05-16 22:02:37
832
原创 Android BroastCast的使用详解
作为Android四大组件之一的BroadCast,虽然用的不多,但是用处还是挺大的,比如监听来电或短信状态、电量和wifi的状态、开机启动状态等,当然我们也可以自定义广播,让监听它的Activity获得广播,然后进行逻辑处理。 Android中的每个应用程序都可以对自己感兴趣的广播进行注册,这样该程序就只会接收到自己所关心的广播内容,这些广播可能是来自于系统的,也可能是来自于其
2016-05-15 21:23:05
2196
原创 Android 多媒体MediaPlayer使用详解
现在的手机功能越来越丰富了,遥想10年前,MP3,MP4,MP5,还是很流行的,博主当时读高中时很想拥有一台,可以听音乐和看电影。可是条件有限,学校也禁止此东西,所以只能偷偷的玩。而现在我们的手机也很早以前就支持了这些功能,而且界面和功能也远远超过了MP4。好吧,说多了,今天本文介绍的是Andriod系统自带的Mediaplayer,和VideoView实现简单的音乐和视频的播放,至于想做出如酷狗
2016-05-14 22:39:29
31771
1
转载 JAVA字符串格式化-String.format()的使用总结
1.常规类型的格式化 String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处。format()方法有两种重载形式。|-----format(String format, Object... args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符
2016-05-14 11:34:08
7423
原创 Android开发实用代码片段(一)
由于在开发中,常常会用到小功能或者属性或设置等,这些呢,我们也不会去记,经常去百度,但是过了段时间后呢,还是很容易忘记,又得去查。所以我决定了,以后对一些小技巧,收集记录下来,以备后用,所以此文会不断更新。1.获取设备屏幕宽高网络上代码段通常是这样的:WindowManager wm = (WindowManager) getContext()
2016-05-08 22:13:49
1937
原创 Activity与Service的那些事
服务作为Android的四大组件之一,它并不像Activity那样高调(使用频繁),它就是那个默默无闻的工作者。由于不怎么用到,所以关于它的使用很容易忘记,现在有空就将它记录下来,方便后期查看。服务(Service)是Android中实现程序后台运行的解决方案,它非常适合用于去执行那些不需要和用户交互而且还要求长期运行的任务。服务的运行不依赖于任何用户界面,即使当程序被切换到后台,或者用户
2016-05-02 17:18:54
6861
原创 Android AlertDialog和PopupWindow使用和区别
在实际的开发中,我们经常会用到弹框,以此来显示一个警告或提醒或者提供一系列选项让用户选择。前段时间在开发时,要用到弹框,突然意识到好像两个都可以完成需求,当时我在想,那它们到底有什么区别呢?于是查了相关资料后,整理如下:先看下它们2个的用法吧1.AlertDialog的基本属性和用法AlertDialog是Dialog的子类,所以它包含了Dialog类的很多属性和方法,由于AlertD
2016-04-30 23:32:17
15180
2
原创 Android 图片压缩技术
最近开发中有用到图片压缩技术,对此,抽空来写一篇对此的总结,方便后期的查看,如果对文中有什么疑惑,欢迎留言探讨。Ps:最近忙项目真的是身心俱疲,好容易前天状态好一点,眼睛不知道怎么搞的,肿了,导致文章也是一拖再拖,好吧,放假就多写几篇吧,加油!在看接下来的内容之前先了解下基础的图片知识0.图片的基本知识1.文件形式(存储在硬盘上的二进制文件)获取大小(Byte):File.
2016-04-30 20:50:04
908
原创 Android TextView中字体行间距的设置
通过查看Android TextView属性设置方法,发现当前版本的 Android 似乎并未提供控制 TextView 的字间距方法。百度搜索网上发现大量“教程”声称可以利用 TextView 的 setTextScaleX() 方法设置字间距,但从字面上(Scale)就可看出其实它是用于设置字体的缩放比率(试验结果亦是如此),真的是误导别人。最后从国外的一家论坛上(StackO
2016-04-25 22:49:09
2128
原创 Android ListView中Item点击事件失效解决方案
在平常的开发过程中,我们的ListView可能不只是简单的显示下文本或者按钮,更多的是显示复杂的布局,这样的话,我们就得自己写布局和自定义adapter了,一般是继承于BaseAdapter,写ListView的点击事件时OnItemClickListener,onItemClick方法没有执行,导致ListView中Item条目点击事件失效,而Item中的View点击事件可以在getView方法
2016-04-24 14:28:23
13297
1
原创 Android程序崩溃异常处理之自动发送邮件
由于自己最近在跟一个项目,怎么说呢,项目功能真的是太多了,有时测试的MM忙不过来,有些隐形的bug没发现出来,但是我认为整体稳定性不够好,有时会Crash掉,这也给那些出去演示的市场部伙伴带来了不少的尴尬,虽然说现在属于测试阶段,但毕竟是上线的项目,用户体验不好,有时直接可能会杀死一个产品,而市场部的伙伴在演示的时候也不知道程序崩溃crash具体的操作流程,因为挂的那么突然 = = !,所以每次演
2016-04-17 10:00:41
4229
3
原创 Android中TextView和EditView常用属性设置
Android开发中最常用的差不多就是TextView和EditView了,在使用它时,我们也会设置它的一些属性,为了让我们设计的更好看,设置的更合理。这里记下它的常用属性,方便后期查阅。EditText属性描述android:layout_gravity="center_vertical"//设置控件显示的位置:默认top,这里居中显示,还有bottomandroid:backgr
2016-04-16 13:54:59
11120
3
原创 Java各种日期格式的获取和设置指定日期
由于最近在做一个项目,发现项目中日期设置的bug,于是查阅了多方资料后,终于解决了,为此写篇总结,方便日后的查阅。 多的不说了,直接上代码package com.example.testdate;import java.text.DateFormat;import java.text.ParsePosition;import java.text.SimpleDateForm
2016-04-06 23:21:45
12627
原创 正则表达式基础和使用及常用表达式
何为正则表达式?正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。给定一个正则表达式和另一个字符串,我们可以达到如下的目的:1. 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”); 2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。 正则表达式的特点是:
2016-04-03 11:25:07
1856
原创 Android button自定义样式显示
一个好的APP从直观上最能吸引用户的必定是好看的UI界面及良好的交互体验和特效,有时甚至连主要功能都是次要的!好吧,软件也到了拼脸的时代,主要看气质! 所以这篇文章就聊聊button的自定义样式显示,下一篇聊聊Android动画。 1.通过XML文件设置属性 定义后和未定义的对比 给button添加自定义的显示也非常简
2016-04-02 23:23:57
1998
原创 Activity的启动模式
Activity的启动模式,即Android manifest文件中的launchMode,可以通过给标签下的android:launchMode属性来设置启动模式 Activity的启动模式的主要作用是管理activity之间的跳转,共有4种启动模式:standard,singleTop,singleTask,和singleInstance。 Android是
2016-03-29 21:10:27
1104
原创 java笔记--设计模式之模版方法模式
在现实生活中,很多事情都包含几个实现步骤,例如请客吃饭,无论吃什么,一般都包含点菜、吃东西、买单等几个步骤,通常情况下这几个步骤的次序是:点菜 --> 吃东西 --> 买单。在这三个步骤中,点菜和买单大同小异,最大的区别在于第二步——吃什么?吃黄焖鸡和吃满汉全席可大不相同。在软件开发中,有时也会遇到类似的情况,某个方法的实现需要多个步骤(类似“请客”),其中有些步骤是固定的(类似“点单”和“买
2016-03-06 15:25:16
839
原创 Android面试可能会问到的问题
由于自己最近在准备面试,所以也找了些面试题,以下内容是自己的总结,通过从多次的面试经验中提取出了一些高频的可能会问到的问题,这些面试问题的答案仅供参考。 1. 什么是ANR,如何避免它?应用程序有一段时间反应不灵敏,系统会向用户显示一个对话框,提示应用程序无响应。默认情况下,在android中Activity的最长执行时间是5秒,BroadcastReceiver的
2016-03-05 23:10:57
2128
共轭梯度法c++程序
2015-05-23
Android设备读写NFC标签Demo
2017-08-12
Android自定义ViewGroup-----流式布局
2016-08-30
Android获取当前的Activity类名
2017-06-17
Android3D翻页效果的倒计时控件
2017-04-22
java在线笔试参考代码1
2016-08-25
Android设备读写NFC标签
2017-01-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅