鱼C论坛

 找回密码
 立即注册
查看: 2979|回复: 0

[学习笔记] 分析第一个android程序-helloworld

[复制链接]
发表于 2017-6-25 17:55:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
第一个Android项目-helloworld(二)
分析第一个Android项目:
public class MainActivity extends AppCompatActivity {

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


MainActivity继承自AppCompatActivity类,这是一种向下兼容的类,可以将Activity在各个系统版本中的特性和功能最低兼容到Android2.1系统。
Activity是Android系统提供的一个活动基类,我们所有的活动都必须继承它或者它的子类才能拥有活动的特性(AppCompatActivity是Activity的子类)
。@Override是重写父类onCreate()方法,该方法是一个活动创建时必定要执行的方法。可以看到onCreat()方法首先用super调用父类方法,防止调用子类方法产生递归,然后调用setContentView()方法,该方法引入布局文件。
布局文件都是定义在res/layout目录下,展开Layout目录,找到 hello_world_layout.xml文件。因为Android程序设计讲究设计逻辑和试图分离,所以单独写布局文件,再引入活动。

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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="com.example.qingyang.helloworld.MainActivity">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello World!"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent" />


</android.support.constraint.ConstraintLayout>
此外,活动必须在AndroidManifest.xml文件中声明,从中找出下列代码:
<activity android:name=".MainActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

这段代码是对MainActivity活动进行注册,就像开车得有驾驶证一样,没有声明的活动是不能使用的,其中intent-filter里的两行代码非常重要,<action android:name="android.intent.action.MAIN"/> and <action android:name="android.intent.category.LAUNCHER"/>表示MainActivity是这个项目的主活动。(比如打开QQ后第一个界面所代表的活动就是主活动)

2:   res目录
这个目录下存放项目中使用到的所有图片,布局,字符串等资源。其中图片存放在drawable目录下,布局存放在layout下,字符串放在values目录下,所以不用担心因为存放的东西太多而把整个目录弄得乱糟糟的。对于其他目录,暂时不用管它。

3:前行必备:使用Android的日志工具Log
【Log.v()  用于打印那些最为琐碎,意义最小的日志,对应级别为verbose(冗长的)】
【Log.d()  用于打印一些调试信息,级别为debug】
【Log.i()  用于打印一些比较重要的信息,级别为info】
【Log.w()  用于打印警告信息,warn】
【Log.e()  error 打印错误信息】

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
  Log.d("MainActivity","onCreate execute");
    }

Log.d()方法中传入了两个参数:第一个参数是Tag,一般传入当前类名就行了,主要用于对打印信息进行过滤;第二个参数是msg,即打印内容。

评分

参与人数 2鱼币 +5 收起 理由
小甲鱼 + 2 支持楼主!
鱼小二 + 3 热爱鱼C^_^

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-28 05:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表