这4个问题或许学的很枯燥乏味,推荐还是用到的时候进行实践学习,这4个题目全出自于《Android群英传》章节 6.4,6.5,6.6,6.7,学会了这写可以干嘛 !学会Android绘图技巧这我说你应该知道用处,不过笔者认为最大的好处就是可以提高薪水,这很现实。问题2~4学会了,因为是图像处理,很自然让你联想到各种P图软件,美图秀秀,美拍啊等等,所以我也就不多说了。
下面这个是《Android群英传》第六章的所有内容:
http://blog.csdn.net/qq_26787115/article/details/50967896?locationNum=2&fps=1
二维码在笔者刚刚接触的时候,感觉是个很神奇的东西,就是一张图,但是却可以办到很多不可思议的事,在细细看了牛逼的博主分析了一下原理后,似乎搞懂了些!
http://blog.csdn.net/u012611878/article/details/53167009?locationNum=3&fps=1
由于写代码,分析代码是脑壳活,也是体力活,因为不仅要思考并敲代码,搞出来了,又要把思路写到博客上,实在很累,所以,笔者就不会详细说明思路了,只贴出几个问题,然后贴段代码,会读代码也是一种强悍的能力,这是转接工作必须经历的,相信有此经历的小伙伴一定很理解:
1.后退键的监听
2.返回桌面代码的实现
3.如何解决时间间隔内,监听到用户点击后退键点了2次
代码实现:
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private long oneTime = 0,twoTime = 0;//记录用户两次点击的时间
private int times = 0;//记录用户第几次点击
private int TIME = 2000;//设置时间间隔为2000毫秒,也就是2秒
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK){
//当用户第1次点击了,记录当前时间
times++;
if(times == 1)
{
oneTime = System.currentTimeMillis();//记录用户第一次点击时的当前时间
Toast.makeText(MainActivity.this,"再点击一次返回桌面",Toast.LENGTH_SHORT).show();
}else if(times == 2) {
twoTime = System.currentTimeMillis();
//判断时间间隔
if((twoTime - oneTime)<=TIME ){
//返回至桌面,并且将记录用户点击的次数,两次点击的时间重置
Intent home = new Intent(Intent.ACTION_MAIN);
home.addCategory(Intent.CATEGORY_HOME);
startActivity(home);
toZero();
}else {
//用户没有在规定的时间间隔内,连续点击2次,那么把录用户点击的次数,两次点击的时间重置,
// 并且将此刻记录为第一次点击,并记录时间
toZero();
times++;
oneTime = System.currentTimeMillis();
Toast.makeText(MainActivity.this,"再点击一次返回桌面",Toast.LENGTH_SHORT).show();
}
}
}
return true;
}
private void toZero(){
oneTime = 0;
twoTime = 0;
times = 0;
}
}
实现的方式有很多,这里我使用了最简单的方式实现!还有其他高大上的方式,需要你们自己去网上查找学习,这里我就不贴地址了。
学是为了更会玩儿,这是笔者高中物理老师说的一句话,至今记到现在。
学 %60
玩 %40
(笔者自己的时间规划)
掌握好二者的平衡,学得好,玩得又好。
我是一个很喜欢玩的人,最爱玩的就是PC单机游戏,网络游戏倒是倒是很少,在大学曾一度为了玩一个很老的游戏《三国群英传7》而逃过不少课,细思极爽,天天玩的超嗨,但是你别人为笔者只是单纯的玩哦!更重要的是在玩的过程中思考,怎么做出来的啊!不错,就是带着这个问题去玩,才会又玩又学!你可能最后还是学不了啥东西,但是带着“怎么做出啦的啊?”这个问题去玩,或许才能让你的认知得到的快些!这不是笔者自己想到的,而是一个叫“亚伦斯沃茨”的人,“互联网之子”这或许很多都听说过,他曾表达过想法:如何有效利用时间?而笔者是是学他的,想知道他是谁?你知道,我就不用多做介绍,不知道,去找度娘,带着某种目的去玩或许能更好的利用时间。
以上只是笔者自己的想法,不喜欢就直接跳过,没任何影响。
http://blog.csdn.net/zylzb/article/details/40511059?locationNum=1&fps=1
看文字学习似乎看的非常累,笔者还是建议看视频把:
链接:http://pan.baidu.com/s/1bps39kr 密码:pf0n
这个问题其实很简单,到你点击运行程序的时候,JVM虚拟机首先要找到你运行的那个主类的main()方法,这是牛逼的开发JVM虚拟机大神已经写好的,没什么为什么,这是大神规定的,那我反问你一句?为什么Android支持Java,但是却不存在main()方法呢?这是为什么?Android里面的虚拟机是什么?答案我不说,你也应该分析出来了把!
换个问题就是下面这段代码会依次输出什么?结果我就不贴出来了,自己运行起来试试:
public class Test {
static String a = "声明初始化";
static{
System.out.println(a);
a = "静态代码块块初始化";
}
{
System.out.println(a);
a = "初始化块初始化";
}
public Test(){
System.out.println(a);
a = "构造器初始化";
}
public static void main(String[] args) {
Test test = new Test();
System.out.println(a);
}
}
注意:静态代码块只能调用静态属性的方法和静态的成员变量,因为它没持有当前类的this关键字
笔者写文章必须借助其他博主的牛逼文章来作参照,这里谢谢那些博主对知识无私的奉献。