Android开发01

需要的工具:64位adt-bundle-windows(安卓官网有下,根据系统选择32位或者64位即可,androidstudio以后再用,先用这一款谷歌定制的eclipse,打开之后在主界面找到Android SDK Manager 可以下载对应的SDK不过谷歌服务器国内链接比较慢,不要急,旁边一个按钮是Android Virtual Device Manager安卓模拟器)

 

1,android开发环境的目录结构

1.1 build-tools 编译需要用到的工具

1.2 docs开发的离线文档(全英文,需要一定英语基础,看来要把英语学习排上日志了)

1.3 extras 额外的工具,模拟器加速器(intel处理器加速软件),向下兼容的jar包

1.4 platforms 开发需要的平台(环境),每个平台对应的android.jar在对应的文件夹中

1.5 platforms-tools 开发调试的工具,adb.exe 调试桥(可以看到当前连接的软件)

1.6 sources android.jar源代码

1.7 system-images 模拟器创建需要的镜像

1.8 temp 临时文件夹

1.9 tools 开发辅助需要用到的工具(模拟器)

 

2,常见屏幕(在创建模拟器的时候有一个选项是Device,里面选择的就是不同的屏幕)

2.1 VGA

过去的一种图形显示大小的规范 480*640(主要是注意它们不同的分辨率)

 

QVGA 240x320 缩小版VGA

HVGA 480x320    缩高版HVGA

WVGA 480x800  加高版WVGA

FWVGA 854x480   加强版FWVGA

 

3.ADB(比较重要)

adb:android debug bridge 安卓调试桥

常见指令

3.1 adb devices(只有当模拟器被启动了才能看到,并且会启动调试桥)

查看链接到电脑上的所有的手机设备。(模拟器,真实的手机)

3.2 adb kill-server(kill-server中间是没有空格的)

杀死adb的调试桥

3.3 adb start-server

重新启动adb的调试桥

3.4 adb install xxx.apk

把电脑上的一个文件安装到模拟器(真实的手机)

3.5 adb uninstall 应用程序的包名

从手机卸载一个应用,参数是应用程序的包名,DDMS,查看应用程序的包名

 

 

4.DDMS(切换成设备管理目录)dalvik debug manager system

 

5.android应用的目录结构

1. src文件夹,java源代码

()界面被开启调用的方法,程序启动的时候调用

设置应用程序显示的ui布局

        setContentView(R.layout.activity_main);

2. gen目录(这个文件夹是删不掉的,删了也会自动生成)

自动生成的文件夹 ,里面保存的是res资源文件的引用

3. android4.1.2 代表的是引用的jar包

4. libs文件夹

代码的三方jar包。会自动的被添加到dependencies目录下

5. android dependencies 开发依赖的jar包

6. bin

编译生成的临时文件和二进制文件(字节码文件)

7. res目录

- drawable-ldpi  low 低分辨率 小图

- drawable-mdpi  middle 中等分辨率

- drawable-hdpi  high高分辨率

- drawable-xhdpi x加大高分辨率

- drawable-xxhdpi 加大再加大的分辨率

- layout 用xml文件编写的布局

- menu 菜单文件夹

8. AndroidManifest.xml

 清单文件,配置应用程序的版本,图标,名称等重要信息。

 

 

##android应用开发的步骤(重点)

1. res-->layout文件夹 修改xml布局文件

2. src-->.java文件编写代码

3. 找到关心的控件

findViewById(R.id.xxx);

4. 设置点击事件,或者获取数据

5. 记得权限。

 

 

9.常见布局

 

9.1. 线性布局 LinearLayout

重要参数 朝向 orientation(方向): horizontal(横向),vertical(纵向)

weight 权重 控制控件在父窗体里面显示的比例。

 

9.2. 相对布局 RelateLayout

特点:已某个控件为参考,来放置其他控件的位置

 

给子节点提供了很多属性

layout_centerHorizontal (是否横向居中)

layout_centerVertical(是否纵向居中)

layout_centerInParent(是否页面居中)

layout_above (在对应id控件的上面,要注意仅仅是在上一行,并不一定纵向对齐)

layout_below(下方,同样没有纵向对齐)

layout_toLeft (左边,没有横向对齐)

layout_toRight(右边,没有横向对齐)

layout_alignParentTop(父窗口顶部)

layout_alignParentBottom (父窗口下方)

layout_alignParentLeft

 layout_alignParentRight

layout_alignTop

layout_alignBottom

layout_alignLeft

layout_alignRight

 

 

 

9.3 帧布局 FrameLayout

> div  暂停的图标,显示在界面的中间。

一层覆盖一层,后面的可以覆盖前面的

 

 

9.4 表格布局 TableLayout

里面放<TableRow>标签,里面的子节点可以使用weight属性

 

9.5绝对布局 AbsoluteLayout

>废弃,不推荐使用。

>720p    (1280×720)

1080P   (1920X1080)

 

 

9.6点击事件的几种写法

1. 内部类实现onclickListener的接口

2. 匿名内部类实现onclickListener

3. 让当前的Activity实现onclickListener的接口

> 界面的按钮比较多,如果通过内部类或者匿名内部类代码比较臃肿。

 4.在xml里面给button定义一个onclick属性,指向对应的方法名即可(参照js中的属性定义)

 

附上一个安卓中button练习的代码

//这是一个Activity 的实现类,代表app的控制中心



package com.zzx.onclick;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends Activity implements OnClickListener{
    private Button bt1;
    private Button bt2;
    private Button bt3;
    private Button bt4;
    private Button bt5;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //1,获取4个按钮
        bt1 = (Button) findViewById(R.id.Button1);
        bt2 = (Button) findViewById(R.id.Button2);
        bt3 = (Button) findViewById(R.id.Button3);
        bt4 = (Button) findViewById(R.id.Button4);
        bt1.setOnClickListener(new MyOnclick());
        //3,第二种方法,匿名内部类,new OnclickListener,但是按钮比较多就不方便
        bt2.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(MainActivity.this, "2222", 0).show();
            }
        });
        bt3.setOnClickListener(this);
        bt4.setOnClickListener(this);
    }
    //4,第三种方法,当前MainActivity继承OnClickListener类,重写方法,在方法内部做判断,判断是哪一个id
    @Override
    public void onClick(View v){
        switch (v.getId()) {
        case R.id.Button3:
            Toast.makeText(MainActivity.this, "3333", 0).show();
            break;
        case R.id.Button4:
            Toast.makeText(MainActivity.this, "4444", 0).show();
            break;
        }
    }
    //5,第四种方法,在按钮标签内定义一个onclick属性,指向对应的方法名,类似js中的单击事件
    public void click(View v){
        Toast.makeText(MainActivity.this, "5555", 0).show();
    }
   
    //2,第一种方法,创建自定义类,这个类要是内部类,才能用到this,实现OnclickListener接口
    private  class MyOnclick implements OnClickListener{
        @Override
        public void onClick(View v){
            Toast.makeText(MainActivity.this, "1111", 0).show();
        }
    }
}



//这里是xml文件,代表app主界面的布局



<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <Button
        android:id="@+id/Button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text="Button1" />

    <Button
        android:id="@+id/Button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:text="Button3" />

    <Button
        android:id="@+id/Button4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:text="Button4" />

    <Button
        android:id="@+id/Button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:text="Button2" />

    <Button
        android:id="@+id/button5"
        android:onClick="click"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/Button1"
        android:layout_marginTop="125dp"
        android:layout_toRightOf="@+id/Button1"
        android:text="Button" />

</RelativeLayout>




2016-05-19 21:22 抓根宝