移动互联网开发技术教学网站项目研究第一篇

2021@SDUSC

移动互联网开发技术教学网站项目研究第一篇

android studio架构理解

1.Application(应用程序层) 我们一般说的应用层的开发就是在这个层次上进行的,当然包括了系统内置的一组应用程序,使用Java语言
2.Application Framework(应用程序框架层) 无论系统内置或者自己编写的App,都需要使用到这层。
3.Libraries(库) + Android Runtime(Android运行时) Android提供了一组C/C++库,为平台的不同组件所使用。

项目创建尝试

项目创建流程

1、首先点击new->new project
2、选择想要创建的Android 的模板,建议选择empty activity(空模板),然后next
3、Name:创建项目的名称;API level:选择Android 虚拟机的版本,版本越低运行起来越快;其余选项默认,后点击Finish
4、项目创建完成

主要文件分析

新项目文件结构
上图为新建项目文件结构
AndroidManifest.xml:Android应用程序的清单文件,是整个Android应用程序的描述文件;
MainActivity:描述用户与屏幕之间的交互,以便用户进行操作,实现主要JAVA代码;
res:所有资源文件都会在R.java文件下生成对应唯一的资源id;
drawable:存放各种位图文件或者一些Xdrawable类型的ML文件;
layout:存放布局文件;
mipmap:存放图片;
values:colors.xml:定义颜色资源;string.xml:定义字体资源;theme为主题文件;
activity_main.xml:Android的UI界面显示视图,设计控件的代码。

编写简单的代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:orientation="vertical"
    tools:context=".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" />
    <Button
        android:id="@+id/bt_android"
        android:layout_width="301dp"
        android:layout_height="wrap_content"
        android:onClick="Welcome"
        android:text="Android Studio" />
</LinearLayout>

android:orientation=“vertical” 组件垂直摆放
显示一个文本TextView和按钮Button
点击Split显示视图如下:
iBAR291X1Jvbmc=,size_13,color_FFFFFF,t_70,g_se,x_16)
MainActivity中添加按钮弹出Toast

public void Welcome(View view) {
        Toast.makeText(this, "欢迎来到安卓世界", Toast.LENGTH_SHORT).show();
    }

运行截图如下:
运行截图

setContentView(R.layout.activity_main);//布局绑定

其中R是索引类,把r文件下的所有文件进行资源目录的索引,通过索引号找到响应的静态成员。

错误解决

打开android studio报错:Android Studio missing essential plugin org.jetbrains.android
原因:不小心把 android studio 的 kotlin 插件关闭,然后重新打开无法启动
解决办法:删除C:\Users\26046\AppData\Roaming\Google\AndroidStudio2020.3\disabled_plugins.txt,重新打开即可

项目初步分析

文件结构

项目目录结构

项目代码MainActivity

MainActivity代码:

ImageButton mButton = null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mButton = (ImageButton)findViewById(R.id.main_circle_button);
        mButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //下面是自己想要实现的功能
                //此处实现跳转
                Intent intent = new Intent();
                //Music_List为跳转后到达的页面
                intent.setClass(MainActivity.this, Music_List.class);
                startActivity(intent);
            }
        });
    }

主界面activity_main.xml有一个按钮id="@+id/main_circle_button,点击跳转后到达music_list.xml音乐文件界面。
主界面截图如下:
主界面

Android 学习

五级架构
1、系统程序
2、JAVA API框架: 提供标准的 Java API,使
App 能调用 Android 提供的资源,版本升级主要是框架层。
3、原生C/C++库与Android运行时:html库:webkit;加密库:OpenSSL;图形库:OpenGL;数据库:SQLite。许多核心Android系统组件和服务(例如ART和HAT)构建自原生代码,依赖于原生库。通过框架层调用。ART(Android虚拟机)依靠Linux内核来执行底层功能线程和底层内存管理,使用Linux内核可以使Android更安全。
4、硬件抽象层(HAL):向更高级别的JAVA API提供标准硬件功能界面,包含多个库模块。当访问设备硬件时,Android系统加载该硬件的驱动模块。
5、Linux内核

开发环境
开发环境包括:IDE+SDK。IDE是基于JetBrain公司的IntelliJ IDEA,SDK是Android工具箱,包括每个版本的平台、工具、示例、文档等。Android Stusio是Google唯一支持的官方开发工具。
Android开发采用Java和XML混合编程,Layout使用XML定义APP的外观,Activity使用JAVA定义App的行为。
App的工作流程
1、打开App,系统新建Activity对象;2、该Activity对象读入对应的layout;3、系统按Activity要求在屏幕显示layout。
与JAVA区别:没有main函数,只能写特定的生命周期函数。
App的运行
1、编译Java源文件为字节码(.java文件编译为DEX字节码);2、打包字节码文件、库文件和资源文件生成APK安装包;3、启动模拟器;4、部署APK至模拟器;5、运行APK(启动App的入口Activity)。
Activity活动
活动代表了一个具有用户界面的单一屏幕,如Java的窗口或者帧。Android 的活动是 ContextThemeWrapper 类的子类。Android 系统初始化它的程序是通过活动中的 onCreate() 回调的调用开始的。存在有一序列的回调方法来启动一个活动,同时有一序列的方法来关闭活动。
onCreate():这是第一个回调,在活动第一次创建时调用。
一个应用程序可以有1个或多个活动,而没有任何限制。
Intent
每一个Acticity的任务不一样,经常互在各个Activity之间进行跳转,在Android中这个动作是靠Intent来完成的。通过startActivity()方法发送一个Intent给系统,系统会根据Intent找到对应的Activity,即使这个Activity在其他的应用程序中,也可以用这种方法启动它。
Intent存在显式的和隐式的。显示的Intent为已经知道将启动的组件名称,可以精确启动某个组件。隐式的Intent相反,不知道启动的组件名称,一般用在不同应用之间传递消息。系统会根据manifest file中的intent filter找匹配的组件,如果你发送的Intent匹配到一个intent filter,系统会把你的Intent传递给该filter对应的组件(Activity、Service等),并且启动它。如果找到多个匹配的intent filter对应的应用程序,则会弹出一个对话框让你选择哪个应用程序接受你的Intent。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值