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开发虽然有所了解,但是 ...
随机推荐
- js 自定義event
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Java Swing 防止键入手Key 的实现方法
实现思路,启动一个线程每隔0.1秒去比较文本里字符长度变化,如果文本变长了,这个情况间隔时间超过2秒,则认为是人工键入. 对于字符串较多,且包含数字和字母的情况,比较适用. class KeyCode ...
- flutter Color和colors
"Color(颜色)"是我们在设置应用程序界面样式时最常用到的属性. Flutter 中颜色设置的方式有很多种,其中最常用的有下列几种: Color c1 = Color(0xFF ...
- IDEA使用fastjson1时maven引入依赖没报错,但是用不了JSONObject工具类
删除项目下的.idea文件夹重新打开项目就行, 不知道为什么
- httpclint的传值和访问https
一.StringContent与FormUrlEncodedContent 可参考这篇文章写的非常好: https://blog.csdn.net/lxrj2008/article/details/7 ...
- 记一次couchbase(memcached)安装以及使用
环境 CentOs 6.5 final 1.下载软件包 wget http://packages.couchbase.com/releases/2.1.0/couchbase-server-enter ...
- Python学习笔记文件读写之生成随机的测试试卷文件
随笔记录方便自己和同路人查阅. #------------------------------------------------我是可耻的分割线--------------------------- ...
- js内置方法
数组: 1.push()数组最后添加元素,pop()数组删除最后一个: unshift()数组开头添加元素,shift()删除数字第一个: 注意:push()和unshift()可以添加 ...
- JS正则表达式大全(整理详细且实用)2
javascript的17种正则表达式 "^\\d+$" //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$" //正整数 "^ ...
- 服务器重启后oracle监听无法打开
我重启服务器后不知道为啥监听启动不了,试过各种办法都不行,然后把监听删了重新配置就可以了