安卓开发入门笔记(一)
2016-01-20 15:04
441 查看
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">因为最近项目要和Android团队对接,之前有C++基础和一点java语法基础,安卓没搞过</span>
慕课网
Android攻城狮的第一门课(入门篇):http://www.imooc.com/learn/96
学习时间:一天半,听课速度1.5~2倍播放速度(虽然以前没接触过,但入门真心不难,上手很快)
学习工具:虽然说现在流行Android studio,但网上教程都是eclipse,遇到问题也容易查找,所以我的IDE是eclipse
掌握程度:熟悉了大部分控件,布局,安卓运行机制,能够自己编写小程序(如计算器)
常用的几个控件,以及五大布局
前人已近写的很详细了
具体使用参考:http://www.runoob.com/w3cnote/android-tutorial-textview.html
看视频+这个人写的博客基本可以入手了
布局:
上面三行是LinearLayout布局,下面两行是一个LinearLayout水平布局里面套着一个Linearlayout垂直布局(里面又套着两个水平线性布局)
实现代码:
慕课网
Android攻城狮的第一门课(入门篇):http://www.imooc.com/learn/96
学习时间:一天半,听课速度1.5~2倍播放速度(虽然以前没接触过,但入门真心不难,上手很快)
学习工具:虽然说现在流行Android studio,但网上教程都是eclipse,遇到问题也容易查找,所以我的IDE是eclipse
掌握程度:熟悉了大部分控件,布局,安卓运行机制,能够自己编写小程序(如计算器)
常用的几个控件,以及五大布局
前人已近写的很详细了
具体使用参考:http://www.runoob.com/w3cnote/android-tutorial-textview.html
看视频+这个人写的博客基本可以入手了
简单的计算器:
布局:<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" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <EditText android:layout_width="fill_parent" android:layout_height="60dip" android:background="@drawable/whitebg" android:editable="false" android:id="@+id/et_showview" android:gravity="bottom|right" android:textSize="20sp" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginTop="20dip" android:gravity="center_horizontal" android:orientation="vertical" > <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center_horizontal" android:orientation="horizontal" > <Button android:layout_width="60dp" android:layout_height="60dp" android:gravity="bottom|right" android:paddingBottom="10dp" android:paddingRight="10dp" android:textSize="20sp" android:id="@+id/btn_clear" android:background="@drawable/white_btn_selector" android:text="C" /> <Button android:layout_width="60dp" android:layout_height="60dp" android:layout_marginLeft="10dip" android:gravity="bottom|right" android:paddingBottom="10dp" android:paddingRight="10dp" android:textSize="20sp" android:id="@+id/btn_del" android:background="@drawable/white_btn_selector" android:text="DEL" /> <Button android:layout_width="60dp" android:layout_height="60dp" android:layout_marginLeft="10dip" android:gravity="bottom|right" android:paddingBottom="10dp" android:paddingRight="10dp" android:textSize="20sp" android:id="@+id/btn_divide" android:background="@drawable/white_btn_selector" android:text="÷" /> <Button android:layout_width="60dp" android:layout_height="60dp" android:layout_marginLeft="10dip" android:gravity="bottom|right" android:paddingBottom="10dp" android:paddingRight="10dp" android:textSize="20sp" android:id="@+id/btn_multiply" android:background="@drawable/white_btn_selector" android:text="×" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="10dip" android:gravity="center_horizontal" android:orientation="horizontal" > <Button android:layout_width="60dp" android:layout_height="60dp" android:gravity="bottom|right" android:paddingBottom="10dp" android:paddingRight="10dp" android:textSize="20sp" android:id="@+id/btn_7" android:background="@drawable/white_btn_selector" android:text="7" /> <Button android:layout_width="60dp" android:layout_height="60dp" android:layout_marginLeft="10dip" android:gravity="bottom|right" android:paddingBottom="10dp" android:paddingRight="10dp" android:textSize="20sp" android:id="@+id/btn_8" android:background="@drawable/white_btn_selector" android:text="8" /> <Button android:layout_width="60dp" android:layout_height="60dp" android:layout_marginLeft="10dip" android:gravity="bottom|right" android:paddingBottom="10dp" android:paddingRight="10dp" android:textSize="20sp" android:id="@+id/btn_9" android:background="@drawable/white_btn_selector" android:text="9" /> <Button android:layout_width="60dp" android:layout_height="60dp" android:layout_marginLeft="10dip" android:gravity="bottom|right" android:paddingBottom="10dp" android:paddingRight="10dp" android:textSize="20sp" android:id="@+id/btn_minus" android:background="@drawable/white_btn_selector" android:text="-" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="10dip" android:gravity="center_horizontal" android:orientation="horizontal" > <Button android:layout_width="60dp" android:layout_height="60dp" android:gravity="bottom|right" android:paddingBottom="10dp" android:paddingRight="10dp" android:textSize="20sp" android:id="@+id/btn_4" android:background="@drawable/white_btn_selector" android:text="4" /> <Button android:layout_width="60dp" android:layout_height="60dp" android:layout_marginLeft="10dip" android:gravity="bottom|right" android:paddingBottom="10dp" android:paddingRight="10dp" android:textSize="20sp" android:id="@+id/btn_5" android:background="@drawable/white_btn_selector" android:text="5" /> <Button android:layout_width="60dp" android:layout_height="60dp" android:layout_marginLeft="10dip" android:gravity="bottom|right" android:paddingBottom="10dp" android:paddingRight="10dp" android:textSize="20sp" android:id="@+id/btn_6" android:background="@drawable/white_btn_selector" android:text="6" /> <Button android:layout_width="60dp" android:layout_height="60dp" android:layout_marginLeft="10dip" android:gravity="bottom|right" android:paddingBottom="10dp" android:paddingRight="10dp" android:textSize="20sp" android:id="@+id/btn_pluse" android:background="@drawable/white_btn_selector" android:text="+" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="10dip" android:gravity="center_horizontal" android:orientation="horizontal" > <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" > <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" > <Button android:layout_width="60dp" android:layout_height="60dp" android:gravity="bottom|right" android:paddingBottom="10dp" android:paddingRight="10dp" android:textSize="20sp" android:id="@+id/btn_1" android:background="@drawable/white_btn_selector" android:text="1" /> <Button android:layout_width="60dp" android:layout_height="60dp" android:layout_marginLeft="10dip" android:gravity="bottom|right" android:paddingBottom="10dp" android:paddingRight="10dp" android:textSize="20sp" android:id="@+id/btn_2" android:background="@drawable/white_btn_selector" android:text="2" /> <Button android:layout_width="60dp" android:layout_height="60dp" android:layout_marginLeft="10dip" android:gravity="bottom|right" android:paddingBottom="10dp" android:paddingRight="10dp" android:textSize="20sp" android:id="@+id/btn_3" android:background="@drawable/white_btn_selector" android:text="3" /> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dip" android:orientation="horizontal" > <Button android:layout_width="130dp" android:layout_height="60dp" android:gravity="bottom|right" android:paddingBottom="10dp" android:paddingRight="10dp" android:textSize="20sp" android:id="@+id/btn_0" android:background="@drawable/white_btn_selector" android:text="0" /> <Button android:layout_width="60dp" android:layout_height="60dp" android:layout_marginLeft="10dip" android:gravity="bottom|right" android:paddingBottom="10dp" android:paddingRight="10dp" android:text="." android:id="@+id/btn_point" android:background="@drawable/white_btn_selector" android:textSize="20sp"/> </LinearLayout> </LinearLayout> <Button android:layout_width="60dip" android:layout_height="130dip" android:layout_marginLeft="10dip" android:gravity="bottom|right" android:paddingBottom="10dp" android:paddingRight="10dp" android:textSize="20sp" android:id="@+id/btn_equal" android:background="@drawable/orange_btn_selector" android:text="=" /> </LinearLayout> </LinearLayout> </LinearLayout>
上面三行是LinearLayout布局,下面两行是一个LinearLayout水平布局里面套着一个Linearlayout垂直布局(里面又套着两个水平线性布局)
实现代码:
package com.imooc.calculator; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; public class MainActivity extends Activity implements OnClickListener { Button btn_0; Button btn_1; Button btn_2; Button btn_3; Button btn_4; Button btn_5; Button btn_6; Button btn_7; Button btn_8; Button btn_9; Button btn_point;// 小数点 Button btn_divide;// 除以 Button btn_multiply;// 乘以 Button btn_minus;// 减去 Button btn_pluse;// 加 Button btn_equal;// 等于 Button btn_clear; Button btn_del; EditText et_showview; boolean needclear; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn_0 = (Button) findViewById(R.id.btn_0); btn_1 = (Button) findViewById(R.id.btn_1); btn_2 = (Button) findViewById(R.id.btn_2); btn_3 = (Button) findViewById(R.id.btn_3); btn_4 = (Button) findViewById(R.id.btn_4); btn_5 = (Button) findViewById(R.id.btn_5); btn_6 = (Button) findViewById(R.id.btn_6); btn_7 = (Button) findViewById(R.id.btn_7); btn_8 = (Button) findViewById(R.id.btn_8); btn_9 = (Button) findViewById(R.id.btn_9); btn_point = (Button) findViewById(R.id.btn_point);// 小数点 btn_divide = (Button) findViewById(R.id.btn_divide);// 除以 btn_multiply = (Button) findViewById(R.id.btn_multiply);// 乘以 btn_minus = (Button) findViewById(R.id.btn_minus);// 减去 btn_pluse = (Button) findViewById(R.id.btn_pluse);// 加 btn_equal = (Button) findViewById(R.id.btn_equal);// 等于 btn_clear = (Button) findViewById(R.id.btn_clear); btn_del = (Button) findViewById(R.id.btn_del); et_showview = (EditText) findViewById(R.id.et_showview); btn_0.setOnClickListener(this); btn_1.setOnClickListener(this); btn_2.setOnClickListener(this); btn_3.setOnClickListener(this); btn_4.setOnClickListener(this); btn_5.setOnClickListener(this); btn_6.setOnClickListener(this); btn_7.setOnClickListener(this); btn_8.setOnClickListener(this); btn_9.setOnClickListener(this); btn_point.setOnClickListener(this); btn_divide.setOnClickListener(this); btn_multiply.setOnClickListener(this); btn_minus.setOnClickListener(this); btn_pluse.setOnClickListener(this); btn_equal.setOnClickListener(this); btn_clear.setOnClickListener(this); btn_del.setOnClickListener(this); } @Override public void onClick(View v) { // TODO Auto-generated method stub String str = et_showview.getText().toString(); switch (v.getId()) { case R.id.btn_0: case R.id.btn_1: case R.id.btn_2: case R.id.btn_3: case R.id.btn_4: case R.id.btn_5: case R.id.btn_6: case R.id.btn_7: case R.id.btn_8: case R.id.btn_9: case R.id.btn_point: if(needclear){ needclear = false; str = ""; et_showview.setText(""); Log.i("tag","needclear"); } et_showview.setText(str + ((Button) v).getText()); break; case R.id.btn_pluse: case R.id.btn_minus: case R.id.btn_multiply: case R.id.btn_divide: if(needclear){ et_showview.setText(""); } et_showview.setText(str +" "+((Button) v).getText()+" "); break; case R.id.btn_equal: getResult(); Log.i("tag","equal"); break; case R.id.btn_del: if (str != null && !str.equals("")) { et_showview.setText(str.substring(0, str.length() - 1)); } break; case R.id.btn_clear: et_showview.setText(""); break; } } /** * 获取计算结果 */ private void getResult() { needclear = true; String exp = et_showview.getText().toString(); Log.i("tag",exp); double r = 0; int space = exp.indexOf(' ');//用于搜索空格位置 String s1 = exp.substring(0, space);//s1用于保存第一个运算数 String op = exp.substring(space + 1, space + 2);//op用于保存运算符 String s2 = exp.substring(space + 3);//s2用于保存第二个运算数 double arg1 = Double.parseDouble(s1);//将运算数从string转换为Single double arg2 = Double.parseDouble(s2); if(op.equals("+")){ r = arg1 + arg2; }else if(op.equals("-")){ r = arg1 - arg2; }else if(op.equals("×")){ r = arg1 * arg2; }else if(op.equals("÷")){ if (arg2 == 0) { r=0; } else { r = arg1 / arg2; } } if(!s1.contains(".")&&!s2.contains(".")){ int result = (int)r; et_showview.setText(result+""); }else{ et_showview.setText(r+""); } } }
相关文章推荐
- UISegmentedControl之简单应用
- CSS
- 搜狗输入法删除不用的词组,避免误输入
- Windows Embedded Compact 2013 应用开发调试
- 如何用JS判断滚动条拉到了最底部
- ppt制作
- python基础学习day1
- 存金宝 价格提示
- ECMAScript5 Array新增方法
- Sqlserver2005 破解版下载地址
- PHP内存缓存功能memcached
- 如何使用 Java 构建微服务?
- centos 6.5 升级php到5.6.17版本
- Linux查找和替换目录下所有字符串【转】
- 如何使用 Java 构建微服务?
- Windows 该文件在其他程序中打开
- 精益创业
- java基础之字符串转日期
- IOS-推送通知相关
- CentOS开启mcrypt模块