欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Android - VGA,ADB,DDMS,安卓开发环境目录结构,安卓目录结构,常见布局,点击事件的几种写法,控件(Button/TextView/ImageView/EditText)

程序员文章站 2022-04-30 22:06:43
...
转载请注明出处:https://blog.csdn.net/mythmayor/article/details/72868618

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主要用于父控件,让其所有的子控件在该控件中(以居中或其它形式)显示。

Android - VGA,ADB,DDMS,安卓开发环境目录结构,安卓目录结构,常见布局,点击事件的几种写法,控件(Button/TextView/ImageView/EditText)

Android - VGA,ADB,DDMS,安卓开发环境目录结构,安卓目录结构,常见布局,点击事件的几种写法,控件(Button/TextView/ImageView/EditText)