第二步:初识android简单程序

【Qt for Android】第一个安卓程序 1)首先需要去官网上下载 Qt for android 版本的 Qt SDK 2)下载 android 相关的 SDK,下载地址不用找了,在Qt Creator工具选项的Android配置中有相应的下载链接地址。 3)下载完安卓SDK后,在上面的配置界面中指定相应SDK的目录,然后在"Build & Run"中新增Android的Kits 阅读详情

Android的界面是由一个个Activity组成的。

 

刚创建一个新的android界面的时候,就会自动创建一个Activity。Activity可以理解成为一个窗体,在上面放一些控件,就可以组成一般的程序了。

 

若想在Activity界面内放控件,必先在项目目录下的  res->layout->内的XML文件里面,一个XML文件可以对应一个Activity,也可以对应多个Activity,可以理解为,layout内的XML文件就是专门管理Activity控件的。

 

XML文件内要注意使用的布局方式,  因为漏掉了一句 android:orientation="vertical" 而导致界面一直不能像自己想象中的那样,故特此标记一下。还有XML文件还可以切换到可视化界面(注:第一次打开时是一个可视化的界面)  刚开始学,还是先用XML的方式来进行布局,可以帮助自己对程序的理解。

 

关于新创建的Activity,新建的方式是 右键包名-->新建类。然后让这个类继承Activity(注:最好使用IDE智能提示,这样会自动import进Activity,然后重写On Create(Bundle) 函数)

新创建好Activity之后,最好也在layout下新建一个与其对应的XML文件,此时新建的XML文件是空白的,可以将第一个XML文件的内容复制过去在修改成自己所需要添加的控件。

 

新建好Activity之后,需要在项目的 AndroidManifest.xml 文件内进行注册,具体方式是在 AndroidManifest.xml下<activity></activity>结点后面添加一对新的<activity></activity>

然后把android:name修改成这个类的路径(注:可以把第一个activity结点的内容复制下来,直接根据路径修改成新的activity的路径)

第一对activity结点内会包含一对 <intent-filter></intent-filter>标记,视频没有具体介绍有什么用,只是带有这对结点的<activity></activity>(Activity)会被第一个启动。

 

关于Activity之间的通信 ------   Intent

可以在Activity之间进行通信。稍后的一个加法程序内代码里面具体体现。

 

关于按钮事件,在android称为监听器,  要使用内部类来实现OnClickListener接口

 

以下代码是一个简单的加法程序的代码(有布局、按钮监听器、Activity之间的通信)

 

主Activity的相关代码:

 

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends Activity {
	
	private EditText firstEditText;
	
	private TextView myTextView;
	
	private EditText secondEditText;

	private Button myButton;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        firstEditText = (EditText)findViewById(R.id.firstEditText);
        myTextView = (TextView)findViewById(R.id.myTextView);
        myTextView.setText("加上");
        secondEditText = (EditText)findViewById(R.id.secondEditText);
        myButton = (Button)findViewById(R.id.myButton);
        myButton.setText("点击");
        //将按钮和监听事件进行绑定
        myButton.setOnClickListener(new MyButtonListener());
        
    }
    
    //内部类实现按钮事件的监听接口
    class MyButtonListener implements OnClickListener{

		@Override
		public void onClick(View v) {
			// TODO Auto-generated method stub
			String first = firstEditText.getText().toString();
			String second = secondEditText.getText().toString();
			//Activity之间通信---Intent的实例
			Intent intent = new Intent();//新建一个Intent实例
			//Intent提供传递 键-值 对
			intent.putExtra("first", first);
			intent.putExtra("second", second);
			//下面语句可以理解为 将Intent从哪个(第一个参数)Activity中传递到哪个(第二个参数)Activity中
			intent.setClass(MainActivity.this, Result.class);
			//将此Activity选择启动哪个Activity
			MainActivity.this.startActivity(intent);	
		}
    	
    	
    }
    
}


 

主Activity的控件配置XML文件的代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

<EditText 
    android:id="@+id/firstEditText"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    />
<TextView 
    android:id="@+id/myTextView"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    />
<EditText 
    android:id="@+id/secondEditText"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    />
<Button 
    android:id="@+id/myButton"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    />

</LinearLayout>


 

显示结果的Activity的相关代码:

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;

public class Result extends Activity{
	
	private TextView myTextView = null;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.result_main);
		myTextView = (TextView)findViewById(R.id.myTextView2);
		//创建一个Intent实例来接收从上一个Activity里接收到的数据
		Intent intent = getIntent();
		//把传过来的 键值对取出来
		String first = intent.getStringExtra("first");
		String second = intent.getStringExtra("second");
		
		int myFirst = Integer.parseInt(first);
		int mySecond = Integer.parseInt(second);
		
		myTextView.setText((myFirst+mySecond) + " ");
	}

}


 

显示结果控件配置XML的相关代码:

<LinearLayout 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=".Result" >

<TextView 
    android:id="@+id/myTextView2"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    />

</LinearLayout>


 结果如下:

 

初识安卓系统 简单介绍安卓系统,包括安卓系统的定义,安卓系统体系结构,安卓系统的优缺点,安卓系统版本与处理器等内容。 阅读详情

相关推荐

Eclipse编写的一个简单Android程序

Eclipse V4.2.0 编写的一个简单Android程序,按下一个按钮,实现文本改变。

简单的Android小程序----计算器APP

代码是完全可以运行的,可以基于这个简单的模版,选择自己喜欢的样式进行修改。

m0_74926534的博客 1384

Android的一个简单程序

Android程序的教程,有代码,有图片,有步骤演示。

Android Studio——简单程序Hello world

目录一、Android Studio的安装1.下载安装包二、配置Android Studio界面三、Hello world工程——APK 一、Android Studio的安装 1.下载安装包 打开Android Studio官网. 点击下载: 二、配置Android Studio界面 三、Hello world工程——APK ...

weixin_47936384的博客 5197

android 简单的数据库程序

android 简单的数据库程序 增加删除数据

android编写的一个简单的登录程序(带详细注释)

自己正在学,编写的一个简单登录程序,简单的事件监听,适合初学者参考使用,带有详细的注释,

Android 开发(4)--一个简单程序的结构

了解程序开发首先了解程序结构和作用下面介绍一下一个简单HelloWorld 里的代码块的作用 【1】package 即包名,每个java 文件有一个包名其它文件引用时只要import 对应package 名字即可 【2】import 其它模块的类,import 行最后一个字段时类名,前面时包名和子包名 【3】类的定义,extends 表示这个类继承来至AppCompatActivity,如果还有实现对应接口还需要使用到implements 【4】类的结束 【5】方法,protec...

chanimei_11的博客 171

第一个简单的Android程序

Android简单代码,此文件仅有apk运行文件,仅供参考,有必要的话可以联系探讨

android最简单的程序,Android入门(5)最简单的Handler例子

一、提要昨天和今天都在看这个东西,关键是我Java的水平也就是Just soso,当时上课的时候线程和进程这方面并没有深入去学习,结果现在就悲剧了...但经过将近两天的学习,还算有点起色。下面是最简单的一个Handler实现,效果是点击startButton之后,不断更新进度条,满了 之后给出提示。 二、Handler简介什么是Handlerhandler通俗一点讲就是用来在各个进程之间发送数据的...

weixin_32445895的博客 285

Basilisk库教程

要在仿真中执行模块,其调度由Basilisk的[Process]和[Task]容器控制。BSK[Task]包含一系列模块,这些模块都以相同的更新频率执行。一个[Process]本质上是一个任务组,可以包含多个相关的任务。例如,在多星仿真中,你可以为每颗卫星创建一个[Process],以便将相关任务和嵌入式模块有序地组织起来。下图展示了一个示例布局,其中bskSat卫星的动力学被添加到与飞行软件(FSW)算法分开的进程中,这些算法在该卫星上执行。在每个进程中,设置了若干任务,这些任务以指定的频率进行评估。

weixin_57997461的博客 1137

ESP-01S使用micropython,利用Thonny烧写固件

在家舒服的太久了,想学习点新的东西,这次看上了ESP8266系列的联网设备,想自己做点小玩意出来耍耍,下面跟我一起来学习吧。本篇主要记录固件的烧写及测试。Thonny下载链接不算难,但是网上资源较少。也是提醒自己不要忘记这个步骤,记录一下,也分享给和我一样开始接触的小伙伴,加油加油,万事开头难。

weixin_43422072的博客 1693

创建一个简单的Android应用程序

创建第一个Android应用程序 打开Android Studio,选择新创建一个Project: 点击创建时Android Studio会给我们提供一些基础模板,我们可以根据需要选择模板对应项目创建 这里我们直接选择Phone and Table的Empty Activity 点击Next,写好项目名,语言选择java(Kotlin也可,两者创建之后的开发界面有所不同) 创建完成: 点击acticity_main.xml文件就可以预览布局: 至此,最简单的安卓项目就创建完成了。 下面是选择Ko

shiyansama的博客 3645

[小技巧] 如何复制知乎电子书中的文字和图片

文章目录一、背景二、复制文字1.最简单的方法(适合短小文字)2. 进阶方法(适合大段文字)三、复制图片四、注意事项 一、背景 有时候希望从书中摘录一部分文字作为笔记,但是知乎电子书阅读时候是禁止copy的,要么手打,要么OCR,给学习带来了一些不便。 审查元素后发现,知乎电子书是把文字分成一段一段的,试图F12直接copy不太方便。 本问将以谷歌Chrome浏览器为例,给出复制小技巧。 二、复制文字 1.最简单的方法(适合短小文字) 选中你需要的文字,左键单击不放,直接拖到地址栏。 然后可以从地址栏中

江南蜡笔小新 9246

安卓 Android之开发简单小应用(一)

安卓 Android之开发简单小应用(一) 一、简述     记 --没学过Android之开发简单小应用。(课程设计作业)     例子打包:链接:https://pan.baidu.com/s/1LEQ1oWkUX8OmtfCFVydxWQ 密码:9o0d 二、环境搭建 软件打包:链接:https://pan.baidu.com/s/1VVsZqPrwOtvMuzeeJE1y_A 密...

Genven_Liang的博客 9万+

单细胞转录组聚类分析R包——SC3的应用

前言 在做单细胞相关聚类分析的过程中,为了研究异质性,发现了一种专门用于单细胞转录组的聚类分析R包——SC3(single cell consensus clustering,单细胞一致性聚类)。该聚类算法发表于Nature Methods(2017),能够让单细胞RNA-seq基于转录组特征对细胞类型进行定量表征。这是一种用户友好的无监督聚类工具,它通过一致方法将多个聚类解决方案组合在一起,从而得到高精度和鲁棒性的分群结果。SC3包的官方具体使用教程见:http://www.bioconductor.or

m0_51042606的博客 5005

告别踩坑!S32K3xx芯片上RTD-SDK的DFLASH与FEE模块配置全流程(基于S32DS)

本文详细解析了在NXP S32K3xx系列MCU上配置RTD-SDK的DFLASH与FEE模块的全流程,基于S32DS开发环境。从Cache配置、Mem_43_InFls模块设置到MemAcc模块的三种调用模式,提供了实战代码示例和常见问题排查表,帮助开发者高效完成存储管理配置,避免常见错误。

weixin_42653691的博客 269

Android开发-创建安卓工程项目+安卓程序的运行

文章目录前言一、为什么学习Android1.1、什么是Android1.2、Android的特点1.3、Android开发的前景二、Android studio三、创建安卓工程项目四、第一个安卓程序的运行总结 前言 Android是基于linux平台的开源手机操作系统,该平台由操作系统,中间件,用户界面和应用软件组成。Android用户量巨大,且开发android应用程序免费,在有JAVA开发基础的情况下上手比较容易。 一、为什么学习Android 1.1、什么是Android 1.Android是基于

qq_52173163的博客 8757

网安保研避坑指南:中科院信工所各研究室真实体验与导师选择建议

本文为中科院信工所网络安全保研生提供深度指南,详细解析了信工所六个研究室的研究方向、真实氛围与导师选择策略。文章特别强调,选择导师是决定研究生体验的关键,并提供了针对各研究室的避坑建议与实战调研方法,帮助学生做出明智选择。

weixin_29210727的博客 1587

一个简单的 安卓程序

本人虽然学过一点安卓技术 但是怎奈 没有系统的学习过 这些东西 然后看了多方的资料 决定来学习一下 这些东西 然后因为我一开始 来学习安卓的话 是因为安卓逆向 所以我先做了一个关于登陆的程序 代码如下 &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;RelativeLayout xmlns:android="http://sche...

qq_41071646的博客 2363

C#实战大华智能安防系统:从SDK封装到视频流与智能报警的全链路落地

本文将介绍C#集成大华SDK开发安防系统的实战经验,重点解决多路视频预览卡顿和报警延迟问题。文章通过三层架构设计(SDK封装层、业务服务层、应用层)实现解耦,详细分析线程安全封装、高效解码显示和智能事件联动等核心技术。针对16路摄像头同时预览时CPU占用率过高的问题,提出使用子码流拉流与异步解码的优化方案,并总结8个常见开发陷阱的解决方案。文中还提供了大华智能安防系统的完整架构图,展示从设备层到应用层的交互流程,特别强调业务服务层中视频流服务和智能报警服务的核心功能设计。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 431

[关系图谱] 二.Gephi导入共线矩阵构建作者关系图谱

本文主要讲解Gephi绘制作者间的关系图谱,该软件可以广泛应用于社交网络、知识图谱分析,推荐读者使用。这是非常基础的一篇文章,重点讲解Gephi使用方法,希望对大家有所帮助。

杨秀璋的专栏 1万+

【安卓基础1】初识Android

Android学习入门,创建HelloWorld程序,分析,详解项目目录资源,详解Gradle,日志等

丨康有为丨的博客 2136

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

如何从在安卓Android手机获取微信小程序源代码

如何从在安卓Android手机获取微信小程序源代码 获取微信小程序源代码两种方法: 1、在手机中获取。但需要获取手机的root权限,获得微信小程序的wxapkg包; 2、运用模拟器,在电脑上运行微信小程序,获得微信小程序的wxapkg包; 第一个方法有点难,下文以第二种方法展开。 使用到的工具: 1、“电脑端的安卓模拟器”安装包:推荐使用“夜神模拟器”,可从其官方网站获得该安装包:https://...

「汽车电子助手」的博客 1万+

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

制作简单的android小应用,安卓 Android之开发简单小应用(一)

安卓 Android之开发简单小应用(一)一、简述记 --没学过Android之开发简单小应用。(课程设计作业)例子打包:链接:https://pan.baidu.com/s/1LEQ1oWkUX8OmtfCFVydxWQ 密码:9o0d二、环境搭建软件打包:链接:https://pan.baidu.com/s/1VVsZqPrwOtvMuzeeJE1y_A 密码:qspp下载解压即可1、安装JD...

weixin_29555609的博客 2678

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

初识安卓——基础概念介绍

安卓四层体系结构、Binder、沙箱、签名、SELinux等概念简介

SouthernNights的博客 5365

安卓 Android之开发简单小应用(二)

安卓 学生籍贯管理小应用练习一、简述        简单的一个小应用,用SQLite数据库进行存储数据。        源文件打包:(附带txt文件存储版本)二、效果...

Genven_Liang的博客 9656
上一篇: 第一步:android环境搭建
下一篇: 第三步:Activity的生命周期
holymaple
博客等级 码龄15年 23粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值