Android

来源:互联网 发布:淘宝店主进货渠道 编辑:程序博客网 时间:2024/06/03 13:42

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

1. build-tools 编译需要用到的工具2. docs 开发的离线文档3. extras 额外工具,模拟器加速器,向下兼容的jar包4. platforms 开发需要的平台,每个平台的android.jar在对应的文件夹里面5. platform-tools 开发调试的工具 adb.exe 一个重要的调试桥6. sources android.jar的源码7. system-images 模拟器创建需要的镜像8. tools 开发辅助需要用到的工具,模拟器.exe

2.VGA

过去的一种图形显示大小的规范 480*640
QVGA 240x320
HVGA 480x320
WVGA 480x800
FWVGA 854x480

3.Version & API Level

         Android 1.6 (Donut)                               --- API Level 4         Android 2.1 (Eclair)                               --- API Level 7         Android 2.2 (Froyo)                               --- API Level 8         Android 2.3.3 (Gingerbread)                 --- API Level 10         Android 3.0 (Honeycomb)                     --- API Level 11         Android 4.0 (IceCreamSandwich)         --- API Level 14         Android 4.0.3 (IceCreamSandwich)      --- API Level 15         Android 4.1.2 (Jelly Bean)                    --- API Level 16         Android 4.2 (Jelly Bean)                       --- API Level 17         Android 4.3 (Jelly Bean)                       --- API Level 18         Android 4.4 (KitKat)                              --- API Level 19         Android 4.4 (Kitkat Wear)                     --- API Level 20         Android 5.0 (Lollipop)                           --- API Level 21         Android 5.1 (Lollipop)                           --- API Level 22         Android 6.0 (Marshmallow)                  --- API Level 23         Android 6.x (N)                                     --- API Level 24

4.ADB

adb:android debug bridge 安卓调试桥

* adb devices>查看链接到电脑上的所有的手机设备。(模拟器,真实的手机)* adb kill-server>杀死adb的调试桥* adb start-server>重新启动adb的调试桥* adb install xxx.apk>把电脑上的一个文件安装到模拟器(真实的手机)* adb uninstall 应用程序的包名>从手机卸载一个应用,参数是应用程序的包名,DDMS,查看应用程序的包名

5.DDMS

dalvik debug manager system

6.android应用的目录结构

  1. src文件夹,java源代码
    onCreate()界面被开启调用的方法
    //设置应用程序显示的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
    清单文件,配置应用程序的版本,图标,名称等重要信息。

7.android应用开发的步骤

  1. res–>layout文件夹 修改xml布局文件
  2. src–>.java文件编写代码
  3. 找到关心的控件
    findViewById(R.id.xxx);
  4. 设置点击事件,或者获取数据
  5. 记得添加相应权限。

8.常见布局

1. 线性布局 LinearLayout

重要参数 朝向 orientation: horizontal,vertical
weight 权重 控制控件在父窗体里面显示的比例。

2. 相对布局 RelateLayout

特点:已某个控件为参考,来放置其他控件的位置      核心概念:以某个控件为参考,来放置其他控件!给子节点提供了很多属性:layout_centerHorizontal(相当于父节点是水平居中)layout_centerVertical (相当于父节点是垂直居中)layout_centerInParent(相当于父节点在正中间)layout_above (在XX之上)   layout_below  (在XX之下)   layout_toLeft (在XX的左边)layout_toRight(在XX的右边)layout_alignParentTop(和父节点的顶部对齐) layout_alignParentBottom (和父节点的底部对齐)layout_alignParentLeft (和父节点的左边对齐)layout_alignParentRight(和父节点的右边对齐)layout_alignTop (和XXX顶部对齐)layout_alignBottom (和XXX底部对齐)layout_alignLeft(和XXX左边对齐)layout_alignRight(和XXX右边对齐)

3. 帧布局 FrameLayout

div 暂停的图标,显示在界面的中间。
一层覆盖一层,后面的可以覆盖前面的

子节点可以用Layout_gravity属性,控制自己的位置,也可以用gravity控制子节点的内容显示位置,比如(TextView中文本显示的位置)

<TextView1    android:layout_width="100px"    android:layout_height="100px"    android:layout_gravity="center"    android:background="#0000ff" /><TextView2    android:layout_width="50px"    android:layout_height="50px"    android:layout_gravity="center"    android:background="#00ffff" />TextView2 总是在 TextView1 之上的!

4. 表格布局 TableLayout

里面放<TableRow>标签,里面的子节点可以使用weight属性    >很少使用,基本上可以用线性布局代替

5. 绝对布局 AbsoluteLayout

废弃,不推荐使用。
720p (1280×720)
1080P (1920X1080)

9.点击事件的几种写法

1. 内部类实现onclickListener的接口

     bt.setOnClickListener(new MyClickListener());    public class MyClickListener implements OnClickListener {        @Override        public void onClick(View v) {            //被点击的时候,执行onclick方法        }    }

2. 匿名内部类实现onclickListener

     bt.setOnClickListener(new OnClickListener() {        @Override        public void onClick(View v) {               Toast.makeText(MainActivity.this, "按钮被点击了。", 0).show();        }    });

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

     public class xxxxx extends yyyyy implements OnClickListener    @Override    public void onClick(View v) {        switch (v.getId()) {        case R.id.bt_01:            Toast.makeText(MainActivity.this, "按钮01被点击了。", 0).show();            break;        case R.id.bt_02:            Toast.makeText(MainActivity.this, "按钮02被点击了。", 0).show();            break;        case R.id.bt_03:            Toast.makeText(MainActivity.this, "按钮03被点击了。", 0).show();            break;        }       }

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

4. 在布局xml文件里面声明 onclick属性 =”方法名”

     然后在Activity里面写一个方法,名字和属性的值要一致!    public void 方法名(View view){        Toast.makeText(MainActivity.this, "按钮被点击了。", 0).show();    }

10.拨打电话案例

        Intent intent = new Intent();//创建意图        //机器语言-->汇编语言-->c语言-->c++语言-->java语言c+++-->c#C++++-->自然语言        //设置动作,拨打的动作        intent.setAction(Intent.ACTION_CALL);        //设置数据, URL http://www.mythmayor.com 统一资源定位符 一般表示的是网络上的路径          //http://www.baidu.com ftp://xunlei.com        //Uri 统一资源标识符, tel://        intent.setData(Uri.parse("tel://110"));        //开启一个新的界面        startActivity(intent);

11.控件

Button 按钮

    <Button        android:id="@+id/bt_call"  //给控件起一个名字,供findViewById使用        android:layout_width="match_parent"        android:layout_height="match_parent"        android:layout_centerHorizontal="true" //水平居中        android:layout_centerVertical="true"   //垂直居中        android:text="点击了" />

TextView 显示文本的控件

     <TextView         android:layout_width="300px"        android:layout_height="300px"        android:layout_gravity="center"        android:background="#ff0000"   //背景颜色  />

ImageView 显示图片的控件

     <ImageView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:src="@drawable/qq"  //设置图片资源 />

EditText 文本输入框

     <EditText        android:layout_width="fill_parent"        android:layout_height="wrap_content" />

12.补充1.layout_gravity与gravity的区别?

layout_gravity主要用于子控件,让该控件在父控件中(以居中或其它形式)显示;而gravity主要用于父控件,让其所有的子控件在该控件中(以居中或其它形式)显示。

这里写图片描述

这里写图片描述

原创粉丝点击