学习android第一天
学习教程:《第一行代码》 郭霖著
了解android
-
四大组件 活动 服务 广播接收器 内容提供器 -
丰富的系统控件 -
SQLite数据库 轻量级、运算速度极快的嵌入式关系型数据库 -
强大的多媒体 超级酷,期待 -
地理位置定位 GPS LBS
分析android程序

-
.gradle和.idea 这两个目录下放置AS自动生成的文件 -
app 放置项目中的代码、资源等内容 -
build 包含编译时自动生成的文件 -
gradle 这个目录下包含了graddle wrapper的配置文件 -
.gitignore 这个文件时用来将指定的目录或文件排除在版本控制之外的 -
build.gradle 这是项目全局的gradle构建脚本 -
gradle.properties 这个文件是全局的gradle配置文件,这里配置的属性将影响项目中所有gradle编译脚本 -
gradlew和gradlew.bat 这两个文件是用来在命令行界面执行gradle命令的 -
HelloWorld.iml iml文件是所有IntelliJ IDEA 项目都自动生成的一个文件,用于标志这是一个Intelli IDEA项目 -
local.properties 这个文件用于指定本机中的Android SDK路径 -
settings.gradle 这个文件用于指定项目中所有引入的模块
app目录详解

-
build 这个目录和外层的build目录相似,包含编译时自动生成的文件 -
libs jar包放在这个目录下 -
androidTest 用于编写Android Test测试用例的,可以对项目进行一些自动化测试 -
Java 放置所以Java代码的地方 -
res 在项目中使用到的所有图片、布局、字符串等资源都存放在这个目录下 这个目录有很多子目录,图片—drawable、布局—layout、字符串—values -
AndroidManifest.xml 这是整个Android项目的配置文件,在程序中定义的所有四大组件都需要在这个文件中注册 还可以在这个文件中给应用程序添加权限声明 -
test 用于编写Unit Test测试用例,是对项目进行自动化测试的另一种方式 -
.gitignore 这个文件用于将app模块内的指定的目录或文件排除在版本控制之外,作用和外层的.gitignore文件类似 -
app.iml IntelliJ IDEA项目自动生成的文件 -
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";
……
}
总结
第一天尝试记录博客,虽然有些耗费时间,但是这种方式确实可以加深我的印象和理解,同时我也更好的发现以前遗漏疏忽的地方,更加细致。
来源:https://www./content-4-854401.html
|