以一个小程序设计来入门Android

安卓调用小程序传参,以及小程序返回安卓 1.安卓调用小程序传参 / /微信小程序 // 安卓层 String appId = "wx1b4d14afad2a8d19"; // 填应用AppId(切记这里绑定的是微信开放平台的AppID,用来吊起微信,需要绑定小程序) IWXAPI api1 = WXAPIFactory.createWXAPI(MainActivity.this, appId); WXLaunchMiniProgram.Req req = new WXLaunchM... 阅读详情

   初次接触Android内容,这次首先从Android的一些基本概念以及一些基本的UI组件开始,作为Android的入门吧。以教材中的GeoQuiz为例。

  本应用由一个activity和一个布局(layout)组成。

activity是Android SDK中Activity类的一个实例,负责管理用户与应用界面的交互。 应用的功能是通过编写Activity子类来实现的。对于简单的应用来说,一个Activity子类可能就够了,而复杂的应用则会有多个。

布局定义了一系列用户界面对象以及它们显示在屏幕上的位置。组成布局的定义保存在 XML文件中。每个定义用来创建屏幕上的一个对象,如按钮或文本信息。

安装和创建Android项目就不必再说了,不是特别复杂,按照步骤一步一步走问题不大。

下面总结介绍一些基本的操作。

1. 用户界面设计

  首先打开app/res/layout/activity_quiz.xml文件。比如在本例中形成的代码如下:

  <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:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="24dp"
        android:text="@string/question_text"
/>

    <LinearLayout
        android:layout_width = "wrap_content"
        android:layout_height = "wrap_content"
        android:orientation = "horizontal"
>

        <Button
            android:id="@+id/true_button"
            android:layout_width = "wrap_content"
            android:layout_height = "wrap_content"
            android:text = "@string/true_button"
/>

        <Button
            android:id="@+id/false_button"
            android:layout_width = "wrap_content"
            android:layout_height = "wrap_content"
            android:text = "@string/false_button"
/>

    </LinearLayout>

</LinearLayout>

   应用activity的默认布局定义了两个组件(widget):RelativeLayout和TextView。 组件是用户界面的构造模块。组件可以显示文字或图像,与用户交互,甚至布置屏幕上的其 他组件。按钮、文本输入控件和选择框等都是组件。 Android SDK内置了多种组件,通过配置各种组件可获得所需的用户界面及行为。每一个组 件都是View类或其子类(如TextView或Button)的一个具体实例。

下面介绍一些常用的组件属性。

(1). android:layout_width和android:layout_height属性
   几乎每类组件都需要android:layout_width和android:layout_height属性。以下是它们的两个常见属性值(二选一)。
    match_parent:视图与其父视图大小相同。 

wrap_content:视图将根据其显示内容自动调整大小。

     TextView组件比其包含的文字内容区域稍大一些,这主要是android:padding="24dp"属性的作用。该属性告诉组件在决定大小时,除内容本身外,还需增加额外指定量的空间。这样屏幕上显示的问题与按钮之间便会留有一定的空间,使整体显得更为美观。

   (2). android:orientation属性
       android:orientation属性是两个LinearLayout组件都具有的属性,它决定两者的子组件是水平放置还是垂直放置。子组件的定义顺序决定其在屏幕上显示的顺序。在垂直的LinearLayout中,第一个定义的子组件出现在屏幕的最上端;而在水平的LinearLayout中,第一个定义的子组件出现在屏幕的最左端。
(3). android:text属性
  TextView与Button组件具有android:text属性。该属性指定组件要显示的文字内容。android:text属性值不是字符串值,而是对字符串资源(string resource)的引用。

   字符串资源包含在一个独立的名叫strings的XML文件中(strings.xml),虽然可以硬编码设置 组件的文本属性值,如android:text="True",但这通常不是个好主意。比较好的做法是:将文字内容放置在独立的字符串资源XML文件中,然后引用它们。

   之后创建刚刚说到的字符串资源。每个项目都包含一个默认字符串资源文件strings.xml。在项目工具窗口中,找到app/res/values目录,展开目录,打开strings.xml文件。然后在其中添加字符串资源息。

2.从布局 XML到视图对象

  activity_quiz.xml中的XML元素转换为视图对象在于QuizActivity 类。在创建GeoQuiz项目的同时,向导也创建了一个名叫QuizActivity的Activity子类。QuizActivity类文件存放在项目的app/java目录下。java目录是项目全部Java源代码的存放处。在项目工具窗口中,依次展开app/java目录与com.bignerdranch.android.geoquiz包。找到并打开QuizActivity.java文件,查看其中的代码。它实际就是一个Activity子类,能为Android旧版本系统提供兼容支持。该Java类文件有一个Activity方法:onCreate(Bundle)。 activity子类的实例创建后,onCreate(Bundle)方法会被调用。activity创建后,它需要获取 并管理用户界面。要获取activity的用户界面,可调用以下Activity方法: public void setContentView(int layoutResID) 根据传入的布局资源ID参数,该方法生成指定布局的视图并将其放置在屏幕上。布局视图生成后,布局文件包含的组件也随之以各自的属性定义完成实例化。

资源与资源 ID

布局是一种资源。资源是应用非代码形式的内容,如图像文件、音频文件以及XML文件等。

项目的所有资源文件都存放在目录app/res的子目录下。在项目工具窗口中可以看到,activity_quiz.xml布局资源文件存放在res/layout/目录下。strings.xml字符串资源文件存放在 res/values/目录下。

可以使用资源ID在代码中获取相应的资源。activity_quiz.xml布局的资源ID为R.layout. activity_quiz。

3.组件的实际应用

按钮有了资源ID,就可以在QuizActivity中直接获取它们。首先,在QuizActivity.java文件中增加两个按钮成员变量。此时有错误提示:Cannot resolve symbol 'Button' 。此时需要在QuizActivity.java文件中导入android.widget.Button类包。可在文件 头部手动输入以下代码: import android.widget.Button; 或者使用Option+Return(Alt+Enter)组合键,让Android Studio自动导入。

组件设置好之后便可以进行引用。在activity中,可调用以下Activity方法引用已生成的组件: public View findViewById(int id) 该方法以组件的资源ID作为参数,返回一个视图对象。

设置监听器。为响应某个事件而创 建的对象叫作监听器(listener)。监听器会实现特定事件的监听器接口(listener interface)。无需自己动手,Android SDK已经为各种事件内置了很多监听器接口。当前应用需要监听用户的按钮“点击”事件,因此监听器需实现View.OnClickListener接口。 (这个地方和之前接触到的iOS的oc语言似乎有一点相似。 )

附:QuizActivity.jaca代码

package com.bignerdranch.android.geoquiz;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class QuizActivity extends AppCompatActivity {
    private Button mTrueButton;
    private Button mFalseButton;

    @Override                                  //重写函数
    
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_quiz);

        mTrueButton = (Button) findViewById(R.id.true_button);
        mTrueButton.setOnClickListener(new View.OnClickListener() {    //最外层一对括号内的全部代码就是传入setOnClickListener (OnClickListener)方法的参数
                                           
@Override
                                           public void onClick(View v)
                                           {
                                               Toast.makeText(QuizActivity.this,
                                                       R.string.correct_toast,
                                                       Toast.LENGTH_SHORT).show();
                                           }
        });
        mFalseButton = (Button) findViewById(R.id.false_button);
        mFalseButton.setOnClickListener(new View.OnClickListener() {    //最外层一对括号内的全部代码就是传入setOnClickListener (OnClickListener)方法的参数
            
@Override
            public void onClick(View v)
            {
                Toast.makeText(QuizActivity.this,
                        R.string.incorrect_toast,
                        Toast.LENGTH_SHORT).show();
            }
        });
    }
}

这里,一个匿名内部类(anonymous inner class)实现了OnClickListener接口。

  监听器以匿名内部类来实现有两大好处。第一,使用匿名内部类,可以相对集中地实现监听器方法,一眼可见;第二,事件监听器一般只在一个地方使用,使用匿名 内部类,就不用去创建繁琐的命名类了。

4. 创建提示消息

  分别点击两个按钮,弹出我们称之为toast的提示消息。Android的toast 是用来通知用户的简短弹出消息,用户无需输入什么,也不用做任何干预操作。

调用Toast类的以下方法,可创建toast:

 public static Toast makeText(Context context, int resId, int duration)

该方法的Context参数通常是Activity的一个实例(Activity本身就是Context的子类) 。 第二个参数是toast要显示字符串消息的资源ID。Toast类必须借助Context才能找到并使用字符 串资源ID。第三个参数通常是两个Toast常量中的一个,用来指定toast消息的停留时间。 创建toast后,可调用Toast.show()方法在屏幕上显示toast消息。

到此为止可以进行应用程序的运行了,但是由于电脑原因模拟器无法运行,所以也就没能看一看最终的成果。

通过这一个小程序的设计,对Android应用程序有了一个初步的认识,对程序的设计流程和层次设计也加深了了解。并且在做的过程中,由于可视化元素的存在,发现还是挺容易产生兴趣的。

 

安卓平台小程序开发实战指南 安卓小程序,也称作Android应用程序,是一类运行在安卓操作系统上的软件程序。它们通过利用Android SDK提供的APIs,能够实现多功能、高性能的移动应用。与传统网页应用相比,它们通常能提供更丰富、更流畅的用户体验。在Android Studio中创建新项目是一个相对直观的过程。以下是创建新项目并介绍项目结构的步骤。创建新项目:1. 打开Android Studio。2. 在启动界面,点击“Start a new Android Studio project”按钮。 阅读详情

相关推荐

Android开发入门60个小案例+源代码

这是从其他资源站获得的资源。60个小程序,从基础接触安卓开发。生命周期,监听器,图片按钮,进度条,适配器,屏幕切换,操作矩形等

2022年 超详细的Android(安卓)入门编程教程

前言 对于 Android 新手入门,很容易会遇到学习瓶颈和困难。 没有一个好学的学习方向,学习规划,学习教程,这都是新手会面临的问题。 很多人会在百度上搜索,查阅相关资料。但是网上搜索的很多资料,都是断片式的学习,缺乏完整性和系统性。 新手入门,本来就还处在什么都还不知道的阶段,这时碎片化的学习知识点更加容易犯晕,头脑不清晰。那新手入门应该怎样学习,从哪里开始学习? 下面分享大佬推荐的 Android 编程入门教程,简单明了,上手快;从实用性出发,快速掌握 Android 开发基本技能。 Androi

qq_44102588的博客 2万+

安卓课程设计(含报告)

安卓项目,使用eclipse开发,实现登录注册,浏览用户信息,查看图片功能。

自学android编程教程,安卓编程入门教程 安卓编程如何自学

安卓编程入门教程 安卓编程如何自学时间:2017-04-10来源:Android开发学习网安卓编程越来越火,发展前景无比诱人,越来越多的人加入了android开发者的行列。安卓编程入门很简单,今天小编给大家提供一份安卓编程入门教程,告诉大家安卓编程如何自学,希望能够给您带去帮助。安卓编程入门教程 安卓编程如何自学一、安卓编程开发基础知识1、Android应用程序是用java语言写的,通过...

weixin_36377785的博客 5689

KiCad 7.0 + 嘉立创打样:从原理图到实物,打造你的双LLCC68 LoRa串口透传板

本文详细介绍了使用KiCad 7.0设计双LLCC68 LoRa串口透传板的完整流程,从原理图设计到嘉立创打样。重点解析了AVR+LLCC68组合的优势、双模块布局的电磁兼容设计、SPI接口配置及射频走线技巧,并提供了实测数据和常见问题解决方案,帮助开发者高效实现物联网设备的低功耗远距离通信。

weixin_28693447的博客 261

稳压二极管选型指南:关键参数与电路稳定性优化

本文深入解析了稳压二极管在电路设计中的核心作用与选型要点。文章详细阐述了稳定电压、动态电阻、额定功耗等关键参数对电路稳定性的影响,并结合实战案例,提供了从需求分析到参数验证的系统化选型流程与优化策略,帮助工程师避免常见设计陷阱,实现电路稳定性优化。

weixin_29196891的博客 687

android简单小程序课程设计,微信小程序课程设计报告

微信小程序课程设计报告Tag内容描述:1、学院 JAVA语言课程设计报告 小程序计算器系统管理 班 级:# 姓 名:# # 指导老师:# 时间:2012年6月25日至6月29日 目录 1、课程设计概述-3 1.1 利用java编写计算器,使之具备一定的功能:-3。2、教老年人使用微信课程设计报告 一、 引言 随着科技的发展,智能时代的到来,手机越来越普及,老年人不 再满足于接、打电话;收、发短信等...

weixin_39530839的博客 2309

泛微Ecology流程数据表结构解析:workflow_requestbase和workflow_currentoperator到底怎么关联查询?

本文深入解析泛微Ecology系统中workflow_requestbase和workflow_currentoperator表的结构与关联机制,提供SQL查询语句示例,帮助开发者高效查询流程数据。涵盖待办事项、已办事项、办结事项和流程监控等典型场景,并分享性能优化技巧和常见问题排查指南。

weixin_33738555的博客 815

Android界面编程

1.界面布局 2.动画 3.View焦点及事件响应机制 4.尺寸单位了解 5.资源分享 1.界面布局 线性布局 : 用来控制其子View以水平或垂直方式展开显示 重要属性: orientation(方向) layout_weight(权重) 特点: 使用方向属性可以方便处理上下/左右结果的UI;使用权重可以ui均匀显示,同时在不同分辨率有较好适配能力 相对布局:用来控制其子View以相对定位...

丶浅咸 1153

零基础Python实战:手把手教你用PyGame制作动态烟花效果(附完整代码)

本文为零基础Python编程爱好者提供了一份详细的PyGame实战教程,手把手教你从环境搭建到代码实现,逐步构建一个动态烟花模拟器。教程涵盖了粒子系统、物理模拟(重力与阻力)、效果优化(拖尾与爆炸形态)以及完整的交互式主程序,帮助你通过Python烟花代码项目深入理解图形编程与面向对象设计。

weixin_29062255的博客 257

win10 运行lisflood_8踩过的坑

1、安装cuda及VS2019 https://www.bilibili.com/read/cv7335974/ 2、netcdf.h头文件找不到问题 https://www.cnblogs.com/lyggqm/p/12926974.html https://blog.youkuaiyun.com/u011954296/article/details/54617048 3、编码问题 https://blog.youkuaiyun.com/qq_33485434/article/details/81196843 4、

我的笔记 4115

Android App开发基础

手机App能够直接操作内置的SQLite数据库,但不能直接操作MySQL这种企业数据库。必须事先搭建好服务端程序(如Java Web),然后客户端与服务端通过HTTP接口通信,再由服务端操作以MySQL为代表的数据库服务器。

梁辰兴的博客 3万+

智能生活中枢:基于 ESP32-S3 的桌面智能助手与日程提醒终端设计与实现

本文完成了基于 ESP32-S3 的桌面智能助手与日程提醒终端的完整设计,实现了时间同步、日程管理、声光提醒、环境监测、本地存储等核心功能。硬件接线简洁、软件逻辑清晰,可直接制作成品使用。硬件方案:以 ESP32-S3 为核心,搭配 OLED、DS3231、DHT11、按键、声光模块,接线标准化、易复刻;软件方案:基于 Arduino 开发,提供标准 Mermaid 软件流程图,代码模块化、可直接编译运行;核心功能:网络授时、本地日程管理、掉电存储、声光提醒、温湿度监测,满足桌面智能助手全场景需求。

weixin_42300449的博客 210

Android程序猿从零开发小程序项目(一)

前言 我作为一个普通的Android程序员,由于需求原因被公司安排做小程序开发了,前前后后研究小程序也有两个月左右了,也完成了公司的一个小工具,算是入门了。前面我也在公众号发布过小程序的学习文章。 接下来我将计划写一个个人小程序,当做学习练手项目,基础确实很重要,特别是对我这种前端基础薄弱的人来说,学习小程序确实不太容易,所以建议大家学习小程序前,最好先学习一下前端相关的基础,这样将非常容易上...

ChessLuo 1万+

Python爬虫教程:抓取短视频平台数据(以抖音和快手为例)

为什么抓取短视频平台数据?内容分析:通过抓取短视频平台上的视频内容、标题、标签等数据,可以进行内容分类、趋势分析、话题分析等。情感分析:抓取视频的评论数据,并进行情感分析,帮助企业或组织了解公众的情绪反馈。用户行为分析市场监测:通过抓取特定关键词或标签下的视频数据,分析市场趋势,进行竞争对手分析。短视频平台数据类型:视频信息:包括视频标题、描述、标签、作者等。用户信息:包括用户的昵称、粉丝数、关注数等。互动数据评论数据:视频下的用户评论内容及用户信息。

2201_76125261的博客 3663

10、基于单倍型多样性隐马尔可夫模型的基因型错误检测

本文提出了一种基于单倍型多样性隐马尔可夫模型(HMM)的基因型错误检测方法,旨在提升三人组基因型数据中错误识别的准确性。通过利用群体水平的连锁信息,该方法克服了传统方法在小系谱数据中表现不佳的局限性。文章详细介绍了模型结构、三种替代似然函数及其计算方法,并通过模拟数据集和真实数据集验证了方法的有效性。实验结果显示,该方法在灵敏度、特异度和准确率方面均表现出色,为基因数据质量控制提供了新的解决方案。

moon9的博客 96

一次关于JVM的面试经历,成功收获美团,小米安卓offer

开头 很多人说Android开发前景越来越差了 我觉得这个回答是片面的 首先Android应用开发前景差是在最近两年出现的,也就是从2018开始,从那时起移动端的程序员已经慢慢出现供大于求的局面,本人作为移动端开发,深知这一点。 然而也必须说明一点,不论是Android开发还是iOS开发,虽然都出现了相关的程序员供大于求的情况,但市场仍然是有需求的,特别是对资深的开发人员及拥有相关底层开发知识的应用程序员市场及发展还是很多的;这里所讲的就业难都是相对于初级开发人员。 为什么会在18年出现应用端就业难?这是由

m0_56252652的博客 172

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

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

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

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

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

【Android Studio】基础入门(一)—— 创建第一个 Android 项目

Android Studio是谷歌官方推出的免费集成开发环境,专为安卓应用开发而设计,集成了代码编写、调试、界面设计及性能分析等多种强大功能,支持Java和Kotlin语言,极大提升了开发效率与质量。

Ceylan__的博客 6748

安卓软件开发小程序!Android组件化入门,妈妈再也不用担心我找工作了!

前言 许多 Android 开发者经常会问我,要学会哪些东西才能成为一个优秀的 Android 工程师?对于这个问题,他们的描述或多或少都有些差异,但是,总体来说,我们都需要学习一系列的技能,才能成为一个优秀的 Android 工程师。 在我看来,存在这样的困惑是正常的。Android 是一个巨大并且动态的生态系统,你可能需要花好几周时间去了解并学习它相关的一些工具和概念,但是最后你会发现,它们有好多都不是很重要,或者说并不是非常有用。因此,在本文中,我将分享我在 Android 开发中所使用到的重要技能,

m0_53537576的博客 209

Android安卓的家教平台设计小程序app毕业设计

https://www.bilibili.com/video/BV1964y1479V?share_source=copy_web

qq840612233的博客 1664

【安卓小程序】仿微信页面

仿微信页面

weixin_51079437的博客 1732

简单编写一个安卓小程序

环境为java jdk8 工具:Android studio64,apktool 上面为安卓小程序简单编写,下面为反汇编小知识点 简单分享,大佬不喜勿喷

INK 4299

基于安卓Android的红色文物APP小程序设计(源码+lw+部署文档+讲解等)兼容小程序app

基于安卓 Android 的 php 红色文物 APP 小程序是一款具有重要意义和价值的应用程序。 这款 APP 小程序利用安卓 Android 系统的广泛适用性和强大的功能,结合 php 语言在服务器端的高效处理能力,为用户带来全新的红色文物体验。在前端,通过精心设计的界面,用户可以直观地浏览红色文物的图片、介绍和历史背景等信息。 它为用户提供了一个便捷的平台,让人们能够随时随地了解红色文物的故事和价值。用户可以通过搜索功能快速找到特定的红色文物,深入了解其背后的革命历史和英雄事迹。同时,APP 小程序还

全网粉丝10W+、全栈领域优质创作者、掘金、阿里云等社区博客专家 1153

Android安卓小程序-随机数生成器

几天前在和社团和朋友们讨论安卓的项目,当时需要抽签决定谁做哪个模块,有没有现成的签来抽,于是就想到当场写一个生成随机数的小app,后来发现这个小应用还挺方便的,在很多场合都有用到,于是回来之后就细化了一下,现在发出来。 主题部分就是生成一个范围内的随机数,在Java中可以说是非常简单地程序了,只不过用安卓写要多加点东西。 MainActivity.java 文件: package com.exam...

Linkai12138的博客 4315

基于安卓Android的红色文物app-毕业设计

随着移动互联网技术的快速发展,红色文化的传播与保护逐渐受到重视。为了更有效地展示红色文物,提升公众对红色文化的认知与兴趣,本文设计并实现了一款基于安卓Android平台的红色文物APP。该APP集红色文物展示、信息查询、用户管理等功能于一体,旨在为用户提供便捷、全面的红色文化体验。

QQ511008285的博客 1810
上一篇: 几个文件操作函数
下一篇: Android与 MVC设计模式&activity的生命周期
LittleToMickle
博客等级 码龄10年 3粉丝 4原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值