使用android studio 开发app笔记

1.Android系统架构解析

Android采用分层的Linux内核架构:

Linux Kernel层:提供硬件抽象层(HAL)、安全机制及驱动程序支持

Runtime层:ART虚拟机(Android Runtime)实现字节码编译优化,相较于传统JVM显著提升执行效率

Framework层:包含四大组件生命周期管理、资源管理系统及超过150个系统服务API

Application层:基于SDK构建的第三方应用程序集合

开发语言:

Java 8+:Android开发传统语言,基础语言支持,提供向后兼容特性

Kotlin:Google官方2017年开始官推的语言,也是目前Android开发的主流语言。空安全、扩展函数等特性使代码量减少30%

C++:通过NDK实现高性能计算模块开发,主要用于性能要求较高的模块,如大型游戏。

下载链接 :

link.csdn.net/?from_id=145610839&target=https%3A%2F%2Fdeveloper.android.google.cn%2Fstudio%3Fhl%3Dzh-cn

2.简单使用教程

使用旧版标准教程过一遍

选择第一项,新建一个Android项目

选择开发程序将运行在哪个平台上:选择Activity的风格设置进入程序一个页面后的Activity的一些信息

然后等待。

3.IDE界面分析

点击菜单栏的X,即可运行程序:

3.工程项目结构解析

  • **java:**我们写Java代码的地方,业务功能都在这里实现
  • **res:**存放我们各种资源文件的地方,有图片,字符串,动画,音频等,还有各种形式的XML文件
  • **drawable:**存放各种位图文件,(.png,.jpg,.9png,.gif等)除此之外可能是一些其他的drawable类型的XML文件
  • **mipmap-hdpi:**高分辨率,一般我们把图片丢这里
  • **mipmap-mdpi:**中等分辨率,很少,除非兼容的的手机很旧
  • **mipmap-xhdpi:**超高分辨率,手机屏幕材质越来越好,以后估计会慢慢往这里过渡
  • **mipmap-xxhdpi:**超超高分辨率,这个在高端机上有所体现
  • layout:该目录下存放的就是我们的布局文件,另外在一些特定的机型上,我们做屏幕适配,比如480*320这样的手机,我们会另外创建一套布局,就行:layout-480x320这样的文件夹!
  • **menu:**在以前有物理菜单按钮,即menu键的手机上,用的较多,现在用的并不多,菜单项相关的资源xml可在这里编写,不知道谷歌会不会出新的东西来替代菜单了~

values:

  • demens.xml:定义尺寸资源
  • string.xml:定义字符串资源
  • styles.xml:定义样式资源
  • colors.xml:定义颜色资源
  • arrays.xml:定义数组资源
  • attrs.xml:自定义控件时用的较多,自定义控件的属性!
  • theme主题文件,和styles很相似,但是会对整个应用中的Actvitiy或指定Activity起作用,一般是改变窗口外观的
  • raw目录:
  • animator:存放属性动画的XML文件
  • anim:存放补间动画的XML文件

4.资源使用

Java 文字:

txtName.setText(getResources().getText(R.string.name));

图片:

imgIcon.setBackgroundDrawableResource(R.drawable.icon);

颜色:

txtName.setTextColor(getResouces().getColor(R.color.red));

布局:

setContentView(R.layout.main);

控件:

txtName = (TextView)findViewById(R.id.txt_name);

深入了解三个文件: MainActivity.java,布局文件:activity_main和Android配置文件:AndroidManifest.xml

MainActivity.java:

复制代码
package jay.com.example.firstapp;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

布局文件:activity_main.xml:

复制代码
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />

</RelativeLayout>

AndroidManifest.xml配置文件:

复制代码
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="jay.com.example.firstapp" >

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

</manifest>
相关推荐
chushiyunen几秒前
obs studio软件、直播、视频录制笔记
笔记·音视频
Zender Han24 分钟前
VS Code 开发 Flutter 常用快捷键和插件工具详解
android·vscode·flutter·ios
wfsm40 分钟前
安卓环境配置
android
于慨1 小时前
flutter安卓调试工具
android·flutter
y小花1 小时前
dumpsys audio指令详解
android·音视频
YF02111 小时前
Android微信机器人ClawBot如何配置语音播放音乐
android·人工智能
sheeta19981 小时前
LeetCode 每日一题笔记 日期:2026.04.14 题目:2463.最小移动距离
笔记·算法·leetcode
阳光宅男@李光熠1 小时前
【电子通识】为什么PCB能短接还要用0Ω电阻?0欧电阻怎么做降额?
笔记·学习
Hammer_Hans2 小时前
DFT笔记40
笔记
我登哥MVP2 小时前
【Spring6笔记】 - 15 - Spring中的八大设计模式
java·spring boot·笔记·spring·设计模式·intellij-idea