- 博客(65)
- 收藏
- 关注
原创 《恐袭波士顿》之为爱致敬
在看完电影后大家分享观影体验,有朋友感觉电影前半段中镜头在真实事件影像回放与影片讲述内容之间来回切换,镜头的晃动让人感觉头晕目眩,不能很好的融入影片,只是在后半段追凶开始后才开始慢慢进入状态,发酵情绪,尤其是看到灾难之后被双双截肢的年轻夫妻在医院紧握双手,双眼依然充满了对生活的热情和对对方的爱恋,以及最后借助义肢跑完全马的壮举,让人不自觉的潸然泪下。 诚然,这些镜头也同样
2017-12-05 08:53:35
766
原创 AndroidStudio自定义类创建时自动生成的头部注释
之前的博文《 Android中开发工具Android Studio修改created用户(windows环境)》中介绍了修改系统管理员账户名称的方法,当时仅仅是修改了AndroidStudio默认的头部注释中的名称,今天继续补充下AndroidStudio如何自定义类的头部注释,效果如下图:方法一:1. 点击菜单栏的File——>Settings 打开Setting
2017-08-24 13:58:11
6914
原创 Android中关于Toast的使用体会
在安卓开发中,经常使用Toast用作用户的操作提示,但Toast的显示时长在源码中仅定义了两个常量,如下:Toast源码分析:Android源码中的NotificationManagerService.Java这个类中定义了两个静态变量,分别对应Toast.LENGTH_LONG(3.5秒)和Toast.LENGTH_SHORT(2秒)的值: private static final
2017-07-08 14:34:20
488
原创 AndroidStudio解决:Error:Connection timed out: connect. If you are behind an HTTP proxy, please configu
androidStudio中导入工程报:Error:Connection timed out: connect. If you are behind an HTTP proxy, please configu,解决方法如下:第一步:查看可以正常打开的安卓项目(1)查看工程根目录build.gradle,如下图:(2)查看正常项目中工程根目录中gradle文件夹-->>wrapp
2017-06-01 16:07:34
5238
1
原创 Android中EditText设置输入条件
应用场景之前做商城应用时,会有对用户资料的设置情况进行限制,如下:(1)用户邮箱,应当只允许输入英文字母,数字和@.两个符号,(2)用户手机,应当只能输入数字,禁止输入其他字符。(3)用户密码,应当不能输入空格以及中文字符等。解决方案针对用户邮箱以及用户手机,有以下两种解决方案:(1)EditText中的android:digits属性:它表示EditText能够接
2017-05-07 19:35:59
727
原创 Andriod中自定义Dialog样式的Activity点击空白处隐藏软件盘(Dialog不消失)
一、需求触发场景:项目中需要出发带有EditText的Dialog显示,要求在编辑完EditText时,点击Dilog的空白处隐藏软键盘。但是Dialog不会消失。示例如下:二、实现方法:发布需求时,我个人曾想过直接通过new的方式直接创建Dialog,经过多次尝试,无法实现要求,所以采用将Activity设置为Dialog样式进行展示,调用方法实现需求。具体实现如下:本次
2017-04-25 22:53:29
1911
原创 Android中调用文件管理器并返回选中文件的路径
实际项目中经常需要调用文件管理器,选择下载路径或者上传的本地文件路径。今天就给大家做个demo示范该功能的实现过程。一、实现效果预览以下为三星S6的样机测试效果,当然不同手机调用后的效果不一样。二、代码实现布局文件很简单,就一个Button和TextView,这里不示范了,直接上实现代码:package com.panhouye.selectfile;import
2017-04-23 10:02:05
1809
原创 Android中使用findViewByMe提升组件查找效率
1、引出安卓初学者一般在写android Activity的时候总是会在onCreate方法中加上setContentView方法来加载layout,通过findViewById来实现控件的绑定,刚开始的演示的layout中只有一两个组件还好,但突然之间接触一个layout中需要部署大量控件,这样就会很耽误时间,还好AndroidStudio为大家提供了方便的插件findViewByMe(大家
2017-03-09 21:59:05
949
原创 Android中使用开源框架citypickerview实现省市区三级联动选择
1.概述记得之前做商城项目,需要在地址选择中实现省市区三级联动,方便用户快速的填写地址,当时使用的是一个叫做android-wheel 的开源控件,当时感觉非常好用,唯一麻烦的是需要自己整理并解析省市区的xml文件,思路很简单,但是代码量相对大了些。偶然期间发现了另外一个开源组件,也就是今天要介绍的citypickerview。github地址:crazyandcoder/citypi
2017-03-08 15:07:46
12165
7
原创 Android中使用Handler以及CountDownTimer实现包含倒计时的闪屏页面
上一篇博文《Android中Handler使用浅析》通过实现倒计时闪屏页面的制作引出了Handler的使用方法以及实现原理,博文末尾也提到了实现过程中的Bug,有兴趣的朋友可以点击链接回去看看。今天通过使用Handler以及CountDownTimer来实现完整版的倒计时闪屏(不会出现在退出闪屏页后,依然会跳转页面的现象)。1. 实现效果如下:1.1 正常进入跳转的效果以及log显示
2017-03-04 15:48:38
2624
1
原创 Android中Handler使用浅析
1. Handler使用引出现在作为客户,有这样一个需求,当打开Activity界面时,开始倒计时,倒计时结束后跳转新的界面(思维活跃的朋友可能立马想到如果打开后自动倒计时,就类似于各个APP的欢迎闪屏页面),如下图:作为初学者,可能觉得直接开启一个包含倒序循环的子线程就ok了,具体实现如下:1.1 Layout界面代码如下:<LinearLayout xmlns
2017-03-03 10:06:00
2123
2
原创 Android面试题(3)
1、 请描述下Activity的生命周期。activity的生命周期方法有:onCreate()、onStart()、onReStart()、onResume()、onPause()、onStop()、onDestory();可见生命周期:从onStart()直到系统调用onStop()前台生命周期:从onResume()直到系统调用onPause()
2017-02-24 22:01:17
320
原创 Android中使用开源框架EventBus3.0实现Fragment之间的通信交互
在之前的博文中简单介绍过如何实现fragment之间的信息交互:《Android中Fragment与Activity之间的交互(两种实现方式)》,今天继续给大家介绍一种可以实现此效果的另外一种方式EventBus。EventBus是Android下高效的发布/订阅事件的消息总线。作用是可以代替传统的Intent,Handler,Broadcast或接口函数在Fragment、Activity、
2017-02-20 17:51:12
3895
原创 Android面试题(2)
1、 int 和 Integer 有什么区别Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。 原始类型封装类 booleanBoolean charCharacter byteByte shortShort intInteger longLong
2017-02-15 09:24:28
374
原创 Android面试题(1)
1. Java语言基本数据类型有哪些?分别占用的内存空间是多少?答:byte(1字节),boolean(1字节),char(2字节),short(2字节),int(4字节),float(4字节),long(8字节),double(8字节)。 2. &和&&的区别。答:&:数值运算时为按位与运算,逻辑值运算时分别计算两个表达
2017-02-13 08:06:44
358
原创 Android中使用开源框架PagerSlidingTabStrip实现导航标题
此开源框架官网地址:https://github.com/astuetz/PagerSlidingTabStrip可以理解为配合ViewPager使用的交互式页面指示器控件。话不多说,先上效果图:为了演示其中的pstsIndicatorHeight与pstsUnderlineHeight 的区别,进行了不同的设置已区分效果(做了去除actionbar处理)。大家可以很直观的
2017-01-15 23:14:51
722
原创 Android中使用开源框架Fresco处理图片
关于Fresco的优点大家自行谷歌吧,它太强大太优秀了,我这一片小博文容纳不下啊,今天主要给大家简单介绍下Fresco的使用以及一些属性的介绍。Fresco是一个强大的图片加载组件。使用它之后,你不需要再去关心图片的加载和显示这些繁琐的事情!支持Android2.3及以后的版本。官网详细介绍了Fresco一些特性,我第一次看确实是惊呆了。https://www.fresco-cn.
2017-01-12 14:25:52
642
原创 Android中使用开源框架android-image-indicator实现图片轮播部署
之前的博文中有介绍关于图片轮播的实现方式,分别为(含超链接):1、《Android中使用ViewFlipper实现屏幕切换》2、《Android中使用ViewPager实现屏幕页面切换和页面轮播效果》3、《Android中使用ImageViewSwitcher实现图片切换轮播导航效果》今天通过使用GitHub中的开源项目android-image-indicator来简单实现APP
2017-01-10 21:20:32
2813
原创 Android中通过访问本地相册或者相机设置用户头像
目前几乎所有的APP在用户注册时都会有设置头像的需求,大致分为三种情况:(1)通过获取本地相册的图片,经过裁剪后作为头像。(2)通过启动手机相机,现拍图片然后裁剪作为头像。(3)在APP中添加一些自带的头像资源,供用户选择(不够人性化,目前很少使用)。这次我们简单介绍下通过获取本地相册以及相机拍摄的方法设置头像,实现思路如下:(1)通过startActivityForResul
2017-01-08 18:00:26
2513
原创 Android中手机录屏并转换GIF的两种方式
之前在博文中为了更好的给大家演示APP的实现效果,本人了解学习了几种给手机录屏的方法,今天就给大家介绍两种我个人用的比较舒服的两种方法:(1)配置adb环境后,使用cmd命令将手机界面操作演示存为视频文件(2)使用Google浏览器(Google Chrome)提供的扩展程序Vysor将手机界面演示在电脑上(几乎没有延时)下面我们具体介绍两种方法的使用步骤:一、使用cmd命令录屏
2017-01-05 21:41:43
2521
原创 Android中访问sdcard路径的几种方式
以前的Android(4.1之前的版本)中,SDcard路径通过“/sdcard”或者“/mnt/sdcard”来表示,而在JellyBean(安卓4.1)系统中修改为了" /storage/sdcard0",还会有多个SDcard的情况。目前为了保持和之前代码的兼容,SDcard路径做了Link映射。为了使代码更加健壮并能兼容以后的Android版本和新设备,安卓4,1后sdcard中会有系统自
2017-01-03 19:13:37
24954
原创 Android中开发工具Android Studio修改created用户(windows环境)
最近经常有朋友反馈说我的安卓项目中,在一些类中会出现Created by panchengjia on 2016/12/30的字样,是如何自动实现的(默认一般为Administrator),如下图:实现上图这种效果,仅仅修改控制面板中的用户账户名是没有用的。下面我简单介绍下windows环境下的实现方式:(1)进入本地组策略编辑器可以通过快捷键windows键+R打开运行窗
2016-12-30 22:00:02
1396
原创 Android中使用ExpandableListView实现微信通讯录界面(完善仿微信APP)
之前的博文《Android中使用ExpandableListView实现好友分组》我简单介绍了使用ExpandableListView实现简单的好友分组功能,今天我们针对之前的所做的仿微信APP来对ExpandableListView做一个扩展介绍,实现效果如下(通讯里使用ExpandableListView实现):相关知识点博文链接:Android中使用ExpandableListVie
2016-12-28 22:12:58
1806
原创 JAVA环境变量和TomCat服务器配置
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以
2016-12-27 21:10:27
632
原创 Android中ListView实现图文并列并且自定义分割线(完善仿微信APP)
昨天的(今天凌晨)的博文《Android中Fragment和ViewPager那点事儿》中,我们通过使用Fragment和ViewPager模仿实现了微信的布局框架。今天我们来通过使用ListView实现其中联系人一栏的基本视图,效果如下:要实现上图的效果,我们要用到两个知识点:1、这里我们使用自定义适配实现图文列表(当然也可以用SimpleAdapter)通过继承BaseAd
2016-12-25 22:39:14
1893
1
原创 Android中Fragment和ViewPager那点事儿(仿微信APP)
在之前的博文《Android中使用ViewPager实现屏幕页面切换和引导页效果实现》和《Android中Fragment的两种创建方式》以及《Android中Fragment与Activity之间的交互(两种实现方式)》中我们介绍了ViewPager以及Fragment各自的使用场景以及不同的实现方式。那如果将他们两结合起来,会不会擦出点火花呢,答案是肯定的。之前在介绍ViewPager时,
2016-12-25 01:17:42
3119
原创 Android中通过ActionBar为标题栏添加搜索以及分享视窗
在Android3.0之后,Google对UI导航设计上进行了一系列的改革,其中有一个非常好用的新功能就是引入的ActionBar,他用于取代3.0之前的标题栏,并提供更为丰富的导航效果。ActionBar的主要目的是:1.提供一个用于识别应用程序的标示和用户的位置的专用空间。2.在不同的应用程序之间提供一致的导航和视觉体验。3.突出Activity的关键操作(如“搜索”、“创建”、“
2016-12-23 23:20:27
1839
原创 Android中Activity处理返回结果的实现方式
大家在网上购物时都有这样一个体验,在确认订单选择收货人以及地址时,会跳转页面到我们存入网站内的所有收货信息(包含收货地址,收货人)的界面供我们选择,一旦我们点击其中某一条信息,则会自动跳转到订单提交界面,此时的收货信息已经变为我们之前选择的收件信息、为了实现这个功能,Android提供了一个机制,跳转到其他activity时,再返回,可以接受到其他activity返回的值,无需再start新的
2016-12-22 22:53:33
745
原创 Java实现多线程断点下载(下载过程中可以暂停)
线程可以理解为下载的通道,一个线程就是一个文件的下载通道,多线程也就是同时开启好几个下载通道。当服务器提供下载服务时,使用下载者是共享带宽的,在优先级相同的情况下,总服务器会对总下载线程进行平均分配。不难理解,如果你线程多的话,那下载的越快。现流行的下载软件都支持多线程,且支持中途暂停下载,再次开始时不会从头开始下载。两种功能的实现步骤如下:(1)连接到下载资源文件时,首先判断资源文件
2016-12-21 23:29:12
779
原创 Java中使用IO流实现大文件的分裂与合并
文件分割应该算一个比较实用的功能,举例子说明吧比如说:你有一个3G的文件要从一台电脑Copy到另一台电脑,但是你的存储设备(比如SD卡)只有1G,这个时候就可以把这个文件切割成3个1G的文件,分开复制, 最后把三个文件合并, 这样就解决问题了 ;再比如说, 你有一个上百M的文件要上传到FTP,但是这个FTP限制你单个文件不能超过10M这时候也可以用文件分割的办法解决问题。既然分割了,那么在我们再次
2016-12-20 21:40:13
1365
原创 Android中使用AsyncTask实现文件下载以及进度更新提示
Android提供了一个工具类:AsyncTask,它使创建需要与用户界面交互的长时间运行的任务变得更简单。相对Handler来说AsyncTask更轻量级一些,适用于简单的异步处理,不需要借助线程和Handter即可实现。AsyncTask是抽象类。AsyncTask定义了三种泛型类型Params,Progress和Result:Params启动任务执行的输入参数,比如,HTTP请求的URL
2016-12-19 22:39:18
1229
原创 Android中点击事件的实现方式
在之前博文中多次使用了点击事件的处理实现,有朋友就问了,发现了很多按钮的点击实现,但有很多博文中使用的实现方式有都不一样,到底是怎么回事。今天我们就汇总一下点击事件的实现方式。点击事件的实现大致分为以下三种:(1)Activity实现接口方式实现点击事件(经常使用)(2)自定义方法,使用配置文件android:onclick (3)使用内部类方式实现(4)使用匿名内部类
2016-12-18 22:28:38
538
原创 Android中Fragment与Activity之间的交互(两种实现方式)
(未给Fragment的布局设置BackGound)之前关于Android中Fragment的概念以及创建方式,我专门写了一篇博文《Android中Fragment的两种创建方式》,就如何创建Fragment混合布局做了详细的分析,今天就来详细说道说道Fragment与宿主Activity之间是如何实现数据交互的。我们可以这样理解,宿主Activity中的Fragment之间要实现信息
2016-12-18 03:25:29
23327
2
原创 Android中实现APP文本内容的分享发送与接收方法简述
谨记(指定选择器Intent.createChooser())开始今天的内容前,先闲聊一下:(1)突然有一天头脑风暴,对很多问题有了新的看法和见解,迫不及待的想要分享给大家,文档已经写好了,我需要通过微信或者QQ,短信等社交工具发送给大家。(2)在网上发现一段特别好的文章,想要保存收藏下来。上面描述了进入智能手机时代后,我们经常遇到的两种情况,那么作为开发者的我们如何让自己
2016-12-16 20:27:04
6021
原创 Android中Fragment的两种创建方式
fragment是Activity中用户界面的一个行为或者是一部分。你可以在一个单独的Activity上把多个Fragment组合成为一个多区域的UI,并且可以在多个Activity中再使用。你可以认为fragment是activity的一个模块零件,它有自己的生命周期,接收它自己的输入事件,并且可以在Activity运行时添加或者删除。两个概念:Fragment、宿主fragment的生
2016-12-15 21:44:48
19969
5
原创 Android中Activity的四大启动模式实验简述
作为Android四大组件之一,Activity可以说是最基本也是最常见的组件,它提供了一个显示界面,从而实现与用户的交互,作为初学者,必须熟练掌握。今天我们就来通过实验演示,来帮助大家理解Activity的四大启动模式。演示效果如下:第一步:实验前准备,相关配置文件以及Activity的建立(1)AndroidMainfest.xml配置文件<manifest xmln
2016-12-14 22:47:56
542
原创 Android中AlarmManager使用示例(持续更新,关于时间的设置已经更改)
现在普遍的手机都会有一个闹钟的功能,如果使用Android来实现一个闹钟可以使用AtarmManager来实现。AtarmManager提供了一种系统级的提示服务,允许你安排在将来的某个时间执行一个服务。AlarmManager对象一般不直接实例化,而是通过Context.getsystemservice(Context.ALARM_SERVICE)方法获得。下面是我们运用之前用到的TimeP
2016-12-13 23:44:34
2460
原创 Android中BroadcastReceiver的两种注册方式(静态和动态)详解
今天我们一起来探讨下安卓中BroadcastReceiver组件以及详细分析下它的两种注册方式。BroadcastReceiver也就是“广播接收者”的意思,顾名思义,它就是用来接收来自系统和应用中的广播。在Android系统中,广播体现在方方面面,例如当开机完成后系统会产生一条广播,接收到这条广播就能实现开机启动服务的功能;当网络状态改变时系统会产生一条广播,接收到这条广播就能及时地做出提示
2016-12-12 21:37:25
27971
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人