- 博客(45)
- 资源 (55)
- 收藏
- 关注
原创 android开发之Parcelable使用详解
想要在两个activity之间传递对象,那么这个对象必须序列化,android中序列化一个对象有两种方式,一种是实现Serializable接口,这个非常简单,只需要声明一下就可以了,不痛不痒。但是android中还有一种特有的序列化方法,那就是实现Parcelable接口,使用这种方式来序列化的效率要高于实现Serializable接口。不过Serializable接口实在是太方便了,因此在某些情
2015-07-30 15:52:00 33836 2
原创 android开发之Bundle使用
android开发中,我们经常需要在两个activity之间传递数据,最常用的莫过于使用intent.putXXX(),可是很多时候我们也会这样:Bundle bundle = new Bundle();bundle.putXXX()...这两种传值方式很像,今天查看intent.putXXX()方法源代码,发现是这样的: /** * Add extended data to th
2015-07-30 13:41:49 2946 2
原创 android开发之gridlayout使用入门
这个东东以前没怎么用过,今天研究了一下,不难,感觉只是在某些方面很好用。 记录下,做个计算器。<GridLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content"
2015-07-29 21:30:55 2658
原创 android开发之merge结合include优化布局
merge结合include优化android布局,效果不知道,个人感觉使用上也有很大的局限,不过还是了解一下,记录下来。布局文件都要有根节点,但android中的布局嵌套过多会造成性能问题,于是在使用include嵌套的时候我们可以使用merge作为根节点,这样可以减少布局嵌套,提高显示速率。<?xml version="1.0" encoding="utf-8"?><merge xmlns:a
2015-07-29 20:54:27 4054 2
原创 android开发布局优化之ViewStub
使用ViewStub可以延迟加载一个布局文件,提高显示速率。刚开始接触到,记录下来。关于viewstub的使用,我们可以在不同的布局中使用,比如可以根据设备的大小动态决定显示哪个界面。viewstub和include比较像,都是在一个布局文件中嵌入另外一个布局文件,然而viewstub是可以说是延迟加载,它只会在你手动指定加载的时候才会加载这个布局文件,而include则会立即加载。在布局中使用Vi
2015-07-29 20:35:35 2235 2
原创 android开发之PreferenceScreen使用详解
是在惭愧,学习android也有一段时间了,今天才是第一次接触PreferenceScreen。记录下来,与大家分享。本文参考:http://lovezhou.iteye.com/blog/1020361PreferenceScreen使用步骤:1.先在res文件夹中新建一个xml文件夹,用来存放preferences.xml文件 preferences.xml<?xml version="1.0
2015-07-24 12:17:25 21019 1
原创 android开发之使用Messenger实现service与activity交互
service与activity交互的方式有多种,这里说说使用Messenger来实现两者之间的交互。Service程序public class MessengerService extends Service { final Messenger mMessenger = new Messenger(new IncomingHandler()); @Override publi
2015-07-21 17:35:26 3176
原创 android开发之service详解
service作为android的四大组件之一,其重要性可想而知,在开发中,我们经常把一些不需要与用户进行交互的工作放在service中来完成,service运行在后台,这样有些人可能会产生错觉,以为service是运行在新线程中,其实不然,service也运行在主线程中,因此不能在service中进行耗时操作,否则会报ANR异常,但是我们可以在service中新开线程来进行耗时操作,比如下载等等。
2015-07-21 16:13:23 2129
原创 android开发之Notification学习笔记
今天总结了一下Notification的使用,与大家分享一下。 MainActivity.java:本文参考:http://www.jb51.net/article/36567.htm,http://www.cnblogs.com/linjiqin/archive/2011/12/14/2288074.htmlpublic class MainActivity extends Activity {
2015-07-20 18:08:24 2180
原创 android反编译经验谈
反编译这事,找对了工具其实非常简单。 反编译工具下载地址http://pan.baidu.com/s/1eQvshwu android的反编译要经过两个步骤: 1.把dex文件转为jar 2.jar转为Java 下面说说详细步骤: 1.解压apk文件,得到classes.dex文件,把这个文件拷贝到dex2jar工具的目录下 在命令行进入到这个目录,并执行如下命令: 执行完后,d
2015-07-20 16:12:39 2035 2
原创 viewpager+fragment学习笔记
有暇,总结一下viewpager+fragment的使用。 先来看看效果图: 有三个标题,三个fragment,滑动时标题的颜色会随着变化。MainActivity.javapublic class MainActivity extends FragmentActivity { private ViewPager vp; private Fragment f1, f2, f3;
2015-07-20 13:02:42 2485
原创 android开发之broadcast学习笔记
android中的广播用的太多了,今天稍微总结一下。 按注册方式分为两种:1.静态注册广播: 静态注册广播就是在androidManifest.xml文件中注册广播,假设我们要实现这样一个效果,在一个activity上点击按钮,发送一条广播,这条广播弹出一个toast,显示“静态”二字。先看看广播接受者:public class MyBroadcast extends BroadcastRece
2015-07-19 16:33:10 2004
原创 android开发之调试技巧
我们都知道,android的调试打了断点之后运行时要使用debug as->android application 但是这样的运行效率非常低,那么我们有没有快速的方法呢? 当然有。 我们打完断点之后,不使用debug as 而是使用run as,运行之后,打开ddms,如图,选中调试的设备。然后点击上面的绿色按钮,这个时候再把断点挂上然后在运行android应用的过程中当运行到断点处就会停下来
2015-07-18 21:30:07 2167
原创 android开发之this.finish()的使用
在一个Activity用完之后应该将之finish掉,但是,之前在学校里自己摸索着开发时并没有太注意这个问题,因为activity无论是否finish掉对功能的影响貌似都不是那么明显(这是读书时候的观点),因此也就没有仔细考虑过activity合适finish这个问题。最近在公司的项目里遇到这个问题,于是就总结了一下。假设我们有三个activity,分别叫做A、B、C第一种情况: 我们先从A跳转到
2015-07-18 19:05:30 8415 2
原创 AndroidManifest.xml中的application中的name属性
被这个不起眼的属性折磨了一天,终于解决了。 由于项目需要,要合并两个android应用,于是拷代码,拷布局文件,拷values,所有的都搞定之后程序还是频频崩溃,一直没有找到原因,学android时间也比较久了,但是清单文件中的application节点的name属性以前一直没有重视过,甚至没有用过这个属性。 由于整合后的程序频频崩溃,其他地方都没有问题,只有这个属性这里有区别,于是我就怀疑是这
2015-07-17 16:51:54 8532 1
原创 修改android应用包名
由于项目需要,要修改已经开发好的应用包名,这本身很简单,但是如果你没找到门道,可能会白白浪费许多时间。 修改包名有三个地方要改,这三个地方的修改一定要按顺序来,否则你可能会遇到许多不必要的麻烦。 1.修改清单文件 2.重新在Java文件中导入R文件 1改完之后系统就会报错,这是因为R文件找不到了,这时要在每个Java文件中重新导入R文件 3.修改Java文件的包名 执行完步骤2之后,
2015-07-16 22:48:45 4473 4
原创 android开发之AlertDialog点击按钮之后不消失
最近有这样一个需求,我需要用户在一个弹出框里输入密码来验证,验证成功当然好说,但是如果验证失败则需要把alertdialog的标题改为“密码错误,请重新输入”,并且这个alertdialog还不能消失,要等待用户继续输入。 那么怎么实现点击确定或者取消按钮之后dialog不消失呢?// 不关闭dialog
2015-07-15 18:07:40 2770 2
翻译 FaceBook要在视频领域打败YouTube?
据《纽约时报》报道,FaceBook正在探索一项新的策略来直接把音乐视频嵌入到用户的News Feeds中。目前,具有代表性的视频网站有YouTube和Vimeo,它们可以在社交网络上分享视频。如果FaceBook拿到了它所宣称的主要唱片公司的许可,YouTube将会丢失许多音乐视频用户,而这是TouTube最受欢迎的一部分内容。FaceBook的音乐视频计划是基于社交网络的快速发展凸显了视频的分享
2015-07-14 16:39:09 1972
翻译 YouTube CEO关于工作和生活平衡的完美回答
原文地址:http://www.businessinsider.com/youtubes-ceo-response-to-work-life-balance-2015-7译文: 在2015年Aspen举行的科技头脑风暴大会上,YouTube CEO Susan Wojcicki被问到了一个刁钻的问题:你是怎样平衡工作和生活之间的关系的?根据Jon Brod 透露,这个特殊的问题使得Wojcicki
2015-07-14 15:55:49 2024
原创 linux中echo的用法
1.echo命令我们常用的选项有两个,一个是-n,表示输出之后不换行,另外一个是-e,表示对于转义字符按相应的方式处理,如果不加-e那么对于转义字符会按普通字符处理。2.echo输出时的转义字符 \b 表示删除前面的空格 \n 表示换行 \t 表示水平制表符 \v 表示垂直制表符 \c \c后面的字符将不会输出,同时,输出完成后也不会换行 \r 输出回车符(但是你会发现\r前面的字符没有
2015-07-14 14:27:37 7505
原创 shell脚本调试
1.sh -x script 这将执行脚本并显示所有变量的值如,脚本:#!/bin/bash#a test about shiftif [ $# -le 0 ]thenecho "there is no parameters"exit 0fisum=0while [ $# -gt 0 ]do sum=`expr $sum + $1` shiftdoneecho $su
2015-07-14 12:49:20 3098
原创 shell入门之函数应用
最近在学习shell编程,文中若有错误的地方还望各位批评指正。先来看一个简单的求和函数#!/bin/bash#a test about functionf_sum 7 8function f_sum(){ return $(($1+$2));}f_sum 3 5;total=$(f_sum 3 6);echo $total,$?;注意几个问题: 1.shell是逐行执行,所以要
2015-07-10 21:48:49 2101
原创 shell入门之流程控制语句
1.case脚本:#!/bin/bash#a test about casecase $1 in "lenve") echo "input lenve";; "hello") echo "input hello";; [a-zA-Z]) echo "It's a letter";; [0-9]) echo "It's a number";;esac执行效果: 2.
2015-07-10 16:38:40 2596
原创 shell入门之变量测试
格式:test 测试条件字符串测试:注意空格:test str1 == str2 测试字符串是否相等test str1 != str2 测试字符串是否不相等test str1 测试字符串是否不为空test -n str1 测试字符串是否不为空test -z str1 测试字符串是否为空整数测试test int1 -eq int2 测试整数是否相等test int1 -ge int2 测
2015-07-10 15:49:57 2456
原创 shell入门之expr的使用
在expr中加减乘除的使用,脚本如下:#!/bin/sh#a test about exprv1=`expr 5 + 6`echo "$v1"echo `expr 3 + 5`echo `expr 6 / 2`echo `expr 9 \* 5`echo `expr 9 - 6`运行效果
2015-07-10 14:59:09 6598 2
原创 shell脚本实现冒泡排序
手动输入一行字符串,并对其排序。 脚本如下:#!/bin/bash#a test about sortecho "please input a number list"read -a arrsfor((i=0;i<${#arrs[@]};i++)){ for((j=0;j<${#arrs[@]}-1;j++)){ if [[ ${arrs[j]} -gt ${arrs[j+
2015-07-10 14:16:00 12281 5
原创 Shell脚本编程入门(一)
最近在学shell,记录一下。if语句的使用:1.判断两个参数大小#!/bin/sh#a test about if statementa=10b=20if [ $a -eq $b ];thenecho "parameter a is equal to parameter b"elif [ $a -le $b ];thenecho "parameter a is less than p
2015-07-09 21:06:26 2230 2
原创 使用Broadcast实现android组件之间的通信
android组件之间的通信有多种实现方式,Broadcast就是其中一种。在activity和fragment之间的通信,broadcast用的更多本文以一个activity为例。 效果如图: 布局文件:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http:/
2015-07-09 14:16:19 2778
原创 ubuntu中安装samba
为了方便的和Windows之间进行交互,samba必不可少。 当然,他的安装使用也很简单: 安装:sudo apt-get install sambasudo apt-get install smbclient就是这么简单,装好之后可以使用ps -aux查看samba是否启动。 接下来就是修改配置文件了: 配置文件在/etc/samba/smb.conf 使用vi打开配置文件,在文件末尾
2015-07-07 16:14:32 2052
原创 ubuntu中安装eclipse
上一篇说了安装jdk的事,于是趁热打铁,决定把eclipse也安装了。 下载这一系列就不用说了。下载完成之后:然后解压,解压之后文件剪切到/usr/software文件夹中,同时重命名为eclipse,剪贴重命名方法参见 ubuntu文件管理常用命令 。这样eclipse就可以运行了,如图: 不过每次这样敲命令都特别麻烦,我们需要在/usr/bin中添加eclipse启动命令: 这样,在命令行
2015-07-07 10:19:16 2320
原创 ubuntu中安装jdk
参考文献:ubuntu 13.04 安装 JDK先去oracle官网下载jdk,这一段我就不赘述了。下载好之后先解压,解压方式参见 linux常用的压缩与解压缩命令 ,解压之后,将文件剪贴至/usr/lib/中的jvm文件夹中,同时把文件名更换为java,如果没有这个文件夹就自己建一个,剪贴以及新建文件夹命令参见ubuntu文件管理常用命令 。上面工作做完之后,就可以添加环境变量了sudo vi ~
2015-07-06 17:49:22 2289
原创 linux中的网络通信指令
1.writewrite命令通信是一对一的通信,即两个人之间的通信,如上图。效果图用法:write <用户名>2.wallwall指令可将信息发送给每位同意接收公众信息的终端机用户效果图 wall是将一个文件的内容发送出去3.ping 选项 IP地址这个命令就不用多讲了吧,测试网络是否连通4.ifconfig这个命令用来查看IP地址,注意是ifconfig而不是ipconfig
2015-07-06 16:02:55 2802
原创 给EditText的drawableRight属性的图片设置点击事件
这个方法是通用的,不仅仅适用于EditText,也适用于TextView、AutoCompleteTextView等控件。 Google官方API并没有给出一个直接的方法用来设置右边图片的点击事件,所以这里我们需要通过点击位置来判断点击事件,效果如图: 布局文件:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/a
2015-07-06 13:20:47 10878 5
原创 linux常用的压缩与解压缩命令
1.gzip 压缩gzip 是压缩文件,压缩之后文件后缀为.gz 用法:gzip 选项 [文件]2.gunzip 解压这个命令与gzip的功能刚好相反,这个是解压。 用法 gunzip 选项 [压缩文件]3.tar这个命令可以将文件打包压缩一起执行,也可以解压缩压缩用法:tar 选项[zcvf] [目录]-c 产生.tar打包文件 -v 显示详细信息 -f 指定压缩后的文件名 -
2015-07-05 19:38:51 3061
原创 linux中的帮助命令
说实话,到目前为止我还是不太习惯使用linux自带的帮助文档,遇到问题都是去查我自己下载的chm格式的命令大全,不过这些帮助命令我们还是有必要了解的。1.man [要查看的命令名称]例如想要查看ls 命令的帮助,那么输入man ls即可怎样在使用man命令时进行翻页等操作,可以查看more命令的相关做法。2.info [任何关键字]举个栗子:查看ls帮助 info ls那么man和info有什么区别
2015-07-05 19:07:26 2121
原创 ubuntu常用文件搜索命令
1.findfind [搜索路径] [搜索关键字]比如查找/test中文件名为t5.tmp的文件: 查找根目录下大于100M的文件 注意,这里的204800单位是块,1块=512字节 在根目录下查找所有者为lenve的用户find / -user lenve查找在根目录下24小时内被修改过属性的文件或者文件夹(这里的1表示1天,即24小时)find / -ctime -1查找大于80M
2015-07-05 15:40:40 2726
原创 ubuntu权限管理常用命令
1.chmod第一种方式chomd [{ugoa}{+-=}{rwx}] [文件或者目录]u 代表该文件所属用户 g 代表该文件所属用户组 o 代表访客 a 代表所有用户+-=分别表示增加权限,减少权限或者赋予权限让所有用户对t2.tmp文件具有写权限: 第二种方式:chmod [mode=421] [文件或者文件夹]4 表示读权限 2表示写权限 1表示执行权限比如:让文件所属
2015-07-05 14:15:37 2413
原创 ubuntu14.04使用root用户登录桌面
ubuntu安装好之后,默认是不能用root用户登录桌面的,只能使用普通用户或者访客登录。怎样开启root用户登录桌面呢? 先用普通用户登录,然后切换到root用户,然后执行如下命令:vi /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf在打开的文件里添加一句:greeter-show-manual-login=true这句的意思是在登录时允许用户自
2015-07-05 10:30:17 5433
原创 android之AlertDialog 点击其他区域自动消失
遇到一个问题记录下来,在开发中使用了AlertDialog,想点击屏幕其他区域的时候让这个dialog消失,一开始不做任何设置,在小米手机可以正常显示,但是在三星中却有问题,后来发现少了一个属性:View dilaogView = initDialogView(); builder = new AlertDialog.Builder(
2015-07-03 14:07:07 6653 4
原创 使用SecureCRT连接ubuntu
在虚拟机装好ubuntu之后,一直想用SecureCRT在物理机上连接一下,无奈总是失败,今天下定决心要把这个问题解决了,晚上捣鼓一下,终于解决了。我是用的ubuntu版本是14.04,装好之后默认是没有安装ssh服务的,需要手动安装: 安装命令:sudo apt-get install openssh-server安装完成之后,查看安装是否成功:netstat -tlp看到这个表示安装成功 这
2015-07-02 21:48:25 6785
Android开发中线程池的使用Demo
2016-08-20
Dagger2中Scope使用Demo
2016-08-15
ButterKnife使用Demo
2016-08-12
Android模拟登录知乎
2016-08-09
DataBindingDemo3
2016-07-31
DataBindingDemo2
2016-07-31
DataBindingDemo
2016-07-31
Android在线视频播放器Demo
2016-05-04
Android自定义View值ProgressBar
2016-05-01
Android中Dialog使用详解
2016-02-16
ImageView的scaleType属性练习
2016-01-26
snackbar使用Demo
2015-12-13
android文件存储源码及笔记
2015-12-12
自定义ContentProvider
2015-12-06
GitForWindows2.6.3
2015-12-01
Spring入门.pdf
2020-02-17
SpringMVC 入门教程.pdf
2020-02-17
MyBatis入门教程
2020-02-17
Spring Boot2 教程.pdf.zip
2020-02-17
GitHub入门与实践
2017-10-16
websocket使用案例
2017-08-28
dubbo入门案例参考
2017-08-26
Ajax上传文件Demo
2017-08-25
SpringSession+Redis实现Session共享案例
2017-06-10
SQLBrite使用Demo
2016-09-18
Retrofit使用Demo
2016-09-13
ViewPager之PageTransformer属性使用Demo
2016-08-28
Android5.0水波纹效果Demo
2016-08-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人