主界面
导出记录
账单记录
1.先实现一个具有计算功能的小程序
1.1创建布局文件caculator.xml
<TextView
android:id=“@+id/textView1”
android:layout_width=“fill_parent”
android:layout_height=“wrap_content”
android:textColor=“@android:color/widget_edittext_dark”
android:gravity=“right”/>
<TextView
android:id=“@+id/textView2”
android:layout_width=“fill_parent”
android:layout_height=“wrap_content”
android:gravity=“right|center_vertical”
android:background=“@drawable/textview_bg”
android:textColor=“@android:color/white”
android:textSize=“20dip”/>
<Button
style=“@style/calculator_button”
android:id=“@+id/clear”
android:text=“清除”
/>
<Button
style=“@style/calculator_button”
android:id=“@+id/back”
android:text=“后退”
/>
<Button
style=“@style/calculator_button”
android:id=“@+id/button7”
android:text=“7”
/>
<Button
style=“@style/calculator_button”
android:id=“@+id/button8”
android:text=“8”
/>
<Button
style=“@style/calculator_button”
android:id=“@+id/button9”
android:text=“9”
/>
<Button
style=“@style/calculator_button”
android:id=“@+id/division”
android:text=“÷”
/>
<Button
style=“@style/calculator_button”
android:id=“@+id/button4”
android:text=“4”
/>
<Button
style=“@style/calculator_button”
android:id=“@+id/button5”
android:text=“5”
/>
<Button
style=“@style/calculator_button”
android:id=“@+id/button6”
android:text=“6”
/>
<Button
style=“@style/calculator_button”
android:id=“@+id/multiplication”
android:text=“X”
/>
<Button
style=“@style/calculator_button”
android:id=“@+id/button1”
android:text=“1”
/>
<Button
style=“@style/calculator_button”
android:id=“@+id/button2”
android:text=“2”
/>
<Button
style=“@style/calculator_button”
android:id=“@+id/button3”
android:text=“3”
/>
<Button
style=“@style/calculator_button”
android:id=“@+id/subtraction”
android:text=“-”
/>
<Button
style=“@style/calculator_button”
android:id=“@+id/buttonD”
android:text=“.”
/>
<Button
style=“@style/calculator_button”
android:id=“@+id/button0”
android:text=“0”
/>
<Button
style=“@style/calculator_button”
android:id=“@+id/equal”
android:text=“=”
/>
<Button
style=“@style/calculator_button”
android:id=“@+id/addition”
android:text=“+”
/>
1.2 创建Activity文件,绑定caculator.xml文件
super.onCreate(savedInstanceState);
setContentView(R.layout.calculator);
requestWindowFeature(Window.FEATURE_NO_TITLE); //创建一个无标题的界面
布局文件中的数字、加减乘除按钮,同时还需要使用findviewbyid函数绑定布局文件中的按钮,这里展示部分代码,其余类似。
private Button clear,back;
private Button division,multiplication,subtraction,addition,equal;//÷,X,-,+,=
private Button button1,button2,button3,button4,button5,button6,button7,button8,button9,button0;
private Button buttonD;
private TextView textView1,textView2;
private void prepareView() {
button1=(Button) findViewById(R.id.button1);
button2=(Button) findViewById(R.id.button2);
button3=(Button) findViewById(R.id.button3);
…
}
计算函数
private void jisuan() {
double tem=Double.parseDouble(tempnum);
if(“+”.equals(lastSign)){
count+=tem;
}else if(“-”.equals(lastSign)){
count=count-tem;
}else if(“x”.equals(lastSign)){
count=count*tem;
}else if(“/”.equals(lastSign)){
count=count/tem;
}else if(“”.equals(lastSign)){
count=tem;
}
Log.d(“dddd”, “计算:”+count+lastSign+tem+“=”+count);
// setMyTextView2(count+“”);
}
在进行加减乘除时的预处理,这里展示加操作,其他操作类似
//加操作
private void jia() {
if(!isOver){
jisuan(); //在进行加操作前先把之前的结果计算一次
lastSign=“+”; //把操作置为“+”
setIsOperationFalse(); //当isOperation为false时表示当前为输入运算符的状态
isOver=true; //当isOver为true时表示操作未完成,还不能进行“=”操作
text+=tempnum+“+”; //保存整个计算过程
tempnum=“”; //将临时存放每次输入的数字的属性值置为空,以便于下一次输入数字
setMyTextView1(text);//显示整个计算过程
}
}
等于操作
private void equal() {//等于
if(!isOver){
isOver=true;//等于之后就over
jisuan();
text+=tempnum+“=”;
setMyTextView1(text);
setMyTextView2(“”+count);
cacu_text = text+count;
clear2();
}
}
后退操作
private void back(){//后退
if(!isOver){
try{
tempnum=tempnum.substring(0, (tempnum.length()-1));
setMyTextView1(text+tempnum);
}catch (Exception e) {
e.printStackTrace();
Log.e(“dddd”, e.getMessage());
}
}
}
监听函数,监听每一个按钮执行响应操作,这里展示部分,其余的类似
public void onClick(View v) {
switch (v.getId()) {
case R.id.button1:
addNum(“1”);
setIsOperationTrue();
break;
…
…
===================================================================
2.1新建record.xml布局文件,显示账单记录。
<TableLayout
android:layout_width=“fill_parent”
android:layout_height=“wrap_content”>
<TextView
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)
![](https://i-blog.csdnimg.cn/blog_migrate/1243454232b77d60db70e24b8ea7d139.jpeg)
最后
最后这里放上我这段时间复习的资料,这个资料也是偶然一位朋友分享给我的,里面包含了腾讯、字节跳动、阿里、百度2019-2021面试真题解析,并且把每个技术点整理成了视频和PDF(知识脉络 + 诸多细节)。
还有 高级架构技术进阶脑图、高级进阶架构资料 帮助大家学习提升进阶,也可以分享给身边好友一起学习。
一起互勉~
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!
oid开发知识点,真正体系化!**
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)
![](https://i-blog.csdnimg.cn/blog_migrate/1243454232b77d60db70e24b8ea7d139.jpeg)
最后
最后这里放上我这段时间复习的资料,这个资料也是偶然一位朋友分享给我的,里面包含了腾讯、字节跳动、阿里、百度2019-2021面试真题解析,并且把每个技术点整理成了视频和PDF(知识脉络 + 诸多细节)。
还有 高级架构技术进阶脑图、高级进阶架构资料 帮助大家学习提升进阶,也可以分享给身边好友一起学习。
[外链图片转存中…(img-QqzlMvoN-1712401499509)]
[外链图片转存中…(img-urqA71kZ-1712401499509)]
一起互勉~