2月28日Android开发学习
界面显示与逻辑处理
Android Studio利用XML标记描绘应用界面,使用java代码书写程序逻辑。
把App界面设计与代码逻辑分开的好处
使用XML文件描述App界面,可以很方便地在Adroid Studio上预览界面效果。
一个界面布局可以被多处代码复用,反过来,一个java代码也可能适配多个界面布局。
MainActivity.java
package com.example.myapplication; import android.os.Bundle;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tv = findViewById(R.id.tv);
tv.setText("你好,世界");
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"> <TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="wrap_content">
</TextView> </LinearLayout>
运行结果为

创建新的App页面
完整的页面创建过程包括三个步骤:
1.在layout目录下创建xml文件
2.创建于xml文件对应的java代码
3.在AndroidManifest.xml中注册页面
创建新的App页面
首先在layout下创建一个新的xml文件,命名为Activity_main2,插入以下代码完成布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"> <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/text2">
</TextView> </LinearLayout>
在java下的com.example.myapplication文件夹下创建java文件,命名为MainActivity2,插入以下代码
package com.example.myapplication; import android.os.Bundle; import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity; public class MainActivity2 extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2); }
}
之后还要在配置文件下添加
<activity android:name=".MainActivity2"></activity>
在string.xml中添加
<string name="text2">Activity Main 2</string>
如果想要从Activity_mian界面跳转到Activity_mian2界面可以在MainActivity.java中添加以下代码
Button button=findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v)
{
Intent intent =new Intent();
intent.setClass(MainActivity.this,MainActivity2.class);
startActivity(intent);
}
});
在activity_main.xml中添加以下代码
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="跳转">
</Button>
有一种简单的创建信的App的方法:New->Activity->Empty Activity。
2月28日Android开发学习的更多相关文章
- 2013年7月28日web前端学习笔记-------head相关标签应用
7月份快过完了.趁周日写写学过觉得有用的东西. 1.缩略图的展示问题,不要以为缩略图设置了width,height,就是缩略图了.比如一个300kb的500*500原始图片,用户请求web服务器后,展 ...
- 2017年6月28日 python爬虫学习
1.写入csv文件2.lxml的用法3.自定义字典类的方法4.bytes解码得到str,str编码得到bytes5.json 1 import csv import lxml.html class S ...
- 无插件的大模型浏览器Autodesk Viewer开发培训-武汉-2014年8月28日 9:00 – 12:00
武汉附近的同学们有福了,这是全球第一次关于Autodesk viewer的教室培训. :) 你可能已经在各种场合听过或看过Autodesk最新推出的大模型浏览器,这是无需插件的浏览器模型,支持几十种数 ...
- android开发学习笔记000
使用书籍:<疯狂android讲义>——李刚著,2011年7月出版 虽然现在已2014,可我挑来跳去,还是以这本书开始我的android之旅吧. “疯狂源自梦想,技术成就辉煌.” 让我这个 ...
- Android开发学习之路--基于vitamio的视频播放器(二)
终于把该忙的事情都忙得差不多了,接下来又可以开始good good study,day day up了.在Android开发学习之路–基于vitamio的视频播放器(一)中,主要讲了播放器的界面的 ...
- Android开发学习之路-RecyclerView滑动删除和拖动排序
Android开发学习之路-RecyclerView使用初探 Android开发学习之路-RecyclerView的Item自定义动画及DefaultItemAnimator源码分析 Android开 ...
- Android开发学习路线图
Android开发学习方法: Android是一个比较庞大的体系,从底层的Linux内核到上层的应用层,各部分的内容跨度也比较大.因此,一个好的学习方法对我们学习Android开发很重要. 在此建议, ...
- 2016年12月28日 星期三 --出埃及记 Exodus 21:23
2016年12月28日 星期三 --出埃及记 Exodus 21:23 But if there is serious injury, you are to take life for life,若有 ...
- 2015年12月28日 Java基础系列(六)流
2015年12月28日 Java基础系列(六)流2015年12月28日 Java基础系列(六)流2015年12月28日 Java基础系列(六)流
- Android开发学习总结(一)——搭建最新版本的Android开发环境
Android开发学习总结(一)——搭建最新版本的Android开发环境(转) 最近由于工作中要负责开发一款Android的App,之前都是做JavaWeb的开发,Android开发虽然有所了解,但是 ...
随机推荐
- window JAVA 环境变量配置
java win环境变量配置1.安装的时候拷贝出,安装目录C:\Program Files\Java\jdk1.8.0_40\2.在系统变量中,点击"新建",弹出窗口后在变量名输入 ...
- Qt-设置背景色
https://blog.csdn.net/qq_43793182/article/details/121980724?ops_request_misc=&request_id=&bi ...
- java中带回调函数的字符串替换,类似js中的replace(rgExp,function)
https://blog.csdn.net/weixin_33834075/article/details/91599852 import java.util.regex.Matcher; impor ...
- RepOpt-VGG:梯度参数化的开创
本文来自公众号"AI大道理" YOLov6的量化问题: yolov6在结构中大量使用了重参数结构,导致数据分布过差,PTQ精度急剧下降.另外,重参数化结构网络无法直接使用Q ...
- js右键生成菜单
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- OpenCv:边缘处理&Canny边缘检测
卷积边缘: 一.在进行卷积的时候,对于原图像(1,1)的位置,左.上方没有足够的像素做卷积. 二.通常,在卷积之前,在原图增加边缘像素,比如(3*3的,增加一个像素) 三.增加像素值得处理方法,通常有 ...
- sqlsugar 更新某列数据 UpdateColumns 与SetColumns 使用区别
第一种方式 UpdateColumns public int updateLogPath(int TeamID, string logoPath) { Team t = new Team(); t.T ...
- apk签名之后安装失败
Android Studio 3.0.1 很奇怪的一个现象,直接run的话可以成功,debug也可以,但是用签名打包之后,却安装失败,原来是打包的时候选错了.原来签名时,Signature Versi ...
- DataStructures 01 日期抽象类设计与实现
1.思维导图以及学习体会 1.1 思维导图 1.2 学习体会 比较大的一个感概就是学习数据结构必须要一步一步来,前期切不可跳过思考过程, 最好的办法还是每一步慢慢分析,写在纸上,初期就要慢慢分析慢慢来 ...
- 模块二:os模块、sys模块、json模块、pickle模块,包
os模块 1 os模块是与操作系统交互的一个接口 2 import os: 3 1.获取当前工作目录 4 print(os.getcwd()) 5 6 2.切换到D:\yuan文件目录 7 os.ch ...