【Android开发】项目入门、基础知识介绍

心得感悟

今天是进入Android开发的第一天,学习的内容有点多,部分内容还是比较简单的。但学的多,晚上总结时发现自己有些内容又不记得了,复习是很有必要的。最后我们还跟着写了一个Demo,目前还有点迷迷糊糊,详细内容在下一篇文章中讲述。


内容简概

  • 一、新建一个项目
  • 二、项目目录介绍
  • 三、Activity(界面)的生命周期
  • 四、xml配置界面
  • 五、Java代码方式添加控件
  • 六、启动配置和手动创建控件

具体内容

一、新建一个项目

【软件】:Android studio

  1. 在软件左上角按图中顺序找到New Project


  2. 选择Empty Activity


  3. 一般情况下,只需要编辑基本内容就好


  4. 点击Finish,项目就已经新建好了

二、项目目录、控件介绍

  1. 下面框起来的内容就是我们会用到的


  2. 先来介绍左侧栏里的Project目录


  3. 下面是xml文件的Text部分,在这里可以编写项目


  4. 下面是xml文件的Design部分,在这里可以通过拖拽设计界面


  5. 下面是java文件,同样在可以这里编写项目


  6. 在底部的Local可以看到程序的运行细节,在下面会讲到


7.编写项目时,什么时候用xml,什么时候用Java代码呢?

如果添加的控件是静态的(变化的东西不多时),选择xml
如果需要灵活地操作这个控件,选择代码创建

三、Activity(界面)的生命周期

  1. 下面是管理界面会用到的方法,介绍顺序和基本生命周期一致
功能 实现方法
配置界面 onCreate
启动界面 start
重新启动 restart
唤醒界面 resume
暂停界面 pause
销毁界面 destroy
  1. 界面运行与生命周期的关系如下:



    你也可以在自己电脑上试一试,下面是具体代码和效果,在MainActivity编写

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override // 界面启动 展现界面
    protected void onStart() {
        super.onStart();
        System.out.println("onStart");
    }

    @Override // 重新启动
    protected void onRestart() {
        super.onRestart();
        System.out.println("onRestart");
    }

    @Override // 恢复界面 后台->前台
    protected void onResume() {
        super.onResume();
        System.out.println("onResume");
    }

    @Override // 暂停界面 界面切换
    protected void onPause() {
        super.onPause();
        System.out.println("onPause");
    }

    @Override // 界面销毁
    protected void onDestroy() {
        super.onDestroy();
        System.out.println("onDestroy");
    }

}

然后在手机模拟器或者自己的手机上运行。在底部的Local中,搜索框里输入System(只看打印结果),即可看到运行细节。

四、xml配置界面

1. xml介绍
系统默认一个Activity对应一个xml文件,其实xml文件就是一个容器,可以放很多UI控件
命名特点:activity_界面功能.xml

2. 布局:这么多控件该如何布局呢?

  • 约束布局 ConstraintLayout
  • 线性布局 LinearLayout 垂直/水平
  • 相对布局 RelativeLayout
  • 帧布局 FrameLayout
  • 表格布局 TableLayout/GridLayout
  • 绝对布局 AbsoluteLayout
    这里采用的就是帧布局

3. 设置控件大小
父视图:设备显示屏大小
子视图:插入的图片原始大小
将一个控件添加到一个容器中,控件就是这个容器的子视图,容器是控件的父视图

功能 语法
和父视图一样大 match_parent
插入内容的原始尺寸 wrap_content
具体尺寸 _dp(20dp)
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:id="@+id/fl_main">


    <ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:src="@drawable/yuantu">

    </ImageView>
    
</FrameLayout>

五、Java代码方式添加控件

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // 配置界面
        setContentView(R.layout.activity_main);
        // 通过代码来布局界面
        // 1.找一个容器 xxlayout
        FrameLayout container = new FrameLayout(this);

        // 3.创建一个子视图
        // 创建ImageView显示图片
        ImageView bgImageView = new ImageView(this);

        // 设置属性
        bgImageView.setBackgroundColor(Color.LTGRAY);
        // 添加到容器里面
        container.addView(bgImageView,200,200);

        // 2.设置当前这个界面的内容视图为这个容器
        setContentView(container);
    }
}

六、启动配置和手动创建控件

功能 具体操作
去除界面标题 打开app>res>values>styles.xml更改代码
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
更改应用名称 打开app>res>manifests>AndroidManifest.xml做出以下更改
android:label="应用名称"
更换应用图标 打开app>res>mipmap>ic_launcher_round添加图标
再打开app>res>manifests>AndroidManifest.xml更改代码
android:icon="@mipmap/图标名称"
android:roundIcon="@mipmap/图标名称"
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,530评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,403评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,120评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,770评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,758评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,649评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,021评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,675评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,931评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,751评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,410评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,004评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,969评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,042评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,493评论 2 343

推荐阅读更多精彩内容