准备工作安卓开发教程:【天哥】Android开发视频教程最新版 Android Studio开发_哔哩哔哩_bilibili
开发平台:Android Stdio(和idea里面自带的一模一样,直接分开用Android Stdio挺好)
下载地址:Download Android Studio and SDK tools | Android Developers
下载好开发工具,Android Studio。下载SDK,注意版本,我之前自己默认下载的31,但是好像不适配,R30可以。
查看自己下没下载,以及版本是什么,可以在这个地方管理:
开发流程 新建文件
先来熟悉目录
每当我们需要设计一个页面时,必须在layout下设计一个.xml文档描述布局,在java中设计一个java活动类描述页面逻辑,并且要在配置文件中注册这个活动,具体可以走如下流程:
1.先创建java活动类
2.发现会同步生成对应的布局文件
3.同时在配置文件中也自动登记了相应的活动 (但如果当时创建的不是活动,而只是一个简单的java文件,23都需要自己手动完成)
coding先写布局文件activity_main.xml:
- 设计整体页面的布局,主要有LinearLayout,RelativeLayout。设计宽高以及内外边距等。设计显示号码的输入框,实现拨号可以实时显示在这个输入框中。使用editview部件设计拨号盘,可以点击拨号盘实现获取拨号按钮代表的数字、执行按钮所代表的的功能。先设计一个TableLayout,包括4个TableRow,每个TableRow包含3个Button或者ImageButton。
每个组件基本都需要设置id,宽,高,文字,文字大小,文字颜色,内外边距,按钮要设计绑定点击事件。
再完成activity_main.xml布局对应的活动类:
- 设计每个按钮点击之后的事件逻辑,例如点击数字1,要让数字显示在编辑框;点击拨号,要检测号码正确性,以及向拨号框所显示的号码,调用安卓所提供的的拨号接口进行拨号;点击删除键,输入不为空的时候将输入框中末尾的数字删掉。扩展:当添加联系人按钮的时候,点击联系人键跳转到通讯录页面。扩展:设置聊天记录的查询……
补充细节:
设计布局时:
- 实现点击按钮的时候有按键被点击的效果,点击之后按钮背景颜色变深。按钮可以设置圆角。为功能键设置图片。
package com.example.bydialer; import androidx.appcompat.app.AppCompatActivity; import android.annotation.SuppressLint; import android.content.ContentResolver; import android.content.Intent; import android.database.Cursor; import android.net.Uri; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { private Button num1,num2,num3,num4,num5,num6,num7,num8,num9,num0,numX,numJ,Dial,contact,delete; private EditText editText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); editText = (EditText) findViewById(R.id.display); } public void clickNum(View view){ String str = editText.getText().toString(); str += view.getTag().toString(); editText.setText(str); } public void contacts(View view){ //查看联系人的功能还没讲完,这个部分的函数体可以先空着 //Intent intent = new Intent(MainActivity.this,ContactActivity.class); //startActivity(intent); } public void dial(View view){ String str = editText.getText().toString(); if ((str !=null) && (!str.trim().equals(""))){ Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+str)); startActivity(intent); } else{ Toast.makeText(MainActivity.this,"请输入号码",Toast.LENGTH_LONG).show(); } } public void delete(View view){ String str = editText.getText().toString(); if((str != null) && (!str.trim().equals(""))) { str = str.substring(0, str.length() - 1); editText.setText(str); } } }
activity_main.xml
contacts.xml(设计联系人按钮的格式)
delete.xml(设计删除按钮的格式)
dialer.xml(设计拨号按钮的格式)
num.xml(设计数字1-0,*,#按钮的格式)
ps:@drawable/照片名(这些照片我都放在了res/drawable-xxxhdpi,等下会有整个工程文件的链接)
运行模拟让代码跑起来,验证方式有两种,模拟器&真机验证。
模拟器:配置avd模拟器
选择系统镜像文件
运行项目
真机:
手机打开开发者模式。
开发者模式下允许usb传输数据。
用数据线连接到电脑。
上侧会自动d出识别手机型号。
启动项目,安装app,就可以了。
效果如下图:
工程文件:
https://github.com/Biangbangbing/ByDial
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)