#Android Day1

学习android第一天

学习教程:《第一行代码》 郭霖著

了解android

  1. 四大组件
    活动+服务+广播接收器+内容提供器

  2. 丰富的系统控件

  3. SQLite数据库
    轻量级、运算速度极快的嵌入式关系型数据库

  4. 强大的多媒体
    超级酷,期待

  5. 地理位置定位
    GPS LBS

分析android程序

#Android Day1_第1张图片

  1. .gradle和.idea
    这两个目录下放置AS自动生成的文件

  2. app
    放置项目中的代码、资源等内容

  3. build
    包含编译时自动生成的文件

  4. gradle
    这个目录下包含了graddle wrapper的配置文件

  5. .gitignore
    这个文件时用来将指定的目录或文件排除在版本控制之外的

  6. build.gradle
    这是项目全局的gradle构建脚本

  7. gradle.properties
    这个文件是全局的gradle配置文件,这里配置的属性将影响项目中所有gradle编译脚本

  8. gradlew和gradlew.bat
    这两个文件是用来在命令行界面执行gradle命令的

  9. HelloWorld.iml
    iml文件是所有IntelliJ IDEA 项目都自动生成的一个文件,用于标志这是一个Intelli IDEA项目

  10. local.properties
    这个文件用于指定本机中的Android SDK路径

  11. settings.gradle
    这个文件用于指定项目中所有引入的模块

app目录详解

#Android Day1_第2张图片

  1. build
    这个目录和外层的build目录相似,包含编译时自动生成的文件

  2. libs
    jar包放在这个目录下

  3. androidTest
    用于编写Android Test测试用例的,可以对项目进行一些自动化测试

  4. Java
    放置所以Java代码的地方

  5. res
    在项目中使用到的所有图片、布局、字符串等资源都存放在这个目录下
    这个目录有很多子目录,图片—drawable、布局—layout、字符串—values

  6. AndroidManifest.xml
    这是整个Android项目的配置文件,在程序中定义的所有四大组件都需要在这个文件中注册
    还可以在这个文件中给应用程序添加权限声明

  7. test
    用于编写Unit Test测试用例,是对项目进行自动化测试的另一种方式

  8. .gitignore
    这个文件用于将app模块内的指定的目录或文件排除在版本控制之外,作用和外层的.gitignore文件类似

  9. app.iml
    IntelliJ IDEA项目自动生成的文件

  10. proguard-rules.pro
    这个文件用于制定项目代码的混淆规则

注册活动

Android-Manifest.xml文件中有如下代码

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

所有活动都必须在AndroidManifest.xml中注册
其中intent-filter中的两行代码很重要,表示了HelloWorldActivity是这个项目的主活动

打开HelloWorldActivity代码,如下:

	public class HelloWorldActivity extends AppCompatActivity{
     

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

注意:

  • HelloWorldActivity是继承自AppCompatActivity
  • Activity是Android系统提供的一个基类,项目中所有活动都必须继承他它或者它的子类才能拥有活动的特性
  • AppCompatActivity是Activity的子类
  • onCreate()方法是一个活动被创建时必定要执行的方法

Android程序设计讲究 逻辑 和 视图 分离
通常是 在布局文件中编写界面,然后在活动中引入进来

布局文件定义在res/layout目录下

项目中的资源

打开res目录可以看到很多文件夹
drawable—图片
mipmap—应用图标
values—字符串、样式、颜色等配置
layout—布局文件

为了兼容多种设备,我们可能需要建立多个文件夹

那么如何使用这些资源呢

打开res/values/strings.xml文件

	<resources>
		<string name="app_name">HelloWorld</string>
	</resources>

这里定义了一个应用程序名的字符串,可以通过以下两种方式引用

  • 在代码中通过R.string.app_name可以获得该字符串的引用
  • 在XML中通过@string/app_name可以获得该字符串的引用

语法如上,可根据资源类型替换string/drawable/mipmap/layout

build.gradle文件

Android的日志工具 Log

可以使用Android中的日志工具类Log中的五个方法打印日志

  • Log.v() 打印琐碎、意义小的信息
  • Log.d() 打印一些调试信息
  • Log.i() 打印一些重要数据
  • Log.w() 打印一些警告信息
  • Log.e() 打印程序中的错误信息
    对应级别:error>warn>info>debug>verbose

快捷输入:
要打印一条debug级别的日志,只需输入logd,然后按下Tab,即可自动补全一条完整的打印语句,其他的以此类推

Log所有的打印方法都需要输入两个参数,第一个参数是tag,一般传入当前的类名,主要用于对打印信息的过滤;第二个参数是msg,即想要打印的具体内容。
每次都写一遍tag显然很麻烦,我们可以在onCreate()方法的外面输入logt,然后按下Tab,就会以当前的类名作为值自动生成一个TAG常量

	public class HelloWorldActivity extends AppCompatActivity{
     
		
		private static final String TAG = "HelloWorldActivity";
		……
	}

总结

第一天尝试记录博客,虽然有些耗费时间,但是这种方式确实可以加深我的印象和理解,同时我也更好的发现以前遗漏疏忽的地方,更加细致。

你可能感兴趣的:(Android学习,android)