美文网首页
安卓----第一章(多姿多彩的控件世界)笔记记录

安卓----第一章(多姿多彩的控件世界)笔记记录

作者: timber_wu | 来源:发表于2016-07-22 19:50 被阅读48次

    1.Android Studio开发环境搭建


    所需的程序以及安装顺序

    JDK:根据自己的系统下载相应的JDK版本并进行环境变量的配置。JDK官网下载

    Android Studio和SDK:可在官网进行下载,不过可能网速会过慢,也可以通过http://www.androiddevtools.cn/下载,该网址有Android Studio和SDK的集成包---bundle关键字的程序,另外还有许多安卓环境搭建需要的东西都可以在此网址进行下载,大部分都有很准确的注释用以正确的操作成功。

    Genymotion和Virtual Box:Genymotion是第三方的模拟器,相比官方自带的模拟器在速度上非常快速的,而下载Genymotion就需要附带下载Virtual Box虚拟机,在Genymotion的官网中有集成了Virtual Box的版本,相应的官网的链接为Genymotion官网,如果无法下载集成的版本,也可到Virtual Box的官网下载其软件。


    2.项目的创建


    点击“Start a new Android Studio project”选项 Application name:项目名称、Company Domain:公司域名、Package name:app、打包名称、project location:存放路径 选择第一个选项并设置最小的SDK版本 如果不清楚可以点击蓝色的“Help me choose"可以查看相应版本的情况 选择项目的活动类型,这里有很多现成的模板可以使用,对于初学者选择默认的Empty Activity即可。 设定活动名称,界面布局的名称,以及界面标题,最后点击finish完成项目的创建。

    3.Activitiy(Android组件中最重要的四大组件之一)


    3.1Activity间的跳转

    3.1.1从MainActivity跳转到另一个Activity

    Intent intent = new Intent(MainActivity.this, OtherActivity.class);

    startActivity(intent);

    3.1.2自动跳转到另一个Activity

    Handler mhandler=newHandler();

    mHandler.postDelayed(newRunnable() 

    {

    @Override

    public void run() {I

    ntentintent =newIntent(MainActivity.this,OtherActivity.class);  

                startActivity(intent);     

         }      },1000);

    3.2Activity间传递数据

    3.2.1发送数据

    Intent intent = new Intent(MainActivity.this, OtherActivity.class);

    intent.putExtra(String name, DataType value);

    startActivity(intent);

    3.2.2获取数据

    Intent intent = getIntent();

    if (intent != null) { 

     String title = intent.getStringExtra(); 

     //还有getIntExtra, getIntArrayExtra等等

    }

    3.2.3发送和接收对象

    新建的类

    public class Test implements Serializable{

      private String mName;  

    private int mAge;

      public Test(String name, int age) {

          mName = name;     

     mAge = age

      }

    }

    对类的对象进行序列化

    intent.putExtra("test",newTest("kevin",18));

    接收

    (Test)intent.getSerializable("test")

    3.3Activity的生命周期

    生命周期图

    需要注意的几点:

    1.Activity实例是由系统自动创建,并在不同的状态期间回调相应的方法。一个最简单的完整的Activity生命周期会按照如下顺序回调:onCreate -> onStart -> onResume -> onPause -> onStop -> onDestroy。称之为entire lifetime。

    2.当执行onStart回调方法时,Activity开始被用户所见(也就是说,onCreate时用户是看不到此Activity的,那用户看到的是哪个?当然是此Activity之前的那个Activity),一直到onStop之前,此阶段Activity都是被用户可见,称之为visible lifetime。

    3.当执行到onResume回调方法时,Activity可以响应用户交互,一直到onPause方法之前,此阶段Activity称之为foreground lifetime。

    在实际应用场景中,假设A Activity位于栈顶,此时用户操作,从A Activity跳转到B Activity。那么对AB来说,具体会回调哪些生命周期中的方法呢?回调方法的具体回调顺序又是怎么样的呢?

    开始时,A被实例化,执行的回调有A:onCreate -> A:onStart -> A:onResume。

    当用户点击A中按钮来到B时,假设B全部遮挡住了A,将依次执行A:onPause -> B:onCreate -> B:onStart -> B:onResume -> A:onStop。

    3.4Activity标题栏的隐藏

    在onCreate方法中添加requestWindowFeature(Window.FEATURE_NO_TITLE);

    protected voidonCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    requestWindowFeature(Window.FEATURE_NO_TITLE);

    setContentView(R.layout.activity_main);

    }


    4.多姿多彩的控件世界


    比较最常用的控件 一

    控件View的通用属性:宽高、颜色、边距、是否可见、内容居中、

    点击事件等

    TextView 显示文本

    EditText 编辑框

    Button 点击按钮

    .9图 一种可拉伸的图:上左——拉伸,下右——填充。

    比较最常用的控件 二

    ImageButton 图片按钮

    ImageView 图片

    SeekBar 滑动条

    RatingBar 评分条

    Progressbar 进度条

    比较最常用的控件 三

    WebView:加载网页

    ListView:显示列表

    GridView:显示表格式列表

    ScrollView:内容可滚动视图

    SufaceView:非常重要的绘图容器


    5.常用技巧(快捷键)


    5.1折叠/展开代码块(Collapse Expand Code Block)

    描述:该操作提供一种方法,让你隐藏你不关心的部分代码,以一种较为简洁的格式显示关键代码。一个有意思的用法是隐藏匿名内部类的代码,让其看起来像一个Lambda表达式。

    快捷键:Cmd + “+”/”-“(OS X)、Ctrl + Shift + “+”/”-“(Windows/Linux);

    更多:可以在Settig → Editor → General → Code Folding 中设置折叠规则。

    折叠/展开代码块

    5.2查找操作(Find Action)

    描述:输入某个操作的名称,快速查找,对于没有快捷键的部分操作这是一个很有用的技巧。

    快捷键:Cmd +Shift + A(OS X)、Ctrl + Shift + A(Windows/Linux);

    更多:当某个操作是有快捷键的,会显示在旁边。

    查找操作

    5.3查找补全(Find Complection)

    描述:当你在一个文件中进行查找时,使用自动补全快捷键可以给出在当前文件中出现的建议单词;

    快捷键:Cmd + F(OS X),Ctrl + F(Windows/Linux),输入一些字符,然后使用自动补全;

    查找补全

    5.4在方法和内部类之间跳转(Move Between Methods and Inner Classes)

    描述:该操作让光标在当前文件的方法或内部类的名字间跳转。

    调用:Navigate → Next Method/Previous Method;

    快捷键:Ctrl + Up/Down(OS X)、Alt + Up/Down(Windows/Linux);

    在方法和内部类之间跳转

    5.4扩大/缩小选择(Extend/Shrink Selection)

    描述:该操作会在上下文逐渐扩大/缩小当前选择范围。例如,它会先选中当前变量,再选中当前语句,然后选中整个方法,缩小选择则相反。

    快捷键:Alt + 上/下 (OS X)、Ctrl+W / Ctrl + Shift + W(Windows、Linux)

    扩大缩小选择

    5.5列选择/块选择(Column Selection)

    描述:正常选择时,当你向下选择时,会直接将当前行到行尾都选中,而块选择模式下,则是根据鼠标选中的矩形区域来选择。

    调用:按住Alt,然后拖动鼠标选择。

    开启/关闭块选择:Menu → Edit → Column Selection Mode

    快捷键:切换块选择模式:Cmd + Shift + 8(OS X)、Shift + Alt + Insert(Windows/Linux);

    列选择/块选择

    5.6语句补全(Complete Statement)

    描述:这个方法将会生成缺失的代码来补全语句,常用的使用场景如下:

    在行末添加一个分号,即使光标不在行末;

    为if、while、for 语句生成圆括号和大括号;

    方法声明后,添加大括号;

    调用:Menu → Edit → Compelete Current Statement

    快捷键:Cmd + Shift + Enter(OS X)、Ctrl + Shift + Enter(Windows/Linux);

    更多:如果一个语句已经补全,当你执行该操作时,则会直接跳到下一行,即使光标不在当前行的行末。

    语句补全

    5.7提取方法(Extract Method)

    描述:提取一段代码块,生成一个新的方法。当你发现某个方法里面过于复杂,需要将某一段代码提取成单独的方法时,该技巧是很有用的。

    调用:Menu → Refactor → Extract → Method

    快捷键:Cmd + Alt + M(OS X)、Ctrl + Alt + M(Windows/Linux);

    更多:在提取代码的对话框,你可以更改方法的修饰符和参数的变量名。

    提取方法

    5.8提取变量(Extract Variable)

    描述:这是一个提取变量的快捷操作。当你在没有写变量声明的直接写下值的时候,这是一个很方便生成变量声明的操作,同时还会给出一个建议的变量命名。

    调用:Menu → Refactor → Extract → Variable

    快捷键:Cmd + Alt + V(OS X)、Ctrl + Alt + V(Windows/Linux);

    更多:当你需要改变变量声明的类型,例如使用 List 替代 ArrayList,可以按下Shift + Tab,就会显示所有可用的变量类型。

    提取变量

    5.9合并行和文本(Join Lines and Literals)

    描述:这个操作比起在行末使劲按删除键爽多了!该操作遵守格式化规则,同时:

    合并两行注释,同时移除多余的//;

    合并多行字符串,移除+和双引号;

    合并字段的声明和初始化赋值;

    快捷键:Ctrl + Shift + J;

    合并行和文本

    5.10包裹代码(Surround With)

    描述:该操作可以用特定代码结构包裹住选中的代码块,通常是if语句,循环,try/catch语句或者runnable语句。 如果你没有选中任何东西,该操作会包裹当前一整行。

    快捷键:Cmd + Alt + T(OS X)、Ctrl + Alt + T(Windows/Linux)

    包裹代码

    5.11其他

    Ctrl+N:快速查找类名、文件

    Ctrl+B:直接跳转到类、方法、成员变量定义的地方。与Ctrl+鼠标左键效果一样

    .Ctrl+Alt+V:调用方法时传入的参数是比较复杂的表达式时,可用此组合键重构变量,以简化代码的复杂度。

    Ctrl+Alt+V:提取局部变量

    Ctrl+Alt+F:提取全局变量


    相关文章

      网友评论

          本文标题:安卓----第一章(多姿多彩的控件世界)笔记记录

          本文链接:https://www.haomeiwen.com/subject/bbcvjttx.html