Wednesday, December 30, 2015

看书

把生命浪费在自己喜欢的事物上

很多的时候,我发现,很多的时候,书这个东西太局限了,仅仅是某个人的思想的印记。如果,他的阅历不深的话,读起来,索然无味。有的 书,只是因为看了书名就买了,但是,买了之后,发现读这本书就是在;浪费自己的生命!

生命如此短暂,我们没有太多的时间来浪费的!

谈论女孩的花样年华

秋,跟我说,她考研竟然只是纯粹的为了找优质的男人,是的 ,到了我们这个年纪的女孩子,并不能跟男孩子一样子,可以什么都不想的。
她们普遍的都很成熟,只是比自己成熟五岁以上的,以为,她们的想法都很特别的,真的是搞不懂,如果不是自己喜欢的人,我是不会,也不愿意花时间去猜测的!随着年龄的增长,是的,想成家的女孩子,都会有自己的想法,她们最美好的花样年华几乎都是在大学校园里面度过的,然后到了社会上,工作了一两年之后,老是着急把自己嫁出去的,哎。毕业之后,身边的好友都结婚了,但是,自己一年一年的长大,自己找的男朋友也只是玩玩,没有结婚的打算。其实,这样的女孩子还是少不认,局限于她们的圈子,我似乎接触不到的。在北京女孩更加的独立,这个社会中的女汉子更多一点,因为,找她们所说就是男人是靠不住的,是的,我并不否认这一点,男人真的很不靠谱。男人是靠不住的!

千秋说找个靠谱的男人,哈哈,这样人,人其实是靠着欲望活着的,因为现在没有靠谱的男人,所以,想找一个靠谱的男人。 当你和一个靠谱的男人结婚之后呢? 你就想找一个 成功的男人,当你找到一个成功的老头之后, 你有想找一个帅锅,找一个自己倾心的,总之,人的欲望总是无法满足的!我不知道,自己现在为什么还会喜欢她!也许到了最后,她就算嫁给一个带小孩子的老头,也不会嫁给你的。你如此的一片痴情,到底为了什么呢?我真的会愿意等她吗?未必吧,只是自己现在还没有遇到更好的而已,是的 ,当你一旦拥有更好的女人的时候,你会面临选择的时候,我是一个有选择恐惧症的孩子奥。更多的时候,我似乎根本就不知道自己想要什么?嫁给千秋,是我这辈子最大的梦想。梦想是很难实现的饿。找一个爱自己的女孩子,这样自己不会很累的。这样不是很好吗?我们都需要为自己的选择负责的!不要真的在意一个玩笑,如果你到三十岁的时候,你若未嫁,我若未娶,做我的娘子可好?其实,这只是一个玩笑而已,不必当真。就算,到了三十岁的时候,就算嫁给一个带着孩子的男人,也比嫁给我要好吧!因为,至少他会比我稳重成熟,带孩子怎么了?带孩子 更加有爱心。更加的会疼人,不是我这种小屁孩子能够明白的饿!

是的,我们都喜欢钱,除了钱之外,我们也要有一些其他的追求。要不然,自己真的会迷失在自己的道路上!

千秋只是我人生的过客,并不能成为我的归宿。

我喜欢的女孩子,并不是她! 我的另一半并没有出现。我一直在等待她的出现。现在还不是时候,我需要等待。就像是大型的重构一样。每天进步一点点,不是一簇而就的,需要漫长的时间,我现在的想法就是去重庆,闯闯,找到自己的另一半,重庆是出美女的地方。有的人,在我心里面,可以做很多的朋友,活着兄弟。但是,不要成为老婆。老婆真的很难。我是唯美主义者,总想找个漂亮的老婆,但是自己就像猪一样,我也是呵呵了!现在的自己又这么穷,有的 时候,男人的穷,不仅仅是金钱上的贫穷。更可怕的时候 习惯了贫穷。我们都有一颗追求美女的心。但是我比较懦弱,不敢追求自己心爱的女孩,没有什么熟不熟的,只是你的内心不想吧。大多数的人是看不上你的。所以,需要让自己变得足够的优秀,现在的自己还有很长 的路要走,做自己最喜欢的事情,在自己的路上多走走,不愿因,因为一个女孩子,放弃自己的生活,当你一旦找到了自己的另一半,那么我的生活就是两个人的生活,再也没有一个人的自由了!其实,我只是现在体会不到两个人一起生活的快乐,跟多的是害怕失去自己的自由什么的。这就是我的生活。我借出去的钱,比我手里的钱还多呢!着也没有办法。因为,又困难的时候,我们真的是无法改变的。钱这个东西,只有是自己的才会真的开心。在别人手里的自己的钱。似乎也就远了,尽管你知道那是你的钱,但是总觉的钱在自己的手里更开心!

很多人,根本就不知道自己想要什么。我知道,但是,我得不到。这就是无奈与现实!现实就是,就算我再怎么努力,有些人我是赶不上的,就是这样的现实,如果我以为的执念于此的话,我的生活真的很不堪!因为,我忽视了生活的本质,生活原本就是异常消费。有钱就多花,没钱就少花。就是这么简单的生活,其他的事情,真的那么重要吗?只要家里爸爸妈妈健健康的,其他的并不是那么重要。我要攒钱,为了以后,以备不时之需。就是 养兵千日用兵一时!学会积累。积累的力量真的是很可怕的,量变促进质变!

你的女人,早晚会有的,当你真的成熟的起来的时候,当你真的不会在那倔强的时候,当你大概三十几岁的是偶,她会撑着油纸伞,在某一个小巷子里,在你身边走过,你需要做的就是抓住她的手,嫁给我好吗?我愿意,用我的下半辈子,陪你到天荒地老。

女人,就是自己喜欢的人。  跟自己喜欢的人在一起本身就是很幸福的一件事情!





为什么每个人的最终的成就都是不同的呢?

何为江湖?
为何,通入师门,但是多年之后,每个人的成就都是不同的呢?我们每一个人的都拥有同样的时间,同样的修炼的法门。因为,我们每个人的各怀鬼胎,每个人都有自己的打算,导致了自己最终的各个方面都不一样了,
这个世界就是这样紫的,  壁立千仞,无欲则刚。是的,当你什么都不喜欢的时候,当你什么都不想要的时候,又有什么东西能够真的伤害到你呢?因为,你已经看破了红尘,看破了所有,就是这么简单,老人说 拿人手短,吃人嘴短! 正式这个道理,当你无欲无为的时候,你就真的成神了!

现在,老爹给我说,要我 买房子,买车。无非是想给我一点压力。是的,这一切都是需要钱的,就是不想让我学坏。当然是为了我好!我已经把房子和车子从的目标中划掉了,因为,我发现了,我奋斗10年,似乎也就赚个50万所有的样子,永远也不能在像北京这样的一线的城市买一套房子,就连 二三线城市也很悬的。似乎,只能去四线城市发展了。这些都无所谓,去四五线城市,巧妇难为无米之炊。哪里,我有何用呢?有的人,一开始就不喜欢自己的职业,但是我很喜欢自己的职业,因为我从中体会到了快乐,虽然自己成长的不是很快,但是我会尽力的。去做自己喜欢做的事情。

所以说,我近期的目标就是明天,把我们家里面的帐,欠银行的贷款,还清就好了,还有很多其他的账单,我记在心里就好了。因为,很多事情,不是你想就可以的,因为目前我的能力还是很 有限的,我并不是什么神仙。家里没有什么背景,就是一个屌丝而已。我知道自己的责任与义务。我要为了自己家人活着,这个世界就是金钱的世界,如果,你没有了金钱,你寸步难行,以前是有理走遍天下。现在已经不再是了,现在是有钱走遍天下。

自己真的变成自己讨厌的样子了!

我生活在“最好的时代”, 可以追求自己的喜欢的人,追求自己的梦想,做自己喜欢的人,交自己喜欢的朋友,在这样的时代里面,没有时刻可能死亡的威胁,只要自己努力,只要自己不做坏事,正大光明的活着,本身就是很好的 !不是吗?

中国五千年的历史上,从来没有这么开明的时期和开放和平的时期,我真的很情形自己生活在这样的时代里面。做自己喜欢的事情,操着自己喜欢的人,跟自己的最好的朋友谈笑风生。真的不是容易!

我不要在为了房子和车子活着。我要为了活着而活着。自己为什么不快乐?因为,你想要的太多了。所以,你需要做的就是做好自己的事情,之后其他的不要想太多。

房子,到该有的时候,会有的,车子也是的,你现在想那么多没有什么用!你需要做的就是活在当下,珍惜现在,攒钱。没有人会跟钱过不去。有了钱,才会在你真的急用的时候,帮的上你忙的!

生活,就是生存的活着。

正如:  生活就是把时间 浪费在最美好的事情。 美好 就是自己喜欢的事情。每个人的追求不同。每一个人的命运也是不同的。很多事情,并不是我们这些小老百姓 能够明白的。
很多人,我们是惹不起的。过好自己的,上天是不会掉馅饼的!馅饼是自己做出来的。

金钱的自由,是很难实现的。如果不买车,不买房子的话,100万是够的。既然,连车子和房子不能给她们安全感。看来只有钱才能啊。但是,很多女孩子家里面并不差钱,不会动我们这种屌丝的心意的,跟自己心爱的女孩子在一起真的是很开心的。我曾经的梦想就是这样的,现在看来似乎好难呀。

浮梦如梦






Tuesday, December 29, 2015

跟好友畅聊

好长时间没有跟,那孩子真个八经的聊天了!

今天,不知道怎么的千秋居然想起给我打电话了,我也是有点受宠若惊啊。这么多年我们都变了,唯一不变的就是她还是那么的聪明,我似乎一张口她就知道我要表达的意思啦。 也对,男孩子想要的也就那些事情。我们开了一个玩笑,如果三十岁的时候,她还没有嫁人的话,我是真的愿意娶她的!说真心话,但是,我们都是要经历许多的人,很有很长的路需要我去走。并不是,那么简单的就可以得到的。我的路还有很长呢!她的情商比我高出许多,看的出来,她并不真的喜欢我。我听得出来。但是我是真的喜欢她。真真的。

她说男人靠不住,我觉的说的挺对的吧。想找一个靠得住的男人,真的不容易。其实,并不是只要有车有房子,男人就靠的珠了。看来买房子和车子并不是必须的,关键是你这个人怎么样的。很多的时候,就算我奋斗二十年,我也很难在北京买上房子。我有自己的圈子。如果,我跳出自己的圈子,我就什么都不是了。这就是我的生活。

我想找一个可以定居的地方。 南方有很多的额地方我没有去过,我想去重庆,想去杭州, 我想去那里生活。我不喜欢雾霾。不喜欢特别冷的天气。这就是我任性的地方,但是,我的条件并不允许我任性。

正如千秋所说的,我仅仅只是为了活着。有什么难题的话,可以找我。但是,不是自己的老婆,我又能帮多少呢?我只是在乎自己罢了。我其实是很小气的人。很多的时候,我不知道自己的内心。很多的时候,我还有很长的路要走。我还要修行!

Sunday, December 27, 2015

how to config yourself mean repo?


1 Android studio 关于 aar 文件
  Gradle  依赖包的知识

一份 aar 文件其实就是一份 zip 包,和 jar 不同的是,它将一些资源文件、第三方库文件、so 文件等等都打包在内,而代码文件编译后压缩在在 classes.jar 中。

http://www.androidchina.net/2467.html 

2  if you want to create war file

you can create a project, You must set

2.1  set library:
//apply plugin: 'com.android.application'apply plugin: 'com.android.library'

2.2  delete the applicationId
defaultConfig {
    minSdkVersion 9    targetSdkVersion 23    versionCode 1    versionName "1.0"}

Ok  you can use glared assemble in command line Page.



3  AndroidStudio 使用gradle 脚本上传aar文件到Nexus Maven 私有服务器
http://blog.csdn.net/qq_30254897/article/details/47275583


4  如何使用Android Studio把自己的Android library分享到jCenter和Maven Central

http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0623/3097.html



5

gradle是如何从仓库上获取一个library的?





在讨论如何上传library到jcenter之前,我们先看看gradle是如何从仓库获取library的。比如我们在 build.gradle输入如下代码的时候,这些库是如果奇迹般下载到我们的项目中的。
1
compile 'com.inthecheesefactory.thecheeselibrary:fb-like:0.9.3'
一般来说,我们需要知道library的字符串形式,包含3部分
1
GROUP_ID:ARTIFACT_ID:VERSION




如何将本地的lar 上传到 Jcenter 
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0623/3097.html




Android how to config neuxs maven Server?

使用neuxs搭建maven私服 

http://www.scmroad.com/thread-24791-1-1.html



使用Nexus搭建Maven私服(windows)

http://www.cnblogs.com/quanyongan/archive/2013/04/24/3037589.html

活着

    生活就是有不同的经历。感觉自己的生活就是在不断的变化,我们的每一个人的道路都是不同的,自己的选择决定了自己的后来的历程。就像是老人说的,每个人都要为自己的行为负责。不是不报,时候未到。
    这个世界,我们对世界充满了好奇。生活中的我们,都是向往着幸福的生活,但是很多的时候我们无法满足自己的欲望。人的欲望是支撑人们活下去的理由和勇气。
   
   不知道,自己的生活不知道,自己该何去何从。自己的人生就像是自己的命运之手,我该去往何处呢?攀枝花 寻找自己的另一半的之旅。 我想找一个四季如春的地方, 定居, 选找到自己的另一半,在那里度过自己的下半生。就是这么简单的生活着。生活不是你想怎么样就能怎么样的。只有自己的生活,才可以真正的生存下来。生活, 需要你的付出与努力的。我不喜欢冬天。感觉冬天太冷了。
    我不喜欢北京,因为在北京我找不到自己的梦想,找不到自己处身之地,找不到自己可以在雾霾中生存的价值。雾霾,真的会影响自己的生存。我不喜欢北京,我在北京的价值就是为了学会生存的技能,为了以后的路好走,就是这么简单的!很多的时候我们做决定的时候,需要思考。我们真的能够放下吗?我们想要的东西太多了。

  我想去南方找个地方定居!撑着油纸伞的少女,不知道在我的梦里面出现了多少次。我真的很喜欢南方的女孩子们。那是我内心向往的。

  我需要奋斗,在三十岁的时候需要赚够40玩元。





Thursday, December 24, 2015

Viewpager pageradapter 刷新数据的时候 ViewPager 并没有刷新

解决方案:


public class ScrollMainImageAdapter extends FragmentStatePagerAdapter implements
        IconPagerAdapter, ImageFragment.OnImageClickListener {



//  只要实现了这个方法就OK了

@Override
public int getItemPosition(Object object) {
    return POSITION_NONE;
}



1  http://www.cnblogs.com/lianghui66/p/3607091.html

2  http://stackoverflow.com/questions/11756102/java-lang-illegalstateexception-fragement-no-longer-exists-for-key-f1-index-3

Saturday, December 19, 2015

Tuesday, December 15, 2015

Shell Expect 基础教程

      我们可能已经配置了 SSH  使用Expect  使用脚本自动的登录,但是,但是我们不可以知其然不知其所以然!


shell脚本需要交互的地方可以使用here文档是实现,但是有些命令却需要用户手动去就交互如passwd、scp

对自动部署免去用户交互很痛苦,expect能很好的解决这类问题。

expect的核心是spawn expect send set

spawn 调用要执行的命令
expect 等待命令提示信息的出现,也就是捕捉用户输入的提示:
send 发送需要交互的值,替代了用户手动输入内容
set 设置变量值
interact 执行完成后保持交互状态,把控制权交给控制台,这个时候就可以手工操作了。如果没有这一句登录完成后会退出,而不是留在远程终端上。
expect eof 这个一定要加,与spawn对应表示捕获终端输出信息终止,类似于if....endif

expect脚本必须以interact或expect eof结束,执行自动化任务通常expect eof就够了。

设置expect永不超时
set timeout -1

设置expect 300秒超时,如果超过300没有expect内容出现,则推出
set timeout 300

expect编写语法,expect使用的是tcl语法

一条Tcl命令由空格分割的单词组成. 其中, 第一个单词是命令名称, 其余的是命令参数
cmd arg arg arg

$符号代表变量的值. 在本例中, 变量名称是foo.
$foo

方括号执行了一个嵌套命令. 例如, 如果你想传递一个命令的结果作为另外一个命令的参数, 那么你使用这个符号
[cmd arg]

双引号把词组标记为命令的一个参数. "$"符号和方括号在双引号内仍被解释
"some stuff"

大括号也把词组标记为命令的一个参数. 但是, 其他符号在大括号内不被解释
{some stuff}

反斜线符号是用来引用特殊符号. 例如:n 代表换行. 反斜线符号也被用来关闭"$"符号, 引号,方括号和大括号的特殊含义



==========================================
expect使用实例

1。首先确认expect的包要安置。

#rpm -qa | grep expect

如果没有则需要下载安装,

#yum install expect

2.安装完成后,查看expect的路径,可以用

#which expect

/usr/bin/expect

3.编辑脚本
#vi autosu.sh
添加如下内容

#!/usr/bin/expect  -f   //这个expect的路径就是用which expect 查看的结果

spawn su - nginx       //切换用户
expect "password:"      //提示让输入密码
send "testr"       //输入nginx的密码
interact                //操作完成
4.确定脚本有可执行权限

chmod +x autosu.sh

5.执行脚本 expect autosu.sh 或 ./autosu.sh

==========================================

expect常用脚本

登陆到远程服务器

#!/usr/bin/expect   
set timeout 5 
set server [lindex $argv 0] 
set user [lindex $argv 1] 
set passwd [lindex $argv 2] 

spawn ssh -l $user $server 
expect { 
"(yes/no)" { send "yesr"; exp_continue } 
"password:" { send "$passwdr" } 

expect "*Last login*" interact 
scp拷贝文件

#!/usr/bin/expect
set timeout 10
set host [lindex $argv 0]        //第1个参数,其它2,3,4参数类似
set username [lindex $argv 1]
set password [lindex $argv 2]
set src_file [lindex $argv 3]
set dest_file [lindex $argv 4]
spawn scp $src_file $username@$host:$dest_file
 expect {
 "(yes/no)?"
   {
    send "yesn"
    expect "*assword:" { send "$passwordn"}
 }
 "*assword:"
{
 send "$passwordn"
}
}
expect "100%"
expect eof
使用方法
./expect_scp 192.168.75.130 root 123456 /root/src_file /root/dest_file
以上的命令执行后,将把本地/root目录下的src_file文件拷贝到用户名为root,密码为123456的主机192.168.75.130中的/root下,同时还将这个源文件重命名为dest_file

Android Mac 如何使用Iterm 配置一键打包

打包对于我们来说很熟悉。
1   但是很多人还是停留在初级的阶段。就是用Android studio 里面的Build.  

2  有一些聪明的孩子,会配置Gradle 到自己的$PATH 路径里面! (网上的资料有很多,可以搜一下, 对于windows 比较好配置,但是Mac 的稍微复杂点!)

但是,作为一个懒人,我不想每一次都去在自己的控制台里面设置 输入 ./gradlew assemble 命令!

下面我们在iterm 里面配置快捷方式:

1 首先开始Shell  脚本

#!/usr/bin/expect -f
set path Work/Code/RentAgent/RentAgent/ 
set apkName assembleanzhi 
               
cd $path
spawn ./gradlew $apkName
          
interact                     
expect eof        



2    配置Iterm
在 Iterm 中 Command + O



   点击 edit  profiles



   在Short key  的配置一下快捷键。



参考链接:

如果你对于 Shell  Expect 不是很明白的话,开以参考一下:

1  http://www.nginx.cn/1934.html





Mac SSH 快速登录VPS?

如何使用SSH快速的登录你的 远程的服务器呢?

下面我们一一解答:
Mac  下有一个好用的工具 Iterm2

我们来配置一下如何快速的登录VPS:

1  shell 脚本
#!/usr/bin/expect -f
set username YourUserName    // 设置用户名
set host ***.***.***.***     // 设置主机IP
set password YourPassword    // 设置密码
set time -1                  // 设置永不超时

spawn ssh $username@$host    // 启动一个新进程
expect "*assword:*"          // 进程返回带有assword:字符时
send "$password\r"           // 向进程输入前面设置的密码
interact                     // 允许用户交互

expect eof                   // 结束


注意,你在复制的时候需要将注释全部删掉 如下:
#!/usr/bin/expect -f
set username YourUserName    
set host ***.***.***.***     
set password YourPassword    
set time -1                  

spawn ssh $username@$host    
expect "*assword:*"          
send "$password\r"           
interact                     
expect eof                   


我们定义一个名字 login

然后你随便制定一个目录:


2  配置Iterm2

command + o  (不是0) 出现快捷方式



点击框住的按钮Edit Profiles...,会出现下面的图,点击左下角的加号新建一个Profile,设置快捷键执行刚写好的脚本:





注意: Shortcurt Key 可以设置自己的快捷键, 我设置的是  Control + Command + B  



让我们一起来看看 我们配置是否成功了吗?

打开iterm  按下快捷键



Ok  success!

================================================
如果不成功的话:
1  请看一下 自己的文件中的单词拼写是不是出错了!

2  看一下在iterm中 指定的路径和文件名是不是 拼写错误





参考链接:
1  http://xuquan.me/blog/Mac-iTerm-configuration.html




Sunday, December 13, 2015

linux下修改root密码以及找回root密码

参考链接:
linux下修改root密码以及找回root密码

Mac how to use Iterm to connect the VPS ?

mac 通过 终端 ssh 远程连接 centos 服务器
在终端下输入
ssh -l root 204.74.*.*      就可以连接了,这是端口没变的情况,还是原来的22


ssh -p 448(你改变的端口) -l root(连接用户名) 204.74.*.*      这个是端口改变后的连接


======================================
Mac-4a0002833f10:~ Hades$ ssh -p 27417 -l root  45.78.17.86
root@45.78.17.86's password:

如何搭建自己的OpenVPN server?



Mac  openVPN :

how to config:
https://openvpn.net/index.php/access-server/docs/admin-guides/183-how-to-connect-to-access-server-from-a-mac.html

tools:
https://tunnelblick.net/downloads.html

Ubuntu 15.10 无法联网

在安装 Ubuntu 的时候,对于菜鸟而言,都会遇到安装上之后,无法连接网络!

WHy?

是因为,缺少网卡驱动的原因。我也是醉了!

因为,我之前也遇到这种问题,一直在搁浅,没有找到解决方案,前两天想装一个Ubunt 15.10  玩玩,结果死活就是无法联网。

原来我们都犯了同样的错误: 就在装系统的时候,我们没有插网线! 导致了,你安装的Ubuntu 没有网卡驱动。而你,又不知道该如何下载和安装驱动!

Wednesday, December 9, 2015

baidu 地图 如何根据经纬度获取 地理位置信息?


http://api.map.baidu.com/geocoder/v2/?ak=E4805d16520de693a3fe707cdc962045&callback=renderReverse&location=39.983424,116.322987&output=json&pois=1


参考链接:

1  http://developer.baidu.com/map/index.php?title=webapi/guide/webservice-geocoding


遇到的问题:
2  http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=42056

Tuesday, December 1, 2015

Not a COM32R image

When I use my U pan, to install Ubuntu 15.10 in the Thinkpad, But my the shell tip the error info:

Not a COM32R image
Boot:

You can following this way:
You just type the code:
live   
after, you just type enter!

Ok . it works for me!

reference:
http://askubuntu.com/questions/486602/ubuntu-14-04-lts-live-usb-boot-error-gfxboot-c32not-a-valid-com32r-image

java.lang.java.lang.RuntimeException: Unable to start actjava.lang.IllegalArgumentException: wrong number of arguments; expected 0, got 1

Android studio 2.0 新的坑! 

今天,突然收到客户更新包的时候,不能运行的Bug! 我很是蛋疼,与开始查是什么问题?

java.lang.java.lang.RuntimeException: Unable to start actjava.lang.IllegalArgumentException: wrong number of arguments; expected 0, got 1

这个问题,是反射的问题,参数不正确!

我的 v1.9.3  的包是 用 Android studio 2.0 打的包! 但是V1.9.4 心的版本,发现在2.0 上有问题,所以就使用了稳定版1.4.0 版本。

于是,我怀疑是Android studio 2.0 搞鬼。我也是醉了!  我用AS 1.4.0 打了V1.9.5 版本,覆盖V1.9.4 的时候没有问题,但是覆盖V1.9.3 还是会出错!


下面是详细的error info:
java.lang.java.lang.RuntimeException: Unable to start activity ComponentInfo{c.ui.activity.WelcomeActivity}: java.lang.IllegalArgumentException: wrong number of arguments; expected 0, got 1
12-01 16:59:57.940 29200-29200/? E/AndroidRuntime:     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2201)
12-01 16:59:57.940 29200-29200/? E/AndroidRuntime:     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2250)
12-01 16:59:57.940 29200-29200/? E/AndroidRuntime:     at android.app.ActivityThread.access$800(ActivityThread.java:141)
12-01 16:59:57.940 29200-29200/? E/AndroidRuntime:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1213)
12-01 16:59:57.940 29200-29200/? E/AndroidRuntime:     at android.os.Handler.dispatchMessage(Handler.java:102)
12-01 16:59:57.940 29200-29200/? E/AndroidRuntime:     at android.os.Looper.loop(Looper.java:136)
12-01 16:59:57.940 29200-29200/? E/AndroidRuntime:     at android.app.ActivityThread.main(ActivityThread.java:5065)
12-01 16:59:57.940 29200-29200/? E/AndroidRuntime:     at java.lang.reflect.Method.invokeNative(Native Method)
12-01 16:59:57.940 29200-29200/? E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Method.java:515)
12-01 16:59:57.940 29200-29200/? E/AndroidRuntime:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
12-01 16:59:57.940 29200-29200/? E/AndroidRuntime:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609)
12-01 16:59:57.940 29200-29200/? E/AndroidRuntime:     at dalvik.system.NativeStart.main(Native Method)
12-01 16:59:57.940 29200-29200/? E/AndroidRuntime:  Caused by: java.lang.IllegalArgumentException: wrong number of arguments; expected 0, got 1
12-01 16:59:57.940 29200-29200/? E/AndroidRuntime:     at java.lang.reflect.Method.invokeNative(Native Method)
12-01 16:59:57.940 29200-29200/? E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Method.java:515)
12-01 16:59:57.940 29200-29200/? E/AndroidRuntime:     at com.google.dexmaker.stock.ProxyBuilder.callSuper(Unknown Source)
12-01 16:59:57.940 29200-29200/? E/AndroidRuntime:     at com.eallcn.rentagent.proxy.callback.AsyncMethodAtomInterceptor.intercept(Unknown Source)
12-01 16:59:57.940 29200-29200/? E/AndroidRuntime:     at com.eallcn.rentagent.proxy.Enhancer.invoke(Unknown Source)
12-01 16:59:57.940 29200-29200/? E/AndroidRuntime:     at SingleControl_Proxy.setModel(SingleControl_Proxy.generated)
12-01 16:59:57.940 29200-29200/? E/AndroidRuntime:     at com.eallcn.rentagent.proxyhelper.BaseAsyncHelper.a(Unknown Source)
12-01 16:59:57.940 29200-29200/? E/AndroidRuntime:     at com.eallcn.rentagent.proxyhelper.BaseAsyncHelper.a(Unknown Source)
12-01 16:59:57.940 29200-29200/? E/AndroidRuntime:     at com.eallcn.rentagent.proxyhelper.BaseAsyncHelper.onCreate(Unknown Source)
12-01 16:59:57.940 29200-29200/? E/AndroidRuntime:     at com.eallcn.rentagent.proxyhelper.ActivityHelper.onCreate(Unknown Source)
12-01 16:59:57.940 29200-29200/? E/AndroidRuntime:     at com.eallcn.rentagent.ui.activity.BaseActivity.onCreate(Unknown Source)
12-01 16:59:57.940 29200-29200/? E/AndroidRuntime:     at com.eallcn.rentagent.ui.activity.WelcomeActivity.onCreate(Unknown Source)
12-01 16:59:57.940 29200-29200/? E/AndroidRuntime:     at android.app.Activity.performCreate(Activity.java:5249)
12-01 16:59:57.940 29200-29200/? E/AndroidRuntime:     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
12-01 16:59:57.940 29200-29200/? E/AndroidRuntime:     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2165)
12-01 16:59:57.940 29200-29200/? E/AndroidRuntime:     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2250) 
12-01 16:59:57.940 29200-29200/? E/AndroidRuntime:     at android.app.ActivityThread.access$800(ActivityThread.java:141) 
12-01 16:59:57.940 29200-29200/? E/AndroidRuntime:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1213) 
12-01 16:59:57.940 29200-29200/? E/AndroidRuntime:     at android.os.Handler.dispatchMessage(Handler.java:102) 
12-01 16:59:57.940 29200-29200/? E/AndroidRuntime:     at android.os.Looper.loop(Looper.java:136) 
12-01 16:59:57.940 29200-29200/? E/AndroidRuntime:     at android.app.ActivityThread.main(ActivityThread.java:5065) 
12-01 16:59:57.940 29200-29200/? E/AndroidRuntime:     at java.lang.reflect.Method.invokeNative(Native Method) 
12-01 16:59:57.940 29200-29200/? E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Method.java:515) 
12-01 16:59:57.940 29200-29200/? E/AndroidRuntime:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
12-01 16:59:57.940 29200-29200/? E/AndroidRuntime:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609) 
12-01 16:59:57.940 29200-29200/? E/AndroidRuntime:     at dalvik.system.NativeStart.main(Native Method) 

Monday, November 30, 2015

为什么TextView 设置了Selector 没有作用呢?

我真是很诧异,很多时候我们并没有深入的看文档,导致了这个问题,我也是醉了! 有空我要多看看文档!

我的设置:
selector:
error:
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">    <item android:drawable="@drawable/icon_attendance_record"/>    <item android:drawable="@drawable/icon_attendance_record_press" android:state_checked="true"/>    <item android:drawable="@drawable/icon_attendance_record_press" android:state_pressed="true"/>    <item android:drawable="@drawable/icon_attendance_record_press" android:state_active="true"/>    <item android:drawable="@drawable/icon_attendance_record_press" android:state_focused="true"/>    <item android:drawable="@drawable/icon_attendance_record_press" android:state_checkable="true"/></selector>

right:
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">    <item android:drawable="@drawable/icon_attendance_record_press" android:state_checked="true"/>    <item android:drawable="@drawable/icon_attendance_record_press" android:state_pressed="true"/>    <item android:drawable="@drawable/icon_attendance_record_press" android:state_active="true"/>    <item android:drawable="@drawable/icon_attendance_record_press" android:state_focused="true"/>    <item android:drawable="@drawable/icon_attendance_record_press" android:state_checkable="true"/>    <item android:drawable="@drawable/icon_attendance_record"/></selector>


you can see:
http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList

During each state change, the state list is traversed top to bottom and the first item that matches the current state is used—the selection is not based on the "best match," but simply the first item that meets the minimum criteria of the state.

这里的每一个Item的改变,Android 会从第一个Item,寻找匹配当前的状态的Item.然后设置!

如果,讲Normal 放到第一个 就会一直匹配第一个!






GridView 如何居中显示?

如何使用BandwagouHost 打在自己的VPN?





参考链接:

1  http://segmentfault.com/a/1190000002951084

如何注册 Google开发者账户你的Google waltet 被封了怎么办呢?


有的时候,我们可能会希望有一个Google开发者账户,但是,当你使用中国公民的信息注册的时候,Goolge 出于安全起见,一般会先封号的。需要提交个人的审核信息,才能让你支付。
我一个哥们就只这种情况! 如果你也遇到,你就苦逼了!很多人都很无奈的提交审核的资料。审核你懂的,我就不说了!


如何避免呢? 如果你是使用新的账户注册开发者,支付的时候使用 美国的虚假的信息! 只要 VISA卡的信息和 E-mail  是真的就可以了! 这样就不会封号的!本人亲测!


1  http://www.gameres.com/thread_316493_1_1.html

How to get VPS person info?

I want get get a VPS. But I need one Person info in the US, to redister account! So I search:

you can get person info 



I  use the  second  url,  You can change the usa person!

面向对象的开发



我们再开的过程中,总是会遇到各种各样的问题。我是非常懒得,不喜欢多写一行代码!这就要求我们,在写之前先思考,怎么写才是最简单的,怎么样写,代码量最少!

今天我需要完成,两个界面的内容:


这两个界面是很简单的,很多初级的程序员。

1  菜鸟级别
奥,原来这么简单呀,这个很简单,就是一个布局,然后里卖弄去一个一个的实现ImageView + TextView.

这样写不好!

2  高级一点的
使用 GridView 实现, 这样可以根据数据动态的处理! 如果这里使员工饿了 GridView, 那我们就可以重用了!

3 面向对象
   开发原则就是 单一职责原则,
   一个Activity 对应一个单独的责任和能力!
   所以,显然这里是两个Acitvity. 但是,我不愿老是重复的东西,所以,我在实现了第一个Activity之后。再去写 第二个Acitivty 就是重复的写代码。 很多人会 讲 之前写好的Activity 复制一遍。 显然我并不能这么做的! 我也很喜欢这么做呀!
于是,我就用第二个Activity 继承自第一个完成的Activity , 抽出几个特殊的方法,定义访问权限为 protected

4  在之后
  我现在的架构,不好!    最好的方案,是抽取出一个抽象类,然后让这两个Activity 继承。 以后在家的时候,直接集成!









Can't create handler inside thread that has not called Looper.prepare()


this.runOnUiThread(new Runnable() {
    @Override    public void run() {
        
    }
});


Activity.runOnUiTHread(new Runnable() {
 
    @Override
    public void run(){
    }

})

Refences:

Can't create handler inside thread that has not called Looper.prepare() - Stack Overflow

Timer 计时器

private void getAgentLocalInfo(){
    if(curTimer == null){
        curTimer = new Timer(true);    }

    curTimer.schedule(new java.util.TimerTask() {
        @Override        public void run() {
            startLocalInfo();        }
    }, 5000, 6 * 1000);}

/**
 * Schedule a task for repeated fixed-delay execution after a specific delay.
 *
 * @param task
 *            the task to schedule.
 * @param delay
 *            amount of time in milliseconds before first execution.
 * @param period
 *            amount of time in milliseconds between subsequent executions.
 * @throws IllegalArgumentException
 *                if {@code delay < 0} or {@code period <= 0}.
 * @throws IllegalStateException
 *                if the {@code Timer} has been canceled, or if the task has been
 *                scheduled or canceled.
 */
public void schedule(TimerTask task, long delay, long period) {
    if (delay < 0 || period <= 0) {
        throw new IllegalArgumentException();
    }
    scheduleImpl(task, delay, period, false);
}



refence:
http://blog.csdn.net/mariofei/article/details/11686855

Sunday, November 29, 2015

Android GridView hot to config mutil colums?

<GridView    android:id="@+id/gv_work_bench"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:layout_below="@id/title_bar"    android:stretchMode="columnWidth"    android:verticalSpacing="@dimen/dimen_dp_5"    android:horizontalSpacing="@dimen/dimen_dp_5"    android:cacheColorHint="@color/white"    android:listSelector="@color/white"    android:scrollbars="none"    android:fadingEdge="none"    android:fadingEdgeLength="@dimen/dimen_dp_10"    android:transcriptMode="alwaysScroll"    android:numColumns="4"    android:layout_centerInParent="true"    android:descendantFocusability="afterDescendants"    >
</GridView>


android:numColumns  //set Columns  number 

android:descendantFocusability  //set get The foucs after the child componment!


android:numColumns=”auto_fit”   //GridView的列数设置为自动

android:columnWidth=”90dp "       //每列的宽度,也就是Item的宽度

android:stretchMode=”columnWidth"//缩放与列宽大小同步

android:verticalSpacing=”10dp”          //两行之间的边距

android:horizontalSpacing=”10dp”      //两列之间的边距 

android:cacheColorHint="#00000000" //去除拖动时默认的黑色背景

android:listSelector="#00000000"        //去除选中时的黄色底色

android:scrollbars="none"                   //隐藏GridView的滚动条

android:fadeScrollbars="true"             //设置为true就可以实现滚动条的自动隐藏和显示

android:fastScrollEnabled="true"      //GridView出现快速滚动的按钮(至少滚动4页才会显示)

android:fadingEdge="none"                //GridView衰落(褪去)边缘颜色为空,缺省值是vertical。(可以理解为上下边缘的提示色)

android:fadingEdgeLength="10dip"   //定义的衰落(褪去)边缘的长度

android:stackFromBottom="true"       //设置为true时,你做好的列表就会显示你列表的最下面

android:transcriptMode="alwaysScroll" //当你动态添加数据时,列表将自动往下滚动最新的条目可以自动滚动到可视范围内

android:drawSelectorOnTop="false"  //点击某条记录不放,颜色会在记录的后面成为背景色,内容的文字可见(缺省为false)




android:descendantFocusability



reference:

1  http://blog.csdn.net/junhuahouse/article/details/21618257

2 http://blog.csdn.net/kangx6/article/details/6838625